[英]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.