Блог им. XXM

Lbot3D: углубление внутреннего содержания.

    • 14 апреля 2016, 08:51
    • |
    • XXM
  • Еще
                                                         

Открылась бездна звезд полна;
Звездам числа нет, бездне дна.
                     М. В. Ломоносов

Конструктор стратегий Lbot позволяет создавать разнообразные торговые стратегии.
Он хорош для составления долгосрочных стратегий: входы и выходы из позиций — по рыночным ценам, в арсенале — весь набор индикаторов QUIK.
Созданный на его основе конструктор Lbot3D — программа с бо́льшими возможностями: входы и выходы возможны по лимитированным заявкам, и по одному инструменту могут быть запущены одновременно неограниченное количество стратегий, совершенно независимых друг от друга. Они могут управлять своими долями от части денежных средств, выделенных для этого инструмента из общего депозита.
Но в процессе эксплуатации программы выяснилось, что эта независимость стратегий таит в себе неочевидный, но существенный недостаток: они не видят друг друга!
Некоторые стратегии невозможны без взаимных обменов данными: такие, в которых торговля по инструменту основана на ценах другого актива, например: фьючерсный контракт и базовый актив, акции обыкновенные и акции привилегированные.
Такие, в которых важно знать, какое количество бумаг имеется в активе другой стратегии. Парный трейдинг, арбитражные стратегии, торговля волатильностью — все они основаны на взаимосвязях.

И пришло время укрепления Lbot3D внутренними связями.

Cхематично это выглядит так, как показано на рисунке:

Lbot3D: углубление внутреннего содержания.

Для описания связей достаточно указать наименование раздела другой стратегии, откуда берутся данные, например, в стратегии с наименованием [SBA1] возможна запись:

OpenLong = {Close} > {SBA2:fastMA,2} and {High,5-1} > ({SBA2:Close,2} + 20)


где [SBA2] — это другой раздел, в котором определен некоторый индикатор «fastMA». И совсем не важно, какой тайм-фрейм и какой инструмент описан в нем!
Допустимые данные для внутренних связей:
• Индикаторы, для которых прописан идентификатор;
• Параметры свечи: Open, High, Low, Close, Volume;
• Цена открытия позиции OpenPrice;
• Количество бумаг в позиции – qty.

В качестве примера приведу вариант написания правил торговой стратегии «Тройной выбор» Александра Элдера, известной также как «Система трех экранов», составленной на основе кода стратегии «Elder Triple Screen» из папки «Trend Following» Wealth-Lab Developer 6.4:

Lbot3D: углубление внутреннего содержания. 

[SB_E1]
; График Сбербанка SberW недельный со скользящей средней SberMA
Security = SBER, TQBR, SberW, E1
[SB_E2]
; График Сбербанка дневной SberD со стохастиком SberStoch
Security = SBER, TQBR, SberD, E2
WorkSize = 100
OpenSlippage = 0.2
OpenLong = {SB_E1:SberMA} > {SB_E1:SberMA,1} and {SberStoch.0} < 20 and cross(SberStoch.0,SberStoch.1)
StopLossLong = {Close} < {Low,1} - 0.3
CloseLong = {SberStoch.0} > 80
; ---------------------------
OpenShort = {SB_E1:SberMA} < {SB_E1:SberMA,1} and {SberStoch.0} > 80 and cross(SberStoch.1,SberStoch.0)
StopLossShort = {Close} > {High,1} + 0.3
CloseShort = {SberStoch.0} < 20
autoBot = Y
; ---------------------------
; купить:
; скользящая средняя (13 EMA) на первом экране [SB_E1] растет,
; Stochastic на втором экране [SB_E2] ниже 20 и %K пересек %D снизу вверх,
; стоп-лосс на 30 копеек ниже минимума предыдущего дня,
; или закрытие позиции при достижении стохастиком уровня перекупленности 80%.
; ---------------------------
; продать:
; скользящая средняя снижается,
; Stochastic выше 80 и %K пересек %D сверху вниз,
; стоп-лосс на 30 копеек выше максимума предыдущего дня,
; или закрытие позиции при достижении стохастиком уровня перепроданности 20%.
; ---------------------------

 

Межстратегийные связи можно использовать и при определении рабочего размера: WorkSize.

Стало возможным писать так:

[SB_A2]
WorkSize = {SB_A1:qty} - 3 + {SB_A3:qty} * 2

т.е. рабочий размер для стратегии [SB_A2] зависит от количества лотов в активе стратегий [SB_A1] и [SB_A3] по некоторой формуле.
И это значение будет пересчитываться при каждом изменении количества бумаг в соответствующих стратегиях.
Полагаю, это можно применить в каких нибудь стратегиях «парного трейдинга», но тут я не силен.

Lbot3D: углубление внутреннего содержания.
На рисунке приведен пример одновременной работы трех стратегий на акциях со взаимными связями и одной стратегии на фьючерсах.
Еще один момент, который хотел бы отметить: в программе можно отныне торговать по всем счетам, которые есть в рабочем QUIK: и по акциям, и по фьючерсам, и по валюте. Если основной счет по-прежнему прописан в главном разделе INI-файла настроек, то другие можно прописать в разделах стратегий, например:

;акции:
account = NL0011100043, 102291
;фьючерсы:
[SB_E1]
Security = SRM6, SPBFUT, SberW, E1, SPBFUT00d62
;валюта:
[Tom01]
Security = USD000UTSTOM, CETS, Prise_UT, 01, MB013xxxxxxx, 1xxxxxFX

Полностью все возможности описаны здесь: www.xsharp.ru/read/lbot3d-v2

Успешных вам сделок, попутного тренда!

★11
5 комментариев
А может когда нибудь и до парного трейдинга (арбитража) доберетесь?
avatar
Как писал выше, в парном трейдинге (арбитраже) я не силен, но, полагаю, в этой версией конструктора можно уже составлять такие стратегии.
avatar
все интересно. а код есть?

avatar
Да.
avatar
Поправка:
Полностью все возможности описаны здесь: http://www.xsharp.ru/read/lbot3d
avatar

теги блога XXM

....все тэги



UPDONW
Новый дизайн