OSCvalue計算

  •   178 
  • 最後發表   喵摳的爪牙  2022 十二月 12
喵摳的爪牙 發文於   2022/12/09

我想計算A區域面積跟B區域面積並且比較大小,比較完之後,當C區域出現時重新計算面積再跟B區域比較,然後以此方式往下繼續計算。想了好久寫不出來。

請問如何撰寫? 謝謝。

XQ小幫手 發文於   2022/12/12

 Hello 喵摳的爪牙,

 

如果您把長當作OSC的值,寬(1根Bar)當作1的話,那麼面積其實就是累加的OSC值。

那麼只要用變數來保存累積值,並在正負變換時重新計算。

舉例來說:

input: FastLength(12), SlowLength(26), MACDLength(9);

var: up_1(0), up(0), down_1(0), down(0), _osc(0);

 

MACD(weightedclose(), FastLength, SlowLength, MACDLength, value1, value2, _osc);

 

if _osc[1] < 0 and _osc >= 0 then begin

    up_1 = up;  //up_1 保存OSC前一次0以上的面積

    up = _osc;  //開始計算這一次0以上的面積

    end

else if _osc[1] > 0 and _osc <= 0 then begin

    down_1 = down;    //down_1 保存OSC前一次0以下的面積

    down = _osc;    //開始計算這一次0以下的面積

    end

else if _osc > 0 then begin

    up += _osc;    //加總

    end

else if _osc < 0 then begin

    down += _osc;    //加總

    end;

這樣 up_1 和 down_1 就會是前一次的面積,而 up 和 down 則是當次的面積。

  • 按讚來自於
  • furrowlunar
發表回覆
Close