Trích dẫn Gửi bởi tradingpro8x Xem bài viết
Mình có thể lấy thí dụ như chỉ báo này công thức cực kỳ phức tạp nhưng mình dùng thấy cũng chưa chắc đã hiệu quả hơn Bollinger Bands


Nc:=Input("Entry Commission Points",0,99,20);
Xc:=Input("Exit Commission Points",0,99,20);
Pt:=Input("Profit Target Points",1,500,150);
Ls:=Input("Maximum Loss Points",1,500,100);
Np:=Input("Enter 1=Open 2=Close",1,2,2);
Xo:=Input("Exit 1=Open 2=Close 3=Stop ",1,3,2);
Equity:=1000; {Trade capital}
N:=Cross(Mov(C,9,E),Mov(C,13,E));{Entry formula}
X:=Cross(Mov(C,13,E),Mov(C,9,E));{Exit formula}
I:=Cum(N<>-1 AND X<>-1)=1; {Formulas valid}
Np:=If(Np=1,O,If(Np=2,C,N)); {Entry price}
Xp:=If(Xo=1,O,C); {Exit price}
Pf:=(Equity+Pt+Xc)/(Equity-Nc); {Profit factor}
Lf:=(Equity-Ls+Xc)/(Equity-Nc); {Loss factor}
Ea:=If(BarsSince(I OR N>0)>=BarsSince(I OR X>0
{bars since entry >= bars since normal exit}
OR
If(Xo<3,Xp,H)>=Pf*(ValueWhen(1,I OR (N>0 AND Alert(If(BarsSince(I
OR N>0)>=BarsSince(I OR X>0),0,1)=0,2)), Np))
{bars since entry >= bars since profit exit}
OR
If(Xo<3,Xp,L)<=Lf*(ValueWhen(1,I OR (N>0 AND Alert(If(BarsSince(I
OR N>0)>=BarsSince(I OR X>0),0,1)=0,2)), Np))),
{bars since entry >= bars since stop loss exit
then flag value is} 0,
{else flag value is}
ValueWhen(1,I OR (N>0 AND Alert(If(BarsSince(I OR N>0)>=
BarsSince(I OR X>0),0,1)=0,2)),Np));

Xb:=Ea=0 AND Alert(Ea>0,2); {Exit bar}
Ev:=ValueWhen(1,I OR Ea>0,Ea); {Entry value}

Sp:=If(Xb,If(Xo<3 AND Xp>=Ev*Pf,Xp,
If(O>=Ev*Pf,O,If(H>=Ev*Pf,Ev*Pf,0))),0);
{Profit sell price}

Sl:=If(Xb,If(Xo<3 AND Xp<=Ev*Lf,Xp,
If(O<=Ev*Lf,O,If(L<=Ev*Lf,Ev*Lf,0))),0);
{Stop loss price}

Nx:=If(Xb AND Sp=0 AND Sl=0,Xp,0);
{Normal exit price}

Ea; Ea*Pf; Ea*Lf; Sp; Sl; Nx;

*** Substitute these variables for percent stops}
{Pt:=Input("Profit Target %",1,99,15)/100;}
{Ls:=Input( "Maximum Loss %",1,99,10)/100;}
{Pf:=(Equity*(1+Pt)+Xc)/(Equity-Nc);}
{Lf:=(Equity*(1-Ls)+Xc)/(Equity-Nc);}

Đồng ý với bác. Anh em ta cứ tuân thủ nguyên tắc đơn giản mà hiệu quả. Không cần phức tạp hoa lá cành làm gì