Советники: TST

 

TST:

Советник не использует никаких индикаторов - только текущая цена и OHLC нулевого (самого правого на графике) бара.

Алгоритм работы: как только цена откатилась вниз от High на расстояние Rollback rate и мы находимся в новом баре - это сигнал в открытию BUY позиции, если цена поднялась над Low на расстояние Rollback rate и мы находимся в новом баре - это сигнал в открытию SELL позиции.

В параметрах можно включить трейлинг и реверс сигналов на открытие позиций.

Результат теста (параметр "Balance max") с 2018.01.01 по 2018.05.10 на таймфрейме D1 по всем символам в режиме генерации тиков "Каждый тик на основе реальных тиков":

TST test

Автор: Vladimir Karputov

 
Rollback rate в пунктах или в процентах от предыдущего бара? 
 
Ilya Vasenin:
Rollback rate в пунктах или в процентах от предыдущего бара? 

В пунктах от цены High нулевого (самого правого) бара:

//--- tuning for 3 or 5 digits
   int digits_adjust=1;
   if(m_symbol.Digits()==3 || m_symbol.Digits()==5)
      digits_adjust=10;
   m_adjusted_point=m_symbol.Point()*digits_adjust;

   ExtStopLoss       = InpStopLoss     * m_adjusted_point;
   ExtTakeProfit     = InpTakeProfit   * m_adjusted_point;
   ExtTrailingStop   = InpTrailingStop * m_adjusted_point;
   ExtTrailingStep   = InpTrailingStep * m_adjusted_point;
   ExtRollbackRate   = InpRollbackRate * m_adjusted_point;
//---
   return(INIT_SUCCEEDED);
  }

и

   MqlRates rates[1];
   if(CopyRates(m_symbol.Name(),InpTimeframe,0,1,rates)!=1)
      return;

   if(rates[0].open-m_symbol.Bid()>0 && rates[0].high-m_symbol.Bid()>ExtRollbackRate)
 

Vladimir Karputov, спасибо за пояснения.

Все тики:

Каждый тик на основе реальных тиков:

OHLC на M1

Почему такая разница в результатах, в зависимости от выбора выше? 

Есть ли возможность сделать модификацию для дальнейшего исследования.

В параметрах запретить открывать первую сделку Sell или Buy. Смысл проверить советника в однонаправленной торговле на периоде либо роста либо падения.

 
Ilya Vasenin:

Vladimir Karputov,

***

Почему такая разница в результатах, в зависимости от выбора выше? 

***

Потому, что самый настоящий режим на 100% соответствующий действительности - это режим тестирования "Каждый тик на основе реальных тиков".

Остальные режимы - это искусственные режимы генерации тиков. Как генерируются искусственные режимы: 

Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5

Алгоритм генерации тиков  в тестере стратегий терминала MetaTrader 5Создание экспертов - автоматических торговых систем на MQL5 В составе клиентского терминала MetaTrader 5 есть встроенная среда программирования для разработки полностью автоматических стратегий (торговых роботов), которые могут торговать без вмешательства человека. Другое название торговых роботов - эксперты. Эксперты и технические индикаторы для терминала MetaTrader 5 пишутся на языке MQL5, в котором реализованы все преимущества современных языков программирования: скорость исполнения; поддержка объектно-ориентированного программирования (ООП); возможность отладки. Возможность отладки программ на MQL5 позволяет написать максимально безопасный код с точки зрения программирования, но это является только необходимым, но не достаточным условием для разработки прибыльной стабильной торговой системы. Торговые системы, способные показывать хорошие результаты на большом промежутке исторических данных называют робастными, от английского слова robust - устойчивый к сбоям, ошибкам....

Статьи | 2010.05.21 15:58 | MetaQuotes Software Corp. | Тестер | MetaTrader 5

 

Vladimir Karputov, тогда получается что советник должен открывать сделки анализируя сгенерированные бары на основе реально сформированной свечи в реальном времени. Генерация тиков упрощает реальную картинку, то же нужно делать советником реал тайм. Формировать тиковый график на основе текущих котировок и делать входы. Возможно ли такое в теории реализовать в советнике?

Вот пример, что не так с реальными входами и на тиковых генерациях. 

"Если свеча является дожи, то есть Сlose==Open, то анализируются предыдущие свечи, если предыдущая свеча была восходящей, то этот дожи считается нисходящей свечой."  

Отсюда и входы пойдут совсем другие. Глядишь грааль существует.

 
Ilya Vasenin:
Vladimir Karputov, тогда получается что советник должен открывать сделки анализируя сгенерированные бары на основе реально сформированной свечи в реальном времени. Генерация тиков упрощает реальную картинку, то же нужно делать советником реал тайм. Формировать тиковый график на основе текущих котировок и делать входы. Возможно ли такое в теории реализовать в советнике?

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

 
Vladimir Karputov:

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

Хорошо, я постараюсь сформулировать по другому.

Вот работа советника в режиме генерации тиков на основе реальных тиков. Цифрой №1 со стрелкой обозначена нулевая свеча. По условию стратегии, как только цена откатилась вниз от High на расстояние Rollback rate и мы находимся в новом баре - это сигнал в открытию BUY позиции. Советник открыл позицию Buy (показано стрелкой №2). Следующая свеча была медвежья, по условию стратегии, после формирования свечи под №3, должна была открыться позиция Sell. Но этого не происходит. Далее белыми линиями указаны свечи на которых не происходило ни каких сделок. Почему так происходит?

При этом в режиме генерации "Все тики", советник открывает позиции в этом месте.


 
Ilya Vasenin:

Хорошо, я постараюсь сформулировать по другому.

Вот работа советника в режиме генерации тиков на основе реальных тиков. Цифрой №1 со стрелкой обозначена нулевая свеча. По условию стратегии, как только цена откатилась вниз от High на расстояние Rollback rate и мы находимся в новом баре - это сигнал в открытию BUY позиции. Советник открыл позицию Buy (показано стрелкой №2). Следующая свеча была медвежья, по условию стратегии, после формирования свечи под №3, должна была открыться позиция Sell. Но этого не происходит. Далее белыми линиями указаны свечи на которых не происходило ни каких сделок. Почему так происходит?

При этом в режиме генерации "Все тики", советник открывает позиции в этом месте.


Дайте, пожалуйста Настройки советника, название символа, таймфрейм и дату.
 

Данный советник у меня не работает на неттинговом счете Альпари. Использую для тестирования котировки forts там советник проходит тестирование в тестере. 

Символ RTS 6.18, тайм М5, 26.04.18-11.05.18

п.с. Так же заметил момент почему так сильно отличаются данные.

Разницы нет на каких символах тестировать. Я проверял на разных символах и везде советник в режиме "режиме генерации тиков на основе реальных тиков" не делает то, что указанно в описаниях советника. При этом сами свечи, что в режиме генерации "Все тики", что в  "режиме генерации тиков на основе реальных тиков" выглядят одинаково. Но в режиме "Все тики" советник иногда почему то открывает Buy после формирования медвежьего бара, а  в режиме "режиме генерации тиков на основе реальных тиков" советник в этом месте открывает позициию sell. 

Это тоже сильно меняет картину в результатах. 

Если потребуется могу сделать скрин работы в разных режимах генерации тиков. 

 
Ilya Vasenin:

Данный советник у меня не работает на неттинговом счете Альпари. Использую для тестирования котировки forts там советник проходит тестирование в тестере. 

Символ RTS 6.18, тайм М5, 26.04.18-11.05.18

п.с. Так же заметил момент почему так сильно отличаются данные.

Разницы нет на каких символах тестировать. Я проверял на разных символах и везде советник в режиме "режиме генерации тиков на основе реальных тиков" не делает то, что указанно в описаниях советника. При этом сами свечи, что в режиме генерации "Все тики", что в  "режиме генерации тиков на основе реальных тиков" выглядят одинаково. Но в режиме "Все тики" советник иногда почему то открывает Buy после формирования медвежьего бара, а  в режиме "режиме генерации тиков на основе реальных тиков" советник в этом месте открывает позициию sell. 

Это тоже сильно меняет картину в результатах. 

Если потребуется могу сделать скрин работы в разных режимах генерации тиков. 

Если Вы работаете не с форексным символом - я не комментирую работу кода. Проверяйте пожалуйста на форексных символах.