假設我要用盤後的資料 前日的 1500-0500來做進場的條件,如果1500-0500 是漲的話,就進一口多單,如果是跌的話,就進一口空單。 然後在 13:30平倉 這樣要怎麼寫?
我有試著找文章 寫了一個程式~ 但跑出來的都很奇怪~ 可以請高手們幫我看一下嗎? 謝謝 訊號: Inputs : BeginTime( 0845 ), EndTime( 1345 ), DailyPlayers( 999 ), TrgP1( 5000 ), TrgP2(12000 ), TrgP3( 22000 ), DDR1( 50 ), DDR2( 30 ) , DDR3(20 ); //宣告參數依序為開始時間,結束時間,虧損次數,階段停利 variables : Dper ( 0 ), DIF( 0 ), Value1 ( 0 ), Value2( 0 ) , Value3( 0 ); //宣告變數 Dper = DailyLosers( Date ) ; //定義為當天虧損交易次數 if time = 1500 then value1 = Open; if time = 0500 then value2 = close; DIF = value2 - value1 ; //定義為夜盤漲或跌
if Time >= BeginTime and Time < EndTime and Dper < DailyPlayers then //如果符合設定時間內且虧損次數小於設定時 begin if DIF > 0 then buy next bar market ; //如果夜盤1500-0500是正時進場做多 if DIF < 0 then sellshort next bar market ; //如果夜盤1500-0500是負時進場做空 end ; if MarketPosition <> 0 then begin if MaxPositionProfit > TrgP1 then setpercenttrailing(TrgP1, DDR1) ; //第一階段停利 if MaxPositionProfit > TrgP2 then setpercenttrailing(TrgP2, DDR2) ; //第二階段停利 if MaxPositionProfit > TrgP3 then setpercenttrailing(TrgP3, DDR3) ; //第三階段停利 setstoploss(50*bigpointvalue);//停損 end ; if Time >= EndTime then begin sell next bar market ; buytocover next bar market ; end ; //設定時間到後全數平倉
Dper = DailyLosers( Date ) ; //定義為當天虧損交易次數 if time = 1500 then value1 = Open; if time = 0500 then value2 = close; DIF = value2 - value1 ; //定義為夜盤漲或跌
1。DailyLosers 看的是 2400 的換日
2。在1500後到0500之間時,value2是前一日的收盤
但是 value1 是1500 後的開盤
所以 DIF 是錯的
了解~ 那如果要取得 前一日15:00 到 隔日 05:00的 價差,有辦法嗎?
if time = 1500 then value1 = Open;
if time = 0500 then begin
value2 = close;
DIF = value2 - value1 ;
end;