Использование отложенных ордеров в NeuroShell DayTrader Professional

Использование отложенных ордеров в NeuroShell DayTrader Professional
В этой статье рассмотрим сборку торговой системы в конструкторе программы NeuroShell DayTrader Professional (далее NSDT). В качестве примера соберём простую систему и затем протестируем её на нескольких символах одновременно.

Вход в позицию будет осуществляться по отложенным ордерам Buy Stop и Sell Stop, а выход по трейлинг-стопу. Если Вы не знакомы с типами отложенных ордеров, то лучше сначала прочитать статью Отложенные ордера. Описание средств управления и автоматизация рутины., в которой подробно излагаются основы. Здесь мы уже не будем подробно останавливаться на этом.

Настроим два торговых модуля. В одном будут условия для открытия только длинных позиций, а во втором только для коротких. Также будет показано, как оценить полученные результаты на графике средств (Equity), а так как тестирование будет производиться на нескольких символах, то для этого случая есть возможность посмотреть не только каждый результат на отдельном графике, но и все вместе (на общем графике средств).

Если данные для работы ещё не готовы, то посмотреть, как их загрузить в NSDT можно в статье Загрузка исторических данных в NeuroShell DayTrader Professional. Далее я подробно опишу, как создавать и тестировать торговую стратегию.

Начнём с момента, когда данные уже загружены в программу. В моём варианте это дневные графики пяти валютных пар AUDUSD, EURUSD, GBPUSD, NZDUSD и USDCHF. Сначала нужно создать торговый модуль, в котором можно создавать условия для торговой стратегии и настраивать множество других опций. Для создания такого торгового модуля в главном меню в разделе Insert из выпадающего списка нужно выбрать вариант New Trading Strategy (см.скриншот ниже):

Создание торгового модуля в NeuroShell DayTrader Professional

После выбора откроется окно Trading Strategy Wizard (мастер для создания торговых систем), в котором нужно выбрать шаблон. Шаблоны можно сохранять для использования в дальнейшем. Это могут быть или уже готовые варианты торговых систем или тех, над которыми ещё ведётся работа. В нашем случае будем создавать всё с нуля, поэтому нужно выбрать вариант No Template:

Выбор варианта No Template для нового торгового модуля

И затем нажать кнопку Next для перехода к следующему этапу. После перехода диалоговое окно Trading Strategy Wizard примет такой вид:

Модуль в NeuroShell DayTrader Professional для создания торговой стратегии

Как видно на скриншоте выше, в торговом модуле есть шесть вкладок. Ниже приведено описание для каждой группы:

- Вкладки Long Entry и Short Entry. Здесь нужно указать условия для покупки и/или продажи. То есть сняв флажок напротив Generate a buy long или Generate a sell short можно вообще исключить покупки или продажи из торговой стратегии. В первом выпадающем списке, также напротив флажка, можно выбрать тип торгового приказа. На скриншоте выше показан вариант с рыночным ордером (market). В нашем примере будем использовать стоп-ордера (stop). Ниже приведён полный список типов, которые можно использовать:

  • - market - рыночный ордер. Открытие позиции производится на открытии нового бара после того, как условие исполнилось.
  • - stop - отложенные стоп ордера Buy Stop (для покупки) и Sell Stop (для продажи).
  • - limit - отложенные лимитные ордера Buy Limit (для покупки) и Sell Limit (для продажи).
  • - stoplimit - отложенные стоп-лимит ордера Buy Stop Limit () и Sell Stop Limit (для продажи).
  • - market close - рыночный ордер. Открытие позиции происходит на закрытии текущего бара.

А во втором выпадающем списке можно указать, сколько из условий должно исполниться, чтобы совершить торговую операцию. Список условий на скриншоте выше пуст, к нему вернёмся чуть позже.

- Вкладки Long Protective Stop и Short Protective Stop. В этих вкладках можно указать, что использовать для расчёта скользящего защитного стопа. Это может быть, например, минимум бара для длинных позиций или максимум для коротких позиций. Или можно присоединить любой индикатор, который Вы посчитаете нужным.

- На вкладках Long Exit и Short Exit можно создать условия для закрытия позиции. Всё точно также, как и во вкладках для отправки торговых приказов на открытие позиции.

Если список условий оставить пустым, то выйдет окно с предупреждением. То есть, хотя бы одно условие должно быть. Для того, чтобы создать условие, после исполнения которого будет производиться установка отложенного ордера, на вкладках Long Entry, Short Entry, Long Exit и Short Exit есть кнопка Add Condition(s)... Нажав на неё откроется окно (например, для создания условия для открытия длинной позиции) Select Long Entry Condition(s). В этом окне содержится список переменных и индикаторов, которые можно использовать для создания условия. Также можно использовать любой другой индикатор к списку которых можно перейти нажав кнопку Indicator.

Создание условия для открытия длинной позиции

Если же для того, чтобы установить отложенный ордер условий нет, то можно установить в список условий любую переменную. То есть, необязательно условие должно быть вида "если одно значение больше/меньше другого, то установить ордер". Для простого примера выберем в списке High (максимум бара) и подтвердим свой выбор нажатием кнопки OK.

Теперь нужно установить цену для отложенного ордера. Если в выпадающем списке в верхней части окна модуля уже выбран вариант stop (стоп-ордер), то в нижней части окна есть ещё одно поле для установки цены ордера, как это показано на скриншоте ниже (выделено красным прямоугольником).

Стрелкой показана кнопка, которая вызывает диалоговое окно Select Long Entry Stop Price. Это окно имеет такой же вид, как окно для установки условий для открытия и закрытия позиции (см. выше).

Установка цены для отложенного ордера

В качестве примера для установки отложенных ордеров будем использовать уровни индикатора Price Channel. Для ордеров Buy Stop это будет максимальный уровень ценового канала, а для ордеров Sell Stop - минимальный уровень канала. Нажав на кнопку Indicator в нижней части окна Select Long Entry Stop Price, откроется окно Indicator Wizard.

Сначала нужно выбрать категорию индикаторов. Индикатор Price Channel и его вариации находятся в категории Price Basic (см. скриншот ниже):

Окно выбора категории индикаторов

Перейдя в эту категорию в случае, если нужно установить цену для ордера Buy Stop, то выбрать нужно Price High (максимальные цены за указанный период), а для ордеров Sell Stop нужно выбрать Price Low (минимальные цены за указанный период).

Индикатор Price High для установки ордеров типа Buy Stop

И на последнем шаге можно установить параметры индикатора. На данном этапе это можно не делать, если нужно потом устанавливать диапазон периода для оптимизации.

Установка параметров индикатора

После нажатия на кнопку Finished снова становится доступным окно торгового модуля, в котором уже после описанных выше действий, в поле Stop Price, находится индикатор Price High. Нажав на плюс (+) рядом с индикатором, откроется список и теперь можно установить диапазон для оптимизации периода индикатора, если это необходимо.

Индикатор Price High в поле Stop Price для отложенного ордера Buy Stop

Двойной клик левой кнопкой мыши по параметру индикатора вызывает диалоговое окно для изменений. В данном случае нужно было изменить значения периода индикатора, то есть, установить диапазон для оптимизации от 1 до 20 (см. скриншот ниже).

Установка диапазона для оптимизации

Далее установим трейлинг стоп. Сделать это можно на вкладке Long Protective Stop для длинной позиции. Таким же образом, как описывалось выше, можно установить в качестве трейлинг-стопа любой индикатор, который посчитаете нужным. Для примера также установим индикатор ценового канала, только для сопровождения длинной позиции понадобятся значения нижней границы. Для оптимизации диапазон периода сделаем от 1 до 30.

Установка индикатора Price Low в качестве трейлинг стопа длинной позиции

Установим ещё условие для закрытия позиции в закладке Long Exit. Здесь используем тип ордера market. А закрытие позиции будет осуществляться по условию, когда текущая прибыль превысит заданное значение в пунктах. Для таких целей есть уже готовое условие, которое называется Price Target: Points. В списке индикаторов его можно найти в категории Trading Strategy: Exit Signals. Диапазон значений для оптимизации установим так, как это показано на скриншоте ниже. Так как все тестируемые символы имеют 5 знаков после запятой, то 10 пунктов будет равно значению 0.00100, а 1000 пунктов 0.10000.

Настройка диапазона в условии закрытия позиции

Так как этот модуль предназначен только для открытия длинных позиций, то в закладках Short Entry и Short Protective Stop флажки нужно снять, если они там были установлены. Торговый модуль для длинных позиций готов и осталось только настроить тестер для оптимизации параметров, а затем и тестирования.

После нажатия кнопки Next откроется окно Trading Strategy Parameters, в котором можно посмотреть список текущих установленных параметров тестера (см. скриншот ниже):

Окно со списком установленных настроек тестера

Если нужно изменить настройки тестера, то нажав на кнопку Modify Trading Strategy Parameters откроется окно параметров с пятью вкладками (см. скриншот ниже). Если нужно, чтобы оптимизатор выбрал наилучшие параметры, а условия оставил именно так, как они установлены изначально, то на вкладке Rules нужно выбрать вариант Parameter Search.

Окно для настройки параметров тестера - вкладка Rules

Если нужно, чтобы полученные результаты исчислялись пунктами (приблизительно), то на вкладке Trading нужно установить значения так, как показано на ниже:

Окно для настройки параметров тестера - вкладка Trading

На других вкладках можно пока оставить значения по умолчанию. На вкладке Date установлено, что оптимизацию нужно проводить на всех имеющихся данных. Комиссию оставим равной нулю (вкладка Costs). А на вкладке Optimization установлен критерий оптимизации Maximize Return On Account.

Для каждого символа по умолчанию будут подбираться свои параметры, но можно сделать так, чтобы подбирались общие параметры для всех символов. По этому вопросу была написана статья Уменьшаем эффект подгонки и решаем проблему недостаточного количества котировок.

На следующем шаге, последовательно на каждом символе, запускается оптимизация параметров (это происходит в автоматическом режиме). В процессе теста отображается шкала прогресса и можно видеть, для какого символа в текущий момент производится оптимизация параметров. Также доступны статистические показатели результатов для каждого символа, которые можно после оптимизации настроить нажав кнопку Options. Для получения более детального анализа нужно нажать кнопку Detailed analysis.

Статистические показатели результатов теста

После окончания оптимизации нажав на кнопку Finished откроется график, на котором отобразятся точки входа (синие треугольники с заливкой вверх) и выхода (синие треугольники без заливки вниз) из позиции. График будет выглядеть приблизительно так, как показано на скриншоте ниже:

График с точками входа и выхода для длинных позиций

Воспользовавшись инструментом для увеличения масштаба графика можно рассмотреть всё более тщательно. Ниже показан увеличенный участок графика для детального анализа совершения сделок:

Увеличенный график для детального анализа

Чтобы увидеть результат в виде графика средств нужно открыть список индикаторов из главного меню (Insert > New Indicator) и перейти в раздел Trading Strategy: System Information. В этом разделе есть индикатор средств и называется он System Equity: All Trades. У этого индикатора есть только один параметр, в котором нужно указать торговый модуль, по истории сделок которых нужно рассчитать график средств. После того, как всё настроено и нажата кнопка Finished на графике можно увидеть приблизительно вот такую картинку:

График средств (equity) в NeuroShell DayTrader Professional

Точно так же можно создать торговый модуль для коротких позиций. После того, как это сделано, графики средств двух торговых модулей можно суммировать. Для арифметических операций в списке индикаторов есть раздел Arithmetic. Для суммирования двух рядов данных можно воспользоваться операцией Add, в модуле которого нужно указать два слагаемых.

В итоге на графике можно будет анализировать несколько графиков средств так, как это показано ниже (цвет, тип и толщина линий настраивается пользователем):

Графики средств двух торговых модулей и их сумма

Есть ещё одна полезная возможность, которую рассмотрим в этой статье. Это индикатор, с помощью которого можно суммировать результаты всех символов, чтобы оценить общий результат. Для того, чтобы им воспользоваться, в списке индикаторов нужно перейти в раздел Chart Page Calculation и выбрать индикатор Chart Page Sum. У него только один параметр, в котором нужно указать, какие серии нужно сложить. В данном случае нужно объединить суммированные графики двух торговых модулей (белая линия на скриншоте выше). В итоге должно получится так, как показано на скриншоте ниже:

Общий график средств всех символов

Всё настроено. Далее можно попробовать добавить комиссию и провести оптимизацию параметров, когда подбирается один набор параметров для всех символов. Но в этой статье мы не будем рассматривать эти вопросы.

В NeuroShell DayTrader Professional можно довольно быстро проверить множество простых идей и провести предварительные тесты. Но для более серьёзных тестов и разработки системы управления капиталом больше подходит торговая платформа Metatrader 4/5. Чем и займёмся в одной из будущих статей.


Комментариев нет :

Отправить комментарий