我想要看以台期指做為參考商品來交易選擇權商品回測的結果
例如台期指指標往上穿越基線後,期貨指數為7750,會在次根K棒買進選擇權7800Call
如果期貨指數超過7800後,不做買進,有合約的狀況下當指標往下穿越基線,會在次根K線平倉
當期貨指數下降到7700以下或是指標往下穿越基線,會在次根K線平倉
我是用同一個圖表視窗開兩個商品,數列一為選擇權7800Call 10月、數列二為台期指 10月
商品日期為2012/9/8到2012/10/12
週期為30分K
然後程式碼如下: inputs:MACD_FastLength( 1 ), MACD_SlowLength( 50 ), MACD_MACDLength( 1 ) , Per_Num( 1 ), Plus_Num( 2 ), CalculateBarNum(MaxBarsBack); variables:MACD_var0( 0 ), MACD_var1( 0 ), CrossOver_BaseLine(false), DownTo_BaseLine(false), GoodsName_Num( 0 ); once GoodsName_Num = StrToNum(MidStr(symbol,5,4)); MACD_var0 = MACD( Close of Data2, MACD_FastLength, MACD_SlowLength) ; MACD_var1 = XAverage( MACD_var0, MACD_MACDLength) ; CrossOver_BaseLine = CurrentBar > CalculateBarNum and MACD_var1 > 0 and (MACD_var1*(MACD_var1[1])) < 0 ; DownTo_BaseLine = CurrentBar > CalculateBarNum and MACD_var1 < 0 and (MACD_var1*(MACD_var1[1])) < 0 ; if (GoodsName_Num - Close of Data2) >=0 and (GoodsName_Num - Close of Data2) <=100 then begin if CrossOver_BaseLine then Buy ( "MacdLE" ) Per_Num Contracts next bar at market ; end; if (GoodsName_Num - Close of Data2) <0 then begin if DownTo_BaseLine then Sell ( "MacdSE" ) Per_Num Contracts next bar at market ; end; if (GoodsName_Num - Close of Data2) >100 or DownTo_BaseLine then begin sell all contracts next bar at market ; end;
但我看圖表上使用訊號交易時卻發現有在MACD沒穿過基線的狀況下就下多單
K棒編號118 MACD值為0.9
K棒編號119 MACD值為13.35
K棒編號120 MACD值為7.06
K棒編號121 MACD值為-45.10
(MACD指標的計算數列我有設為數列2,即台期指近月)
然而訊號在K棒編號第120時進場多單,在K棒編號121時出場多單
跟我訊號想要的效果不一致,另外其他筆交易的買賣點位也沒有完全正確
是我訊號哪邊有寫錯嗎?
懇請客服人員幫忙看一下
使用MACD的時候, 在[設定]-[屬性]頁面中,
[指標計算時最大引用K棒數量]要選[使用者自訂]-50,
這樣一來, 你看到的執行結果才會是你計算出來的...
再看一次執行結果, 應該就是從你語法直接反映的,
至於這樣的執行結果是不是當初自己設定和想要的,
那又是另外一個故事了! XD
Chris
ㄟ.........不過我貼上面那張圖時 我的策略屬性最大運算使用K棒數量已經是設為50了耶 = =|||
MACD_var0 = MACD( Close of Data2, MACD_FastLength, MACD_SlowLength) ; MACD_var1 = XAverage( MACD_var0, MACD_MACDLength) ; CrossOver_BaseLine = CurrentBar > CalculateBarNum and MACD_var1 > 0 and (MACD_var1*(MACD_var1[1])) < 0 ;
你的指標的值應該是 MACD_var0 ,但是你的判定用的是 MACD_var1
而且是 MACD_var1*MACD_var1[1] < 0 這個比較式似乎也怪怪的
所以你應該不能用畫面上的MACD指標來看策略的進場動作