XXM
XXM личный блог
09 апреля 2018, 08:32

Настоящая торговая стратегия.

Мацуо Басё



Что нужно для того, чтобы торговать так, как нарисовано ниже?

Сбербанк, 2017 год

Вариантов несколько, например этот: 

1. Стратегия №1, назову ее ведущей, входит в длинную позицию тогда, когда цена актива растет (на рисунке — вход в лонг на 145 рублях, 19.06.2017 года). В качестве критерия подбора момента для входа предложу такой способ: покупаем, если и когда текущая цена превысила максимум предыдущих двух (либо 3) баров на определенную величину. Тайм-фрейм пусть будет один час. Величину роста для входа примем для этого случая 20 копеек:

ОткрытьЛонг = {ТекущаяЦена} >= ({МаксимумБара,1-2} + 0.20)

Для шорта — наоборот.
Стопы ставить обязательно, пусть будут «два процента»;

2. Стратегия №2, ведомая: если цена вырастет на некоторую величину, для простоты возьмем цифру «пять», купим еще бумаг: а вдруг паровоз на север? Алгоритм для нее:

ОткрытьЛонг = {Стратегия1:Количество}>0 И ({Стратегия1:ЦенаОткрытияПозиции} + 5) <= {ТекущаяЦена};

Эта, в общем-то отдельная и самостоятельная, казалось бы стратегия со своим собственным количеством торгуемых лотов, применяет правило открытия позиций, зависящее от количества и цены входа по другой стратегии. Нет никаких чудо-индикаторов, никаких горизонтальных объемных кластеров, никаких свечных паттернов и прочей премудрости. Нет никакого прогнозирования, угадывания. Стакан тоже не нужен...

Далее еще несколько добавок, поступенчато:

[Стратегия3]
ОткрытьЛонг = {Стратегия2:Количество}>0 И ({Стратегия1:ЦенаОткрытияПозиции} + 10) < {ТекущаяЦена}
[Стратегия4]
ОткрытьЛонг = {Стратегия3:Количество}>0 И ({Стратегия1:ЦенаОткрытияПозиции} + 15) < {ТекущаяЦена}
[Стратегия5]
ОткрытьЛонг = {Стратегия4:Количество}>0 И ({Стратегия1:ЦенаОткрытияПозиции} + 20) < {ТекущаяЦена}

Стопы есть у каждой стратегии, свои. Они могут (но не обязаны)совпадать;
Правила написаны сухим языком: следующая стратегия покупает только в том случае, если предыдущая стратегия сидит в лонгах, а текущая цена превысила цену покупки по первой стратегии на определенное количество «пятерок».
На этом описание правил докупки бумаг при трендовом росте завершено. Самое трудное будет впереди: придерживаться этих правил ;-)

3. Как быть далее, если пошел откат по достижении цены активации тэйк-профита по первой стратегии (например, после роста на 5%), и позиции закрылись? Предложу такой подход: все ведомые стратегии должны закрыться! Лучше одновременно:

[Стратегия1]
; ведущая стратегия №1
ТэйкПрофит = 5%, 0.5%, 0.5%
[Стратегия2]
; ведомая стратегия №2
ЗакрытьЛонг = {Стратегия1:Количество}==0
...
[Стратегия5]
; ведомая стратегия №5
ЗакрытьЛонг = {Стратегия1:Количество}==0


4. Тренд бывает не всегда, сменяется иногда боковиком. Как сделать так, чтобы сохраняя бумаги, купленные на нижних уровнях, часть депозита пустить на извлечение прибыли на пиле?

А вот так:
Вот так!

[Стратегия6]
; ведомая стратегия с лимитированными заявками №6
ЛимитированнаяКупить = ЕСЛИ {Стратегия3:Количество}>0  ТОГДА {Стратегия1:ЦенаОткрытияПозиции} + 7.5
ТэйкПрофитLong = {Стратегия1:ЦенаОткрытияПозиции} + 12.5

Конечно же, и эта стратегия имеет стоп, и может быть закрыта по все тому же условию:

ЗакрытьЛонг = {Стратегия1:Количество}==0

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

ВАЖНО: количество ведомых добавочных стратегий и стратегий торговли на уровнях может быть любым.
Тут только размер депозита имеет значение.

Ниже — схематично готовая торговая стратегия. Цифры условны.

[Стратегия1]
; ведущая стратегия №1
Бумага = КодБумаги, КодКласса, ИдентификаторГрафика, S1
РабочийРазмер = 100
Проскальзывание = 0.50
ОткрытьЛонг = {ТекущаяЦена} >= ({МаксимумБара,1-2} + 0.2)
ОткрытьШорт = {ТекущаяЦена} <= ({МинимумБара,1-2} - 0.2)
СтопЛосс = 2%
ТэйкПрофит = 5%, 0.5%, 0.5%

[Стратегия2]
; ведомая стратегия №2
Бумага = КодБумаги, КодКласса, ИдентификаторГрафика, S2
РабочийРазмер = 100
Проскальзывание = 0.50
ОткрытьЛонг = {Стратегия1:Количество}>0 И ({Стратегия1:ЦенаОткрытияПозиции} + 5) <= {ТекущаяЦена}
ОткрытьШорт = {Стратегия1:Количество}<0 И ({Стратегия1:ЦенаОткрытияПозиции} - 5) >= {ТекущаяЦена}
СтопЛосс = 2%
ЗакрытьЛонг = {Стратегия1:Количество}==0
ЗакрытьШорт = {Стратегия1:Количество}==0

[Стратегия3]
; ведомая стратегия №3
Бумага = КодБумаги, КодКласса, ИдентификаторГрафика, S3
РабочийРазмер = 100
Проскальзывание = 0.50
ОткрытьЛонг = {Стратегия2:Количество}>0 И ({Стратегия1:ЦенаОткрытияПозиции} + 10) < {ТекущаяЦена}
ОткрытьШорт = {Стратегия2:Количество}<0 И ({Стратегия1:ЦенаОткрытияПозиции} - 10) > {ТекущаяЦена}
СтопЛосс = 2%
ЗакрытьЛонг = {Стратегия1:Количество}==0
ЗакрытьШорт = {Стратегия1:Количество}==0

[Стратегия4]
; ведомая стратегия №4
Бумага = КодБумаги, КодКласса, ИдентификаторГрафика, S4
РабочийРазмер = 100
Проскальзывание = 0.50
ОткрытьЛонг = {Стратегия3:Количество}>0 И ({Стратегия1:ЦенаОткрытияПозиции} + 15) < {ТекущаяЦена}
ОткрытьШорт = {Стратегия3:Количество}<0 И ({Стратегия1:ЦенаОткрытияПозиции} - 15) > {ТекущаяЦена}
СтопЛосс = 2%
ЗакрытьЛонг = {Стратегия1:Количество}==0
ЗакрытьШорт = {Стратегия1:Количество}==0

[Стратегия5]
; ведомая стратегия №5
Бумага = КодБумаги, КодКласса, ИдентификаторГрафика, S5
РабочийРазмер = 100
Проскальзывание = 0.50
ОткрытьЛонг = {Стратегия4:Количество}>0 И ({Стратегия1:ЦенаОткрытияПозиции} + 20) < {ТекущаяЦена}
ОткрытьШорт = {Стратегия4:Количество}<0 И ({Стратегия1:ЦенаОткрытияПозиции} - 20) > {ТекущаяЦена}
СтопЛосс = 2%
ЗакрытьЛонг = {Стратегия1:Количество}==0
ЗакрытьШорт = {Стратегия1:Количество}==0

[Стратегия6]
; ведомая стратегия с лимитированными заявками №6
Бумага = КодБумаги, КодКласса, ИдентификаторГрафика, S6
РабочийРазмер = 100
Проскальзывание = 0.50
ЛимитированнаяКупить = ЕСЛИ {Стратегия3:Количество}>0  ТОГДА {Стратегия1:ЦенаОткрытияПозиции} + 7.5
ТэйкПрофитLong = {Стратегия1:ЦенаОткрытияПозиции} + 12.5
ЛимитированнаяПродать = ЕСЛИ {Стратегия3:Количество}<0  ТОГДА {Стратегия1:ЦенаОткрытияПозиции} - 7.5
ТэйкПрофитShort = {Стратегия1:ЦенаОткрытияПозиции} - 12.5
ЗакрытьЛонг = {Стратегия1:Количество}==0
ЗакрытьШорт = {Стратегия1:Количество}==0
СтопЛосс = 2%

[Стратегия7]
; ведомая стратегия с лимитированными заявками №7
Бумага = КодБумаги, КодКласса, ИдентификаторГрафика, S7
РабочийРазмер = 100
Проскальзывание = 0.50
ЛимитированнаяКупить = ЕСЛИ {Стратегия4:Количество}>0  ТОГДА {Стратегия1:ЦенаОткрытияПозиции} + 12.5
ТэйкПрофитLong = {Стратегия1:ЦенаОткрытияПозиции} + 17.5
ЛимитированнаяПродать = ЕСЛИ {Стратегия4:Количество}<0  ТОГДА {Стратегия1:ЦенаОткрытияПозиции} - 12.5
ТэйкПрофитShort = {Стратегия1:ЦенаОткрытияПозиции} - 17.5
ЗакрытьЛонг = {Стратегия1:Количество}==0
ЗакрытьШорт = {Стратегия1:Количество}==0
СтопЛосс = 2%

Совсем-совсем без ссылок не получится, поэтому про конструктор стратегий, в котором этот способ торговли легко ваяется, можете почитать тут: https://smart-lab.ru/blog/322198.php

Торгуйте в удовольствие, а лучше — прибыльно!

16 Комментариев
  • Алексей Никитин
    09 апреля 2018, 09:14
    кот шикарен
  • А где результаты тестирования системы? Эквити, профит-фактор, шарп и др.?)
  • VladMih
    09 апреля 2018, 09:48
    Чисто арифметический подход. Может на бумагах и будет работать, но только не на всех и не всегда.
    А на форексе это не работает нигде и никогда.
    Могу даже причину назвать, главную ошибку 99% присутствующих алготрейдеров. Только надо ли? 
    Заклюют же ж. Тут такие умные все…

    PS: видимо я совсем тупой — не асчутил разницы между стратегиями (в т.ч. между ведущей и ведомыми). Ващще…
    На мой взгляд это «купи и держи + доливки».
      • VladMih
        09 апреля 2018, 11:20
        XXM, вы за меня не пережевывайте )))
        Как-нибудь 13 лет форекса (профессионально, а не в свободное от всего остального время) чего-нибудь да значат — таких теоретических сутей напонимался предостаточно. Теоретических Граалей разбилось о форекс немеряно.
        А уж «арифметических»… Все 101%. )
        Кстати, на форексе год за 5 биржевых, чтоб вы знали.
        Мало кто столько выживает )))

        Я не тороплюсь. И вообще не имею привычки что-либо охаивать в сфере трейдинга. Считаю, что работает всё, чем человек научился пользоваться (это даже в профиле записано!). Но в данном случае или недостаточно информации по ведущей системе, или… читайте мой первый коммент еще раз.
          • VladMih
            09 апреля 2018, 12:51
            XXM, и я о том же ) ПОЧТИ о том же. 
            Правила есть везде, даже там, где вы о них не подозреваете. Это законы природы (типа фрактальности и т.д. и т.п.). Более того — они везде одинаковы.
            Просто на бирже можно обойтись неполным набором.
            До поры… ИМХО.
  • Пафос Респектыч
    09 апреля 2018, 13:20
    Какой колхоз ))

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн