Динамический тейк-профит и стоп-лосс - PullRequest
0 голосов
/ 04 июня 2019

Я изо всех сил пытаюсь найти способ создать стратегию по некоторым параметрам:

enterCond = xxxxxxx

entry: когда enterCond == true

начальный стоп-лосс: цена входа - 1,5%

Цель 1: вход + 3%, продажа 50% и изменение стоп-лосса для ввода цены

Цель 2: вход + 5%, продажа 50% и изменение стоп-лосса наT1

Цель 3: вход + 7%, продажа 100%

Может кто-нибудь помочь мне, пожалуйста?

buyCond = xxxxxxxxx

sl_inp = input(1.5, title='Stop Loss %', type=float)/100
tp_inp1 = input(3.0, title='Take Profit 1 (%)', type=float)/100
tp_inp2 = input(5.0, title='Take Profit 2 (%)', type=float)/100
tp_inp3 = input(7.0, title='Take Profit 3 (%)', type=float)/100


// First Position
first_long = buyCond and strategy.position_size == 0
if first_long
    //initial stop loss: entry price - 1.5%
    strategy.entry("Long", strategy.long, stop=(strategy.position_avg_price*(1-sl_inp)))

//sl1 = strategy.position_avg_price * (1 - sl_inp)
tp1 = strategy.position_avg_price * (1 + tp_inp1)
tp2 = strategy.position_avg_price * (1 + tp_inp2)
tp3 = strategy.position_avg_price * (1 + tp_inp3)

//Target 1: entry + 3% sell 50% and change stop loss to enter price
strategy.order("Long", strategy.long, qty=strategy.equity/2, stop=strategy.position_avg_price, when=close==tp1)

//Target 2: entry + 5% => sell 50% and change stop loss to T1
strategy.order("Long", strategy.long, qty=strategy.equity/2, stop=tp1, when=close==tp2)

strategy.close("Long", when=close==tp3)
...