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

Дополнительные индикаторы от пользователей Альфа-Директ 4. Готовые решения от пользователей.
State
Сообщения: 35
Зарегистрирован: 08 окт 2018, 12:43
Поблагодарили: 1 раз

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

Непрочитанное сообщение State » 10 окт 2019, 11:10

evge, спасибо за внесенные дополнения! Буду тестить и оптимизировать. Пока гоняю один лот. Тут сложно найти баланс между % ТП и СЛ с необходимостью их выставления вообще, т.к. идея самого индикатора в ловле достаточно сильного тренда.
Пока нет возможности тестить ....погонял в голове алгоритм и возник один вопрос. При выставлении ТП/СЛ будет ли позиция закрываться, если поступил сигнал на разворот, но цена ходит внутри диапазона ТП/СЛ? Т.е. не достигла ни одного ни другого и поступил сигнал на разворот...

Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 361 раз
Контактная информация:

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

Непрочитанное сообщение evge » 10 окт 2019, 12:32

будет закрытие и выставление заявки на открытие новой позиции в другую сторону.

т.е. уйдёт 2 заявки, закрытие по рынку и лимитная
никогда такого не было и вот опять

State
Сообщения: 35
Зарегистрирован: 08 окт 2018, 12:43
Поблагодарили: 1 раз

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

Непрочитанное сообщение State » 10 окт 2019, 14:49

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

А возможно ли в алгоритм внести изменения, чтобы он проверял наличие позиции при выставлении разворотных заявок? Если позиция закрылась по ТП/СЛ, чтобы выставлял одну, а не две.

Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 361 раз
Контактная информация:

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

Непрочитанное сообщение evge » 10 окт 2019, 19:23

если позиции нет, то выставляется одна, а после того как стоп или тейк исполнены, позиции уже нет.
никогда такого не было и вот опять

State
Сообщения: 35
Зарегистрирован: 08 окт 2018, 12:43
Поблагодарили: 1 раз

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

Непрочитанное сообщение State » 14 окт 2019, 16:19

Вопрос. Может уже разбирали, но как может быть ситуация, что на часовом ТФ на одном и том же временном отрезке робот в тесте закрывает/открывает позицию в одной точке, а в реальном тесте на другой часовой свече?

Судя по всему в реальном времени робот работает с большим запозданием. То есть сигнал в тесте падает как раз на свечу, на которой произошла смена тренда, а в реале гораздо позже.

Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 361 раз
Контактная информация:

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

Непрочитанное сообщение evge » 14 окт 2019, 17:15

В тестировании есть параметр исполнять сигнал "на открытии" (следующей свечи) или "на закрытии" (бар сигнала).
При "на открытии" отобразит на том же баре, где скорее всего и будет открыта позиция (если цена будет там) и не будет гэпа или лага.
Запаздывания там нет, в реальности будет отправлена заявка на "открытии следующего бара", на его первом тике OnUpdate() получит управление и отправит заявку.
никогда такого не было и вот опять

State
Сообщения: 35
Зарегистрирован: 08 окт 2018, 12:43
Поблагодарили: 1 раз

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

Непрочитанное сообщение State » 14 окт 2019, 17:27

В том то и дело, что получилось не так. Проверил в тесте оба варианта: на открытии и на закрытии, так вот в реальности сигнал не совпал ни с тем ни с другим. Скрины вот жаль не могу сделать....

State
Сообщения: 35
Зарегистрирован: 08 окт 2018, 12:43
Поблагодарили: 1 раз

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

Непрочитанное сообщение State » 15 окт 2019, 20:30

Добавляю скриншоты проблемы. Первый скрин это из теста, где сигнал сработал нормально.

Screenshot_1.png


Второй скрин это из реальной торговли. Параметры одинаковые. ТФ Н1 на фортс.

Screenshot_2.png



Почему робот открывает позицию только на третьей свече? Понимаю что может быть опоздание и открытие на начале второй вместо конца первой...... Но на третьей?!!!

Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 361 раз
Контактная информация:

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

Непрочитанное сообщение evge » 16 окт 2019, 04:51

Покажите код стратегии. Вы использовали код последних версий (вариантов) или первую? При тестировании установлено исполнять сигнал на открытии или на закрытии?

Первый скриншот очень похож на использование первого кода, о проблеме которого в этой теме обсуждалось ранее. Второй момент, если учитываем что сигнал все же правильный на следующем растущем баре, связан с исполнением сигнала на закрытии при тестировании стратегии. В тестировании нужно было ставить исполнение на открытии следующего бара, так графики реальные и тестовые были бы похожи, хотя в целом на результат (цену исполнения) это сильно бы не повлияло (речь о лаге и проскальзывании). При тестировании на закрытии на графике было бы видно стрелочку на 1 бар ранее, в отличие от реального момента выставления заявки и исполнения.

если и брать первый вариант, то его надо немного поправить изменить индекс бара в GetValue("U", 0) с 0 на 1 и тоже самое в GetValue("D", 0):

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

/**

Hash code 82E7948763EE510C8DF0B3C48F17727D
**/
function Initialize()
{
   StrategyName = "SuperTrend";
   AddParameter("PeriodATR", 5, "", 1);
   AddParameter("PeriodCCI", 50, "", 1);
   AddParameter("K", 1, "", 1);
   AddInput("Input1", Inputs.Candle, 60, true, "SBER=МБ ЦК");
   LongLimit = 4750;
   ShortLimit = -4750;
   AddChartIndicator("MY.SuperTrend", new Dictionary <string, string>{{"PeriodATR", "PeriodATR"},{"PeriodCCI", "PeriodCCI"},{"K", "K"}});
}

function OnUpdate()
{
   /// ПРАВИЛО 1
   if ( (MY.SuperTrend(Input1, PeriodATR, PeriodCCI, K).GetValue("U", 1) > 0) )
   {
      EnterLong();
   }

   /// ПРАВИЛО 2
   if ( (MY.SuperTrend(Input1, PeriodATR, PeriodCCI, K).GetValue("D", 1) > 0) )
   {
      EnterShort();
   }

}


И провести тестирование с исполнением "на открытии" и тогда картина будет совпадать с реальностью (но конечно не всегда, но на это другие причины: лаг во времени, проскальзывание).

По второй картинке видно, что сигнал наступил на бычьем баре, но исполнен на следующем и это логично, т.к. полностью сформированный бар мы увидим только при поступлении сигнала OnUpdate() следующего за ним бара. Но тестирование по умолчанию рисует сигнал именно на сигнальном баре. Меняем настройку тестирования исполнения "на открытии" и получаем более правильное отображение будущих сделок (сигналов) при тестировании:

enter-on-open-01.png
enter-on-open-01.png (28.27 КБ) 19084 просмотра
никогда такого не было и вот опять

State
Сообщения: 35
Зарегистрирован: 08 окт 2018, 12:43
Поблагодарили: 1 раз

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

Непрочитанное сообщение State » 16 окт 2019, 11:12

Спасибо за разъяснение, буду вечером тестировать этот код. На сколько помню, использовал стратегию более новой версии, но все же еще раз проверю всё.


Вернуться в «Пользовательские индикаторы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей