Обсуждение статьи "Адаптивные торговые системы и их использование в терминале 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.

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

 

Впечатляющая статья.

Спасибо. Мне нравится этот новый форум mql5, и кажется, что он становится своего рода наукой.

Ваша статья великолепна, и это то, что я искал много лет, спасибо за косвенную помощь.


Я также должен предупредить, что есть (логически незначительная) ошибка в включаемом файле CSampleStrategy,

//+------------------------------------------------------------------+
//| The StrategyPerformance function of effectiveness of strategy    |
//+------------------------------------------------------------------+ 
double CSampleStrategy::StrategyPerformance()
  {
//returns the effectiveness of strategy
/in this case it's the difference between the amount 

в последнем raw в комментарии только один слеш, и это порождает около 13 ошибок при компиляции mq5 expert.


Это очень хорошая статья, которая в сочетании со многими другими статьями, полученными в последние месяцы существования mql5, может сделать очень интересные

эксперименты над высококлассными экспертами-советниками.


Я хотел бы узнать о возможности улучшить эту статью-стратегию, например, добавив в код файлы с возможностью

в код, для хранения и запоминания дополнительных результатов... Фантазии не будет предела.

Еще раз спасибо.

 

PS: он также выдает мне "внутреннюю ошибку #55"

которая не позволяет создать ex5. Что-нибудь поможет... ?

 
forexistence:

Я также должен предупредить, что в включаемом файле CSampleStrategy есть (логически незначительная) ошибка,

последний raw имеет только один слеш в комментарии, и это генерирует около 13 ошибок при компиляции mq5 expert.


Спасибо. Исправленная версия прикреплена к статье.
 

Спасибо за исправленную версию.

Я вот что думаю: даже если эта статья очень интересная, идея очень замечательная, код очень чистый и со многими преимуществами,

и даже если это пример советника, весь советник в том виде, в котором он опубликован, недружелюбен к тестеру стратегий.

Я имею в виду тот факт, что в скачанной версии невозможно установить входные параметры из терминала.

Поскольку включаемые файлы не могут иметь переменных входных параметров, как можно "ввести" множество переменных из множества включаемых файлов

этого советника?