Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
Multi Arbitration 1.1xx - эксперт для MetaTrader 5
- Просмотров:
- 3480
- Рейтинг:
- Опубликован:
- 2017.07.14 12:48
- Обновлен:
- 2018.06.26 14:50
- Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Развитие кода Multi Arbitration 1.000.
Отличия от 1.000:
-
Запускается советник ТОЛЬКО на PERIOD_M1 (пояснение ниже, смотрите параметр Time frame).
-
Теперь этот советник торгует сразу по двум символам. Второй символ берется из статического массива ExtArrSymbols:
string ExtArrSymbols[20]= { "EURUSD","GBPUSD","USDCHF","USDJPY","USDCAD", "AUDUSD","AUDNZD","AUDCAD","AUDCHF","AUDJPY", "CHFJPY","EURGBP","EURAUD","EURCHF","EURJPY", "EURNZD","EURCAD","GBPCHF","GBPJPY","CADCHF" }; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit()
-
Изменен принцип открытия позиций:
- Теперь новая позиция "BUY" может быть открыта только тогда, когда текущая цена будет ниже самой низкой позиции "BUY";
- Новая позиция "SELL" может быть открыта только тогда, когда текущая цена будет выше самой высокой позиции "SELL":
-
Введен параметр Time frame - теперь можно проводить оптимизацию на любом периоде графика. Сам советник работает только в момент появления нового бара на основном символе (на символе, на графике которого запущен советник):
//+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- we work only at the time of the birth of new bar static datetime prevtime=0; datetime time_0=iTime(0,m_symbol_one.Name(),InpTimeFrame); if(time_0==prevtime) return; prevtime=time_0;
Здесь переменная InpTimeFrame - это и есть наш входной параметр Time frame. Таким образом, в зависимости от значения входного параметра Time frame мы можем заставить работать советник на любом таймфрейме!
Результаты теста на EURUSD:
Покупаем (открываем позиции BUY) подешевле, продаем (открываем позиции SELL) подороже.
Stop Loss Take ProfitЕсли закрытие по Stop loss - удваиваем объём, если по Take profit - ставим минимальный объём. Для определения того, что сделка произошла вследствие срабатывания Stop loss или TakeProfit, используем OnTradeTransaction.
Осциллятор с использованием обратного преобразования Фишера.
iCCI iMAИндикатор iMA (Moving Average) от индикатора iCCI (Commodity Channel Index). Аналог выбора Previous Indicator's Data в терминале.