Обсуждение статьи "Адаптивные торговые системы и их использование в терминале MetaTrader 5"

 

Опубликована статья Адаптивные торговые системы и их использование в терминале MetaTrader 5:

В статье предложен вариант адаптивной системы, состоящей из множества стратегий, каждая из которых производит свои "виртуальные" торговые операции. Реальная торговля происходит в соответствии с сигналами стратегии, которая на текущий момент является самой прибыльной. За счет использования объектно-ориентированного подхода, классов для работы с данными и торговых классов Стандартной библиотеки, архитектура системы получилась простой и масштабируемой, теперь вы легко сможете создавать и исследовать адаптивные системы, включающие сотни торговых стратегий.

Автор:  MetaQuotes 


 
Спасибо. Хорошая статья. Сэкономит мне кучу времени.

 
Да, хорошая статья, и мне пригодится.
 

Нет слов, спасибо

Вписал  свою торговую стратегию.

Кто подскажет как работать с этой ошибкой?:

Ошибка при создании индикаторов 4002

хотя на самом деле код ошибки 4002 это:

ERR_WRONG_INTERNAL_PARAMETER 4002 Ошибочный параметр при внутреннем вызове функции клиентского терминала

или она возникла просто потому что я запустил советника во вне рабочее время терминала?

и как избежать ошибок при создании индикаторов? Что то много вопросов (.

Подскажите пожалуйста как решить эту проблему, если не очень сложно. В каком месте кода вообще искать эту ошибку? Хотя бы примерные ориентиры.

Ответ, конечно лежит на поверхности но фишка в том, что я не программист


P.S.: Прикиньте, ошибка сначала исчезла после того как я изменил тип переменной avdeals int на double в


double CSampleStrategy::StrategyPerformance()

но потом всё повторилось и советник так же аварийно выгрузился


 
Приведите исходный код, пожалуйста. Можно через сервисдекс на этом сайте.

 

В классе CAdaptiveStrategy пытаюсь торговать только стохастику:

// создаем 5 торговых стратегий CStrategyStoch (торговля по стохастику)
// производим их инициализацию, устанавливаем параметры
// и добавляем в контейнер m_all_strategies
    for(int i=0; i<5; i++)
     {
      CStrategyStoch *t_StrategyStoch;
      t_StrategyStoch=new CStrategyStoch;
      if(t_StrategyStoch==NULL)
        {
         delete m_all_strategies;
         printf("Ошибка создания объекта типа t_StrategyStoch");
         return(-1);
        }
      //задаем период каждой из стратегий
      int Kperiod=2+i*5;
      int Dperiod=2+i*5;
      int Slowing=3+i;
      // инициализация стратегии
      t_StrategyStoch.Initialization(Kperiod,Dperiod,Slowing,true);
      // устанавливаем информацию о стратегии
      string s=IntegerToString(Kperiod)+"/"+IntegerToString(Dperiod)+"/"+IntegerToString(Slowing);
      t_StrategyStoch.SetStrategyInfo(_Symbol,"[Stoch_"+s+"]",100+i," Stochastic "+s);
      //добавляем объект стратегии в массив объектов m_all_strategies
      m_all_strategies.Add(t_StrategyStoch);
     }
Остальное отключил, а график в тестере все тот же. Насколько я понял здесь подкючаются и отключаются стратегии?

 

 

Статья хорошая, но чисто умозрительная. Ну, скажем, демонстрация возможностей MQL5.

Очевидно же, что торгуя по и так запаздывающим индикаторам (они все такие), да еще выбирая из них лучший за какой-то период (+ еще запаздывание), ничего не добьешься. 

 
AM2:

В классе CAdaptiveStrategy пытаюсь торговать только стохастику:

Остальное отключил, а график в тестере все тот же. Насколько я понял здесь подкючаются и отключаются стратегии?

 

Да, стратегии подключаются в функции CAdaptiveStrategy::Expert_OnInit(). Для удобства лучше использовать debug-версию советника, там добавлено сохранение результатов в файлы. Разобраться в том, сигналы каких стратегий использовались в реальной торговле, можно по файлу direction_res.txt.

при использовании адаптивной стратегии, состоящей из указанных 5 стохастиков (EURUSD H1, тест с начала 2010 года до 1 сентября 2010) получаются следующие результаты:




 
Automated-Trading:

Да, стратегии подключаются в функции CAdaptiveStrategy::Expert_OnInit(). Для удобства лучше использовать debug-версию советника, там добавлено сохранение результатов в файлы. Разобраться в том, сигналы каких стратегий использовались в реальной торговле, можно по файлу direction_res.txt.

при использовании адаптивной стратегии, состоящей из указанных 5 стохастиков (EURUSD H1, тест с начала 2010 года до 1 сентября 2010) получаются следующие результаты:

Судя по графику у Вас опять же попросту оптимизированная модель, пусть даже часть этой оптимизации оказалась автоматизированнной, но адаптированная модель - это модель в которой существует блок расчета, который адаптирует вход и выход на рынок во время работы стратегии, а параметры в инициализации вообще не имеют значения. В таких условиях, как раз линия эквити по отношению к балансовой выровняется, так как в случаях когда распределение для закрытия позиции по прибыли изменилось - то такая система все равно пересчитает новые значения и определит новую зону для прибыли, а значит и перестроит параметры для получения прибыли и группой ордеров эквити будет сохранено: 
Файлы:
 
dasmen:
Судя по графику у Вас опять же попросту оптимизированная модель, пусть даже часть этой оптимизации оказалась автоматизированнной, но адаптированная модель - это модель в которой существует блок расчета, который адаптирует вход и выход на рынок во время работы стратегии, а параметры в инициализации вообще не имеют значения. В таких условиях, как раз линия эквити по отношению к балансовой выровняется, так как в случаях когда распределение для закрытия позиции по прибыли изменилось - то такая система все равно пересчитает новые значения и определит новую зону для прибыли, а значит и перестроит параметры для получения прибыли и группой ордеров эквити будет сохранено: 

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

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