Версия для МТ4: https://www.mql5.com/ru/market/product/23001
Версия для МТ5: https://www.mql5.com/ru/market/product/52858
Описание параметров для EA
- ==== GMT and DST ====
- GMT_Offset_Manual - Разница между временем сервера брокера и временем по Гринвичу (при тестировании установить значение для зимнего периода);
- GMT_Offset_AUTO - вкл/выкл автоматическое определение GMT Offset, используя локальное время компьютера (в тестере стратегий не определяет);
- Adjust_DST_select - вкл/выкл перевод часов на летнее время (для тестера стратегий);
- ==== Lot and MM ====
- Use_Fix_Lots - вкл/выкл фиксированный лот при торговле;
- Value_Fixed_Lot - размер фиксированного лота;
- Use_MM_1 - вкл/выкл размер лота, исходя из баланса;
- Funds_for_001_Lot - количество средств на 0.01 лота;
- Use_MM_2 - вкл/выкл размер лота в проценте от депозита, исходя из StopLoss;
- Risk_Percentage - процент от депозита для расчёта размера лота;
- Use_arbitrary_SL_for_calc_Risk - задать произвольный StopLoss в параметре Arbitrary_SL_for_calc_Risk для расчёте лота через Use_MM_2;
- Arbitrary_SL_for_calc_Risk - произвольный StopLoss для расчёта размера торгового лота (имеет смысл применять в режиме Use_Grid_mode = true);
- Add_Recovery_for_Lots - вкл/выкл восстанавливающий манименеджмент (торговый лот не будет уменьшаться, при просадках); данная настройка применяется, как к MM_1, так и к MM_2;
- Lot_calculation_based_on - расчёта лота исходя из баланса или средств (эквити);
- Lot_calculation_with_rounding - использовать округление при расчёте торгового лота (более агрессивный расчёт лота, для ускорения увеличения баланса);
- ==== Grid and Martingale ====
- Use_Grid_mode - вкл/выкл режим "Grid and Martingale";
- Multiplier_of_trade_Lot - множитель для торгового лота при открытии новой позиции в сетке позиций;
- Signal_Only_for_First_Transaction - использовать логику открытия только для первой позиции в сетке позиций;
- Min_minuts_pause_between_positions - минимальная пауза в минутах между открытием позиций;
- Multiplier_of_Min_minuts_pause - множитель для Min_minuts_pause_between_positions при открытии следующей позиции;
- Min_pips_between_positions - минимальная разница цен открытия в пунктах, необходимая для открытия новой позиции;
- Multiplier_of_Min_pips_between_positions - множитель для Min_pips_between_positions при открытии следующей позиции;
- Close_positions_at_percentage_of_loss - процент плавающего убытка от баланса, при котором закрываются все позиции; при 0 функция не активна;
- Total_positions_for_one_Symbol - максимальное количество одновременно открытых позиций для одного символа;
- ==== Comment_and_Magic ====
- Comment - комментарий для позиций EA;
- Magic - магический номер для позиций EA;
- ==== Advanced position management ====
- Advanced_position_management - применить расширенное управление количеством одновременно открытых позиций;
- Position_management_for - выбрать магические номера для учёта количества одновременно открытых позиций;
- Line_Magics - строка магических номеров позиций (действительно при Position_management_for=Magics_from_string);
- Total_deals_of_line_magics_for_one_symbol - максимальное количество одновременно открытых позиций с заданными магическими номерами по одному символу; действительно для значений больше 0; данный параметр ограничивает открытие первой позиции и не ограничивает открытие усредняющих позиций.
- Total_deals_of_line_magics_for_all_symbols - максимальное количество одновременно открытых позиций с заданными магическими номерами по всем символам; действительно для значений больше 0; данный параметр ограничивает открытие первой позиции и не ограничивает открытие усредняющих позиций.
- Total_deals_for_one_symbol_so_as_not_to_open_new_symbol - максимальное количество одновременно открытых позиций с заданными магическими номерами по одному любому символу, при котором не будут открываться первые сделки для других символов; действительно для значений больше 1.
- Total_deals_with_one_currency - максимальное количество одновременно открытых позиций с одной и той же валютой (не парой, а валютой); учитываются позиции с заданными магическими номерами; действительно для значений больше 0; данный параметр ограничивает открытие первой позиции и не ограничивает открытие усредняющих позиций.
- One_currency_for_one_direction_only - если "true", то "Total_deals_with_one_currency" учитывает только одинаковое направление торговли для каждой валюты.
- ==== One or for each Symbol ====
- Use_Symbols_from_Line - при "true" торговать на всех символах из строки "Symbols_Line", при "false" торговать на символе чарта;
- Symbols_Line - если Use_Symbols_from_Line=true, то торговать на символах из данной строки (пишите символы без префиксов и суффиксов);
- Symbol_prefix - если символы терминала имеют префикс, то напишите его в этом поле;
- Symbol_suffix - если символы терминала имеют суффикс, то напишите его в этом поле;
- ==== Trading Schemes ====
- Trading_Scheme - настройка остальных параметров для торговли (выбор сета настроек); если выбрано "Custom", то будут применены значения параметров заданные ниже (их можно менять на своё усмотрение); Если выбрана любая другая схема (готовый сет настроек), то все параметры ниже будут заданы автоматически (исходя, из предпочтений автора).
- ==== Basic Strategy choice ====
- Breach_else_Channel - если "true", то используется стратегия "Breach"; если "false", то используется стратегия "Channel";
- Use_Block_A - вкл/выкл блок A;
- Parametr_A_1 - параметр A1 для оптимизации блока A (диапазон значений: от 1 до 25);
- Parametr_A_2 - параметр A2 для оптимизации блока A (диапазон значений: от 1 до 25);
- Use_Block_B - вкл/выкл блок B;
- Parametr_B_1 - параметр B1 для оптимизации блока B (диапазон значений: от 1 до 25);
- Parametr_B_2 - параметр B2 для оптимизации блока B (диапазон значений: от 1 до 25);
- ==== Common parameters ====
- BUY_orders - открывать позиции buy;
- SELL_orders - открывать позиции sell;
- Slippage - допустимое проскальзывание в пунктах (при Market исполнении не влияет);
- Max_Spread_Open_for_BUY - максимально допустимый спред в пунктах для открытия сделки buy;
- Max_Spread_Open_for_SELL - максимально допустимый спред в пунктах для открытия сделки sell;
- Max_Spread_Close_for_BUY - максимально допустимый спред в пунктах для закрытия сделки buy;
- Max_Spread_Close_for_SELL - максимально допустимый спред в пунктах для закрытия сделки sell;
- Close_for_Any_Spread_at_Pips_Profit - количество пунктов в профите (с учётом текущего спреда), при котором закрывать ордер (при сигнале на закрытие) при любом спреде, действует при значении больше 0;
- TakeProfit_Hide - скрытый от брокера Тейк Профит в пунктах;
- StopLoss_Hide - скрытый от брокера Стоп Лосс в пунктах;
- TakeProfit_Safety - страховочный (реальный) Тейк Профит в пунктах (TakeProfit_Safety должен быть больше TakeProfit_Hide);
- StopLoss_Safety - страховочный (реальный) Стоп Лосс в пунктах (StopLoss_Safety должен быть больше StopLoss_Hide);
- Duration_Pause_Minut_at_SL_Hide - длительность паузы в минутах при срабатывании StopLoss_Hide;
- Minimum_Duration_of_deal_in_seconds - минимальное время жизни открытой позиции в секундах, действует при значении больше 0;
- Minimum_Duration_for_deals - выбор позиций, для которых будет действовать
- Minimum_Pips_at_Profit - минимальное количество пунктов прибыли для закрытия положительной сделки;
- Minimum_Pips_at_Profit_2 - минимальное количество пунктов прибыли для закрытия положительной сделки, которое начинает действовать с "number_of_H1_bars_to_activate_MPP2" (при 0 не действует);
- number_of_H1_bars_to_activate_MPP2 - номер часового бара после открытия сделки, с которого начинает действовать "Minimum_Pips_at_Profit_2" (при 0 не действует);
- Minimum_Pips_at_Loss - минимальное количество пунктов убытка для закрытия отрицательной сделки;
- Close_Loss_only_by_SL - закрытие отрицательных сделок только по СтопЛоссу (виртуальному или реальному);
- ==== TIMING ====
- GMT_Open_Trade_Hour - час для начала открытия сделок по GMT;
- GMT_Open_Trade_Minute - минута для начала открытия сделок по GMT;
- Period_Open_in_minute - продолжительность времени для открытия сделок в минутах;
- GMT_Open_Pause_Hour - час для начала паузы в открытии сделок по GMT;
- GMT_Open_Pause_Minute - минута для начала паузы в открытии сделок по GMT;
- Period_Pause_in_minute - продолжительность паузы в минутах;
- Sunday_Trade - разрешить торговлю в воскресенье;
- Monday_Trade - разрешить торговлю в понедельник;
- Tuesday_Trade - разрешить торговлю во вторник;
- Wednesday_Trade - разрешить торговлю в среду;
- Thursday_Trade - разрешить торговлю в четверг;
- Friday_Trade - разрешить торговлю в пятницу;
- Saturday_Trade - разрешить торговлю в субботу;
- Use_Not_Closing_Time - активировать время закрытия позиций только по реальным СЛ и ТП (без других закрытий эксперта);
- Not_Closing_Hour_GMT - час начала по GMT для Use_Not_Closing_Time;
- Not_Closing_Minute_GMT - минута начала по GMT для Use_Not_Closing_Time;
- Period_Not_Closing_in_minute - продолжительность в минутах для Use_Not_Closing_Time;
- Only_for_negative_positions - применять Use_Not_Closing_Time только к позициям в отрицательной зоне;
- Reconfiguration_Time - сдвинуть "GMT_Open_Trade_Hour" и "GMT_Open_Pause_Hour" на количество часов ("Offset_Hours") в период времени, определённый параметрами ("Month_start_RCT", "Day_start_RCT", "Month_end_RCT", "Day_end_RCT");
- Offset_Hours - временной сдвиг работы эксперта в часах;
- Month_start_RCT - месяц начала сдвига работы эксперта;
- Day_start_RCT - день начала сдвига работы эксперта;
- Month_end_RCT - месяц окончания сдвига работы эксперта;
- Day_end_RCT - день окончания сдвига работы эксперта;
- ==== News Filter ====
- Use_NewsFilter - использовать фильтр новостей;
- Select_Site - выбор источника новостей;
- Pass_of_News_else_Trade_at_News - если "true", то не открывать сделки в заданные интервалы времени с новостями; если "false", то открывать сделки только в заданные интервалы времени с новостями;
- News_All_countries - учитывать новости всех стран;
- News_USA - учитывать новости США;
- News_Europe - учитывать новости Еврозоны и Великобритании;
- News_currency_pairs - учитывать новости стран валют валютной пары чарта;
- News_currency_string - учитывать новости валют, введённых в строку News_currency_str;
- IncludeHigh - учитывать новости высокой важности;
- MinsBeforeHigh - количество минут до выхода новости высокой важности, в течение которых не открывать сделок;
- MinsAfterHigh - количество минут после выхода новости высокой важности, в течение которых не открывать сделок;
- IncludeMedium - учитывать новости умеренной важности;
- MinsBeforeMedium - количество минут до выхода новости умеренной важности, в течение которых не открывать сделок;
- MinsAfterMedium - количество минут после выхода новости умеренной важности, в течение которых не открывать сделок;
- IncludeLow - учитывать новости низкой важности;
- MinsBeforeLow - количество минут до выхода новости низкой важности, в течение которых не открывать сделок;
- MinsAfterLow - количество минут после выхода новости низкой важности, в течение которых не открывать сделок;
- IncludeSpeaks - учитывать новости-речи;
- SpeaksHigh - учитывать новости-речи высокой важности;
- SpeaksMedium - учитывать новости-речи умеренной важности;
- SpeaksLow - учитывать новости-речи низкой важности;
- MinsBeforeSpeaks - количество минут до выхода новости-речи любой важности, в течение которых не открывать сделок;
- MinsAfterSpeaks - количество минут после выхода новости-речи любой важности, в течение которых не открывать сделок;
- Skip_American_Holidays - если true, то не открывать сделок в дни американских праздников;
- ==== Days without Trade ====
- Use_Holidays_Pass - не торговать в период праздников, который задаётся с помощью параметров: Month_start_Holidays, Day_start_Holidays, Month_end_Holidays, Day_end_Holidays;
- use_Date_Holidays - не торговать в дни праздников, которые задаются в строке Date_Holidays;
- Every_year - применять use_Date_Holidays ко всем годам;
- Number_Start_Month - не торговать количество дней в начале месяца;
- Number_End_Month - не торговать количество дней в конце месяца;
- ==== Record of deals in the file ====
- Record_Deals - вкл/выкл запись деталей работы эксперта в файл;
- Name_File - имя файла для записи;
Для удобства в параметрах всегда указываются стандартные пункты (по 4-му знаку). На пятизначные значения перерасчёт пунктов происходит автоматически. Пример, если вы задали в каком-то параметре 7.5 пунктов, то на пятизначных котировках брокера это будет 75.
Основные моменты, на которые стоит обратить внимание
1. При реальной работе эксперта временной параметр смещения относительно Greenwich Mean Time определяется автоматически по локальному времени компьютера (GMT_Offset_AUTO=true).
Данный параметр обеспечивает синхронизацию настроек эксперта с временем сервера MetaTrader.
Чтобы убедиться в правильности настройки необходимо:
- сравнить время GMT в информационном поле эксперта на чарте валютной пары к которому прикреплён эксперт с http://time.is/GMT (или другим надёжным источником).
- Если значения не совпадают, то выставить GMT_Offset_AUTO=false и установить значение GMT_Offset_Manual самостоятельно согласно инструкции https://www.mql5.com/ru/blogs/post/681157
2. Для МТ5 встроенный календарь новостей (Select_Site = MQL5), поэтому внешние ссылки не требуются.
Для работы функции "News Filter" в МТ4 необходимо разрешить использование WebRequest и добавить https://nfs.faireconomy.media (для ForexFactory) или https://sslecal2.investing.com (для Investing) в список разрешенных URL. Для этого откройте "Сервис" > "Настройки" > "Советники". Поставьте галочку в "Разрешить WebRequest для следующих URL:" и добавьте соответствующие ссылки.
3. Бэктестирование сразу на всех символах ( Use_Symbols_from_Line = true ) возможно только в тестере МТ5. Бэктестирование производите на таймфрейме М1.
Часто задаваемые вопросы
- Таймфрейм графика любой. Эксперт на любом таймфрейме работает одинаково, так как сам берёт нужные данные с нескольких таймфреймов.
- Для разных сетов настроек - разные магические номера.
- Чем вызвано различие сделок на счетах разных брокеров? Во-первых, у разных брокеров - разное поведение изменения значения spread. Т.е. значения spread у разных брокеров меняются в разные моменты времени и на разное количество пунктов. Во-вторых, у разных брокеров - разные поставщики котировок. Т.е. котировки у разных брокеров могут немного отличаться.