// Downloaded From https://www.WiseStockTrader.com
_SECTION_BEGIN("MAIN");

Plot( Volume, _DEFAULT_NAME(), ParamColor("Color", colorBlueGrey ), ParamStyle( "Style", styleHistogram | styleOwnScale | styleThick, maskHistogram ), 2 );

//TRIX
trx=0;
trxh = 0;
periods = Param( "Periods", 15, 1, 200, 1 );
trx=Trix(periods);
trxh=C/100;

/*
//under study
tx=(Trix(3)*Trix(5)*Trix(7))/100;
tm=MA(tx,3);
Ch1=tx - tm;
*/

//RSI
RA=0;
periods = Param( "Periods", 15, 1, 200, 1 );
RA=RSI(periods);

//MFI
Mf=0;
periods = Param( "Periods", 15, 1, 200, 1 );
Mf=MFI(periods);

//get pfe 
pds=10; 
x=sqrt((ROC(C,9)*ROC(C,9))+100);
y=Sum(sqrt((ROC(C,1)* ROC(C,1))+1),pds);
z=(x/y);
pfe=EMA(IIf(C>Ref(C,-9),z,-z)*100,5);



MAWeeklyMacd = Signal(6,13,5);
MACDRoc = maWeeklyMacd - Ref(maWeeklyMacd,-5);

//Cond1 - "V" bottom, NEW UP TREND 
Cond1 = IIf(MACDRoc > Ref(MACDRoc,-1) AND Ref(MACDRoc,-1) <= Ref(MACDRoc,-2),1,0);
//Cond2 - "V" top, NEW DOWN TREND 
Cond2 = IIf(MACDRoc < Ref(MACDRoc,-1) AND Ref(MACDRoc,-1) >= Ref(MACDRoc,-2),1,0);
//cond3 - Trend is Up 
Cond3 = IIf(MACDRoc > Ref(MACDRoc,-1) AND Ref(MACDRoc,-1) >= Ref(MACDRoc,-2),1,0);
//Cond4 - Trend is Down 
Cond4 = IIf(MACDRoc < Ref(MACDRoc,-1) AND Ref(MACDRoc,-1) <= Ref(MACDRoc,-2),1,0);
//Cond5 - Trend is Flat 
Cond5 = IIf(MACDRoc== Ref(MACDRoc,-1) ,1,0);

MAMonthlyMacd = Signal(6,13,26);
MACDRoc = mamonthlyMacd - Ref(mamonthlyMacd,-26);

//Cond1 - "V" bottom, NEW UP TREND 
Cond6 = IIf(MACDRoc > Ref(MACDRoc,-1) AND Ref(MACDRoc,-1) <= Ref(MACDRoc,-2),1,0);
//Cond2 - "V" top, NEW DOWN TREND 
Cond7 = IIf(MACDRoc < Ref(MACDRoc,-1) AND Ref(MACDRoc,-1) >= Ref(MACDRoc,-2),1,0);
//cond3 - Trend is Up 
Cond8 = IIf(MACDRoc > Ref(MACDRoc,-1) AND Ref(MACDRoc,-1) >= Ref(MACDRoc,-2),1,0);
//Cond4 - Trend is Down 
Cond9 = IIf(MACDRoc < Ref(MACDRoc,-1) AND Ref(MACDRoc,-1) <= Ref(MACDRoc,-2),1,0);
//Cond5 - Trend is Flat 
Cond10 = IIf(MACDRoc== Ref(MACDRoc,-1) ,1,0);

//GET SIMPL MOVING AVRAGE OF PERIODS 5,9,14,20,50

T=5; 
KMA1=((C-MA(C,T))/MA(C,T))*100; 
M1=MA(C,T);

T=9; 
KMA2=((C-MA(C,T))/MA(C,T))*100; 
M2=MA(C,T);

T=14; 
KMA3=((C-MA(C,T))/MA(C,T))*100; 
M3=MA(C,T);

T=20; 
KMA4=((C-MA(C,T))/MA(C,T))*100; 
M4=MA(C,T);

T=50; 
KMA5=((C-MA(C,T))/MA(C,T))*100; 
M5=MA(C,T);

//get res and sup
p = (H+L+C)/3;
r1 = (2*p)-L;
s1 = (2*p)-H;
r2 = p +(r1 - s1);
s2 = p -(r2 - s1);
R3 = P + (R2 - S2);
S3 = P - (R3 - S2);

Title=EncodeColor(colorWhite )+Name() +EncodeColor(colorWhite )+ FullName() +EncodeColor(colorWhite)+" [Date : "+EncodeColor(colorWhite)+Date()
+EncodeColor(colorWhite)+

StrFormat("{{INTERVAL}}")+EncodeColor(colorWhite)+"]"+"\n"+

EncodeColor(colorBlue)+"Open:"+EncodeColor(colorWhite)+O+
EncodeColor(colorBlue)+" Close: "+EncodeColor(colorWhite)+C+
EncodeColor(colorBlue)+" High: "+EncodeColor(colorWhite)+H+
EncodeColor(colorBlue)+" Low: "+EncodeColor(colorWhite)+L+
EncodeColor(colorBlue)+" Val:"+EncodeColor(colorWhite)+WriteVal(V,1,0)+"\n"+

EncodeColor(colorRed)+"R1 "+EncodeColor(colorRed)+r1+
EncodeColor(colorRed)+" R2 "+EncodeColor(colorRed)+r2+
EncodeColor(colorRed)+" R3 "+EncodeColor(colorRed)+r3+"\n"+

EncodeColor(colorGreen)+"S1 "+EncodeColor(colorGreen)+s1+
EncodeColor(colorGreen)+" S2 "+EncodeColor(colorGreen)+s2+
EncodeColor(colorGreen)+" S3 "+EncodeColor(colorGreen)+s3+"\n"+

EncodeColor(colorBlue)+WriteVal(abs(KMA1),format=1.2)+"%"+WriteIf(KMA1>0,EncodeColor(colorGreen)+"above MA5p ",EncodeColor(colorRed)+"below MA5p ")+EncodeColor(colorBlue)+M1+"\n"+
EncodeColor(colorBlue)+WriteVal(abs(KMA2),format=1.2)+"%"+WriteIf(KMA2>0,EncodeColor(colorGreen)+"above MA9p ",EncodeColor(colorRed)+"below MA9p ")+EncodeColor(colorBlue)+M2+"\n"+
EncodeColor(colorBlue)+WriteVal(abs(KMA3),format=1.2)+"%"+WriteIf(KMA3>0,EncodeColor(colorGreen)+"above MA14p",EncodeColor(colorRed)+"below MA14p ")+EncodeColor(colorBlue)+M3+"\n"+
EncodeColor(colorBlue)+WriteVal(abs(KMA4),format=1.2)+"%"+WriteIf(KMA4>0,EncodeColor(colorGreen)+"above MA20p",EncodeColor(colorRed)+"below MA20p")+EncodeColor(colorBlue)+M4+"\n"+
EncodeColor(colorBlue)+WriteVal(abs(KMA5),format=1.2)+"%"+WriteIf(KMA5>0,EncodeColor(colorGreen)+"above MA50p",EncodeColor(colorRed)+"below MA50p")+EncodeColor(colorBlue)+M5+"\n"+

EncodeColor(colorDarkBlue)+"RSI indicates "+WriteIf(RA > Ref(RA ,-1) AND RA < 70 AND RA > 30 ,EncodeColor(colorGreen)+" BUY ",WriteIf( RA < Ref(RA ,-1) AND RA < 30 ,EncodeColor(colorRed)+" WATING STRONG BUY ",WriteIf( RA > Ref(RA ,-1) AND RA > 70 ,EncodeColor(colorRed)+" WATING STRONG Sell", EncodeColor(colorRed)+" Sell " )))+
EncodeColor(colorDarkBlue)+WriteIf(RA > 70 OR RA < 30 ,EncodeColor(colorRed)+WriteVal(ra), EncodeColor(colorBlue)+WriteVal(ra))+"\n"+

EncodeColor(colorDarkBlue)+"MFI indicates "+WriteIf(MF > Ref(MF ,-1) AND MF < 80 AND MF > 20 ,EncodeColor(colorGreen)+" BUY ",WriteIf( MF < Ref(MF ,-1) AND MF < 20 ,EncodeColor(colorRed)+" WATING STRONG BUY ",WriteIf( MF > Ref(MF ,-1) AND MF > 80 ,EncodeColor(colorRed)+" WATING STRONG Sell", EncodeColor(colorRed)+" Sell " )))+
EncodeColor(colorDarkBlue)+WriteIf(MF > 80 OR MF < 20 ,EncodeColor(colorRed)+WriteVal(MF), EncodeColor(colorBlue)+WriteVal(MF))+"\n"+

EncodeColor(colorDarkBlue)+"TRIX indicates "+WriteIf(trx > Ref(trx ,-1) AND trx < trxh ,EncodeColor(colorGreen)+" BUY ",WriteIf( trx < Ref(trx ,-1) AND trx < 0 ,EncodeColor(colorRed)+" WATING STRONG BUY ",WriteIf( trx > Ref(trx ,-1) AND trx > trxh ,EncodeColor(colorRed)+" WATING STRONG Sell", EncodeColor(colorRed)+" Sell " )))+
EncodeColor(colorDarkBlue)+WriteIf(trx > trxh OR trx < 0 ,EncodeColor(colorRed)+WriteVal(trx), EncodeColor(colorBlue)+WriteVal(trx))+"\n"+

//EncodeColor(colorDarkBlue)+"MA ( TRIX ) "+WriteIf(CH1 > 0 ,EncodeColor(colorGreen)+" BUY ", EncodeColor(colorRed)+" Sell " )+"\n"+

EncodeColor(colorDarkBlue)+"PFE indicates MAIN TREND = " +WriteIf(pfe>10,EncodeColor(colorGreen)+ " UP TREND ",WriteIf(pfe>-10 AND pfe<10, EncodeColor(colorBlue)+" Consolidation Phase is in place",EncodeColor(colorRed)+ " DOWN TREND "))+"\n"+
EncodeColor(colorDarkBlue)+"PFE indicates CURRENTLY TREND = "+WriteIf(pfe>Ref(pfe,-1),EncodeColor(colorGreen)+" Rising which is Up Trend OR weakening Down Trend", EncodeColor(colorRed)+" falling which is Down trend OR weakening uptrend ")+"\n"+
EncodeColor(colorDarkBlue)+"WEEKLY -" +WriteIf(Cond1==1,EncodeColor(colorGreen)+" NEW UP TREND ", WriteIf(Cond2==1,EncodeColor(colorRed)+" NEW DOWN TREND ", WriteIf(Cond3==1,EncodeColor(colorGreen)+" Trend is Up ",WriteIf(Cond4==1,EncodeColor(colorRed)+" Trend is Down ",WriteIf(Cond5==1,EncodeColor(colorRed)+" Trend is Flat ","")))))+"\n"+
EncodeColor(colorDarkBlue)+"MONTHLY -" +WriteIf(Cond6==1,EncodeColor(colorGreen)+" NEW UP TREND ", WriteIf(Cond7==1,EncodeColor(colorRed)+" NEW DOWN TREND ", WriteIf(Cond8==1,EncodeColor(colorGreen)+" Trend is Up ",WriteIf(Cond9==1,EncodeColor(colorRed)+" Trend is Down ",WriteIf(Cond10==1,EncodeColor(colorRed)+" Trend is Flat ","")))));


_SECTION_END();

_SECTION_BEGIN("BUY&SELL=SIGNAL");

k=1; /* factor de multiplicare*/

/*R rezistenta pentru ziua curenta*/
R = Ref(Close, -1)+k*Ref(ATR(10),-1); 
/*S rezistenta pentru ziua curenta*/ 
S = Ref(Close, -1)-k*Ref(ATR(10),-1);

Buy=Close>R;
Sell=Close<S;

Cump=IIf(Close>R,1,0);
Vanz=IIf(Close<S,1,0);

Plot(Close,"Close",colorBlack,styleCandle);
//Plot(R, "Res",colorGreen,styleDots);
//Plot(S, "Sup:",colorRed,styleDots);


Buy = ExRem( Buy, Sell ); //Elimina semnalele buy consecutive
Sell = ExRem( Sell, Buy ); //Elimina semnalele sell consecutive

shape = Buy * shapeUpArrow + Sell * shapeDownArrow;

fig=Cump*shapeHollowUpArrow + Vanz*shapeHollowDownArrow;

PlotShapes( fig, IIf( Cump, colorGreen , colorRed), 0, IIf( Cump, Low-2, High+2)); //Pentru a vizualiza semnalele consecutive eliminate de ExRem
PlotShapes( shape, IIf( Buy, colorGreen, colorRed ), 0, IIf( Buy, Low-2, High+2)); 

AlertIf( Buy, "", "ATR 10-1 Sistem", 1 );
AlertIf( Sell, "", "ATR 10-1 Sistem",2);

GraphXSpace = 3;

_SECTION_END();

_SECTION_BEGIN("Volume At Price");
PlotVAPOverlay( Param("Lines", 300, 100, 1000, 1 ), Param("Width", 5, 1, 100, 1 ), ParamColor("Color", colorCycle ), ParamToggle("Side", "Left|Right" ) | 4*ParamToggle("Z-order", "On top|Behind", 1 ) );
 
_SECTION_END();