Тейк-профит / Стоп-лосс (Strategy скрипт)
Take Profit (Стратегия)
Чтобы создать Тейк-профит для вашей стратегии на TradingView, вам нужно будет создать входное значение для вашего параметра в процентах. В примере кода Тейк-профит составляет 10%. Такой подход поможет вам легко настроить параметры вашей стратегии.
long_tp_inp = input(10, title='Long Take Profit %', step=0.1)/100
После этого вам нужно будет указать цену входа в вашу позицию, чтобы начать отслеживать увеличение или уменьшение цены от точки входа. Если вы хотите нанести «Тейк-профит» на график, используйте команду plot.
long_take_level = strategy.position_avg_price * (1 + long_tp_inp)
plot(long_take_level, color=color.green)
Вставьте это условие в свою функцию strategy.exit.
strategy.exit("Take Profit","Long", limit=long_take_level)
Стоп-лосс (Стратегия)
Чтобы создать Cтоп-лосс, вам нужно будет проделать ту же процедуру, что и в предыдущем разделе, но с небольшими изменениями. Прежде всего, вам нужно будет изменить знак (с + на -).
long_sl_inp = input(5, title='Long Stop Loss %', step=0.1)/100
long_stop_level = strategy.position_avg_price * (1 - long_sl_inp)
plot(long_stop_level, color=color.red)
Во-вторых, функцию strategy.exit также нужно изменить.
strategy.exit("Take Profit/ Stop Loss","Long", stop=long_stop_level)
В целом скрипт вашей стратегии с Тейк-профитом и Стоп-лоссом будет выглядеть так:
/// Long Take Profit
long_tp_inp = input(10, title='Long Take Profit %', step=0.1)/100
long_take_level = strategy.position_avg_price * (1 + long_tp_inp)
plot(long_take_level, color=color.green)
/// Long Stop Loss
long_sl_inp = input(5, title='Long Stop Loss %', step=0.1)/100
long_stop_level = strategy.position_avg_price * (1 - long_sl_inp)
plot(long_stop_level, color=color.red)
/// Strategy Eecution
entry_long = *** INSERT YOUR LONG CONDITIONS ***
exit_long = *** INSERT YOUR EXIT CONDITIONS ***
strategy.entry(id="Long", long=true, when=entry_long)
strategy.exit("Take Profit/ Stop Loss","Long", stop=long_stop_level, limit=long_take_level)
strategy.close(id="Long", when=exit_long, comment = "Exit")
Study скрипт и Сигналы
Поскольку вы протестировали свою стратегию с помощью strategy скрипта, вам теперь нужно преобразовать его в study скрипт, чтобы автоматизировать вашу торговлю в Wunderbit Trading. Проблема с языком PineScript заключается в том, что в study скрипте некоторые функции не разрешены (например, strategy.entry, strategy.exit и т.д.). Соответственно, вам нужно найти способ обойти это.
Прежде всего, вам нужно изменить способ хранения цены входа в позицию. В study скрипте вам нужно будет использовать функцию «valuewhen». Она должна быть помещена после условия входа в позицию.
long_tp_inp = input(10, title='Long Take Profit %', step=0.1)/100
long_sl_inp = input(5, title='Long Stop Loss %', step=0.1)/100
entry_long = *** INSERT YOUR ENTRY CONDITIONS ***
entry_price_long=valuewhen(entry_long,close,0)
После этого вам нужно создать переменные, которые будут определять ваш Тейк-профит (TP_long / SL_long), и вставить их в ваши условия exit_long.
TP_long = entry_price_long * (1 + long_tp_inp)
plot(TP_long, color=color.green)
SL_long = entry_price_long * (1 - long_sl_inp)
plot(SL_long, color=color.red)
exit_long = *** INSERT YOUR ENTRY CONDITIONS ***, (high > TP_long or low < SL_long)
После этого вы можете создать условия сигналов и нанести их на график. Полный пример кода представлен ниже.
long_tp_inp = input(10, title='Long Take Profit %', step=0.1)/100
long_sl_inp = input(5, title='Long Stop Loss %', step=0.1)/100
entry_long = *** INSERT YOUR ENTRY CONDITIONS ***
entry_price_long=valuewhen(entry_long,close,0)
TP_long = entry_price_long * (1 + long_tp_inp)
plot(TP_long, color=color.green)
SL_long = entry_price_long * (1 - long_sl_inp)
plot(SL_long, color=color.red)
exit_long = *** INSERT YOUR ENTRY CONDITIONS ***, (high > TP_long or low < SL_long)
/// Alert Conditions
alertcondition(entry_long, title="Enter Long")
alertcondition(exit_long, title="Exit Long")
// Plot Alerts onf the graph
plotshape(series=entry_long, text="BUY", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(series=exit_long, text="EXIT BUY",style=shape.triangledown, location=location.abovebar, color=color.purple, size=size.small)