目前遇到的問題是可以標記突破或者跌破的點,但是如果有更高價與更低價時沒有辦法自動更新,我該如何修改才可以自動更新呢
以下是我的程式碼,懇請各位熱心版友以及XQ小幫手為我解答,萬分感謝
// 1. 宣告變數
Vars: MA5(0), FLAG(0), LAST_FLAG(0), HIGH_POINT(-1), LOW_POINT(-1), PLOT_VALUE(-1);
// 2. 計算 5 日均線
MA5 = Average(Close, 5); // 計算 5 日均線
// 3. 繪製 5 日均線
Plot1(MA5, "5日均線", checkbox:=1); // 繪製均線
// 4. 判斷正價與負價
If Close > MA5 Then
FLAG = 1 // 收盤價在均線上方,標記為正價
Else
FLAG = -1; // 收盤價在均線下方,標記為負價
// 5. 標記高點與低點
If FLAG = 1 And LAST_FLAG = -1 Then // 收盤價從均線下方突破到均線上方
Begin
HIGH_POINT = High; // 標記突破時的高點
LOW_POINT = -1; // 重置低點為無效值
End
Else If FLAG = -1 And LAST_FLAG = 1 Then // 收盤價從均線上方跌破到均線下方
Begin
LOW_POINT = Low; // 標記跌破時的低點
HIGH_POINT = -1; // 重置高點為無效值
End
Else
Begin
HIGH_POINT = -1; // 非轉折點時重置高低點為無效值
LOW_POINT = -1;
End;
// 6. 繪製高點與低點(分別用 Plot2 和 Plot3 繪製)
If HIGH_POINT > 0 Then
Plot2(HIGH_POINT, "高點", checkbox:=1); // 繪製高點
If LOW_POINT > 0 Then
Plot3(LOW_POINT, "低點", checkbox:=1); // 繪製低點
// 7. 整合高低點到連接線
If HIGH_POINT > 0 Then
PLOT_VALUE = HIGH_POINT // 如果是高點,設置為 HIGH_POINT
Else If LOW_POINT > 0 Then
PLOT_VALUE = LOW_POINT // 如果是低點,設置為 LOW_POINT
Else
PLOT_VALUE = -1; // 非高點或低點,設置為無效值
// 8. 繪製連接線
If PLOT_VALUE > 0 Then // 排除無效值,僅繪製有效值
Plot4(PLOT_VALUE, "高低點連接", checkbox:=1); // 同時繪製高低點連接線
// 9. 更新 LAST_FLAG 為當前 FLAG 的值
LAST_FLAG = FLAG; // 儲存當前 FLAG 狀態
均線時,我有標記突破的點(籃框處),但我希望如果有更高的點(紫框處)程式可以幫我更新到最高點
4 評論