我正在尝试使用尾随止损来回溯交易视图中的“长期”策略。例如,我希望能够以高于价格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)
在回溯测试中,我只是无法缠住头部以进行尾随止损工作。我可以固定停下来。
答案 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)