Весьма познавательно и полезно, однако в разрезе статьи по поводу "безопасности торговли" не освещен вопрос защиты от убытков при отключении от сервера по технической причине. Например ввести дополнительный стоп открытой позиции (тем более необходимый для тактик без основного стопа -"перевертыш") на некотором расстоянии от цены и следующий за ней на этом расстоянии. В случае отключения сервера он предотвратит большой убыток.
Понятно, что для реального эксперта нужна намного более сложная система обработки ошибок, но представленный пример лучше, чем ничего. Сейчас, к сожалению, во многих экспертах нет и такого блока обработки...
Бросились в глаза 3 опечатки, лучше всё-таки исправить. В главе "Торговые ошибки", в коде: два раза "if(ticket > 0)" и один раз "RefleshRates();".
А в общем, спасибо автору за статью ;)
Пытался запустить приведенный образец эксперта в том виде, в
котором он приведен в статье, - ничего не получается. Наверное,
есть какие-то опечатки или ошибки. На истории он не начинает
работу .
Теперь все работает (правда, отрывает сразу по 10 позиций). На
тестере RefreshRates() не работает и надо ставить выход из безконечного цикла основной
программы.
Вообще, статья нужная. Этот шаблон эксперта - лучший, который
я видел с обработкой ошибок. Конечно, требует доработок по обработке
ошибок, "защите от дурака", естественно, нормального блока
аналитики. .. А в целом, очень неплохо. Думаю использовать как
базовый для написания эксперта на цифровых индикаторах.
Я запускал на тестере в функции start поменял while(Trade) на if (Trade==true) иначе не хотело работать, да и кажется ж функция start запускается при поступлении нового тика, так что в необходимости цикла вроде как нет необходимости, потом в этой же функции после if(action == 3) идет еще один if в котором идут фигурные скобки на несколько строк, тоже вроде бы не так нужно, так как опять не хотело работать, пока не поменял как по аналогии было сделано ниже и выше в коде, т.е. вот так получилось:
if(action == 3)
{
if(TradeIsBusy() < 0)//после этого if убраны фигурные скобки
return(-1);
Так что не знаю правильно сделал или нет, но так заработало. И также в одной из статей взял логгинг и прикрутил сюда чтобы можно было видеть как все работает. А так тоже взял для основы этот код.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
New article Как разработать надежный и безопасный торговый робот на языке MQL4 has been published:
Author: Shashev Sergei