如圖所示:
出場程式碼我寫如果RSI<20,就在下一根開盤平倉1口;如果RSI>50,就全數出場,程式碼如下
if marketposition=-1 then begin
if RSI<20 then buytocover 1 contracts next bar at market;
if RSI>50 then buytocover next bar at market;
end;
理想狀況應該是要在B、C兩點各出場一口(因為前一根大黑K收盤時都有滿足RSI<20),但實際在圖上顯示卻只有B點出場,以及D點出場(RSI>50)
C點也有符合RSI<20的條件但是卻沒有出場。
想請問的是同一筆空單的同一個出場條件,在全部平倉之前都只會觸發一次呢?
我的理解是每一根K棒都會重新運算訊號,但如果重新運算,照理來說C點滿足時也會再平倉出場一口,想請教各位高手們協助解答,謝謝!
允許或禁止信號腳本使用一行出場語句,從相同的進場執行多次分批出場。
[SameExitFromOneEntryOnce = LogicalValue]
SameExitFromOneEntryOnce
LogicalValue
參數說明: LogicalValue —— true/false值,True = 禁止分批出場;False = 允許分批出場。
如果 SameExitFromOneEntryOnce 的參數在策略運行時改變,則自動交易停止。
sellshort 15 Shares Next Bar At market;
sellshort
15
Shares
Next Bar
At
market
If time = 1000 Then Buytocover 5 Contracts Next Bar At entryprice - 10 stop; If time = 1001 Then Buytocover 5 Contracts Next Bar At entryprice - 10 stop; If time = 1002 Then Buytocover 5 Contracts Next Bar At entryprice - 10 stop;
If
time
1000
Then Buytocover
5
Contracts
entryprice
10
stop
1001
1002
使用SameExitFromOneEntryOnce,只寫一個出場語句,減少了代碼的冗余,效果相同:
[SameExitFromOneEntryOnce = false]; If time >= 1000 Then Buytocover 5 Contracts Next Bar At entryprice - 10 stop;
false
原來還有這個語法!
感謝您!