工程師您好:
之前於2月時 曾問過工程師一個指令碼的寫法,當時問題時是要寫"macd二次金叉":
條件1:第一次(較遠期)是在d i f<0 的時候macd金叉(osc>0),
條件2:第二次(近期/當日 )就是也就是在dif>0的時候macd金叉(osc>0)
下列程式是您當時指導的程式碼 (連結 macd 0軸下金叉 - XQ全球贏家官方論壇)
if difValue Crosses Above macdValue then begin //黃金交叉十
if value1 = 1 and difValue > 0 then ret = 1; //前一次交叉在0以下,這一次在0之上
if difValue < 0 then value1 = 1 else value1 = -1; //更新value1數值,0以下的話為1,不然就是-1
end;
如今想將程式碼略做修正 欲將條件2 (條件1不變)調整如下:
條件1:第一次(較遠期)是在也就是d i f<0 的時候macd金叉(osc>0),
條件2:第二次(近期/當日 )就是 是在 dif >0的時候 macd死叉(osc<0) 但 k>d (畫底線為要變動部分)
提問人已將程式碼修改如下
if k>_d and difValue < macdValue then begin // k>_d + osc<0 dif>0
if value1 = 1 and difValue > 0 then ret = 1; //前一次交叉在0以下,這一次在0之上
if difValue < 0 then value1 = 1 else value1 = -1; //更新value1數值,0以下的話為1,不然就是-1
由於修改程式碼後 所得到的搜尋結果 似乎不太正確 煩請工程師撥空指導 !
請看附圖 橘色框框處 條件2: k>_d and osc<0 and dif>0 條件1:藍色框框處
感謝您~

9 評論