Камарилла

Индикаторы, написанные участниками форума. Делимся своими наработками.
Ответить
Сообщение
Автор
Евгений
Сообщения: 34
Зарегистрирован: Вс авг 06, 2006 1:46 pm

Камарилла

#1 Сообщение Евгений » Пн сен 04, 2006 10:06 am

Вот код сыроватый правда:

Код: Выделить всё

library Camarilla;
uses
  graphics,
  IndicatorInterfaceUnit;

var

  // внешние параметры
  piv,hh5,hh4,hh3,hh2,hh1,ll1,ll2,ll3,ll4,ll5:double;
  // индексные буфера
  Pivot: TIndexBuffer;
  H5: TIndexBuffer;
  H4: TIndexBuffer;
  H3: TIndexBuffer;
  H2: TIndexBuffer;
  H1: TIndexBuffer;
  L1: TIndexBuffer;
  L2: TIndexBuffer;
  L3: TIndexBuffer;
  L4: TIndexBuffer;
  L5: TIndexBuffer;




//---------------------------------------------------------------------------
// Процедура инициализации
//---------------------------------------------------------------------------
procedure Init; stdcall;

begin

  IndicatorShortName('Camarilla');
  SetOutputWindow(ow_ChartWindow);
  // зарегистрировать опции
  AddSeparator('Common');
  // create buffers
  IndicatorBuffers(11);
  AddSeparator('Pivot');
  Pivot := CreateIndexBuffer;
  SetIndexBuffer(0, Pivot);
  SetIndexStyle(0, ds_Line, psDashDotDot, 2, clYellow);
  AddSeparator('H5 Color');
  H5 := CreateIndexBuffer;
  SetIndexBuffer(1, H5);
  SetIndexStyle(1, ds_Line, psSolid, 1, clGreen);
  AddSeparator('H4 Color');
  H4 := CreateIndexBuffer;
  SetIndexBuffer(2, H4);
  SetIndexStyle(2, ds_Line, psSolid, 1, clGreen);
  AddSeparator('H3 Color');
  H3 := CreateIndexBuffer;
  SetIndexBuffer(3, H3);
  SetIndexStyle(3, ds_Line, psSolid, 1, clGreen);
  AddSeparator('H2 Color');
  H2 := CreateIndexBuffer;
  SetIndexBuffer(4, H2);
  SetIndexStyle(4, ds_Line, psSolid, 1, clGreen);
  AddSeparator('H1 Color');
  H1 := CreateIndexBuffer;
  SetIndexBuffer(5, H1);
  SetIndexStyle(5, ds_Line, psSolid, 1, clGreen);
  AddSeparator('L1 Color');
  L1 := CreateIndexBuffer;
  SetIndexBuffer(6, L1);
  SetIndexStyle(6, ds_Line, psSolid, 1, clRed);
  AddSeparator('L2 Color');
  L2 := CreateIndexBuffer;
  SetIndexBuffer(7, L2);
  SetIndexStyle(7, ds_Line, psSolid, 1, clRed);
  AddSeparator('L3 Color');
  L3 := CreateIndexBuffer;
  SetIndexBuffer(8, L3);
  SetIndexStyle(8, ds_Line, psSolid, 1, clRed);
  AddSeparator('L4 Color');
  L4 := CreateIndexBuffer;
  SetIndexBuffer(9, L4);
  SetIndexStyle(9, ds_Line, psSolid, 1, clRed);
  AddSeparator('L5 Color');
  L5 := CreateIndexBuffer;
  SetIndexBuffer(10, L5);
  SetIndexStyle(10, ds_Line, psSolid, 1, clRed);

end;
//---------------------------------------------------------------------------
// Процедура деинициализации
//---------------------------------------------------------------------------
procedure Done; stdcall;

begin

  // см. Процедуру деинициализации

end;
//---------------------------------------------------------------------------
// Процедура рассчета заданного бара
//---------------------------------------------------------------------------
procedure Calculate(index: integer); stdcall;
var
  MyH,MyL,MyC,RR,D1,D2,D3,D4: double;
begin
  D1:=0.091667;
  D2:=0.183333;
  D3:=0.2750;
  D4:=0.55;

        MyH:=iHigh(Symbol, PERIOD_D1, 1);
        MyL:=iLow(Symbol, PERIOD_D1, 1);
        MyC:=iClose(Symbol, PERIOD_D1, 1);
        RR:=MyH-MyL;
        piv:=(MyH+MyL+MyC)/3;
        hh5:=MyH/MyL*MyC;
        hh4:=RR*D4+MyC;
        hh3:=RR*D3+MyC;
        hh2:=RR*D2+MyC;
        hh1:=RR*D1+MyC;
        ll1:=MyC-RR*D1;
        ll2:=MyC-RR*D2;
        ll3:=MyC-RR*D3;
        ll4:=MyC-RR*D4;
        ll5:=MyC-(hh5-MyC);

        H5[index]:=hh5;
        H4[index]:=hh4;
        H3[index]:=hh3;
        H2[index]:=hh2;
        H1[index]:=hh1;
        Pivot[index]:=piv;
        L1[index]:=ll1;
        L2[index]:=ll2;
        L3[index]:=ll3;
        L4[index]:=ll4;
        L5[index]:=ll5;

end;

exports
// эти процедуры должны быть декларированы как внешние
Init, Done, Calculate;
end.
Работает Покуда только в режиме тестирования, :( В эдит моде показывает уровни предпоследнего дня и все. И еще есть небольшая проблемка но в чем никак не пойму, на режимах от часа до 5минут переход к уровням следующего дня начинается не в 00:00 а в 23:00, 23:45 чем меньше таймфрейм тем ближе к полуночи на минутках думаю будет в 23:55 не тестил. Terrenin Не подскажешь в чем дело?!

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

Re: Камарилла

#2 Сообщение Terranin » Ср сен 06, 2006 5:09 pm

Евгений писал(а):Вот код сыроватый правда:

Работает Покуда только в режиме тестирования, :( В эдит моде показывает уровни предпоследнего дня и все. И еще есть небольшая проблемка но в чем никак не пойму, на режимах от часа до 5минут переход к уровням следующего дня начинается не в 00:00 а в 23:00, 23:45 чем меньше таймфрейм тем ближе к полуночи на минутках думаю будет в 23:55 не тестил. Terrenin Не подскажешь в чем дело?!
А почему используется iHigh(..., 1); ? По идее должен использоваться 0. Потому и переход на предпоследнем баре происходит наверное. И даже не 0 там надо использовать а index.

Евгений
Сообщения: 34
Зарегистрирован: Вс авг 06, 2006 1:46 pm

Re: Камарилла

#3 Сообщение Евгений » Чт сен 07, 2006 1:21 pm

Terranin писал(а):А почему используется iHigh(..., 1); ? По идее должен использоваться 0. Потому и переход на предпоследнем баре происходит наверное. И даже не 0 там надо использовать а index.
Потому что идет расчет от предылдущего хая, лоу и клоуза, на дневках, а судя по хелпу индекс берется от текущего таймфрейма на который поставлен индюк, чтобы обратиться к старшему таймфрейу на истории надо делать пересчет... Причем руками, судя по всему, или ты незадукоментировал функцию возврата старшего индекса к младшему? Допустим на часах у меня 25 свеча, стало быть на днях должна быть 1, но ни одна функция мине этого значения не вернет. А ежели бы такое было то историю на раз пересчитать монаа было... Хотя, камарилла это в принципе динамический индикатор и его уже мона использовать, ордера ставяться на отбой или пробой уровней в системе страто используются дополнителныее индикаторы и еще индюк зависящий от гринвичского меридиана ши-канал настроенный на европейскую и американскии сессии. Но его писать смысла нет.

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

Re: Камарилла

#4 Сообщение Terranin » Пт сен 08, 2006 1:50 pm

Евгений писал(а):
Terranin писал(а):А почему используется iHigh(..., 1); ? По идее должен использоваться 0. Потому и переход на предпоследнем баре происходит наверное. И даже не 0 там надо использовать а index.
Потому что идет расчет от предылдущего хая, лоу и клоуза, на дневках, а судя по хелпу индекс берется от текущего таймфрейма на который поставлен индюк, чтобы обратиться к старшему таймфрейу на истории надо делать пересчет... Причем руками, судя по всему, или ты незадукоментировал функцию возврата старшего индекса к младшему? Допустим на часах у меня 25 свеча, стало быть на днях должна быть 1, но ни одна функция мине этого значения не вернет. А ежели бы такое было то историю на раз пересчитать монаа было... Хотя, камарилла это в принципе динамический индикатор и его уже мона использовать, ордера ставяться на отбой или пробой уровней в системе страто используются дополнителныее индикаторы и еще индюк зависящий от гринвичского меридиана ши-канал настроенный на европейскую и американскии сессии. Но его писать смысла нет.
Чтобы работал и на истории надо писать iHigh(Symbol, PERIOD_D1, index + 1); Когда бежит в режиме тестирования index = 0 всегда (пересчитывается последний бар, потом добавляется новый), а на истории если пересчитать то в каждой точке индекс разный.

Евгений
Сообщения: 34
Зарегистрирован: Вс авг 06, 2006 1:46 pm

Re: Камарилла

#5 Сообщение Евгений » Пт сен 08, 2006 2:00 pm

Terranin писал(а):Чтобы работал и на истории надо писать iHigh(Symbol, PERIOD_D1, index + 1); Когда бежит в режиме тестирования index = 0 всегда (пересчитывается последний бар, потом добавляется новый), а на истории если пересчитать то в каждой точке индекс разный.
:( Обломись. Invalid floatin point operation При попытке добавить индюк... Причем менял только строчку как ты предложил.

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

Re: Камарилла

#6 Сообщение Terranin » Пт сен 08, 2006 2:07 pm

Евгений писал(а):
Terranin писал(а):Чтобы работал и на истории надо писать iHigh(Symbol, PERIOD_D1, index + 1); Когда бежит в режиме тестирования index = 0 всегда (пересчитывается последний бар, потом добавляется новый), а на истории если пересчитать то в каждой точке индекс разный.
:( Обломись. Invalid floatin point operation При попытке добавить индюк... Причем менял только строчку как ты предложил.
А, да. Чего то я не посмотрел что у тебя жестко там период забит. Тогда индекс ему не пойдет. Если бы ты использовал текущий период тогда другое дело. В таком случае надо как то искать предыдущий день от текущего индекса на текущем таймфрейме.

Евгений
Сообщения: 34
Зарегистрирован: Вс авг 06, 2006 1:46 pm

Re: Камарилла

#7 Сообщение Евгений » Пт сен 08, 2006 3:56 pm

Terranin писал(а):А, да. Чего то я не посмотрел что у тебя жестко там период забит. Тогда индекс ему не пойдет. Если бы ты использовал текущий период тогда другое дело. В таком случае надо как то искать предыдущий день от текущего индекса на текущем таймфрейме.
Если использовать текущий таймфрейм то у индюка весь смысл пропадеть. Сижу вот счас и пытаюсь придумать как пересчитать. Хотяя в прынципе этот индюк на истории не очень-то нужен, в МТ4 он тоже на истории не показывает нихрена, только последний день всегда работает.
Ты еще таймфреймы добавлять будешь? А то я счас на имеющиеся его настрою, а с другими наверняка работать не захочет.

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

Re: Камарилла

#8 Сообщение Terranin » Пт сен 08, 2006 4:26 pm

Евгений писал(а):
Terranin писал(а):А, да. Чего то я не посмотрел что у тебя жестко там период забит. Тогда индекс ему не пойдет. Если бы ты использовал текущий период тогда другое дело. В таком случае надо как то искать предыдущий день от текущего индекса на текущем таймфрейме.
Если использовать текущий таймфрейм то у индюка весь смысл пропадеть. Сижу вот счас и пытаюсь придумать как пересчитать. Хотяя в прынципе этот индюк на истории не очень-то нужен, в МТ4 он тоже на истории не показывает нихрена, только последний день всегда работает.
Ты еще таймфреймы добавлять будешь? А то я счас на имеющиеся его настрою, а с другими наверняка работать не захочет.
Пока не буду. Я буду добавлять только уже полностью настраиваемые пользователем таймфреймы.

dr_ruslan
Сообщения: 2
Зарегистрирован: Пт сен 08, 2006 5:29 pm

Re: Камарилла

#9 Сообщение dr_ruslan » Пт сен 08, 2006 5:35 pm

Евгений писал(а): Хотяя в прынципе этот индюк на истории не очень-то нужен, в МТ4 он тоже на истории не показывает нихрена, только последний день всегда работает.
А вот этот показывает.
Вложения
camarilladtHistorical_V4.rar
(1.74 КБ) 1761 скачивание

Евгений
Сообщения: 34
Зарегистрирован: Вс авг 06, 2006 1:46 pm

#10 Сообщение Евгений » Вт сен 12, 2006 6:27 am

Там так это реализовано что мозги вскипят. Сделал все как положено, теперь показывает нормально и на истории и в режиме тестирования. Исходник и дллка в архиве, при желании туда теперь можно добавить и уровни суппорта резистенса, и мид и фиб пивоты... А можно их и отдельными сделать :wink:
Terranin заметил такую фишку, функции iTime, iHigh, iLow параметр shift имеет тип longword. А index:integer, короче любая попытка обратиться к барам через индекс текущего бара в этих функциях приводит к посылу далеко и надолго да и вообще, поскольку эти параметры связаны неплохо бы было привести их к одному типу.
Вложения
camarilla.zip
Индикатор Camarilla
(53.19 КБ) 1517 скачиваний

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

#11 Сообщение Terranin » Вт сен 12, 2006 3:09 pm

Евгений писал(а):Там так это реализовано что мозги вскипят. Сделал все как положено, теперь показывает нормально и на истории и в режиме тестирования. Исходник и дллка в архиве, при желании туда теперь можно добавить и уровни суппорта резистенса, и мид и фиб пивоты... А можно их и отдельными сделать :wink:
Terranin заметил такую фишку, функции iTime, iHigh, iLow параметр shift имеет тип longword. А index:integer, короче любая попытка обратиться к барам через индекс текущего бара в этих функциях приводит к посылу далеко и надолго да и вообще, поскольку эти параметры связаны неплохо бы было привести их к одному типу.
Почему к посылу? Вполне можно вместо longword подставлять integer. Просто shift по идее не бывает отрицательным. Shift в этих функциях это индекс бара от 0 в положительном направлении.

Евгений
Сообщения: 34
Зарегистрирован: Вс авг 06, 2006 1:46 pm

#12 Сообщение Евгений » Вт сен 12, 2006 3:25 pm

Terranin писал(а): Почему к посылу? Вполне можно вместо longword подставлять integer. Просто shift по идее не бывает отрицательным. Shift в этих функциях это индекс бара от 0 в положительном направлении.
Можно то можно, но хня в том что даже присвоение переменной типа longword значения индекса не решает проблему и все равно выдается обшибка "типа инвалид флоатинг пойнт" И потом простая логика требует что раз индекс и шифт положительные для пущей надежности привести их к одному типу. чтобы не возникали исключения.

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

#13 Сообщение Terranin » Вт сен 12, 2006 3:46 pm

Евгений писал(а):
Terranin писал(а): Почему к посылу? Вполне можно вместо longword подставлять integer. Просто shift по идее не бывает отрицательным. Shift в этих функциях это индекс бара от 0 в положительном направлении.
Можно то можно, но хня в том что даже присвоение переменной типа longword значения индекса не решает проблему и все равно выдается обшибка "типа инвалид флоатинг пойнт" И потом простая логика требует что раз индекс и шифт положительные для пущей надежности привести их к одному типу. чтобы не возникали исключения.
Ну ок, сделаю integer везде. А ошибка скорее всего была из-за отрицательного значения которое привелось к положительному и выдало индекс которого нет в массиве.

Евгений
Сообщения: 34
Зарегистрирован: Вс авг 06, 2006 1:46 pm

#14 Сообщение Евгений » Вт сен 12, 2006 4:39 pm

Terranin писал(а): А ошибка скорее всего была из-за отрицательного значения которое привелось к положительному и выдало индекс которого нет в массиве.
Не знаю, может и так... Но я вообще-то когда отлаживал выводил принтом значение индекса в журнал, все было в порядке (про отрицательное значение я тоже подумал вначале), потом сделал переменную типа лонгворд и ей индекс присвоил, оказалась та же фигня, точно не знаю в чем беда но любая прямая передача значения индекса в iTime вызывало ошибку и крах, потому и пришлось мудрить с процедурой поиска дневного бара таким диким выходом. Кст в МТ4 есть функция поиска бара по переданному времени, если понадобится можешь мою использовать, тока глянь может перебор циклов уменьшишь, а то у меня там перебор всего массива происходит чаще всего. Да чуть не забыл выложи описания модуля TechnicalFunctions, а то в нем рыться... :roll:

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

#15 Сообщение Terranin » Вт сен 12, 2006 5:09 pm

Евгений писал(а):
Terranin писал(а): А ошибка скорее всего была из-за отрицательного значения которое привелось к положительному и выдало индекс которого нет в массиве.
Не знаю, может и так... Но я вообще-то когда отлаживал выводил принтом значение индекса в журнал, все было в порядке (про отрицательное значение я тоже подумал вначале), потом сделал переменную типа лонгворд и ей индекс присвоил, оказалась та же фигня, точно не знаю в чем беда но любая прямая передача значения индекса в iTime вызывало ошибку и крах, потому и пришлось мудрить с процедурой поиска дневного бара таким диким выходом. Кст в МТ4 есть функция поиска бара по переданному времени, если понадобится можешь мою использовать, тока глянь может перебор циклов уменьшишь, а то у меня там перебор всего массива происходит чаще всего. Да чуть не забыл выложи описания модуля TechnicalFunctions, а то в нем рыться... :roll:
Я без всяких проблем использовал такие конструкции:

Код: Выделить всё

function iMA(currency: string; period: integer): double;
  var
    sum, weight, price: double;
    i: integer;
  begin
    sum := 0;
    weight := 0;
    for i:=0 to period - 1 do
      begin
        price := (iHigh(currency, tm, index + i) + iLow(currency, tm, index + i) +
          iClose(currency, tm, index + i)*2)/4;
        sum := sum + price*(period - i);
        weight := weight + (period - i);
      end;
    result := sum/weight;
  end;
в кластерных индикаторах, как видишь тут сплошные integer передаются в функции ixxx и все прекрасно работало. Насчет iTime посмотрю но они все одинаково работают.

TechnicalFunctions это вспомогательные функции, надстройка над модулем интерфейсов я часто его меняю добавляю туда разные полезные функции, в принципе они все в шапке описаны довольно подробно.

Код: Выделить всё

type
  TPriceType = (pt_Close, pt_Open, pt_High, pt_Low, pt_HL2, pt_HLC3, pt_HLCC4);
  TMAType = (ma_SMA, ma_EMA, ma_WMA, ma_SSMA);
  TValueType = (vt_Open, vt_High, vt_Low, vt_Close, vt_Volume);


// Get price by index and type
// index - index in bar array
// PriceType - type of price or combination
function  GetPrice(index: integer; PriceType: TPriceType): double;

// Register option "Apply to price" and fill array of its
// text values
procedure RegApplyToPriceOption(var option: integer; name: string = '');

// Register option "MA type" and fill array of its text values
procedure RegMATypeOption(var option: integer; name: string = '');

// Get linear regression channel parameters
// shift - shift value
// period - channel period
// PriceType - type of price
// StartValue - start price of center line
// EndValue - end price of center line
// Height - channel height
// top - channel top
// bottom - channel bottom
procedure LRCChannelParams(shift, period: integer; PriceType: TPriceType;
            var StartValue, EndValue, Height, Top, Bottom: double);

// Get moving average value
// index - index in bars array
// shift - shift value
// maType - moving average type (SMA, EMA, WMA)
// ApplyTo - price type
// prev - previous value for EMA
function  GetMA(index, shift, period: integer; maType: TMAType;
            ApplyTo: TPriceType; prev: double = 0): double;

// Get highest value in array
// ValueType - type of the value (vt_Open..vt_Volume)
// StartIndex - index from which we start search
// count - number of bars to search
function  GetHighestValue(ValueType: TValueType; StartIndex, count: integer): double;

// Get lovest value in array
// ValueType - type of the value (vt_Open..vt_Volume)
// StartIndex - index from which we start search
// count - number of bars to search
function  GetLowestValue(ValueType: TValueType; StartIndex, count: integer): double;

Евгений
Сообщения: 34
Зарегистрирован: Вс авг 06, 2006 1:46 pm

#16 Сообщение Евгений » Ср сен 13, 2006 2:02 am

Счас посмотрел у меня там вообще тоже инт используется. Значит какая-то проблема с индексом все-же.
Первый вариант определения даты расчитываемого бара был таким.

Код: Выделить всё

CurDate:=iTime(Symbol, TimeFrame, index);
обломился.
сделал так

Код: Выделить всё

ind:longword;

ind:=index;
Print(IntToStr(ind));
CurDate:=iTime(Symbol, TimeFrame, ind);
в журнал выдает нормальный положительный номер текущего бара т.е. Принт отрабатывает, на тайме ошибка...
вот и пришлось мудрить.

Код: Выделить всё

procedure FindDayBar(ind:longword; var FindDayBar:integer); // Поиск дневного бара соответствующего расчитываемому.
var
  CurDate,FindDate:TDateTime;
  i, count,bar:integer;
begin
  for i:=0 to bars-1 do
  begin
    if i=ind then count:=i;
  end;
  CurDate:=iTime(Symbol, TimeFrame, count);
  bar:=iBars(Symbol, PERIOD_D1);
  for i:=0 to bar-1 do
  begin
    FindDate:=iTime(Symbol, PERIOD_D1, i);
    if CurDate= FindDate then
    begin
      FindDayBar:=i;
      exit;
    end;
  end;
end;

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

#17 Сообщение Terranin » Ср сен 13, 2006 7:08 pm

Евгений писал(а):Счас посмотрел у меня там вообще тоже инт используется. Значит какая-то проблема с индексом все-же.
Первый вариант определения даты расчитываемого бара был таким.

Код: Выделить всё

CurDate:=iTime(Symbol, TimeFrame, index);
обломился.
сделал так

Код: Выделить всё

ind:longword;

ind:=index;
Print(IntToStr(ind));
CurDate:=iTime(Symbol, TimeFrame, ind);
в журнал выдает нормальный положительный номер текущего бара т.е. Принт отрабатывает, на тайме ошибка...
вот и пришлось мудрить.

Код: Выделить всё

procedure FindDayBar(ind:longword; var FindDayBar:integer); // Поиск дневного бара соответствующего расчитываемому.
var
  CurDate,FindDate:TDateTime;
  i, count,bar:integer;
begin
  for i:=0 to bars-1 do
  begin
    if i=ind then count:=i;
  end;
  CurDate:=iTime(Symbol, TimeFrame, count);
  bar:=iBars(Symbol, PERIOD_D1);
  for i:=0 to bar-1 do
  begin
    FindDate:=iTime(Symbol, PERIOD_D1, i);
    if CurDate= FindDate then
    begin
      FindDayBar:=i;
      exit;
    end;
  end;
end;
Скорее всего индекс неверный. В индикатор приходит index по текущему таймфрейму а в iTime жестко забит таймфрейм PERIOD_D1. Индекс например на 15шках намного больше может быть чем на дневках и выходить за пределы массива.

Евгений
Сообщения: 34
Зарегистрирован: Вс авг 06, 2006 1:46 pm

#18 Сообщение Евгений » Чт сен 14, 2006 1:49 am

Terranin писал(а): Скорее всего индекс неверный. В индикатор приходит index по текущему таймфрейму а в iTime жестко забит таймфрейм PERIOD_D1. Индекс например на 15шках намного больше может быть чем на дневках и выходить за пределы массива.

Код: Выделить всё

CurDate:=iTime(Symbol, [b]TimeFrame[/b], index);
Хе если поглядишь внимательнее то обращение именно к текущему таймфрейму!!! Если конечно функция TimeFrame его возвращает правильно :wink: А если бы Time окромя времени еще и дату выдавала то и мороки бы не было с таким косвенным обращением к текущему бару.

Inn
Сообщения: 2
Зарегистрирован: Ср окт 04, 2006 10:31 pm

#19 Сообщение Inn » Ср окт 04, 2006 10:54 pm

Помогите пожалуйста?
На индикаторе Camarilla, можно сделать так,
что бы, квадратиков (линии) на всей истории не было, а только на текущем дне,
или выставить флажок и с количеством дней в параметрах,
кому надо тот выставит историю.

Спасибо.
Вложения
Camarilla.rar
(1.57 КБ) 1382 скачивания

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

#20 Сообщение Terranin » Сб окт 07, 2006 3:10 pm

Inn писал(а):Помогите пожалуйста?
На индикаторе Camarilla, можно сделать так,
что бы, квадратиков (линии) на всей истории не было, а только на текущем дне,
или выставить флажок и с количеством дней в параметрах,
кому надо тот выставит историю.

Спасибо.
Евгений куда то запропал, он автор этого индикатора...
Asta la vista
Mike

Inn
Сообщения: 2
Зарегистрирован: Ср окт 04, 2006 10:31 pm

#21 Сообщение Inn » Сб окт 07, 2006 8:57 pm

Дааа, плохо,
придется подождать!

Ответить