Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
e-PSI_MAStoch v.27.08.2012 - эксперт для MetaTrader 4
- Просмотров:
- 6580
- Рейтинг:
- Опубликован:
- 2012.02.29 11:34
- Обновлен:
- 2017.09.06 09:22
- Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
По любезному приглашению автора, и для моего хорошего знакомого, который в тестере (не без помощи Мартина) получил "квартиру, машину, загородный дом...", чтобы уберечь "мечты от осколков", немножко причесал вот этот код.
Какие стояли задачи:
- приделать "тормоза", т.е. уберечь советник от полного слива при не благоприятных обстоятельствах (следим за Лоссом в % от Депо или в валюте - 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: обновил входящие в состав советника библиотеки (после общей реструктуризации).
Широкий набор основных функций для написания советников.
Money ManagementИндикатор для управлением капиталом.
Индикатор для расчета и графического отображения Уровня Безубытка Виртуальных Ордеров.
Индикатор внутреннего бараИндикатор, отображающий "внутренний" бар, т.е. бар, у которого High не выше максимума предыдущего бара и Low не ниже минимума предыдущего бара.