为什么pinescript中的一个简单的追踪止损会大幅重绘这个?
我正在使用pinescript 版本 4在Tradingview上对ETH/USD 和 1H进行一些回测。完整的脚本如下所示:
//@version=4
strategy(title="Simple SL script", shorttitle="Simple SL script", overlay = true, initial_capital=1000, currency="USD", commission_type=strategy.commission.percent, commission_value=0.1, slippage = 5, pyramiding=1, calc_on_every_tick=false)
risk = input(title='Risk %', defval=100.0, step=1.0)/100
//secScaler = secType == "Forex" ? 100000 : secType == "Metal Spot" ? 100 : secType == "Cryptocurrency" ? 10000 : secType == "Custom" ? contracts : 0
fixedSL = input(title="SL Points", defval=1000)*10000
fixedTP = input(title="TP Points", defval=10)*10000
//##############################################################################
//Trade Logic
//##############################################################################
balance = strategy.initial_capital + strategy.netprofit
if (balance > 0)
lots = (risk * balance)/close
strategy.entry("BUY", strategy.long, qty=lots)
strategy.exit("B.Exit", "BUY", qty_percent = 100, loss=fixedSL, trail_offset=20, trail_points=fixedTP)
使用正常的回测或重放,我得到以下结果:
这导致加$20。
在回测之前,我让它运行实时数据,得到以下结果:
这导致负$6。
所以相差26 美元。
对于追踪止损,我没有使用任何证券或其他有问题的解决方案- 结果如何在 6 个柱(6 小时)的短时间范围内变化如此之大?
我确实尝试将其设置calc_on_every_tick
为 true,但正如预期的那样,我在同一支蜡烛中获得了大量的买卖订单。