Обзор
Поскольку основные пары обычно двигаются в некотором интервале, можно попробовать разработать торговый метод, предназначенный для эксплуатации определенных движений пар на некоторых интервалах. Мы будем анализировать движения EURUSD, GBPUSD и EURGBP и возможные сценарии для открытия и закрытия позиций. Для нужд тестирования будем использовать платформу visual jforex.
Основные принципы стратегии.
Главный принцип стратегии заключается в том, чтобы торговать внутри некоторого предопределенного интервала в нескольких валютных парах. В описанном подходе будем использовать EURUSD, GBPUSD и EURGBP. Если мы будем анализировать пару eurusd в этом году, мы можем увидеть, что эта пара двигалась в довольно узком интервали большую часть 2014 года до того, как резко упала ниже 1,30. Это видно на графике ниже.
Как мы видим на графике eurusd колеблется в диапазоне 1300 пипсов около 2-х лет, начиная с сентября 2012 до сентября 2014. Во время этого же интервала gbpusd и eurgbp также колебались в относительно узком диапазоне и обычно, когда eurusd шел вниз gbpusd также шел вниз…
Стратегия для eurgbp
Не вдаваясь глубоко в вопросы программирования, объясним основные принципы стратегии, подготовленной для пары eurgbp. Стратегия показана ниже:
Здесь представлена основная логика стратегии. Принцип стратегии заключается в том, чтобы собирать все открытые позиции с помощью блока Position Viewer и вычислять количество позиций и суммарную прибыль\убыток позиций. В соответствии со спецификацией стратегии по паре eurgbp короткие позиции открываются по логике стратегии только когда встречаются короткие позиции. Это выполняется, добавляя +1 к счетчику numbershort позиций каждый раз, когда короткая позиция обнаруживается блоком Position Viewer. Позднее, когда открывается новая свеча, этот счетчик сбрасывается в 0. Подобным образом вычисляется суммарная прибыль\убыток. Каждый раз, когда позиция обнаруживается P\L индивидуальной позиции добавляется к переменной plsshort, таким образом вычисляется суммарное значение всех коротких позиций. Далее вычисляется переменная triggersh. Для этого используется блок Calculation Expression вычисления делаются по следующей формуле: 0-(А1+(А2-1)*24, где А1 — 48, А2 — numbershort. Константа 24 — это половина от 48, которая забирает прибыль с позиции и триггером для открытия другой позиции является движение против направления позиции.
Назначение этой формулы — найти триггер для открытия другой позиции. Триггер сравнивается со средним значением P\L во всех позиция и если средний P\L, который представлен в логике стратегии переменной avplshort, меньше чем упомянутый триггер, то открывается новая позиция. Такая логика применяется, если количество открытых позиций больше 0. Если нет открытых позиций в момент работы стратегии, то просто открывается новая позиция безо всяких сравнений.
Таковы основные принципы, в соответствии с которыми работает стратегия.
Стратегия для gbpusd
Принципы стратегии для gbpusd актуальны и для eurgbp, так что не будем их рассматривать больше одного раза. Все стратегии после разработки в visual jforex были откомпилированы и загружены на демо аккаунт платформы jforex.
Для просмотра исходного кода в visual jforex выберите Compiler — Build и в правой части экрана Strategies выберите My Strategies. Затем кликните правой кнопкой мыши на стратегии и выберите View Source. После этого появится исходный код в отдельном окне. Его можно скопировать и вставить в редактор jforex, скомпилировать и запустить.
Историческое тестирование стратегий
Чтобы убедиться, что производительность стратегии соответствует спецификации запустим исторический тест для декабря 2014. Сначала протестируем стратегию для пары gbpusd.
Стратегия работает в соответствии со спецификацией и принесла прибыль 84 доллара. Далее запустим тест для eurgbp
Все идет даже лучше и стратегия принесла 103 доллара. И напоследок, протестируем eurusd
Прибыль — 222 доллара. Таким образом тесты показали, что все три стратегии сработали, как и ожидалось.
Совмещение стратегий для тестирования в реальном времени
Конечно, исторические тесты и реальные — разные вещи. Почему бы не протестировать стратегию в окружении реального времени. Для тестирования использовалась торговая платформа Dukat. В момент запуска стратегий в Dukat баланс аккаунта составлял 1988 USD
Как видно, все стратегии работают, но они стартовали в субботу, когда еще не было открытых сделок.
Дальнейшие шаги
Стратегии планируется оставить в тестовой фазе по меньшей мере на 2 месяца. Такое тестирование покажет недостатки стратегии и продемонстрирует возможности для развития.
Оригинал: http://www.dukascopy.com/fxcomm/fx-article-contest/?Analysis-Of-Strategy-Based-On&action=read&id=2167