本帖最後由 無無明 於 11-10-6 09:19 PM 編輯
同樣是 指標,名稱自訂。輸入參數「SDev」依照每日日線圖所計算的90天標準差輸入更新,一般會連續數天固定。NumDevs 可以 改用 0.5,成為 每0.5S 一格。
於分時線圖或VOL圖或TICK圖(固定點數圖不可以使用),直接導入以下程式碼所編譯的 指標,自行定顏色,Type 以 Point 設定。會畫出最近30天的 基準線以及上下各條水平線。
inputs:
SDev(80),
NumDevs( 0.382 ),
Displace( 0 ) ;
variables:
var0( 0 ),var1( 0 ),var2( 0 ),nn(0),var8(0),var9(0),
var3( 0 ),var4(0),var5(0),var6(0),var7(0),var10(0),var11(0);
var0 = ( HighD(1)+LowD(1) )/2 + ( OpenD(0)-CloseD(1) ) ;
var1=SDev;
var3 = var0 + Round(NumDevs * var1,0) points;
var2 = var0 - Round(NumDevs * var1,0) points;
var4 = var0 - Round(1* var1,0) points;
var5 = var0 + Round(1* var1,0) points;
var6 = var0 - Round((NumDevs+1)* var1,0) points;
var7 = var0 + Round((NumDevs+1)* var1,0) points;
condition1 = Displace >= 0 or CurrentBar > AbsValue( Displace ) ;
if condition1 and Round(DateToJulian(currentdate)-DateToJulian(date),0)<30
and var0>0 and var1>0 then begin
nn=IntPortion( ( averageFC((h+l)/2,8) - var0 ) * PriceScale / var1 );
if nn>=1 then begin
var8=var0+Round((nn)*var1,0) points;
var9=var0+Round((nn+1)*var1,0) points;
var10=0;var11=0;
end;
if nn<=-1 then begin
var10=var0+Round((nn)*var1,0) points;
var11=var0+Round((nn-1)*var1,0) points;
var8=0;var9=0;
end;
Plot1[Displace]( var0, "Mid" ) ;
Plot2[Displace]( var3, "Upper" ) ;
Plot3[Displace]( var2, "Lower" ) ;
Plot4[Displace]( var5, "Upper2" ) ;
Plot5[Displace]( var4, "Lower2" ) ;
Plot6[Displace]( var7, "Upper3" ) ;
Plot7[Displace]( var6, "Lower3" ) ;
if nn>=1 then begin
if nn>1 then Plot8[Displace]( var8, "T1" ) else NoPlot(8);
Plot9[Displace]( var9, "T2" );
NoPlot(10);NoPlot(11);
end;
if nn<=-1 then begin
if nn<-1 then Plot10[Displace]( var10, "B1" ) else NoPlot(10);
Plot11[Displace]( var11, "B2" );
NoPlot(8);NoPlot(9);
end;
if Displace <= 0 then
begin
condition1 = (h+l)/2 crosses over var3 ;
if condition1 then
Alert( "Price crossing over Upper band" )
else
begin
condition1 = (h+l)/2 crosses under var2 ;
if condition1 then
Alert( "Price crossing under Lower band" ) ;
end;
end ;
end ; |