“Initial Balance” Rotation Strategy: Part 3 – Signal

1816622[1]

 

Сегодня мы разберем создание фактического торгового сигнала на основе 200% Initial Balance rotational strategy, изложенной ранее. В предыдущем сообщении мы создали пользовательский индикатор для отображения этих уровней на графике. Сегодня, мы используем ту же математику из пользовательского индикатора для построения сигнала. Преимущество создания индикатора, заключается в том, чтобы убедиться, что наша математика правильна и что сигнал срабатывает в нужные моменты.
Так же, как у нас было два индикатора для каждого из 200% IB, у нас также будет два отдельных сигнала для «купить минимум» и «продать максимум».
Используйте кнопку RTL на панели инструментов или File > New menu, create a New Signal.
Мы знаем, что расчет 200% IB будет таким же, как и наш индикатор, поэтому первое, что можно сделать, это копировать / вставить или ввести код индикатора в новом окне сигнала. Мы начнем с кода 200% IB High:

6591662[1]

 

Примечание: Поскольку сигнал требует сравнения между значениями, которые код этого индикатора не имеет, то вы увидите ошибку в строке заголовка этого окна после нажатия кнопки «Сохранить». Это потому, что мы еще не сделали алгоритм и до сих пор не превратили его в торговый сигнал.

Затем мы сравним текущую цену с рассчитанным уровнем используя «реляционный оператор». Существуют определенные варианты реализации, но предположим, для начала, что мы хотим увидеть сигнал, указывающий «продавать», когда цена достигает 200% IB High. Мы будем считать, что если максимальная цена бара / свечи пробивает 200% IB High, это является сигналом зашортить. Это происходит, если High (с RTL маркером «Hi») равен или превышает этот IB уровень:

6973720[1]

 

2787371[1]

 

Жмем Add and Close и 200% IB High сигнал теперь на вашем графике. Где он находится, будет зависеть от установки » Location». Каждый бар, который будет отвечать условию сигнала покажет сигнал, поэтому в нашем примере, вы увидите несколько баров подряд, которые показывают сигнал:

6321604[1]

 

Так как наш индикатор также на нашем графике (синяя линия), мы можем быстро проверить, что сигнал действительно запускается в нужных местах. Однако, мы, возможно, пожелаем сократить фактическое число сигналов. Один из способов сделать это — отредактировать сигнал.
Для изменения сигнала быстро, вы можете дважды щелкнуть на любой маркер, чтобы открыть настройки маркера, затем нажмите кнопку Edit, чтобы открыть окно RTL. Если вы уберете значок «>» и сохранить сигнал, то график будет показывать сигнал только, когда бар точно равен 200% IB High level:

4269435[1]

 

Как вы можете видеть, это удалило некоторые стрелки с графика, но мы все еще видим несколько последовательных стрелок для баров, которые колебались около 200% уровня.
Небольшие изменения в вашем RTL коде или операторе может иметь большое значение для сигнала, поэтому внимание к деталям является критическим.
Вы можете быстро экспериментировать с вашим кодом и попробовать различные алгоритмы, не закрывая окна RTL; стрелки обновляются каждый раз при нажатии «Сохранить».
Этот код, без «>», является очень ограниченным. Он требует, чтобы максимум бара точно равнялся 200%. Существует более надежный способ ограничить количество «показываний» сигнала на графике. Этот метод требует двух дополнительных маркеров, что делает RTL немного сложнее. Мы введем эту технику позднее, а пока сохраните оригинальный оператор «>=» в коде.

Добавление условия.
Теперь у нас есть сигнал, который точно показывает, когда бар проходит выше 200%. Это единственное условие для сигнала, в настоящее время.
Часто, вы хотите сигнал, который вызывается на основе нескольких условий, которые должны быть выполнены. Мы добавим два таких условия, основанных на времени суток.
IB, по определению, не является полным, до окончания первого часа торгов. Любые сигналы, которые могут появиться в течение первого часа не являются истинными. Таким образом, мы хотим условие, предотвращающее сигналы в это время.
Кроме того, многие трейдеры не хотят входить слишком поздно в тот же день. Идея в том, что такие крайние цены в конце дня могут продолжаться до конца. Или, может быть, что не так много времени осталось, чтобы увидеть истинную смену направления и сделать достойную прибыль.
Таким образом мы добавим два условия: один для ограничения сигнала после первого часа, а другой для ограничения его перед последним часом. В нашем часовом поясе это означает время после 10:30, но до 3 часов. Дополнительные условия используют «and «оператор. Это легко сделать, добавив следующий код в наш сигнал:
AND TIME >1030 AND TIME < 1500

Регулировка уровня входа
Просто потому, что эта стратегия использует 200% IB не обязательно означает, что трейдер будет всегда входить именно на этих уровнях. Некоторые трейдеры хотели бы войти раньше, так как рынок часто меняется в нескольких тиках от этого уровня. Другие трейдеры могут ждать, пока рынок проходит через уровень несколько тиков. Независимо от предпочтений, мы можем добавить к этому наш сигнал. В бэктестинга, мы можем определить лучшие точки входа, но сейчас мы будем жестко установить его в код RTL.

Рассмотрим следующий вариант для нашего сигнала:
HI >= (SESST_HI + (SESST_HI – SESST_LOW))-1
Мы заключили выражение в скобку, а затем вычитаем 1 пункт. Сигнал будет теперь вызваться, когда мы не доходим 1 пункт до 200%. Вы можете изменить это на 0,5 или даже добавить 1 вместо вычитания 1, чтобы изменить, где сигнал формируется вокруг 200% уровня. Позже, мы будем менять эту переменную и пусть MarketDelta скажет нам, какой вариант лучше.

2424183[1]

Для шорта все зеркально