具有尾随止损功能的Pinescript TradingView回测策略

时间:2019-08-01 21:34:16

标签: pine-script

我正在尝试使用尾随止损来回溯交易视图中的“长期”策略。例如,我希望能够以高于价格2%的目标打开多头,低于价格1%的止损,并在达到2%目标价格后追踪止损激活1%。请帮助,非常感谢。

到目前为止,我已经设法对固定目标(高于价格的百分比)和固定止损(低于价格的百分比)进行回测。

tp_inp = input(2, title='Take Profit %', type=float,step=.1)/100
sl_inp = input(1, title='Stop Loss %', type=float,step=.1)/100
trail_inp = input(1, title='Trailing %', type=float,step=.1)/100

stop_level = strategy.position_avg_price * (1 - sl_inp)
take_level = strategy.position_avg_price * (1 + tp_inp)
trail_level = strategy.position_avg_price * (1 - trail_inp)

strategy.entry("Long", true, when = buysignal == 1)

strategy.exit("Exit","Long", stop=stop_level, trail_price=take_level, trail_offset=trail_level)

在回溯测试中,我只是无法缠住头部以进行尾随止损工作。我可以固定停下来。

2 个答案:

答案 0 :(得分:0)

根据松树脚本引用https://www.tradingview.com/pine-script-reference/v4/#fun_strategy{dot}exit,trail_offset必须以刻度为单位。在您的代码中,为Trail_offset指定了价格。

一种可能的解决方案是使用syminfo.mintick获得该符号的最小报价,并计算当前价格的1%以报价为单位。

trail_offset = int(close * trail_inp / syminfo.mintick)

strategy.exit("Exit","Long", stop=stop_level, trail_price=take_level, trail_offset=trail_offset)

答案 1 :(得分:-1)

仅保留

strategy.exit("Long", stop=stop_level, trail_price=take_level, trail_offset=trail_level)