명시
Имеются файлы истории нескольких торговых сигналов (предназначенных как для Metatrader 4, так и для Metatrader 5, например, https://www.mql5.com/ru/signals/413850/export/history).
Задаваемые параметры:
-
Сигналы (перечень номеров сигналов, участвующих в тестировании. Номер сигнала - последние цифры в ссылке на страницу сигнала. Например, для сигнала https://www.mql5.com/ru/signals/130958 номер сигнала — 130958)
-
Номер сигнала (из перечня сигналов порядковый номер сигнала, участвующий в прогоне)
Если у получателя нет инструментов с такими же префиксами и суффиксами, как у отправителя, то сделки копируются по соответствующему инструменту без префикса и суффикса.
Если у сигнала открывается ордер по инструменту, который недоступен получателю, то об этом выводится соответствующее предупреждение.
Если это возможно, файлы истории скачиваются автоматически.
Если отсутствует файл истории сигнала, то об этом выводится соответствующее предупреждение.
-
InDeviation (отклонение цены открытия, задается в пипсах. Если параметр в отрицательном диапазоне, то копия ордера открывается только при цене, которая лучше, чем у оригинала на заданное или даже на большее количество количество пипсов, а если в положительном диапазоне, то - хуже, чем у оригинала, т. е. задается допустимое проскальзывание)
-
WaitForProfitPips (копировать ордер только после того, как ордер источника в прибыли на заданное число пипсов)
-
Risk
Объем копии ордера = объем оригинала ордера * K
К = К1 * К2 * K3
К1 = валюта получателя / валюта отправителя
К2 = баланс получателя / баланс отправителя
K3 = Risk
Иными словами ордера копируются с учетом разницы в балансах и валютах, а также с учетом значения параметра «Risk». Баланс сигнала на требуемый момент времени вычисляется из начального баланса и результатов предшествующих сделок, эти данные имеются в файлах истории сигналов. Если в результате расчета объем ордера меньше минимально допустимого, то ордер открывается минимально допустимым объемом. Если в результате расчета объем ордера больше максимально допустимого, то ордер открывается максимально допустимым объемом.
-
OutDeviation (отклонение цены открытия, задается в пипсах. Если не равно 0, то копии ордеров закрываются не одновременно с оригиналами, а тогда, когда цена на заданное количество пипсов будет лучше, чем цена, по которой закрываются оригинальные ордера. Если не равно 0, то игнорируется параметр IgnoreAllExitSignals)
-
IgnoreAllExitSignals (если true, то время закрытия оригинальных ордеров во внимание не принимается. Если копия ордера закрыта (в результате срабатывания SL или TP), а оригинал еще открыт и IgnoreAllExitSignals = false, то в случае достижения необходимых «WaitForProfitPips» и «Отклонение открытия» ордер снова копируется)
-
FixedSLPips (stop loss в пипсах. Если не равно 0, то игнорируются SL оригинальных ордеров и значение параметра «AddPipsToSL»)
-
AddPipsToSL (если не равно 0, то у копий ордеров к уровням stop loss оригиналов прибавляется заданное количество пунктов)
-
TSL (задается в пунктах. Если не равно 0, то устанавливается trailing stop loss на заданное количество пунктов)
-
TSLAfterExit (если true и если IgnoreAllExitSignals = true, то TSL устанавливается только после закрытия оригинального ордера, а до этого - не устанавливается)
-
FixedTPPips (take profit в пипсах. Если не равно 0, то игнорируются TP оригинальных ордеров и значение параметра «AddPipsToTP»)
-
AddPipsToTP (если не равно 0, то у копий ордеров к уровням take profit оригиналов прибавляется заданное количество пунктов)
-
TTP (задается в пунктах. Если не равно 0, то устанавливается trailing take profit на заданное количество пунктов)
-
TTPAfterExit (если true и если IgnoreAllExitSignals = true, то TTP устанавливается только после закрытия оригинального ордера, а до этого - не устанавливается)
В журнал тестирования ордерам присваиваются комментарии с номерами сигналов.
При визуальном тестировании на графике должна отображаться информация о точках открытия и закрытия, направлении ордеров сигнала.
По завершении проекта должен быть предоставлен исходный код.