Modern Forex Technologies
- Experts
- Aleksandr Valutsa
- Versione: 2.23
- Aggiornato: 23 dicembre 2023
- Attivazioni: 5
Recommendations, warnings, notes - https://www.mql5.com/ru/blogs/post/759146
MFT - советник предназначен для торговли на любых валютных парах, имеет встроенный мульти-трендовый индикатор, в тестере стратегий индикатор работает только на текущем периоде как ведущий, возможно подключение других периодов на графике как вспомогательных (опционально). Для этого на графике отображаются 9 кнопок с указанием периода и направления тренда - красный цвет кнопки означает, что тренд нисходящий, синий цвет - восходящий, желтый цвет кнопки - флэт, серый - цвет означает, что кнопка неактивна и анализ по ее периоду не проводится.
Например, вы активировали 5 кнопок с периодами от M1 до H1 и все они окрашены в красный цвет – это означает, что тренд нисходящий и робот будет торговать на продажу. Далее, например, вы активировали еще одну кнопку с периодом H4 и в момент активации кнопка окрашена в синий цвет - это означает, что на графике H4 тренд восходящий, в результате робот будет ждать, пока все активные кнопки не будут окрашены в один цвет.
Индикатор который используется в советнике для определения тренда на разных периодах, не перерисовывается и не запаздывает.
Параметры
- Settings:
- Trade_EA_Settings - торговля с использованием локальных настроек советника (без использования файловой системы),
- Trade_File_Settings - торговля с использованием файловой системы настроек (это может быть намного удобнее и эффективнее);
- Accountant - режим оптимизации советника, во время оптимизации параметров в тестере стратегий, параллельно робот запускается на график в режиме "Accountant" для обработки получаемых данных. В результате робот отбирает получаемые наборы настроек и сохраняет их в файлы. Для работы данной системы также на соседний график необходимо обязательно запустить приложение "File_Manager".
- Folder_Number - номер папки с файлами;
- MagicNumber - задает приоритет загружаемым файлам а также является идентификатором позиций, соответственно его нельзя менять с наличием у советника открытых позиций;
- Auto_Magic - используется исключительно совместно с параметром "Trade_File_Settings" эта функция отбирает лучшие файлы с настройками в зависимости от установленного приоритета "MagicNumber", так допустим если "MagicNumber=1", это будет означать высший приоритет и робот будет искать на сервере самый лучший файл с настройками (лучшим считается тот который показал лучшие результаты в тестере стратегий), далее идут следующие 2, 3, 4 и так далее. Имеет смысл открывать десятки счетов и на каждом задавать роботу разные приоритеты от 1 и выше и робот каждый раз будет скачивать и загружать разный файлы. Высший приоритет относителен и не факт что будет самым прибыльным;
- --------------------------
- Auto_Symbol - автоматический выбор валютной пары для торговли, согласно данным полученным в ходе тестирования. Робот выберет наиболее перспективную валютную пару согласно установленному приоритету начиная с 1, затем 2, 3 и так далее.
- Auto_All - если включить то во время отбора валютной пары и присваивания ей приоритета, робот будет принимать в расчет общий результат, иначе индивидуальный.
- Switch_Drawdown - если больше 0 то автоматический выбор валюты начинается только после достижения установленного здесь процента просадки и после закрытия неудачной серии, до тех пор выбор валюты остается за вами.
- Symbol_Filter - позволяет исключать валютные пары по которым была зафиксирована просадка с процентом Switch_Drawdown, в дальнейшем робот пропускает их в ходе автоматического отбора.
- --------------------------
- Risk - процент от депозита для автоматического расчета лота;
- Lot - фиксированный лот (если RiskPercent=0);
- LotExponent - коэффициент умножения усредняющий позиций;
- Min_Margin - сумма остатка свободной маржи в процентах от депозита, используется на случай разгона депозита. Советник выставит целую пачку позиций с текущим лотом, количество позиций определяется остатком свободной маржи. Если 0 не используется.
- Min_Margin_Reset - если включить советник будет обнулять параметр Min_Margin после срабатывания, иначе робот будет все время торговать в турбо режиме, с целью все большего и большего разгона депозита. Такую работу можно сравнить с бешеной скоростью автомобиля на протяжении длительного времени, что очень опасно.
- --------------------------
- MaxSpread - максимально допустимый спред, выше которого робот не торгует;
- Slippage - допустимое проскальзывание;
- Use_Open_Price - торговля по ценам открытия (трал продолжает работать на всех тиках);
- --------------------------
- Count_Symbol_Max - максимальное количество задействованных валютных пар в терминале;
- Direction_Control - если выключить робот будет открывать противоположные позиции не дожидаясь закрытия последних;
- --------------------------
- Auto_Distance - динамическое расстояние между позициями;
- Distance - фиксированное расстояние между позициями, если Auto_Distance=false;
- Intensity - количество свечей для расчета динамического расстояния между позициями, если Auto_Distance=true;
- Division - коэффициент деления динамического расстояния между позициями, если Auto_Distance=true;
- MaxTrades - максимальное количество позиций;
- --------------------------
- Turbo_Profit - если включено, робот будет закрывать позиции с любой прибылью выше значения Virtual_Profit_Percentage. ;
- Take_Profit – фиксированная прибыль на стороне брокера в пунктах;
- --------------------------
- Stop_Loss_Percentage — стоп-лосс портфеля в процентах от депозита, стоп-лосс рассчитывается для всех позиций серии и устанавливается на одном уровне;
- StopLoss - минимальное расстояние до стоп-лосса в пунктах от точки безубытка;
- --------------------------
- Virtual_Stop_Loss - уровень индикатора закрытия серии просадки при пересечении данного уровня;
- Period_Ind - период графика индикатора;
- Period_Stop - период расчета индикатора;
- --------------------------
- Drawdown_Exit_System - система выхода из просадки:
- Mode_Exit_Standard - стандартная система, в которой после открытия определенного количества позиций в одном направлении последняя позиция имеет тенденцию закрываться с первой с любой прибылью выше 0 и так до тех пор, пока все позиции не будут закрыты, первой позицией считается самая старая позиция в серии;
- Mode_Exit_Classic — классическая система, в которой наиболее прибыльная позиция имеет тенденцию закрываться с первой позицией. с любой прибылью выше 0, пока все позиции не закроются, первой позицией считается самая старая позиция в серии;
- Mode_Exit_Aggressive — агрессивная система, при которой все прибыльные позиции имеют тенденцию закрываться с первой позицией. с любой прибылью выше 0, пока все позиции не будут закрыты, первой позицией считается самая старая позиция в серии;
- Mode_Exit_System - количество позиций, после которого активируется режим выхода из просадки;
- --------------------------
- Use_Flat – индикатор флэта;
- Flat_TF - период графика индикатора;
- Flat_Period - период расчета индикатора;
- Flat_Minimum - нижняя граница флэта;
- Flat_Maximum - верхняя граница флэта;
- --------------------------
- Use_Time – временной фильтр;
- Begin_Session_Hour — начало торговли;
- End_Session_Hour - окончание торговли;
- Time_GMT – сдвиг времени;
- Trade_Friday — торговля в пятницу;
- --------------------------
- Balance_Limit – закрытие всех позиций при просадке на указанную здесь сумму;
- Equity_Percentage - если включить то Balance_Limit будет рассчитываться в процентах;
- Balance_Limit_Copy - если выключить то параметр Balance_Limit будет локальным, иначе копируется из фала (в случае использования файлового метода настроек);
- --------------------------
- Use_Trailing_Stop - трейлинг-стоп;
- Trailing_Start - начало трейлинг-стопа;
- Trailing_Stop - шаг трейлинг-стопа;
- --------------------------
- TimeLimit - закрытие позиций по времени;
- Time_Limit_Hours - время жизни позиции в часах, время отсчитывается от последней открытой позиции;
- Time_Limit_Profit - минимальная прибыль, с которой закрываются все позиции после истечения срока их жизни;
- Exp_Time_Prof - флаг разрешающий уменьшать значение параметра Time_Limit_Profit для зависших позиций, которые не могут закрыться с учетом текущего значения параметра Time_Limit_Profit слишком долгое время.
- Exp_Time_Prof_Max - коэффициент максимального уменьшения значения параметра Time_Limit_Profit. С каждым просроченным часом значение параметра Time_Limit_Profit будет уменьшаться и данный коэффициент определяет максимально возможное уменьшение. Так допустим если Time_Limit_Profit = -10%, Time_Limit_Hours = 24 часа, Exp_Time_Prof_Max = 2, то по истечению 24 часа если позиции не смогут закрыться с учетом минимального профита -10% значение минимального профита начнет уменьшаться с каждым часом и через 48 часов удвоится и будет составлять -20%. Дальнейшее уменьшение производиться не будет так как коэффициент сдерживания Exp_Time_Prof_Max = 2 (по формуле -10*2=-20%).
- --------------------------
- Use_Trend_Signal — включить пользовательский индикатор для определения текущей тенденции за все периоды, управление индикатором осуществляется с графика;
- Next_Signal - если включено, то усредняющие позиции также будут открываться только по сигналам этого индикатора;
- Use_Arrow — если включено, позиции будут открываться только в момент формирования сигнала;
- Deviations - отклонения индикатора;
- --------------------------
- Trend_R – индикатор контртренда;
- Trend_Period — период индикатора;
- Trend_Distance - отклонение цены от ее среднего значения в пипсах;
- Return_Close - закрытие позиций по сигналу индикатора возврата;
- --------------------------
- Speed – определение силы и скорости цены;
- Reverse – торговля на отскоке от скачка цены;
- s_Pips - расстояние прыжка в пипсах;
- s_Time - время в секундах, в течение которого цена совершила скачок;
- --------------------------
- Percent_Lock - процент от общего объема всех открытых позиций на графике для установки первого лок-ордера;
- Use_Signal - учитывать показания трендового индикатора при открытии первой хеджирующей позиции;
- Max_DD - процент просадки основной серии, при котором открывается первая хеджирующая позиция;
- Коридор_Lock - расстояние коридора для хеджирования позиций;
- Lot_Exponent_Lock - коэффициент хеджирования позиций;
- Percentage_Profit_Lock - процент прибыли за закрытие всех позиций;
- Max_Trades_Lock - максимальное количество хеджирующих позиций;
- --------------------------
- MultiLevelRecording - количество папок с файлами, если 0 то настройки сохраняться не будут. Во время оптимизации советник анализирует результаты каждого прохода в тестере стратегий и сохраняет настройки с лучшими показателями в отдельные файлы. Файлы с настройками (включая валютную пару и период графика) сохраняются в отдельную папку. Однако по результатам оптимизации положительные результаты могут быть достигнуты с разными настройками и какие именно настройки окажутся наиболее эффективными в реальных условиях рынка никто не знает. Поэтому есть смысл сохранять как минимум несколько комбинаций настроек, которые в последствии можно использовать сразу на нескольких счетах распределив между ними средства. Таким образом достигается диверсификация риска. В то время пока по одному счету мы можем получить убыток, по другому счету достигается прибыль.Для того чтобы автоматизировать процесс сохранения настроек в разных вариациях достаточно увеличить значение параметра MultiLevelRecording (сокращенное название - MLR) на желаемое количество. В результате после сохранения настроек в одной папке (по определенной валютной паре с определенным периодом графика) для следующей вариации советник создаст новую папку увеличив ее номер на один крат. Основным номером папки является параметр Folder_Number в которую помещаются все подпапки с начальным номером Magic_Number. Все последующие папки имеют номера - (Magic_Number+порядковый номер создания). Номер каждой последующей папки превосходит предыдущий на один крат (одну цифру).
- _1_Statistics - пользовательский критерии приемлемости настроек в виде выпадающего списка. Выберите критерий которому на ваш взгляд должен соответствовать результат приемлемости настроек. Все результаты которые не будут соответствовать данному критерию будут автоматически отсекаться:
- Initial deposit - значение начального депозита.
- Withdrawal - количество выведенных со счета средств.
- Profit - чистая прибыль по окончании тестирования.
- Gross profit - общая прибыль, сумма всех прибыльных (положительных) трейдов. Значение больше или равно нулю.
- Gross loss - общий убыток, сумма всех убыточных (отрицательных) трейдов. Значение меньше или равно нулю.
- Maximal profit trade - максимальная прибыль – наибольшее значение среди всех прибыльных трейдов. значение больше или равно нулю.
- Maximal loss trade - максимальный убыток – наименьшее значение среди всех убыточных трейдов. значение меньше или равно нулю
- Maximal consecutive profit - максимальная прибыль в последовательности прибыльных трейдов. Значение больше или равно нулю.
- Maximal consecutive wins - общая прибыль в самой длинной серии прибыльных трейдов.
- Maximal consecutive loss - общий убыток в самой длинной серии убыточных трейдов.
- Maximal consecutive losses - количество трейдов в самой длинной серии убыточных трейдов.
- minimal balance - минимальное значение баланса.
- Maximal balance drawdown - максимальная просадка баланса в деньгах. В процессе торговли баланс может испытать множество просадок, берется наибольшее значение.
- Balance drawdown percent - просадка баланса в процентах, которая была зафиксирована в момент максимальной просадки баланса в деньгах.
- Maximal relative balance drawdown - максимальная просадка баланса в процентах. В процессе торговли баланс может испытать множество просадок, для каждой фиксируется относительное значение просадки в процентах. Возвращается наибольшее значение.
- Relative balance drawdown percent - просадка баланса в деньгах, которая была зафиксирована в момент максимальной просадки баланса в процентах.
- Minimal equIty - минимальное значение собственных средств.
- Maximal equIty drawdown - максимальная просадка средств в деньгах. В процессе торговли средства могут испытать множество просадок, берется наибольшее значение.
- EquIty drawdown percent - просадка средств в процентах, которая была зафиксирована в момент максимальной просадки средств в деньгах.
- Maximal relative equIty drawdown - максимальная просадка средств в процентах. В процессе торговли средства могут испытать множество просадок, для каждой фиксируется относительное значение просадки в процентах. Возвращается наибольшее значение.
- Relative equIty drawdown percent - просадка средств в деньгах, которая была зафиксирована в момент максимальной просадки средств в процентах.
- Expected payoff - математическое ожидание выигрыша.
- Profit factor - прибыльность.
- Recovery factor - фактор восстановления.
- Sharpe ratio - коэффициент Шарпа.
- Minimal margin level - минимальное достигнутое значение уровня маржи.
- On tester result - значение рассчитанного пользовательского критерия оптимизации.
- Deals - количество совершенных сделок.
- Trades - количество трейдов.
- Profit trades - прибыльные трейды.
- Loss trades - убыточные трейды.
- Short trades - короткие трейды.
- Long trades - длинные трейды.
- Profit short trades - короткие прибыльные трейды.
- Profit long trades - длинные прибыльные трейды.
- Trades of maximal consecutive profit - сделки с максимальной последовательной прибылью.
- Maximal consecutive wins count - максимальное количество побед подряд.
- Trades of maximal consecutive loss - сделки с максимальным непрерывным убытком.
- Maximal consecutive losses count - максимальное количество последовательных проигрышей.
- Average consecutive wins - средняя длина прибыльной серии трейдов.
- Average consecutive losses - средняя длина убыточной серии трейдов.
- _1_Stat - больше или меньше. Допустим если вы выбрали в качестве критерия просадку то этот флаг должен быть установлен в позицию меньше (просадка чем меньше, тем лучше). А если выбран критерий профит фактор то естественно больше (профит фактор чем больше, тем лучше).
- Statistics_1_ - минимальное/максимальное значение критерия при котором настройки принимаются.
- _2_Statistics, _3_Statistics - аналогичные параметры...
- Auto_Switch - если выключить то файлы с настройками не будут записываться автоматически во время оптимизации, они будут записываться во время тестирования. Таким образом отбор лучших настроек проводится в ручном режиме с вашим участием.
- Pause_Pass - если больше 0, робот не будет записывать файлы с настройками подряд, он будет пропускать указанное здесь количество вариаций, это делается с целью максимально разнообразить варианты с настройками.
- Instant_Processing - если включить то анализ полученных настроек робот будет вести прямо во время оптимизации, иначе во время тестирования. Если необходимо провести форвард тестирование полученных настроек то необходимо выключить. Во время форвард тестирования робот поочереди протестирует все отобранные файлы с настройками, удалит те которые не прошли форвард тестирование и проанализирует все оставшиеся с автоматическим построением вектра от лучшего к худшему.
- --------------------------
- Forward - форвард тестирование, если включить советник будет проводить форвард тестирование непосредственно во время оптимизации. С установленной даты, внутри советника, включаются функции которые рассчитывают критично важные показатели, такие как прибыль (фиксированная в валюте депозита), относительная просадка (в процентах), профит фактор, матожидание, количество трейдов, все показатели ниже относятся исключительно к форвард тестированию с даты Forward_Time;
- Forward_Time - дата начала форвард тестирования;
- Forward_Profit - полученный профит в твердой валюте депозита при котором настройки принимаются;
- Opt_Drawdown - относительная просадка в процентах от депозита в рамках которой настройки принимаются;
- Opt_Profit_Factor - профит фактор при котором настройки принимаются;
- Opt_Expected_Payoff - матожидание при котором настройки принимаются;
- Total_Trades - количество трейдов при котором настройки принимаются.