簡體   English   中英

strategy.entry 和 strategy.exit 什么時候執行?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM