// Downloaded From https://www.WiseStockTrader.com
SetChartOptions(0,chartShowArrows|chartShowDates);
//Frase no topo do gráfico
_N(Title = StrFormat("{{DATE}} O %g, H %g, L %g, C %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
// função para integrar a função PARAM que é para mudança manual de parâmetro no gráfico com a função OPTIMIZE que é empregada na Automatic Analysis
function ParamOptimize( pname, defaultval, minv, maxv, step )
{
return Optimize( pname,Param( pname, defaultval, minv, maxv, step ),minv, maxv, step );
}
// Estes são as variaveis para a banda de 40 semanas e não fazem parte do setup do TT
//LongSMA = MA(C,40);
//LongHigh = MA(H,40);
//LongLow = MA(L,40);
// Calculo do Heikin Ashi
HAClose = (O+H+L+C)/4;
HAOpen = AMA( Ref( HaClose, -1 ), 0.5 );
HAHigh = Max( H, Max( HaClose, HaOpen ) );
HALow = Min( L, Min( HaClose, HaOpen ) );
Period = Paramoptimize("HiLo Period", 4,4,10,1);
//lógica de decisão de qual escada do HiLo usar
Hld = IIf(HAClose > Ref(MA(HAHigh, Period),-1),1,IIf(HAClose <= Ref(MA(HALow,Period),-1),-1, 0));
Hlv = ValueWhen(Hld != 0, Hld, 1);
HiloUp = IIf(Hlv > 0, MA(Ref(HALow,-1), Period), Null);
HiloDn = IIf(Hlv < 0, MA(Ref(HAHigh,-1), Period), Null);
// sinais de compra e venda
Buy = Cross(Hlv,0);
Sell = Cross(0,Hlv);
//Plot(LongSMA,"",colorGreen,styleThick); //Mostrando a média de 40 semanas
//Plot(LongHigh,"",colorGreen,styleDashed); // topo
//Plot(LongLow,"",colorGreen,styleDashed);//base
//mostrando a escada do HiLo
Plot(HiloUp,"",colorBlue,styleStaircase|styleThick);
Plot(HiloDn,"",colorRed,styleStaircase|styleThick);
//Esta funçao permite alternar entre Heikin Ashi e candle normal
// Atenção! O Cálculo sempre é realizado pelo HA mesmo quando mostra o candle normal. Serve somente para ver o valor real de fechamento
if(ParamToggle("Candle Heikin-Ashi", "Yes|No", 0 ) )
{
PlotOHLC( Open, High, Low, Close, "", colorBlack, styleCandle );
} else
{
PlotOHLC( HaOpen, HaHigh, HaLow, HaClose," HA Close: ",colorBlack, styleCandle );
}
//mostrando a banda verde do gráfico de 40 semanas.
//PlotOHLC(LongHigh,LongLow,LongHigh,LongLow,"",ColorRGB(200,255,200),styleCloud | styleNoLabel);
//mostrando as setas de compra e venda com efeito de caixinha. O basico é somente a shapeUpArrow
PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLightBlue, 0, HiloUp, Offset=-20);
PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorBlue, 0,HiloUp, Offset=-30);
PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,HiloUp, Offset=-25);
PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorRed, 0, HiloDn, Offset=20);
PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorOrange, 0,HiloDn, Offset=30);
PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorWhite, 0,HiloDn, Offset=-25);
//receita de bolo para localizar sinais de compra e venda no Automatic Analysis Explorer
Filter = Buy OR Sell;
SetOption("NoDefaultColumns",True);
AddTextColumn(Name(),"Security",1.2,colorDefault,colorDefault,90);
AddColumn(DateTime(),"Date",formatDateTime,colorDefault,colorDefault,100);
AddColumn(IIf(Buy,66,IIf(Sell,83,32)),"HiLo HA",formatChar,colorWhite,bkcolor = IIf(Buy,colorGreen,IIf(Sell,colorRed,colorDefault)));