Скачать MetaTrader 5

Смотри, как бесплатно скачать роботов

Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят

Понравился скрипт?
Оцени его работу в терминале MetaTrader 5

2012.02.29 11:34
Советники

e-PSI@MAStoch v.27.08.2012 - эксперт для MetaTrader 4

Просмотров:
4612
Рейтинг:
голосов: 4

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

Какие стояли задачи:

  • приделать "тормоза", т.е. уберечь советник от полного слива при не благоприятных обстоятельствах (следим за Лоссом в % от Депо или в валюте - StopLoss_ON = True);
  • максимально (на сколько возможно) нивелировать уникальность котировок ДЦ, т.е. повторяемость результатов у разных ДЦ;
  • приблизить условия тестирования в тестере к работе on-line;
  • создать модульную конструкцию советника для лёгкой возможности его модификации;
  • несколько увеличить функциональность советника.

Что в связи с вышеизложенным подправил:

  • Возможность открывать все ордера серии (не только первого) по сигналам индикаторов (UseSignalForNextOrder = True). 9 из 10-ти мартингейловых МТС ТОЛЬКО 1-ый ордер серии открывают по сигналу (обычно 1-2 индикаторов), а все остальные ордера серии открываются по факту прохождения ценой в обратном направлении заданного настройками расстояния (в данном случае dDelta) от последнего открытого ордера;
  • Добавил 2 альтерантивных варианта работы со Stochastic для сигналов открытия. При iVariantSend = 1 - Эти условия предполагают выход сигнала из зоны, НО, если выход произошёл не более, чем за iZone баров после входа, а дальше фильтруем сигнал по MA-шке. При iVariantSend = 2 - сигнал по МА-шке не фильтруем. При iVariantSend = 0 остаются старые условия;
  • Ввёл параметр, уменьшающий агрессивность мартингейла (dK_Delta). Это коэффициент увеличения расстояния, необходимого пройти цене, для открытия последующего ордера: cur_Delta = dDelta + ((N - 1) * dDelta * dK_Delta) (N - номер ордера в серии). При dK_Delta = 0 - ничего не меняется;
  • Добавил два варианта работы по закрытию от сигналов индикаторов (iUse_close_IND). iUse_close_IND = 3 - альтерантивный вариант работы со Stochastic. Реализовал предложение одного из пользователей оригинального кода: 4-ый вариант закрытия ордеров - по пересечению 2-ух МА-шек (iUse_close_IND = 4). Также ввёл параметр минимальной "жизни" ордеров в барах ControlPeriod периода (iNBars_Life). Если iNBars_Life = 0 - пареметр не учитывается;
  • В реальной торговле нередко бывают случаи, когда нужно перейти на полуавтоматический режим, жёстко задав МТС направление открытия ордеров - для этого ввёл параметр SendOnlyOrders. При SendOnlyOrders = -1 ордера открываются в обе стороны, 0 - только BUY, 1 - только SELL;
  • Условия по открытию и закрытию ордеров берутся по показаниям индикаторов на ControlPeriod периоде, а не по периоду чарта;
  • Условия на открытие ордеров могут изменяться в соответствии с выбранным вариантом цены (уровнем) Variant_Price (0 - оригинальные условия; 1 - High/Low[1]; 2 - Open/Close[1]; 3 - iMA (NULL, PERIOD_M1, 5, 0, MODE_SMA, PRICE_WEIGHTED, 1);
  • МА-шка по закрытию ордеров взята с периодом ControlPeriod, если Variant_Price != 0;
  • Добавлены виртуальные СТОПы (Virtual_Order_SL, Virtual_Order_TP);
  • Добавлен трейлинг (TrailProfit_ON), тэйк (TakeProfit_ON) и стоп (StopLoss_ON) общего профита, которые работают или в % или в валюте Депо (ValueInCurrency);
  • Добавлены варианты формирования лота начального ордера от AccountBalance() и AccountEquity(), введена нормализация расчётного размера лота, а также добавлены ограничения на минимальный (MinLot) и максимальный (MaxLot) размер лота;
  • Исправлено формирование перменной iShift_MA;
  • Попутно оптимизирован сам код.

Вот такие мелкие доработки. ТЕОРЕТИЧЕСКИ, если Variant_Price = 0 и, если учесть (правильно настроить) новые настройки (по умолчанию), советник должен работать по оригинальной стратегии, хотя чужая душа (мозг) всегда потёмки... :)))

Новая версия собрана из модулей и получила блок комментариев. Добавил вывод на график линии безубыточности серии ордеров. В архиве все необходимые для работы советника модули.

Изменения от 27.08.2012: обновил входящие в состав советника библиотеки (после общей реструктуризации).

PB_BasicFuncs PB_BasicFuncs

Широкий набор основных функций для написания советников.

Money Management Money Management

Индикатор для управлением капиталом.

i-UrovenBVO-v.1.1 i-UrovenBVO-v.1.1

Индикатор для расчета и графического отображения Уровня Безубытка Виртуальных Ордеров.

Индикатор внутреннего бара Индикатор внутреннего бара

Индикатор, отображающий "внутренний" бар, т.е. бар, у которого High не выше максимума предыдущего бара и Low не ниже минимума предыдущего бара.