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

我想計算A區域面積跟B區域面積並且比較大小,比較完之後,當C區域出現時重新計算面積再跟B區域比較,然後以此方式往下繼續計算。想了好久寫不出來。
請問如何撰寫? 謝謝。
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 則是當次的面積。
1 評論