// Downloaded From https://www.WiseStockTrader.com
_SECTION_BEGIN("All in One Explorer");
i=0;
//52 Week High Low
High52 = HHV(High,250);
Low52 = LLV(Low,250);
Fech = Close;

//Volatilidade Historica
HVPeriod = Param("HV Period",21,5,252,1);
HV = StDev(log(C/Ref(C,-1)),HVPeriod)*sqrt(252)*100;

//Bollinger Band
BB1=C>BBandTop(C,20,2) AND Ref(C,-1)<Ref(BBandTop(C,20,2),-1);
BB2=C<BBandBot(C,20,2) AND Ref(C,-1)>Ref(BBandBot(C,20,2),-1);
BBStatus=WriteIf(BB1,"Acima Upper",WriteIf(BB2,"Abaixo Bottom",WriteIf(IsNull(MA(C,20)),"N/A","Neutro")));
BBColor=IIf(BB1,colorRed,IIf(BB2,colorGreen,colorLightGrey));
IIf(BB2,i+1,i);

//SAR
SARCalc = C>SAR();
IIf(SARCalc,i+1,i);
SARStatus = WriteIf(SARcalc,"Bullish",WriteIf(IsNull(SAR()) ,"N/A","Bearish"));
SARColor = IIf(SARcalc,colorGreen,colorRed);

//"Hilo"
_SECTION_BEGIN("Hilo");
//Parâmetros
Period = Param("Período",6,1,50,1);
Style = ParamStyle("Estilo",styleStaircase,maskAll);

Hld = IIf(C > Ref(MA(H, Period), -1), 1, IIf(C < Ref(MA(L, Period), -1), -1, 0));
Hlv = ValueWhen(Hld != 0, Hld, 1);
Hilo = IIf(Hlv == -1, MA(H, Period), MA(L, Period));
HiloColor = IIf(Hlv == 1, colorGreen, colorRed);

//Plot(Hilo,"HiLo"+_PARAM_VALUES(),HiloColor,Style);
_SECTION_END();

HiloCalc = C > Hilo;
Hilocal2 = C < Hilo;
IIf(Hilocalc,i+1,i);
HiloStatus = WriteIf(Hilocalc,"Bullish","Bearish");
HiloColor = IIf(Hilocalc ,colorGreen,colorRed);




//Moving Average
EMACurta = C>=EMA(C,5) AND EMA(C,5) > Ref(EMA(C,5), -1);
IIf(EMACurta,i+1,i);
EMAShort = C>=EMA(C,21) AND EMA(C,21) > Ref(EMA(C,21), -1);
IIf(EMAshort,i+1,i);
EMATrim = C>=EMA(C,55) AND EMA(C,55) > Ref(EMA(C,55), -1);
IIf(EMATrim,i+1,i);
EMAMid = C>=EMA(C,120) AND EMA(C,120) > Ref(EMA(C,120), -1);
IIf(EMAMid,i+1,i);
eMALong = C>=EMA(C,200) AND EMA(C,200) > Ref(EMA(C,200), -1);
IIf(EMALong,i+1,i);
PrecoxEmas = C > EMA(C,5) AND C > EMA(C,21) AND C > EMA(C,55) AND C > EMA(C,120) AND C > EMA(C,200);
IIf(PrecoxEMAs,i+1,i);
EMA5x21 = C > EMA(C,5) AND C > EMA(C,21) AND EMA(C, 5) > EMA(C,21);
IIf(Ema5x21,i+1,i);
EMA5x55 = C > EMA(C,5) AND C > EMA(C,55) AND EMA(C, 5) > EMA(C,55);
IIf(Ema5x55,i+1,i);
EMA21x55 = C > EMA(C,21) AND C > EMA(C,55) AND EMA(C, 21) > EMA(C,55);
IIf(Ema21x55,i+1,i);



CurtaStatus = WriteIf(EMACurta,"Bullish",WriteIf(IsNull(EMA(C,5)) ,"N/A","Bearish"));
CurtaColor = IIf(EMACurta,colorGreen,colorRed);
ShortStatus = WriteIf(EMAShort,"Bullish",WriteIf(IsNull(EMA(C,21)) ,"N/A","Bearish"));
ShortColor = IIf(EMAShort,colorGreen,colorRed);
TrimStatus = WriteIf(EMATrim,"Bullish",WriteIf(IsNull(EMA(C,55)) ,"N/A","Bearish"));
TrimColor = IIf(EMATrim,colorGreen,colorRed);
MidStatus = WriteIf(EMAMid,"Bullish",WriteIf(IsNull(EMA(C,120)),"N/A","Bearish"));
MidColor = IIf(EMAMid,colorGreen,colorRed);
LongStatus = WriteIf(EMALong,"Bullish",WriteIf(IsNull(EMA(C, 200)), "N/A", "Bearish"));
LongColor = IIf(EMALong,colorGreen,colorRed);
PrecoxEmasStatus = WriteIf(PrecoxEmas,"Bullish",WriteIf(IsNull(Precoxemas), "N/A", "Bearish"));
PrecoxEmasColor = IIf(PrecoxEmas,colorGreen,colorRed);
Ema5x21Status = WriteIf(Ema5x21,"Bullish",WriteIf(IsNull(Ema5x21), "N/A", "Bearish"));
Ema5x21Color = IIf(Ema5x21,colorGreen,colorRed);
Ema5x55Status = WriteIf(Ema5x55,"Bullish",WriteIf(IsNull(Ema5x55), "N/A", "Bearish"));
Ema5x55Color = IIf(Ema5x55,colorGreen,colorRed);
Ema21x55Status = WriteIf(Ema21x55,"Bullish",WriteIf(IsNull(Ema21x55), "N/A", "Bearish"));
Ema21x55Color = IIf(Ema21x55,colorGreen,colorRed);


//MACD
MACDBull=MACD(12,26)>Signal(12,26,9);
IIf(MACDBull,i+1,i);
MACDStatus=WriteIf(MACDBull,"Bullish",WriteIf(IsNull(MACD(12,26)),"N/A","Bearish"));
MACDColor=IIf(MACDBull,colorGreen,colorRed);

//Aroon
Period=14;
LLVBarsSince=LLVBars(L,Period)+1;
HHVBarsSince=HHVBars(H,Period)+1;
AroonDown=100*(Period-LLVBarsSince)/(Period-1);
AroonUp=100*(Period-HHVBarsSince)/(Period-1);
AroonOsc=AroonUp-AroonDown;
Aroon=AroonOsc>0;
IIf(Aroon,i+1,i);
AroonStatus=WriteIf(Aroon,"Bullish",WriteIf(IsNull (RSI(14)),"N/A","Bearish"));
AroonColor=IIf(Aroon,colorGreen,IIf(IsNull(RSI(14) ),colorLightGrey,colorRed));

//Stochastic
StochKBull=StochK(14,3)>StochD(14,3,3);
IIf(StochKBull,i+1,i);
StochKStatus=WriteIf(StochKBull,"Bullish",WriteIf( IsNull(StochK(14,3)),"N/A","Bearish"));
StochKColor=IIf(StochKBull,colorGreen,colorRed);

//RSI
R1=RSI(14)>30 AND Ref(RSI(14),-1)<30 AND Ref(RSI(14),-2)<30;
R2=RSI(14)<70 AND Ref(RSI(14),-1)>70 AND Ref(RSI(14),-2)>70;
IIf(R1,i+1,i);
RSIStatus=WriteIf(R1,"Subindo",WriteIf(R2,"Caindo",WriteIf(IsNull(RSI(14)),"N/A","Neutro")));
RSIColor=IIf(R1,colorGreen,IIf(R2,colorRed,colorLightGrey));

//MFI
M1=MFI(14)>80;
M2=MFI(14)<20;
IIf(M2,i+1,i);
MFIStatus=WriteIf(M1,"Overbought",WriteIf(M2,"Oversold",WriteIf(IsNull(MFI(14)),"N/A","Neutro")));
MFIColor=IIf(M1,colorRed,IIf(M2,colorGreen,colorLightGrey));


 TrendScore =

 
 IIf(EMACurta,1,0)+
 IIf(EMAShort,1,0)+
 IIf(EMATrim,1,0)+
 IIf(EMAMid,1,0) +
 IIf(EMALong,1,0)+
 IIf(MACDBull,1,0) +
 IIf(SARcalc, 1, 0) +
 IIf(Hilocalc, 1, 0) +
 IIf(Aroon,1,0) +
 IIf(PrecoxEmas,1,0) +
 IIf(Ema5x21,1,0) +
 IIf(Ema5x55,1,0) +
 IIf(Ema21x55,1,0) +
 IIf(StochKBull,1,0);

prdscore = Param("Gatilho",7,0,50,1,0);
Buy = Cross(TRENDSCORE, prdscore) AND C > 2 AND V > 500000;
Sell = Cross(prdscore, trendscore) OR trendscore < Ref(trendscore, -1);
//Sell = Cross(7, trendscore) OR trendscore < Ref(trendscore, -1) AND trendscore < Ref(trendscore, -2);

// trade size: 100% of current portfolio equity
SetPositionSize( 5, spsPercentOfEquity );

/*
TrendScore =

IIf(C>=Ref(C,-11),1,-1)+
IIf(C>=Ref(C,-12),1,-1)+
IIf(C>=Ref(C,-13),1,-1)+
IIf(C>=Ref(C,-14),1,-1)+
IIf(C>=Ref(C,-15),1,-1)+
IIf(C>=Ref(C,-16),1,-1)+
IIf(C>=Ref(C,-17),1,-1)+
IIf(C>=Ref(C,-18),1,-1)+
IIf(C>=Ref(C,-19),1,-1)+
IIf(C>=Ref(C,-20),1,-1);
*/





Filter = 1;
Filter = Close >  2 AND Filter = Volume >500000;



AddColumn(High52,"Max01Ano");
AddColumn(Low52,"Mín01Ano");
AddColumn(Fech,"Close",1.2,IIf(Close>Ref(Close,-1),colorGreen,colorRed));
AddColumn(V,"Volume",1,IIf(V>Ref(V,-1),colorGreen,colorRed));
AddColumn(EMA(Volume, 21),"Ema21Volume",1, IIf(EMA(Volume, 21)>Ref(EMA(Volume, 21), -1), colorGreen, colorRed));
AddColumn(HV,"V.Hist(21)",1.2, IIf(Hv>Ref(Hv, -1), colorGreen, colorRed));
AddTextColumn(PrecoxEmasstatus,"C > EMAs",1,colorWhite,PrecoxEmasColor);
AddTextColumn(CurtaStatus,"EMA(5)",1,colorWhite,CurtaColor);
AddTextColumn(ShortStatus,"EMA(21)",1,colorWhite,ShortColor);
AddTextColumn(Ema5x21status,"EMA5>EMA21",1,colorWhite,Ema5x21Color);
AddTextColumn(TrimStatus,"EMA(55)",1,colorWhite,TrimColor);
AddTextColumn(Ema5x55status,"EMA5>EMA55",1,colorWhite,Ema5x55Color);
AddTextColumn(Ema21x55status,"EMA21>EMA55",1,colorWhite,Ema21x55Color);
AddTextColumn(MidStatus,"EMA(120)",1,colorWhite,MidColor);
AddTextColumn(LongStatus,"EMA(200)",1,colorWhite,LongColor);
AddTextColumn(MACDStatus,"MACD(26,12,9)",1,colorWhite,MACDColor);
AddTextColumn(AroonStatus,"Aroon(14)",1,colorWhite,AroonColor);
AddTextColumn(StochKStatus,"Sto(14,3,3",1,colorWhite,StochKColor);
AddTextColumn(SARStatus, "SAR", 1, colorWhite, SARcolor);
AddTextColumn(HiloStatus, "Hilo(6)", 1, colorWhite, hilocolor);
AddColumn(TrendScore,"Score", 1, IIf(trendscore>Ref(trendscore, -1), colorGreen, colorRed));
AddColumn(RSI(2),"RSI(2)",1.2, IIf(RSI(2)>Ref(RSI(2), -1), colorGreen, colorRed));
AddColumn(RSI(5),"RSI(5)",1.2, IIf(RSI(5)>Ref(RSI(5), -1), colorGreen, colorRed));
AddColumn(RSI(14),"RSI(14)",1.2, IIf(RSI(14)>Ref(RSI(14), -1), colorGreen, colorRed));
AddColumn(StochK(8,3),"Sto(8,3)",1.2, IIf(StochK(8,3)>Ref(StochK(8,3), -1), colorGreen, colorRed));
AddColumn(Hilo,"Hilo(6)",1.2, IIf(Hilo>Ref(Hilo, -1), colorGreen, colorRed));
AddColumn(ATR(10),"ATR(10)",1.2, IIf(ATR(10)>Ref(ATR(10), -1), colorGreen, colorRed));

_SECTION_END();

Buy = trendscore > 7;
Sell = trendscore < 10;
Buy = ExRem(Buy,Sell);
Sell = ExRem(Sell,Buy);

// trade size: 100% of current portfolio equity
SetPositionSize( 5, spsPercentOfEquity );