Страница 2 из 3

Re: Определение центра канала в написании робота.

Добавлено: 24 июл 2018, 20:27
m4Dmitry
А можно выложить сам Индикатор? А то без него тяжко тестить робота)

Re: Определение центра канала в написании робота.

Добавлено: 24 июл 2018, 20:30
Simonov
m4Dmitry писал(а):А можно выложить сам Индикатор? А то без него тяжко тестить робота)

SuperTrend - трендовый индикатор, созданный на основе индикаторов ATR и CCI

Re: Определение центра канала в написании робота.

Добавлено: 24 июл 2018, 20:40
m4Dmitry
Simonov писал(а):
m4Dmitry писал(а):А можно выложить сам Индикатор? А то без него тяжко тестить робота)

SuperTrend - трендовый индикатор, созданный на основе индикаторов ATR и CCI


Спасибо!

Re: Определение центра канала в написании робота.

Добавлено: 24 июл 2018, 21:08
evge
в коде выше опять были исправления

Re: Определение центра канала в написании робота.

Добавлено: 24 июл 2018, 22:21
m4Dmitry
там только одна ссылка на архив с индикатором? Это уже с учетом изменений? или нужно копировать из примера кода?

Re: Определение центра канала в написании робота.

Добавлено: 24 июл 2018, 22:35
evge
я имел ввиду изменил код стратегии, т.е. скорректировал код который я писал ранее, чтобы не дублировать и не распространять по форуму код с ошибками.

Re: Определение центра канала в написании робота.

Добавлено: 25 июл 2018, 10:21
Alexandr-IV
А как всё таки сделать, чтоб тейк был 90% от от диапазона Min и Max?

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

BreakingStop(I.High[Hi], (I.High[Hi] + I.Low[Li]) * 0.9, SignalPriceType.Price);           

BreakingStop(I.Low[Li], (I.High[Hi] + I.Low[Li]) * 0.9, SignalPriceType.Price);


но что то не получается.

Re: Определение центра канала в написании робота.

Добавлено: 25 июл 2018, 11:54
evge
Alexandr-IV писал(а):А как всё таки сделать, чтоб тейк был 90% от от диапазона Min и Max?

BreakingStop(I.High[Hi], (I.High[Hi] + I.Low[Li]) * 0.9, SignalPriceType.Price);

BreakingStop(I.Low[Li], (I.High[Hi] + I.Low[Li]) * 0.9, SignalPriceType.Price);

но что то не получается.


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

BreakingStop(I.High[Hi], I.Low[Li] + (I.High[Hi] - I.Low[Li]) * 0.1, SignalPriceType.Price);           

BreakingStop(I.Low[Li], I.High[Hi] - (I.High[Hi] - I.Low[Li]) * 0.1, SignalPriceType.Price);

Re: Определение центра канала в написании робота.

Добавлено: 26 июл 2018, 15:34
evge
SuperTrend перерисовывает задним числом на 1 бар назад U, D серии.
Поэтому в коде стратегии нельзя смотреть на бар с индексом [0] для определения направления тренда, это по факту заглядывание в будущее на 1 бар.

вот это

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

   if (S["U"][0] > 0) N = 1;
   if (S["D"][0] > 0) N = -1;


надо заменить на

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

   if (S["U"][1] > 0) N = 1;
   if (S["D"][1] > 0) N = -1;


Тогда можно будет вернуться в реальность и не терять $ и не тратить время на выяснение в будущем, почему Грааль не заработал.

Re: Определение центра канала в написании робота.

Добавлено: 06 мар 2021, 18:22
e-formula
А как всё таки правильно задать смещение назад?
if (S["U"][1] > 0) N = 1;
if (S["D"][1] > 0) N = -1
или же
if (S["U"][-1] > 0) N = 1;
if (S["D"][-1] > 0) N = -1

В документации указано [-1], но в коде везде фигурирует [1]