// 宣告參數
input: FastLength(12, "DIF短期期數"), SlowLength(26, "DIF長期期數"), MACDLength(9, "MACD期數");
variable: difValue(0), macdValue(0), oscValue(0);
// 資料讀取筆數設定
SetTotalBar((maxlist(FastLength,SlowLength,6) + MACDLength) * 3 + 8);
MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);
// 多方進場策略:DIF-MACD由負轉正。出場策略:DIF-MACD由正轉負。
if oscValue Crosses Above 0 then setposition(1);
if oscValue Crosses below 0 then setposition(0);
上列程式 為標準範例程式 -------------------------------------------------------------------------------------------------
條件5k
當下時間 PM16:00 其 oscValue為負值(小於0) 進入 PM 16:05 其 oscValue為正值(大於0)
符合 oscValue Crosses Above 0 --> 做多 , 但之後時間 PM16:00-PM16:05 的oscValue數值 在0軸 上上下下
最後PM16:05收盤的oscValue數值為負值 進入PM16:10 其 oscValue為負值(小於0)
因此變成做多的單,但PM16:05 與 PM16:10 收盤的oscValue數值為負值
但卻無法符合條件 oscValue Crosses below 0來做停損或做空
問題 :
1.oscValue Crosses Above 0 及 oscValue Crosses below 0
其邏輯是不是PM16:00 --> PM16:05 換下一根K時 立即觸發 ?
2.oscValue Crosses Above 0 及 oscValue Crosses below 0
換下一根K時 PM16:00 --> PM16:05 ,不想立即觸發
可否有其他方式讀取PM16:00 及 PM16:05 當根K的oscValue的收盤值?
2 評論