(第9天收盤價-最近9天內最低價) RSV = ─────────────────────────────×100
(最近9天內最高價-最近9天內最低價)
我自己寫的方式如下,在PowerLanguage編譯訊號是正常的,
但只要在MC內加入此訊號就出現"浮點運算不正確",後來發現好像是在 除法 上的部份有誤,
始終試不出正確寫法,請前輩們幫忙看一下,謝謝。
Inputs: Length(9), OverSold(20), OverBought(80); Vars : RH(0),RL(0),RSV(0); If CurrentBar > 1 then begin RH = Highest(High, Length); RL = Lowest(Low, Length); RSV = ((Close - RL) / (RH - RL)) * 100; end;
Inputs: Length(9), OverSold(20), OverBought(80);Vars : RH(0),RL(0),RSV(0);
If CurrentBar > 1 then begin
RH = Highest(High, Length); RL = Lowest(Low, Length); RSV = iff( RH - RL = 0 , 1, ((Close - RL) / (RH - RL)) * 100); plot1(RSV, "RSV");
end;
我編譯上不會ERROR,你試看看資料面會不會
PS:它分不出漲跌停唷,你可能要再加個位置判定,跟前一天的收盤做比較
針對"最前面加個 if 當 RH - RL 為零時,直接給它一個特定值就可以了",個人覺得會誤導資訊,因而使得投資人誤判情勢。
若前一個RSV=80,下一個RSV變成1,產生劇烈變化,則可能誤判為反轉跡象