請問,用 easylanguage寫的 BB BandWidth Indicator
再 google 大神之下找到easylanguage 寫的 個BB BandWidth Indicator可是都不能用
請問誰有可以用的版本 或是幫忙看一下,哪裡有錯
原程式碼
inputs: Length (20), NumStdDevs (2), Price ((O + H + L + C) / 4);
variables: MidBand (0), StdDev (0);
MidBand = AverageFC (Price, Length);
StdDev = StandardDev (Price, Length, 1) * NumStdDevs;
if MidBand > 0 then
{ TopBand = MidBand + StdDev;
BottomBand = MidBand - StdDev;
Plot1 ((TopBand - BottomBand) * 100 / MidBand, "BollBW"); }
Plot1 (2 * StdDev * 100 / MidBand, "BollBW");
補充
跳出的錯誤 好像是 Price ((O + H + L + C) / 4);這裡
結果顯示 是 ((((o + h) + l) + c) / 4) 本帖最後由 sangi 於 13-2-3 13:57 編輯
剛跑過程式..沒問題
話說 Price 是否一定要用(O+H+L+C)/4 ? ........先把他改成Close 來試看看吧
提供我的版本給你參考
1. Bollinger Band Width : (UBand-LBand)/ MidBand
Inputs: Length (20) ,NumStdDevs(2) ,PriceValue((O + H + L + C) / 4) ;
Vars: BMidBand(0) ,BUpperBand(0) ,BLowerBand(0) ,BBandWidth(0) ;
BMidBand = AverageFC(PriceValue,Length) ;
BUpperBand = BollingerBand(PriceValue,Length,NumStdDevs) ;
BLowerBand = BollingerBand(PriceValue,Length,-NumStdDevs) ;
BBandWidth = IFF(BMidBand > 0 ,(BUpperBand - BLowerBand)/BMidBand,0) ;
Plot1(BBandWidth) ;
2. Bollinger Band %B : (Price-LBand)/(UBand-LBand)
Inputs: Length (20) ,NumStdDevs(2) ,PriceValue((O + H + L + C) / 4) ;
Vars: BMidBand(0) ,BUpperBand(0) ,BLowerBand(0) ,BBandPercentB(0) ;
BMidBand = AverageFC(PriceValue,Length) ;
BUpperBand = BollingerBand(PriceValue,Length,NumStdDevs) ;
BLowerBand = BollingerBand(PriceValue,Length,-NumStdDevs) ;
BBandPercentB = IFF(BUpperBand <> BLowerBand,(PriceValue - BLowerBand) / (BUpperBand - BLowerBand),0) ;
Plot1(BBandPercentB) ;
請問大大,小弟哪裡出錯 請問大大,小弟哪裡出錯
共 四張圖 剛剛 手殘,沒發滿四張 忘記補上我抓來的%bcode 應該是 easylanguage 吧...
inputs:
Price( Close ),
Period( 18 ),
Deviations( 2 ),
BandColor( Cyan ),
SignalLineColor( Red ),
MidPointColor( White ) ;
variables:
MidLine( 0 ),
BandOffset( 0 ),
UpperBand( 0 ),
LowerBand( 0 ),
PerB( 0 ) ;
MidLine = Average( Price, Period ) ;
BandOffset = Deviations * StandardDev( Price, Period, 1 ) ;
UpperBand = MidLine + BandOffset ;
LowerBand = MidLine - BandOffset ;
if UpperBand <> LowerBand then
PerB = 100 * ( Price - LowerBand ) / ( UpperBand -
LowerBand ) ;
Plot1( PerB, "%b" ) ;
Plot2( 100, "100", BandColor ) ;
Plot3( 0, "0", BandColor ) ;
Plot4( 50, "50", MidPointColor ) ; 後來發現你的軟體好像不是MC/TS....
那我就幫不上忙啦... 請問各位大大,我看大家的公式中,都有除MidBand,降會使數字變得比較小,目的是?
(TopBand - BottomBand) * 100 / MidBand
案例1(除一個midband)
如果現在為midband=3000,topband-bottomband=100
與現在為midband=7000,topband-bottomband一樣為100
算出來的值是不一樣的
案例2(不除midband)
如果現在為midband=3000,topband-bottomband=100
與現在為midband=7000,topband-bottomband一樣為100
算出來的值是一樣的
哪一個是大家想要的?and why?
本帖最後由 sangi 於 13-2-3 20:10 編輯
直覺來想...
3000點時(假設這時的價位就在MidBand上),上/下波動N Stdev 的100點,
和7000點時上/下波動N Stdev 的100點是不一樣的...
前者可是3.3%,而後者只有1.4%
透過除以MidBand的操作,兩者才能作比較,
你可以把他看作是一個[標準化]的動作,統計上做標準化的目的在於可以作比較..
本帖最後由 sangi 於 13-2-3 13:57 編輯
剛跑過程式..沒問題
話說 Price 是否一定要用(O+H+L+C)/4 ? ........先把他改成Close 來試看看吧
真的ㄟ 改成 close就 ok 了 可以先用 value1=(O+C+H+L)/4
再用MidBand = AverageFC (value1, Length);
sangi 發表於 13-2-3 19:57 static/image/common/back.gif
直覺來想...
3000點時(假設這時的價位就在MidBand上),上/下波動N Stdev 的100點,
恩恩,我看兩種方法都有人用,所以好奇各自使用的情境為何。
頁:
[1]