[英]When are strategy.entry and strategy.exit executed?
我试图计算回测中虚拟策略完成的交易总数,但我无法计算同时进入和退出的交易。
这是策略:
//@version=5
strategy("Super/MACD/RSI", overlay=false)
import keio/console/2 as c
var log = c.init()
// INDICATORS
[macdline, signalline, histline] = ta.macd(close, 12, 26, 9)
[supertrend, direction] = ta.supertrend(3, 10)
rsi = ta.rsi(close, 14)
// SIGNAL
buysignal = ta.crossover(macdline, signalline) and close > supertrend and rsi < 65
// SL & TP
var longSL = 0.0
var longTP = 0.0
if buysignal
longSL := close - close * 0.02
longTP := close + close * 0.06
// STRATEGY
if buysignal
strategy.entry(id = "Long", direction=strategy.long)
strategy.exit(id = "Long Exit", from_entry = "Long", limit=longTP, stop=longSL)
// DEBBUG
var bool intrade = false
var bool tradecounted = false
var int entries = 0
if strategy.opentrades != 0
// if strategy.position_size > 0
intrade := true
else
intrade := false
tradecounted := false
if intrade and not tradecounted
entries += 1
date = timestamp(year, month, dayofmonth, hour)
log := c.print(log,"Entry : " + str.tostring(entries) + " : " + str.format("{0,date,yyyy.MM.dd HH:mm}", date))
tradecounted := true
如果您执行它,您将看到它打印与策略测试器完全相同的条目,除了那些在完全相同的时间进入和结束的条目。 那些不见了。
即使我把线
strategy.exit(id = "Long Exit", from_entry = "Long", limit=longTP, stop=longSL)
在脚本结束时,结果仍然相同。
strategy.*相关代码在回测时是否与代码的rest分开执行?
他们在烛光结束时被处决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.