Привет всем!
Во первых хочу сказать огромное спасибо MrSerj за толковые разъяснения по методу торговли. Для проверки всего вышесказанного я написал торгового советника, торгующего на парах EURUSD и GBPUSD таймфрейме H1 и хочу поделиться бетта версией, предназначенной для тестирования в программе MetaTrader5.
Советник BeeLine в своём теле содержит индикатор MultiInstrument, поэтому для понимания, какие сигналы использовались, необходимо после тестирования установить индикатор в окно со сделками, проделанными тестером на истории.
Если советник запустить на валютной паре EURUSD, то параметры будут такими:
input string Symbol2 = "GBPUSD"; //Косвенный инструмент - инструмент, относительно которого нужно рассчитывать раздвижки
input string Cross=""; //На какой паре торговать вместо двух (кросс). Если сюда поставить "EURGBP", то торговля будет вестись только по одной этой паре.
input bool CrossType=true; //Прямой кросс-курс. Если следует перевернуть сделки с BUY на SELL на валютной паре, указанной в параметре Cross, то следует установить здесь значение false. Если параметр Cross пустой, то этот параметр не используется.
input int MagicNumber = 1004; //Идентификатор советника
input int Range = 640; //Область обучения - это количество баров, используемых для сопоставления максимумов-минимумов двух графиков анализируемых валютных пар.
input double Profit= 3; //Максимальная прибыль % - если прибыль превысит значение, указанное здесь - то фиксируем прибыль (закрываем позиции).
input double CorrectLimit = 0.70; //Корректировка сигнальной границы - это коэффициент, на который умножается максимальная раздвижка, найденная за период обучения.
input double CorrectDist = 1.20; //Коэффициент длины поиска раздвижек - это коэффициент, на который умножается значение Range, после того, как сопоставили 2 графика, и перед тем, как начать искать максимальную раздвижку.
input int Optimum = 120; //Интервал переобучения - через сколько баров, если позиции ещё не закрылись, произвести переобучение. Переобучение производится каждый бар, если не открыто ни одной сделки.
input int MaxDeals = 3; //Максимальное количество сделок - ограничивает доливку при усреднении
input double CloseCorr = 0.618034; //Закрывать при уменьшении расхождения - Если раздвижка составляет CloseCorr долю от найденной максимальной, при обучении, то позиции закрываются.
input int Correlation = 1; //Коэффициент корреляции (1 или -1) - Если анализируемые активы ходят зеркально (например AUDUSD и USDCAD), то следует ввести -1. Данный параметр принимает только 2 значения.