Code Amibroker Indicators

PRA TTS cho Amibroker (AFL)

by admin 39 min read 0 comments

Key Takeaways

  • Market conditions and their impact on trading decisions
  • Key levels and price action analysis
  • Risk management strategies for this setup

Thăm dò kiểu

1 kéo (mrkt exp hoặc mua / bán chuyển đổi trong tham số), (có thể chuyển đổi)
Đã thêm dòng

2 xu hướng, (có thể chuyển đổi),
Xu hướng

3-regreshion, (có thể chuyển đổi),Nhãn

Mở Tài Khoản - Nhận ngay bộ công cụ AI trị giá 56000 USD

4 mua / bán, (có thể chuyển đổi) /
5 – tín hiệu mua / bán chính xác,Giá

6 phóng đại hai loại (có thể chuyển đổi)
7 trục đã có sẵn ..
thích giao dịch ..

\"\"

Explorer= ParamToggle(\”Explorer\”,\”buysell exp|market exp\”,1);
font = ParamToggle(\”font\”,\”Show|Hide\”,1);
TrendLines= ParamToggle(\”TrendLines\”,\”Show|Hide\”,0);
LinearRegression= ParamToggle(\”LinearRegression\”,\”Show|Hide\”,0);
Buyselllable= ParamToggle(\”Buyselllable\”,\”Show|Hide\”,0);
ChangeTitle= ParamToggle(\”ChangeTitle\”,\”Show|Hide\”,1);
_SECTION_BEGIN(\”Background_Setting\”);
SetChartBkGradientFill( ParamColor(\”BgTop\”, colorDarkYellow),
ParamColor(\”BgBottom\”, colorDarkTeal),ParamColor(\”titleblock\”,colorDarkGrey ));
SetChartBkColor(colorTeal); // color of outer border
_SECTION_END();
SetChartOptions(0,chartShowArrows | chartShowDates);
if(TrendLines==1)
{
_SECTION_BEGIN(\”Trend Lines\”);
p1 = Param(\”TL 1 Periods\”, 20, 5, 50, 1);
p2 = Param(\”TL 2 Periods\”, 5, 3, 25, 1);
TL1 = LinearReg(C, p1);
TL2 = EMA(TL1, p2);
Col1 = IIf(TL1 > TL2, ParamColor(\”TL Up Colour\”, colorGreen), ParamColor(\”TL Dn Colour\”, colorRed));
Plot(TL1, \”TriggerLine 1\”, Col1, styleLine|styleThick|styleNoLabel);
Plot(TL2, \”TriggerLine 2\”, Col1, styleLine|styleThick|styleNoLabel);
_SECTION_END();
}
//================================================End Chart Configuration===============================================================================
if(font==0)
{
_SECTION_BEGIN(\”Name\”);
GfxSetOverlayMode(0);
GfxSelectFont(\”Tahoma\”, Status(\”pxheight\”)/8 );
GfxSetTextAlign( 6 );// center alignment
GfxSetTextColor( ColorHSB( 42, 42, 42 ) );
GfxSetBkMode(0); // transparent
GfxTextOut( Name(), Status(\”pxwidth\”)/2, Status(\”pxheight\”)/12 );
GfxSelectFont(\”Tahoma\”, Status(\”pxheight\”)/18 );
GfxTextOut(\”\” , Status(\”pxwidth\”)/2, Status(\”pxheight\”)/4 );
GfxSelectFont(\”Tahoma\”, Status(\”pxheight\”)/18 );
GfxSelectFont(\”Tahoma\”, Status(\”pxheight\”)/36 );
GfxTextOut( \”\”, Status(\”pxwidth\”)/2, Status(\”pxheight\”)/3 );
_SECTION_END();
//Magfied Market Price
FS=Param(\”Font Size\”,72,11,100,1);
GfxSelectFont(\”Times New Roman\”, FS, 700, True );
GfxSetBkMode(0); // transparent
GfxSetTextColor( ColorHSB( 42, 42, 42 ) );
Hor=Param(\”Horizonta Position\”,615,1,1200,1);
Ver=Param(\”Vertica Position\”,152,1,830,1);
GfxTextOut(\”\”+C, Hor , Ver );
YC=TimeFrameGetPrice(\”C\”,inDaily,-1);
DD=Prec(C-YC,2);
xx=Prec((DD/YC)100,2); FS2=Param(\”Font Size2\”,35,11,100,1); GfxSelectFont(\”Times New Roman\”, FS2,11, 700, True ); GfxSetBkMode( colorBlack ); Hor1=Param(\”Horizontal Position\”,615,1,1200,1); Ver1=Param(\”Vertical Position\”,188,1,830,1); GfxSetTextColor( ColorHSB( 42, 42, 42 ) ); GfxTextOut(\”\”+DD+\” (\”+xx+\”%)\”, Hor1 , Ver1+45 ); } else {{ //Magfied Market Price fse=Param(\”Font Sizee\”,35,11,100,1); GfxSelectFont(\”Times New Roman\”, fse, 700, True ); GfxSetBkMode( colorGold ); GfxSetTextColor( ParamColor(\”Color\”,colorGold) ); Hora=Param(\”Horizontal Positiona\”,525,1,1200,1); Vera=Param(\”Vertical Positiona\”,17,1,830,1); GfxTextOut(\”\”+C, Hora , Vera ); YCa=TimeFrameGetPrice(\”C\”,inDaily,-1); DDa=Prec(C-YCa,2); xxa=Prec((DDa/YCa)100,2);
FSb=Param(\”Font Sizeb\”,16,11,100,1);
GfxSelectFont(\”Times New Roman\”,fsb, 700, True );
GfxSetBkMode( colorBlack );
GfxSetTextColor(ParamColor(\”Color\”,colorYellow) );
GfxTextOut(\”\”+DDa+\” (\”+xxa+\”%)\”, Hora , Vera+45 );
_SECTION_END();
}}
//====================================Start of Linear Regression Code==================================================================================
if(LinearRegression==1)
{
P = ParamField(\”Price field\”,-1);
Length = 150;
Daysback = Param(\”Period for Liner Regression Line\”,Length,1,240,1);
shift = Param(\”Look back period\”,0,0,240,1);
//=============================== Math Formula ========================================================================================================
x = Cum(1);
lastx = LastValue( x ) – shift;
aa = LastValue( Ref(LinRegIntercept( p, Daysback), -shift) );
bb = LastValue( Ref(LinRegSlope( p, Daysback ), -shift) );
y = Aa + bb * ( x – (Lastx – DaysBack +1 ) );
//==================Plot the Linear Regression Line ====================================================================================================
LRColor = ParamColor(\”LR Color\”, colorCycle );
LRStyle = ParamStyle(\”LR Style\”);
LRLine = IIf( x > (lastx – Daysback) AND BarIndex() < Lastx, y, Null );
LRStyle = ParamStyle(\”LR Style\”);
Angle = Param(\”Angle\”, 0.05, 0, 1.5, 0.01);// A slope higher than 0.05 radians will turn green, less than -0.05 will turn red and anything in between will be white.
LRLine = IIf( x > (lastx – Daysback) AND BarIndex() < Lastx, y, Null );
Pi = 3.14159265 * atan(1); // Pi
SlopeAngle = atan(bb)*(180/Pi);
LineUp = SlopeAngle > Angle;
LineDn = SlopeAngle < – Angle;
if(LineUp)
{
Plot(LRLine, \”Lin. Reg. Line Up\”, IIf(LineUp, colorBrightGreen, colorWhite), LRStyle);
}
else
{
Plot(LRLine, \”Lin. Reg. Line Down\”, IIf(LineDn, colorDarkRed, colorWhite), LRStyle);
}
//========================== Plot 1st SD Channel ======================================================================================================
SDP = Param(\”Standard Deviation\”, 1.5, 0, 6, 0.1);
SD = SDP/2;
width = LastValue( Ref(SD*StDev(p, Daysback),-shift) ); //Set width of inside chanels here.
SDU = IIf( x > (lastx – Daysback) AND BarIndex() < Lastx, y+width , Null ) ; SDL = IIf( x > (lastx – Daysback) AND BarIndex() < Lastx, y-width , Null ) ;
SDColor = ParamColor(\”SD Color\”, colorCycle );
SDStyle = ParamStyle(\”SD Style\”);
Plot( SDU , \”Upper Lin Reg\”, colorWhite,SDStyle ); //Inside Regression Lines
Plot( SDL , \”Lower Lin Reg\”, colorWhite,SDStyle ); //Inside Regression Lines
//========================== Plot 2d SD Channel ========================================================================================================
SDP2 = Param(\”2d Standard Deviation\”, 2.0, 0, 6, 0.1);
SD2 = SDP2/2;
width2 = LastValue( Ref(SD2*StDev(p, Daysback),-shift) ); //Set width of outside chanels here.
SDU2 = IIf( x > (lastx – Daysback) AND BarIndex() < Lastx, y+width2 , Null ) ; SDL2 = IIf( x > (lastx – Daysback) AND BarIndex() < Lastx, y-width2 , Null ) ;
SDColor2 = ParamColor(\”2 SD Color\”, colorCycle );
SDStyle2 = ParamStyle(\”2 SD Style\”);
Plot( SDU2 , \”Upper Lin Reg\”, colorWhite,SDStyle2 ); //OutSide Regression Lines
Plot( SDL2 , \”Lower Lin Reg\”, colorWhite,SDStyle2 ); //OutSide Regression Lines
Trend = IIf(LRLine > Ref(LRLine,-1),colorGreen,colorRed);//Changes LR line to green if sloping up and red if sloping down.
Plot( LRLine , \”LinReg\”, Trend, LRSTYLE );
//============================ End Indicator Code =========
}
_SECTION_BEGIN(\”Flower\”);
Show_color = ParamToggle(\”Display CandleColor\”, \”No|Yes\”, 1);
r1 = Param( \”ColorFast avg\”, 5, 2, 200, 1 );
r2 = Param( \”ColorSlow avg\”, 10, 2, 200, 1 );
r3 = Param( \”ColorSignal avg\”, 5, 2, 200, 1 );
Prd1=Param(\”ATR Period\”,4,1,20,1);
Prd2=Param(\”Look Back\”,7,1,20,1);
green = HHV(LLV(L,Prd1)+ATR(Prd1),Prd2);
red = LLV(HHV(H,Prd1)-ATR(Prd1),Prd2);
flowerClose = EMA((Open+High+Low+Close)/4,3) ;
flowerOpen = EMA((Ref(Open,-1) + Ref(flowerClose,-1))/2,3);
Temp = Max(High, flowerOpen);
flowerHigh = EMA(Max(Temp, flowerClose),3);
Temp = Min(Low,flowerOpen);
flowerLow = EMA(Min(Temp, flowerClose),3);
m1=MACD(r1,r2);
s1=Signal(r1,r2,r3);
mycolor=IIf(m1<0 AND m1>s1, colorYellow,IIf(m1>0 AND m1>s1,colorGreen,IIf(m1>0 AND m1<s1,colorCustom12,colorRed)));
if(Show_color)
{
ColorHighliter = myColor;
SetBarFillColor( ColorHighliter );
}
barColor=IIf(C>Green ,colorBrightGreen,IIf(C < RED,colorRed,colorWhite));
PlotOHLC( IIf(flowerOpen<flowerClose, flowerOpen, flowerClose),flowerHigh,flowerLow,IIf(flowerOpen<flowerClose, flowerClose, flowerOpen), \”Close\”, barColor, styleNoTitle | styleCandle);
_SECTION_END();
//* // Plot price horizontal line * //*/
_SECTION_BEGIN(\”Price Line\”);
PriceLineColor=ParamColor(\”PriceLineColor\”,ColorRGB(82,82,82));
PriceLevel = ParamField(\”PriceField\”, field = 3 );
Daysback = Param(\”Bars Back\”,100,10,500,1);
FirstBar = BarCount – DaysBack;
YY = IIf(BarIndex() >= Firstbar,EndValue(PriceLevel),Null);
Plot(YY,\”Current Price\”,PriceLineColor,ParamStyle(\”LineStyle\”,styleLine|styleDashed|styleNoTitle|styleNoLabel|styleThick,maskAll));
side = Param(\”side\”,1,0,1000,1);
dist = 0;
for( i = 0; i < BarCount; i++ )
{
if(i+side== BarCount) PlotText( \”\\n \” + PriceLevel[ i ], i, YY[ i ]-dist[i], colorLightBlue );
}
_SECTION_END();
_SECTION_BEGIN(\”Color_Me_Bad\”);
a =5; //Param(\”Average Pds\”, 5, 1, 10, 1 );
n =8; //Param(\”Short Pds\”, 8, 5, 21, 1 );
m =60; //Param(\”Long Pds\”, 60, 0, 90, 1 );
Var4 =(Low+High+2*Close)/4;
OP = EMA(Var4,a);
res1 = HHV(OP,n);
res2 =HHV(OP,m);
sup2 =LLV(OP,m);
sup1 =LLV(OP,n);
Linecolor1 = IIf(Op==sup1,ColorRGB(48,0,81),IIf(Op==res1,colorGreen,ColorRGB(80,80,80)));
Linecolor2 = IIf(Op==sup1,ColorRGB(38,0,60),IIf(Op==res1,colorGreen,colorDarkGrey));
Linecolor3 = IIf(Op==sup1,ColorRGB(27,0,70),IIf(Op==res1,colorGreen,ColorRGB(77,70,75)));
_SECTION_END();
_SECTION_BEGIN(\”ATR\”);
ParmCloud1 = ParamToggle(\”TrailingCloud\”, \”No|Yes\”, 1);
Pp1=Param(\”Ray_Period1\”,2,1,20,1); // or 4
Pp2=Param(\”ATR_Period1\”,3,1,20,1); // or 2
avgClose = EMA((Open+High+Low+Close)/4,3) ;
avgOpen = EMA((Ref(Open,-1) + Ref(avgClose,-1))/2,3);
Temp = Max(High, avgOpen);
avgHigh = EMA(Max(Temp, avgClose),3);
Temp = Min(Low,avgOpen);
avgLow = EMA(Min(Temp, avgClose),3);
Plot(HHV(LLV(avgHigh,Pp1)-ATR(Pp2),4),\”\”,Linecolor1 ,ParamStyle(\”styleLine 1\”,styleLine|styleThick|styleNoTitle|styleNoLabel,maskAll));
Plot(HHV(LLV(avgHigh,Pp1)-ATR(Pp2),5),\”\”,Linecolor2 ,ParamStyle(\”styleLine 2\”,styleLine|styleThick|styleNoTitle|styleNoLabel,maskAll));
Plot(HHV(LLV(avgHigh,Pp1)-ATR(Pp2),6),\”\”,Linecolor1 ,ParamStyle(\”styleLine 3\”,styleLine|styleThick|styleNoTitle|styleNoLabel,maskAll));
Plot(HHV(LLV(avgHigh,Pp1)-ATR(Pp2),7),\”\”,Linecolor1 ,ParamStyle(\”styleLine 4\”,styleLine|styleThick|styleNoTitle|styleNoLabel,maskAll));
CS33=HHV(LLV(avgHigh,Pp1)-ATR(Pp2),4);
CR33=HHV(LLV(avgHigh,Pp1)-ATR(Pp2),5);
CT33=HHV(LLV(avgHigh,Pp1)-ATR(Pp2),6);
CM33=HHV(LLV(avgHigh,Pp1)-ATR(Pp2),7);
if(parmCloud1 == 1)
{
PlotOHLC( CS33, CS33, CR33,CR33, \”Band1\”, LineColor1, styleCloud | styleNoLabel|styleNoTitle);
PlotOHLC( CR33, CR33, CT33, CT33, \”Band2\”, LineColor2, styleCloud | styleNoLabel|styleNoTitle);
PlotOHLC( CR33, CR33, CM33, CM33, \”Band3\”, LineColor3, styleCloud | styleNoLabel|styleNoTitle);
}
_SECTION_END();
_SECTION_BEGIN(\”Bands\”);
SupResB =Param(\”Sup-Res Short\”,6,0,100,1);
nn=SupResB;
Bandlinecol=ParamColor(\”SupResLineColor\”,ColorRGB(82,82,82));
ParmCloud = ParamToggle(\”Cloud\”, \”No|Yes\”, 0);
BoxCloudColor=ParamColor(\”BoxCloudColor\”,ColorRGB(27,27,27));
Line2=Param(\”ResLineLength\”,100,2,500,0.1);
Daysback1 = Line2;
FirstBar1 = BarCount – DaysBack1;
Hh=HHV(flowerHigh,nn);
LL=LLV(flowerLow,nn);
Res2=Hh;
Sup2=LL;
BandRes=IIf(BarIndex() >= Firstbar1,EndValue(Res2),Null);
BandSup=IIf(BarIndex() >= Firstbar1,EndValue(Sup2),Null);
Plot(BandRes,\”\”,Bandlinecol,ParamStyle(\”ShortSupBand\”,styleLine|styleDashed|stylehidden|styleNoTitle|styleNoLabel|styleThick,maskAll));
Plot(BandSup,\”\”,Bandlinecol,ParamStyle(\”ShortResBand\”,styleLine|styleDashed|stylehidden|styleNoTitle|styleNoLabel|styleThick,maskAll));
CS=BandRes;
CR=BandSup;
if(parmCloud == 1)
{
PlotOHLC( CS, CS, CR,CR, \”Band\”,BoxCloudColor, styleCloud | styleNoLabel|styleNoTitle);
}
_SECTION_END();
_SECTION_BEGIN(\”TSKPPIVOT4\”);
CHiPr = 0;
CLoPr = 9999999;
blsLong = 0;
PrevCOBar = 0;
NumBars = 0;
PrePP = 0;
PrevLowVal = 9999999;
BuySig = 0;
blsShort = 0;
PrevHiVal = 0;
blsNewCO = 0;
BarDif = 0;
KPA900Val = MA(C,10);
KPAutoStopVal = IIf(High,Low,Close);
// — Create 0-initialized arrays the size of barcount
aHPivs = H – H;
aLPivs = L – L;
aHiVal = H – H;
aLoVal = L – L;
Ctmpl=Param(\”Ctmpl\”,45,1,20,1);
tskp_colortmplcnd0=colorTan;
tskp_colortmplcnd1=colorWhite;
tskp_colortmplcnd2=colorTan;
tskp_colortmplcnd3=colorWhite;
tskp_colortmplcnd4=colorTan;
tskp_colortmplcnd5=colorWhite;
tskp_colortmplcnd6=colorTan;
tskp_colortmplcnd7=colorWhite;
tskp_colortmplcnd8=colorTan;
sctotal = 0;
sctotal = sctotal + IIf(tskp_colortmplcnd0 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd1 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd2 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd3 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd4 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd5 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd6 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd7 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd8 > 0, 1, -1);
for (curBar=0; curBar < BarCount-1; curBar++)
{
if ( curBar == 0 ) { CHiPr = flowerHigh[curBar]; CHiBar = curBar; CLoPr = flowerLow[curBar]; CLoBar = curBar; blsLong = 0; blsShort = 0; blsNewCO = 0; PrePP = 0; PrevCOBar = 0; PrevHiVal =flowerHigh[curBar]; PrevLowVal = flowerLow[curBar]; BuySig = 0; SellSig = 0; blsLL = 0; } if (flowerHigh[CurBar] >= CHiPr) { CHiPr = flowerHigh[CurBar]; ChiBar = CurBar; } if (flowerLow[CurBar] <= CLoPr) { CLoPr = flowerLow[CurBar]; CLoBar = CurBar; } if ( (KPA900Val[curBar] >= KPAutoStopVal[curbar]) AND (PrePP != -1) AND (blsLong != 1) ){ BarDif = CurBar - PrevCOBar; if (BarDif >= NumBars) { blsLong = 1; blsShort = 0; blsNewCO = 1; PrevCOBar = CurBar; } } if ( (KPA900Val[curBar] <= KPAutoStopVal[curbar]) AND (PrePP != 1) AND (blsShort != 1) ){ BarDif = CurBar - PrevCOBar; if (BarDif >= NumBars) { blsLong = 0; blsShort = 1; blsNewCO = 1; PrevCOBar = CurBar; } } if ( (blsNewCO == 1) AND (sctotal[CurBar] >= 5) AND (blsLong == 1) ) { LVal = CurBar - CLoBar; for (j= CLoBar-1; j <= CLoBar+1; j++) { if (j >=0) { aLPivs[j] = 1; aLoVal[j] = CLoPr; } } PrePP = -1; blsNewCO = 0; CHiPr = flowerHigh[CurBar]; CHiBar = CurBar; CLoPr = flowerLow[Curbar]; CLoBar = CurBar; } else if ((blsNewCO == 1) AND (sctotal[CurBar] <= -5) AND (blsShort == 1) ) { HVal = CurBar - CHiBar; for (j= CHiBar-1; j <= CHiBar+1; j++) { if (j >=0) { aHPivs[j] = 1; aHiVal[j] = CHiPr; } } PrePP = 1; blsNewCO = 0; CHiPr = flowerHigh[CurBar]; CHiBar = CurBar; CLoPr = flowerLow[Curbar]; CLoBar = CurBar; }
}
PlotShapes(
IIf(aHPivs == 1,shapeHollowSmallCircle,shapeNone),colorYellow ,0, aHiVal+0.05, offset = 5);
PlotShapes(
IIf(aLPivs == 1,shapeHollowSmallCircle,shapeNone), colorPink,0, aLoVal-0.05, Offset = -5);
_SECTION_END();
_SECTION_BEGIN(\”SupRes_Short\”);
supresshortcolor=ParamColor(\”SupResShort\”,ColorRGB(82,82,82));
//this is for short term support line
TimeFrameSet(inWeekly);
ShortSupLenght=Param( \”ShortResistLength\”, 4, 1, 55 ,1);
ShortSupCond1=HHV(High,ShortSupLenght);
ShortSupCond2=CloseRef(ShortSupCond2,-1),1,IIf(H<Ref(ShortSupCond1,-1),-1,0));
ShortSupB=ValueWhen(ShortSupA!=0,ShortSupA,1);
ShortSupResult=IIf(ShortSupB==1,ShortSupCond1,ShortSupCond2);
TimeFrameRestore();
FinalShortSup=TimeFrameExpand(ShortSupResult,inWeekly,expandFirst);
Plot(FinalShortSup ,\”ShortResistance\”,supresshortcolor,styleLine|styleStaircase|styleThick|styleNoRescale|styleNoLabel|styleNoTitle);
//this is for short term resistance line
TimeFrameSet(inWeekly);
ShortResLenght=Param( \”ShortSupportLenght\”, 4, 1, 55 ,1);
ShortResCond1=Close>Ref(HHV(High,4),-1);
ShortResCond2=LLV(Low,ShortResLenght);
ShortResA=IIf(H>Ref(ShortResCond1,-1),1,IIf(L<Ref(ShortResCond2,-1),-1,0));
ShortResB=ValueWhen(ShortResA!=0,ShortResA,1);
ShortResResult=IIf(ShortResB==1,ShortResCond2,ShortResCond1);
TimeFrameRestore();
FinalShortRes=TimeFrameExpand(ShortResResult,inWeekly,expandFirst);
Plot(FinalShortRes ,\”ShortSupport\”,supresshortcolor,styleLine|styleThick|styleStaircase|styleNoRescale|styleNoLabel|styleNoTitle);
CS=FinalShortSup;
CR=FinalShortRes;
Step = (CR-CS)/4;
KC = CS + Step;
KB = KC + Step;
KA = KB + Step;
CloudColor1 = ParamColor(\”CloudColor1\”,ColorRGB(128,31,17));
CloudColor2 = ParamColor(\”CloudColor2\”,ColorRGB(139,139,0));
CloudColor3 = ParamColor(\”CloudColor3\”,ColorRGB(1,70,1));
CloudColor4 = ParamColor(\”CloudColor4\”,ColorRGB(41,105,05));
PlotOHLC( CS, CS, KC,KC, \”Band\”, CloudColor1, styleCloud | styleNoLabel|styleNoTitle|styleNoRescale);
PlotOHLC( KC, KC, KB,KB, \”Band\”, CloudColor2, styleCloud | styleNoLabel|styleNoTitle|styleNoRescale);
PlotOHLC( KB, KB, KA,KA, \”Band\”, CloudColor3, styleCloud | styleNoLabel|styleNoTitle|styleNoRescale);
PlotOHLC( KA, KA, CR,CR, \”Band\”, CloudColor4, styleCloud | styleNoLabel|styleNoTitle|styleNoRescale);
_SECTION_END();
_SECTION_BEGIN(\”SupRes_Long\”);
supreslongcolor=ParamColor(\”SupReslong\”,ColorRGB(0,0,234));
//this is for long term resistance line
TimeFrameSet(inWeekly);
LongResLength=Param( \”ResistanceLength\”, 30, 1, 55 ,1);
LongResCond1=HHV(H,LongResLength);
LongResCond2=CloseRef(LongResCond2,-1),1,IIf(H<Ref(LongResCond1,-1),-1,0));
LongResB=ValueWhen(LongResA!=0,LongResA,1);
LongResResult=IIf(LongResB==1,LongResCond1,LongResCond2);
TimeFrameRestore();
FinalResResult=TimeFrameExpand(LongResResult,inWeekly,expandFirst);
Plot(FinalResResult ,\”Resistance\”,supreslongcolor,styleLine|styleThick|styleNoRescale|styleNoLabel|styleNoTitle);
//this is for long term support line
TimeFrameSet(inWeekly);
LongSupLenght=Param( \”SupportLenght\”, 30, 1, 55 ,1);
LongSupCond1=Close>Ref(HHV(High,4),-1);
LongSupCond2=LLV(Low,LongSupLenght);
LongSupA=IIf(H>Ref(LongSupCond1,-1),1,IIf(L<Ref(LongSupCond2,-1),-1,0));
LongSupB=ValueWhen(LongSupA!=0,LongSupA,1);
LongSupResult=IIf(LongSupB==1,LongSupCond2,LongSupCond1);
TimeFrameRestore();
FinalSupResult=TimeFrameExpand(LongSupResult,inWeekly,expandFirst);
Plot(FinalSupResult ,\”Support\”,supreslongcolor,styleLine|styleThick|styleNoRescale|styleNoLabel|styleNoTitle);
CloudResColor=ParamColor(\”LongColor\”,ColorRGB(0,0,45));
CS1=FinalResResult;
CR1=FinalSupResult;
PlotOHLC( CS1, CS1, CR1,CR1, \"\", CloudResColor, styleCloud |styleStaircase|styleNoRescale| styleNoLabel|styleNoTitle);
_SECTION_END();
_SECTION_BEGIN(\”PanDora\”);
///////////////////////////////////
Title =
EncodeColor(colorWhite)+ Title = Name () + \” | \”
+EncodeColor(colorYellow) + Date() + \” | \”
+EncodeColor(colorTurquoise)+ \”Open : \”+ EncodeColor(colorLightGrey)+ O + \” | \”
+EncodeColor(colorTurquoise)+ \”High : \”+ EncodeColor(colorLightGrey)+ H + \” | \”
+EncodeColor(colorTurquoise)+ \”Low : \”+ EncodeColor(colorLightGrey)+ L + \” | \”
+EncodeColor(colorTurquoise)+ \”Close : \”+ WriteIf(C> Ref(C, -1),EncodeColor(colorBrightGreen),EncodeColor(colorRed))+ C + \” | \”
+EncodeColor(colorTurquoise)+ \”Change : (\”+ WriteIf(C> Ref(C, -1),EncodeColor(colorBrightGreen),EncodeColor(colorRed)) + WriteVal(C-Ref(C,-1))+\” Tk.\”
+EncodeColor(colorTurquoise)+ \” /\”+ WriteIf(C> Ref(C, -1),EncodeColor(colorBrightGreen),EncodeColor(colorRed))+ WriteVal( ROC( C, 1 ))+\”\”+ \” % \”
+EncodeColor(colorTurquoise)+ \”) | Volume : \” + WriteIf(V> Ref(V, -1),EncodeColor(colorBrightGreen),EncodeColor(colorRed))+ WriteVal(V,1)
;
/////////////////////////////////////////////////////////
// //
// General Market Exploration by XeL //
// //
// Ver: 1.00.beta //
// //
// Free to Distribute under LGPL 2012 . //
// Portions of Code are property of their original //
// authors, Cleaning, some new code and Preparation //
// are derived by @XeL_Arjona. //
// Some Original Code credits: //
// //
// * Volume Price Analysis by Karthikmarar //
// http://vpanalysis.blogspot.mx/ //
// //
// * Jurik Research DMX (Free) //
// http://jurikres.com/catalog/ms_dmx.htm //
// //
// * Extract of some exploration Methodology //
// by Manish. //
// //
// //
/////////////////////////////////////////////////////////
/////////////////
// AFL START //
/////////////////
//_SECTION_BEGIN(\”VPA, Momentum & Signal Explorer by XeL\”);
//////////////////////
// Main Variables //
//////////////////////
// Count Index value for TrendScore
i = 0;
// Display Colors
// Main Color
Color_buy = colorLime ;
Color_bull = colorGreen ;
Color_bull1 = colorDarkYellow ;
Color_bear1 = colorLightOrange ;
Color_bear = colorOrange ;
Color_sell = colorRed ;
Color_prev = colorGold ;
Color_acc = colorPaleTurquoise ;
Color_null = colorLightGrey ;
// Background Colors
BColor_vpa = colorBlack ;
BColor_mas = colorDefault ;
BColor_mam = colorDefault ;
BColor_mal = colorDefault ;
// Alternate Colors
Color_acc1 = colorBlueGrey ;
// 52 High Low
High52 = HHV(High,250);
Low52 = LLV(Low,250);
// T3 Function
function T3(price,periods)
{
s = 0.84;
e1=EMA(price,periods);
e2=EMA(e1,Periods);
e3=EMA(e2,Periods);
e4=EMA(e3,Periods);
e5=EMA(e4,Periods);
e6=EMA(e5,Periods);
c1=-sss;
c2=3ss+3sss; c3=-6ss-3s-3sss; c4=1+3s+sss+3ss;
Ti3=c1e6+c2e5+c3e4+c4e3;
return ti3;
}
////////////////////////////////////////////////
// Time to Date % Change and Beta Correlation //
////////////////////////////////////////////////
_SECTION_BEGIN(\”P/L % Change over Time with Beta Correlation\”);
// PARAMETERS
TtD_Param = ParamList(\”Period\”,\”Day to Date|Week to Date|Month to Date|Year to Date\”,0);
IDX_Param = ParamStr(\”Reference Market Index Symbol\”,\”$IME-MEX\”);
// VARIABLES
FDayMonth = BarsSince(Month() != Ref(Month(),-1));
FDayYear = BarsSince(Year() != Ref(Year(),-1));
TtD_Period = IIf(TtD_Param == \”Day to Date\”,1,
IIf(TtD_Param == \”Week to Date\”,DayOfWeek(),
IIf(TtD_Param == \”Month to Date\”,FDayMonth,
IIf(TtD_Param == \”Year to Date\”,FDayYear,0))));
IDX_Close = Foreign(IDX_Param,\”Close\”);
// FORMULA
// P/L % Change
TtD_Change = 100 * (Close – Ref(Close, -TtD_Period) ) / Ref(Close, -TtD_Period);
// Beta Correlation in Time from Index
Beta = (( TtD_Period * Sum(ROC( C,1) * ROC(IDX_Close,1),TtD_Period )) –
(Sum(ROC(C,1),TtD_Period) *
Sum(ROC( IDX_Close,1),TtD_Period))) /
((TtD_Period * Sum((ROC(IDX_Close,1)^2 ),TtD_Period)) –
(Sum(ROC(IDX_Close,1 ),TtD_Period)^2 ));
_SECTION_END();
///////////////////////////
// Volume Price Analysis //
///////////////////////////
_SECTION_BEGIN(\”Volume Price Analysis\”);
// FORMULA
SetChartOptions(0,chartShowArrows|chartShowDates);
DTL=Param(\”Linear regression period\”,60,10,100,10);
wbf=Param(\”WRB factor\”,1.5,1.3,2.5,.1);
nbf=Param(\”NRB factor\”,0.7,0.3,0.9,0.1);
TL=LinRegSlope(MA(C, DTL),2);
Vlp=Param(\”Volume lookback period\”,30,20,300,10);
Vrg=MA(V,Vlp);
St = StDev(Vrg,Vlp);
Vp3 = Vrg + 3st; Vp2 = Vrg + 2st;;
Vp1 = Vrg + 1st;; Vn1 = Vrg -1st;
Vn2 = Vrg -2st; rg=(H-L); arg=Wilders(rg,30); wrb=rg>(wbfarg);
nrb=rg<(nbf*arg); Vl=VRef(C,-1);
dnbar=CRef(V,-1) AND Ref(V,-1)>Ref(V,-2);
Cloc=C-L;
x=rg/Cloc;
x1=IIf(Cloc=0,arg,x);
Vb=V>Vrg OR V>Ref(V,-1);
ucls=x1<2; dcls=x1>2;
mcls=x1<2.2 AND x1>1.8 ;
Vlcls=x1>4;
Vhcls=x1<1.35; j=MA(C,5); TLL=LinRegSlope(j,40) ; Tlm=LinRegSlope(j,15) ; tls=LinRegSlope(j,5); mp=(H+L)/2; // VOLUME VARIABLES // TrendScore Count IIf( V>Vp2, i+3,i);
IIf( V>Vp1, i+2,i);
IIf( V>VRG, i+1,i);
// Indicators
VPAv_Status = WriteIf( V>Vp2, \”VERY HIGH\”,
WriteIf( V>Vp1, \”High\”,
WriteIf( V>Vrg, \”Above Average\”,
WriteIf( VVn1, \”Less than Average\”,
WriteIf( VVp2, Color_buy,
IIf( V>Vp1, Color_bull,
IIf( V>Vrg, Color_bull1,
IIf( VVn1, Color_bear,
IIf( V<Vn1, Color_sell, Color_null )))));
// SPREAD VARIABLES
// Indicators
IIf( rg>(arg2), i+2,i); IIf( rg>arg, i+1,i); VPAs_Status = WriteIf( rg>(arg2), \”Wide\”,
WriteIf( rg>arg, \”Above Average\”,\”Narrow\”));
VPAs_Color = IIf( rg>(arg*2), Color_buy,
IIf( rg>arg, Color_bull,Color_bear));
// CLOSE VARIABLES
// TrendScroe Count
IIf( Vhcls, i+2,i);
IIf( ucls, i+1,1);
// Indicators
VPAc_Status = WriteIf( Vhcls, \”VERY HIGH\”,
WriteIf( ucls, \”High\”,
WriteIf( mcls, \”Mid\”,
WriteIf( dcls, \”Down\”,\”VERY LOW\”))));
VPAc_Color = IIf( Vhcls, Color_buy,
IIf( ucls, Color_bull,
IIf( mcls, Color_bull1,
IIf( dcls, Color_bear,Color_sell))));
// VOLUME ZONE
// FORMULA
C1 = Ref(C, -1);
uc = C > C1; dc = C <= C1; ud = C > O; dd = C <= O; green = 1; blue = 2; yellow = 3; red = 4; white = 5; VType = IIf(ud, IIf(uc, green, yellow), IIf(dd, IIf(dc, red, blue), white)); /* green volume: up-day and up-close/ gv = IIf(VType == green, V, 0); / yellow volume: up-day but down-close / yv = IIf(VType == yellow, V, 0); / red volume: down-day and down-close / rv = IIf(VType == red, V, 0); / blue volume: down-day but up-close / bv = IIf(VType == blue, V, 0); uv = gv + bv; uv1 = Ref(uv, -1); / up volume / dv = rv + yv; dv1 = Ref(dv, -1); / down volume */ VolPer = Param(\”Adjust Vol. MA per.\”, 34, 1, 255, 1);//12 ConvPer = Param(\”Adjust Conv. MA per.\”, 9, 1, 255, 1);//6 MAuv = TEMA(uv, VolPer ); mauv1 = Ref(mauv, -1); MAdv = TEMA(dv, VolPer ); madv1 = Ref(madv, -1); MAtv = TEMA(V, VolPer );//total volume Converge = (TEMA(MAuv – MAdv, ConvPer)); Converge1 = Ref(Converge, -1); ConvergeUp = Converge > Converge1;
ConvergeOver = Converge > 0;
rising = ConvergeUp AND ConvergeOver;
falling = !ConvergeUp AND ConvergeOver;
// VOLUME ZONE
// VARIABLES
// TrendScore Count
IIf( rising, i+1,i);
// Indicators
VPAz_Status = WriteIf(rising,\”Accumulation\”,
WriteIf(falling,\”Distribution\”,\”Flat\”));
VPAz_Color = IIf(rising,Color_acc,
IIf(falling,Color_prev,Color_null));
// VOLUME STATUS
// PARAMETERS
Pp1=Param(\”Number Of Days\”,30,1,200,1);
Pp2=Param(\”Volume Of Days\”,15,1,200,1);
// FORMULA
numDays = Pp1;
dwWideSpread = 1.8;
dwNarrowSpread = 0.8;
dwSpreadMiddle = 0.5;
dwHighClose = 0.7;
dwLowClose = 0.3;
volNumDays = Pp2;
dwUltraHighVol = 2;
dwVeryHighVol = 1.75; // was 1.8
dwHighVol = 1.75; // was 1.8
dwmoderateVol = 1.10; // was 1.8
dwLowVol = 0.75; // was 0.8
/* Classify each bar… */
upBar = C > Ref(C,-1);
downBar = C < Ref(C,-1); spread = H-L; avgRange = Sum(spread, numDays) / numDays; wideRange = spread >= (dwWideSpread * avgRange);
narrowRange = spread <= (dwNarrowSpread * avgRange); testHighClose = L + (spread * dwHighClose); testLowClose = L + (spread * dwLowClose); testCloseMiddle = L + (spread * dwSpreadMiddle); upClose = C > testHighClose;
downClose = C < testLowClose; middleClose = C >= testLowClose AND C <= testHighClose; avgVolume = EMA(V, volNumDays); highVolume = V > (avgVolume * dwHighVol);
moderateVol= V > (avgVolume * dwmoderateVol);
veryHighVolume = V > (avgVolume * dwVeryHighVol);
ultraHighVolume = V > (avgVolume * dwUltraHighVol);
LowVolume = V < (avgVolume * dwLowVol); /* direction AND Title / / Basic patterns… / upThrustBar = downClose AND H > Ref(H,-1) AND (C == L) AND downClose AND (NOT narrowRange); noDemandBar = narrowRange AND LowVolume AND upBar AND (NOT upClose); //noDemandBar = narrowRange AND LowVolume AND upBar AND (V < Ref(V,-1)) AND (V < Ref(V,-2)); noSupplyBar = narrowRange AND LowVolume AND downBar AND (V < Ref(V,-1)) AND (V < Ref(V,-2)); absorption = Ref(downbar, -1) AND Ref(highVolume, -1) AND upBar; support = Ref(downBar,-1) AND (NOT Ref(downClose,-1)) AND Ref(highVolume,-1) AND upBar; stoppingVolume = Ref(downBar,-1) AND Ref(highVolume,-1) AND C > testCloseMiddle AND (NOT downBar); bullishsign=moderateVol+UpThrustBar;//OR moderateVol+upBar; //rallyEnd = (Ref(highVolume,-1) AND Ref(upBar,-1) AND wideRange AND downBar) OR // (narrowRange AND highVolume AND H > Ref(HHV(H, 250), -1)); / Strength AND Weakness */ weakness = upThrustBar OR noDemandBar OR (narrowRange AND (H > Ref(H,-1)) AND highVolume) OR
(Ref(highVolume,-1) AND Ref(upBar,-1) AND downBar AND (H < Ref(H,-1)));
// VARIABLES
// TrendScore Count
IIf( bullishsign, i+3,i);
IIf( upThrustBar, i+2,i);
IIf( absorption, i+1,i);
// Indicators
VPAst_Status = WriteIf(Weakness,\”W e a k\”,
WriteIf(StoppingVolume,\”Stopping Volume\”,
WriteIf(noSupplyBar,\”No Supply\”,
WriteIf(support,\”Support\”,
WriteIf(noDemandBar,\”No Demand\”,
WriteIf(absorption,\”Absorption\”,
WriteIf(upThrustBar,\”Up Thrust\”,
WriteIf(bullishsign,\”-=STRONG=-\”,\”Neutral\”))))))));
VPAst_Color = IIf(Weakness,Color_sell,
IIf(StoppingVolume,Color_bear,
IIf(noSupplyBar,Color_bear1,
IIf(support,Color_bear,
IIf(noDemandBar,Color_prev,
IIf(absorption,Color_bull1,
IIf(upThrustBar,Color_bull,
IIf(bullishsign,Color_buy,Color_null))))))));
_SECTION_END();
//////////////////////////
// EMA Terms and Trend //
//////////////////////////
_SECTION_BEGIN(\”EMA Short, Mid and Long Terms and Trend\”);
// PARAMETERS
EMAs1Pds = Param(\”1st. Short Term Period\”,9,5,14,1);
EMAs2Pds = Param(\”2nd. Short Term Period\”,20,15,45,1);
EMAmPds = Param(\”Mid Term Period\”,50,46,90,1);
EMAlPds = Param(\”Long Term Perdiod\”,200,100,300,1);
// FORMULA
// EMA Short term signals
EMAsBuy = Cross(EMA(C,EMAs1Pds), EMA(C,EMAs2Pds));
EMAsSell = Cross(EMA(C,EMAs2Pds),EMA(C,EMAs1Pds));
EMAsBuy = ExRem(EMAsBuy, EMAsSell);
EMAsSell = ExRem(EMAsSell, EMAsBuy);
EMAsBull = EMA(C,EMAs1Pds) > EMA(C,EMAs2Pds);
EMAsBear = EMA(C,EMAs1Pds) < EMA(C,EMAs2Pds); // EMA Mid term signals EMAmBuy = Cross(EMA(C,(EMAs1Pds+EMAs2Pds)/2), EMA(C,EMAmPds)); EMAmSell = Cross(EMA(C,EMAmPds), EMA(C,(EMAs1Pds+EMAs2Pds)/2)); EMAmBuy = ExRem(EMAmBuy, EMAmSell); EMAmSell = ExRem(EMAmSell, EMAmBuy); EMAmBull = C > EMA(C,EMAmPds);
EMAmBear = C < EMA(C,EMAmPds); // EMA Long term signals EMAlBuy = Cross(EMA(C,EMAmPds), EMA(C,EMAlPds)); EMAlSell = Cross(EMA(C,EMAlPds), EMA(C,EMAmPds)); EMAlBuy = ExRem(EMAlBuy, EMAlSell); EMAlSell = ExRem(EMAlSell, EMAlBuy); EMAlBull = C > EMA(C,EMAlPds);
EMAlBear = C < EMA(C,EMAlPds); // EMA Positional Price Trend (Long-Term) EMA_rc = C > EMA (C,EMAmPds) AND C < EMA(C,EMAlPds) AND EMA(C,EMAmPds) < EMA(C,EMAlPds); EMA_ac = C > EMA (C,EMAmPds) AND C > EMA(C,EMAlPds) AND EMA(C,EMAmPds) < EMA(C,EMAlPds); EMA_bl = C > EMA (C,EMAmPds) AND C > EMA(C,EMAlPds) AND EMA(C,EMAmPds) > EMA(C,EMAlPds);
EMA_pr = C < EMA (C,EMAmPds) AND C > EMA(C,EMAlPds) AND EMA(C,EMAmPds) > EMA(C,EMAlPds);
EMA_ds = C < EMA (C,EMAmPds) AND C < EMA(C,EMAlPds) AND EMA(C,EMAmPds) > EMA(C,EMAlPds);
EMA_br = C < EMA (C,EMAmPds) AND C < EMA(C,EMAlPds) AND EMA(C,EMAmPds) < EMA(C,EMAlPds);
// VARIABLES
// TrendScore Count
IIf(EMAsBuy,i+1,i);
IIf(EMAmBuy,i+1,i);
IIf(EMAlBuy,i+1,i);
IIf(EMA_rc,i+3,i);
IIf(EMA_ac,i+2,i);
IIf(EMA_bl,i+1,1);
EMAs_Status = WriteIf(EMAsBuy, \”-=BUY=-\”,
WriteIf(EMAsSell, \”-=SELL=-\”,
WriteIf(EMAsBull, \”Bullish\”,
WriteIf(EMAsBear, \”Bearish\”,\”Neutral\”))));
EMAs_Color = IIf(EMAsBuy, Color_buy,
IIf(EMAsBull, Color_bull,
IIf(EMAsBear, Color_bear,
IIf(EMAsSell, Color_sell,Color_null))));
EMAm_Status = WriteIf(EMAmBuy, \”-=BUY=-\”,
WriteIf(EMAmSell, \”-=SELL=-\”,
WriteIf(EMAmBull, \”Bullish\”,
WriteIf(EMAmBear, \”Bearish\”,\”Neutral\”))));
EMAm_Color = IIf(EMAmBuy, Color_buy,
IIf(EMAmBull, Color_bull,
IIf(EMAmBear, Color_bear,
IIf(EMAmSell, Color_sell,Color_null))));
EMAl_Status = WriteIf(EMAlBuy, \”-=BUY=-\”,
WriteIf(EMAlSell, \”-=SELL=-\”,
WriteIf(EMAlBull, \”Bullish\”,
WriteIf(EMAlBear, \”Bearish\”,\”Neutral\”))));
EMAl_Color = IIf(EMAlBuy, Color_buy,
IIf(EMAlBull, Color_bull,
IIf(EMAlBear, Color_bear,
IIf(EMAlSell, Color_sell,Color_null))));
EMAp_Status = WriteIf(EMA_rc, \”RECOVERY\”,
WriteIf(EMA_ac, \”Accumulation\”,
WriteIf(EMA_bl, \”Bullish\”,
WriteIf(EMA_pr, \”Preventive\”,
WriteIf(EMA_ds, \”Distribution\”,
WriteIf(EMA_br, \”Bearish\”,\”Neutral\”))))));
EMAp_Color = IIf(EMA_rc, Color_buy,
IIf(EMA_ac, Color_acc1,
IIf(EMA_bl, Color_bull,
IIf(EMA_pr, Color_prev,
IIf(EMA_ds, Color_bear1,
IIf(EMA_br, Color_bear,Color_null))))));
_SECTION_END();
////////////////////////
// Initial Buy signal //
////////////////////////
_SECTION_BEGIN(\”IBuy Signal\”);
// FORMULA
I_buy = Cross(RSI(14), EMA(RSI(14),9));
I_sell = Cross(EMA(RSI(14),9), RSI(14));
I_buy = ExRem(I_buy, I_sell);
I_sell = ExRem(I_sell, I_buy);
I_bull = RSI(14) > EMA(RSI(14),9);
I_bear = RSI(14) < EMA(RSI(14),9);
// VARIABLES
// TrendScore Count
IIf(I_buy,i+2,i);
IIf(I_bull,i+1,i);
// Indicators
I_Status = WriteIf(I_buy,\”-=BUY=-\”,
WriteIf(I_bull,\”Bullish\”,
WriteIf(I_bear,\”Bearish\”,
WriteIf(I_sell,\”-=SELL=-\”,\”Neutral\”))));
I_Color = IIf(I_buy,Color_buy,
IIf(I_bull,Color_bull,
IIf(I_bear,Color_bear,
IIf(I_sell,Color_sell,Color_null))));
_SECTION_END();
/////////////////////
// Price Smoothing //
/////////////////////
_SECTION_BEGIN(\”T3 Price Smoothing Signal\”);
// FORMULA
T3_buy = Cross (T3(C,3), T3(C,5));
T3_sell = Cross (T3(C,5), T3(C,3));
T3_buy = ExRem(T3_buy, T3_sell);
T3_sell = ExRem(T3_sell, T3_buy);
// VARIABLES
// TrendScore Count
IIf(T3_buy,i+1,i);
// Indicators
T3_Status = WriteIf(T3_buy,\”-=BUY=-\”,
WriteIf(T3_sell,\”-=SELL=-\”,\”Neutral\”));
T3_Color = IIf(T3_buy,Color_buy,
IIf(T3_sell,Color_sell,Color_null));
_SECTION_END();
////////////////////
// Bollinger Band //
////////////////////
_SECTION_BEGIN(\”Bollinger Bands\”);
// FORMULA
BB1 = C>BBandTop(C,20,2) AND Ref(C,-1)Ref(BBandBot(C,20,2),-1);
// VARIABLES
// TrendScore Count
IIf(BB1,i+1,i);
// Indicators
BB_Status = WriteIf(BB1,\”Above Top\”,
WriteIf(BB2,\”Below Bottom\”,
WriteIf(IsNull(MA(C,20)),\”N/A\”,\”Neutral\”)));
BB_Color = IIf(BB1,Color_bull,
IIf(BB2,Color_bear,Color_null));
_SECTION_END();
//////////
// MACD //
//////////
_SECTION_BEGIN(\”MACD Signal\”);
// FORMULA
MACDBull = MACD(12,26)>Signal(12,26,9);
// VARIABLES
// TrendScore Count
IIf(MACDBull,i+1,i);
// Indicators
MACD_Status = WriteIf(MACDBull,\”Bullish\”,
WriteIf(IsNull(MACD(12,26)),\”N/A\”,\”Bearish\”));
MACD_Color = IIf(MACDBull,Color_bull,
IIf(IsNull(MACD(12,26)),Color_null,Color_bear));
_SECTION_END();
/////////////////
// RSI of MACD //
/////////////////
_SECTION_BEGIN(\”RSI of MACD Signal\”);
// PARAMETERS
RSItPds=Param(\”Period\”,14,7,33,1);
RSItOb_Parm=Param(\”OverBought Level\”,70,-200,200,5);
RSItOs_Parm=Param(\”OverSold Level\”,30,-200,200,5);
// FORMULA
Var=MACD();
Up=IIf(Var>Ref(Var,-1),abs(Var-Ref(Var,-1)),0);
Dn=IIf(Var Ref(RSIt,-1);
//RSItOs = RSIt < RSItOs_Parm AND RSIt < Ref(RSIt,-1); //RSItNu = RSIt < RSItOs_Parm AND RSIt > RSItOb_Parm AND RSIt > Ref(RSIt,-1);
//RSItNd = RSIt < RSItOs_Parm AND RSIt > RSItOb_Parm AND RSIt < Ref(RSIt,-1); //RSItOb = RSIt < RSItOb_Parm AND RSIt > Ref(RSIt,-1);
//RSItSell = RSIt < RSItOb_Parm AND RSIt < Ref(RSIt,-1); RSItOs = RSIt < RSItOs_Parm; RSItOb = RSIt > RSItOb_Parm;
// VARIABLES
// TrendScore Count
IIf(RSItOs, i+1,i);
// Indicators
RSIt_Status = WriteIf(RSItOs,\”OverSold\”,
WriteIf(RSItOb,\”OverBought\”,\”In Range\”));
RSIt_Color = IIf(RSItOs,Color_bull,
IIf(RSItOb,Color_sell,Color_null));
_SECTION_END();
///////////
// Aroon //
///////////
//_SECTION_BEGIN(\”AROON Signal\”);
//// PARAMETERS
// ArPeriod=Param(\”Period\”,14,7,33,1);
//// FORMULA
// LLVBarsSince=LLVBars(L,ArPeriod)+1;
// HHVBarsSince=HHVBars(H,ArPeriod)+1;
// AroonDown=100(ArPeriod-LLVBarsSince)/(ArPeriod-1); // AroonUp=100(ArPeriod-HHVBarsSince)/(ArPeriod-1);
// AroonOsc=AroonUp-AroonDown;
// Aroon=AroonOsc>0;
//// VARIABLES
// IIf(Aroon,i+1,i);
// AROON_Status = WriteIf(Aroon,\”Bullish\”,
// WriteIf(IsNull (RSI(14)),\”N/A\”,\”Bearish\”));
// AROON_Color = IIf(Aroon,Color_bull,
// IIf(IsNull(RSI(14) ),Color_null,Color_bear));
//_SECTION_END();
/////////
// WAD //
/////////
//_SECTION_BEGIN(\”Williams Accumulation-Distribution Signal\”);
// PARAMETERS
// WADPds=Param(\”Period\”,20,7,33,1);
// FORMULA
// TrueRangeHigh=Max( Ref(Close,-1), High );
// TrueRangeLow=Min( Ref(Close,-1), Low );
// WAD = Cum(IIf(C > Ref(C,-1),C-TrueRangeLow, IIf(C < Ref(C,-1),C-TrueRangeHigh,0))); // wadup = WAD > EMA (WAD,WADPds);
// waddn = WAD < EMA (WAD,WADPds);
// wadbl = Cross(WAD, EMA(WAD,WADPds));
// wadbr = Cross(EMA(WAD,WADPds), WAD);
// VARIABLES
// WAD_Status = WriteIf(wadup, \”Bullish Zone\”,
// WriteIf(waddn, \”Bearish Zone\”,
// WriteIf(wadbl, \”Bullish Cross\”,
// WriteIf(wadbr, \”Bearish Cross\”,\”Neutral\”))));
// WAD_Color = IIf(wadup,Color_bull,
// IIf(wadbl,Color_bear,
// IIf(wadbr,Color_bull1,
// IIf(waddn,Color_bear1,Color_null))));
//_SECTION_END();
/////////////
// Coppock //
/////////////
_SECTION_BEGIN(\”Coppock Indicator\”);
// FORMULA
CKr1=ROC(C,14);
CKr2=ROC(C,11);
CK=EMA((CKr1+CKr2),10);
CK_upt=IIf(ck>0 AND ROC(ck,1)>0,ck,0);
CK_ups=IIf(ck>0 AND ROC(ck,1)<0,ck,0); CK_dws=IIf(ck<0 AND ROC(ck,1)>0,ck,0);
CK_dwt=IIf(ck<0 AND ROC(ck,1)<0,ck,0);
// VARIABLES
// TrendScore Count
IIf(CK_upt,i+2,i);
IIf(CK_ups,i+1,i);
// Indicators
Coppock_Status = WriteIf( CK_upt,\”UPTREND\”,
WriteIf( CK_ups,\”UpT Sideways\”,
WriteIf( CK_dws,\”DnT Sideways\”,
WriteIf( CK_dwt,\”DownTrend\”,\”Flat\”))));
Coppock_Color = IIf( CK_upt,Color_buy,
IIf( CK_ups,Color_bull,
IIf( CK_dws,Color_bear,
IIf( CK_dwt,Color_sell,Color_null))));
_SECTION_END();
////////////////
// Stochastic //
////////////////
_SECTION_BEGIN(\”Stochastic %D %K Signal\”);
// FORMULA
StochKBull = StochK(14,3)>StochD(14,3,3);
// VARIABLES
// TrendScore Count
IIf(StochKBull,i+1,i);
// Indicators
STOCH_Status = WriteIf( StochKBull,\”Bullish\”,
WriteIf( IsNull(StochK(14,3)),\”N/A\”,\”Bearish\”));
STOCH_Color = IIf(StochKBull,Color_bull,
IIf( IsNull(StochK(14,3)),Color_null,Color_bear));
_SECTION_END();
//////////
// ARSI //
//////////
_SECTION_BEGIN(\”ARSI Signal\”);
// PARAMETERS
ARSI_Pds = Param(\”Period\”,14,7,33,1);
ARSIOb_Parm = Param(\”OverBought Level\”,70,-200,200,5);
ARSIOs_Parm = Param(\”OverSold Level\”,30,-200,200,5);
// FORMULA
Chg = C – Ref( C, -1 );
UpCount = Sum( Chg >= 0, ARSI_Pds );
DnCount = ARSI_Pds – UpCount;
UpMove = AMA( Max( Chg, 0 ), Nz(1/UpCount) );
DnMove = AMA( Max( -Chg, 0 ), Nz(1/DnCount) );
RS = UpMove/DnMove;
ARSI = 100-(100/(1+RS));
ARSIOs = ARSI < ARSIOs_Parm; ARSIOb = ARSI > ARSIOb_Parm;
//ARSIUt = ARSI > Ref(ARSI,-1);
//ARSIDt = ARSI < Ref(ARSI,-1); //ARSIBuy = ARSI < ARSIOs AND ARSIUt; //ARSISell = ARSI > ARSIOb AND ARSIDt;
//ARSIBuy = ExRem(ARSIBuy, ARSISell);
//ARSISell = ExRem(ARSISell,ARSIBuy);
// VARIABLES
// TrendScroe Count
IIf(ARSIOs,i+1,i);
// Indicators
ARSI_Status = WriteIf(ARSIOs,\”OverSold\”,
WriteIf(ARSIOb,\”OverBought\”,\”In Range\”));
//WriteIf(ARSIBuy,\”-=BUY=-\”,
//WriteIf(ARSI>ARSIOs,\”OverSold\”,
//WriteIf(ARSIUt,\”Improving\”,
//WriteIf(ARSIDt,\”Declining\”,
//WriteIf(ARSIARSIOs,Color_bull,
//IIf(ARSIUt,Color_bull1,
//IIf(ARSIDt,Color_bear1,
//IIf(ARSI<ARSIOb,Color_bear,
//IIf(ARSISell,Color_sell,Color_null))))));
_SECTION_END();
/////////
// RSI //
/////////
//_SECTION_BEGIN(\”RSI Signal\”);
// PARAMETERS
// RSIPds=Param(\”Period\”,14,7,33,1);
// RSIOb=Param(\”OverBought Level\”,70,-200,200,5);
// RSIOs=Param(\”OverSold Level\”,30,-200,200,5);
// FORMULA
// R1=RSI(RSIPds)>RSIOs AND Ref(RSI(RSIPds),-1)RSIOb AND Ref(RSI(RSIPds),-2)>RSIOb;
// VARIABLES
// IIf(R1,i+1,i);
// RSI_Status = WriteIf(R1,\”Improving\”,
// WriteIf(R2,\”Declining\”,
// WriteIf(IsNull(RSI(14)),\”N/A\”,\”Neutral\”)));
// RSI_Color = IIf(R1,Color_bull1,
// IIf(R2,Color_bear1,Color_null));
//_SECTION_END();
/////////
// MFI //
/////////
_SECTION_BEGIN(\”MFI Signal\”);
// PARAMETERS
MFIPds=Param(\”Period\”,14,7,33,1);
MFIOb=Param(\”OverBought Level\”,80,-200,200,5);
MFIOs=Param(\”OverSold Level\”,20,-200,200,5);
// FORMULA
M1=MFI(MFIPds)>MFIOb;
M2=MFI(MFIPds)<MFIOs;
// VARIABLES
// TrendScroe Count
IIf(M2,i+1,i);
// Indicators
MFI_Status = WriteIf(M1,\”OverBought\”,
WriteIf(M2,\”OverSold\”,
WriteIf(IsNull(MFI(MFIPds)),\”Null\”,\”Neutral\”)));
MFI_Color = IIf(M1,Color_sell,
IIf(M2,Color_buy,Color_null));
_SECTION_END();
/////////////////////////////////
// ADX Trend Strenght with ADX //
/////////////////////////////////
_SECTION_BEGIN(\”ADX Signal\”);
// JSB Lib Version
// INITIALIZATION
SetBarsRequired(100000, 100000);
// JSB_InitLib();
// PARAMETERS
ADX_Parm = Param( \”ADX Period\”, 8, 5, 50,1);
ADX_Parma = Param( \”ADX Perioda\”, 15, 5, 50,1);
ADX_Parmb = Param( \”ADX Periodb\”, 25, 5, 50,1);
ADX_Parmc = Param( \”ADX Periodc\”, 35, 5, 50,1);
ADX_Parmd = Param( \”ADX Periodd\”, 50, 5, 50,1);
// FORMULA
// ADX Buy, Sell & Choppy Signal
ADX_up = MA(C,ADX_Parm) > 0;
ADX_dn = MA(C,ADX_Parm) < 0; ADX_ch = MA(C,ADX_Parma) < MA(C,ADX_Parmb) AND MA(C,ADX_Parmc) < MA(C,ADX_Parmd); ADX_Buy = Cross(MA(C,ADX_Parm), MA(C,ADX_Parmb)); ADX_Sell = Cross(MA(C,ADX_Parmb), MA(C,ADX_Parm)); ADX_Buy = ExRem(ADX_Buy, ADX_Sell); ADX_Sell = ExRem(ADX_Sell, ADX_Buy); ADX_bull = MA(C,ADX_Parm) > MA(C,ADX_Parmb);
ADX_bear = MA(C,ADX_Parm)> MA(C,ADX_Parma);
// ADX Trend Confirmation Signal
ADXwk = ADX(ADX_Parm) < 25; ADXst = ADX(ADX_Parm) > 25 AND ADX(ADX_Parm) < 50; ADXvs = ADX(ADX_Parm) > 50 AND ADX(ADX_Parm) < 75; ADXex = ADX(ADX_Parm) > 75 AND ADX(ADX_Parm) < 100;
ADXchoppy = ADX(ADX_Parm) < PDI(ADX_Parm) AND ADX(ADX_Parm) < MDI(ADX_Parm);
// VARIABLES
// TrendScore Count
IIf(ADX_Buy,i+2,i);
IIf(ADX_bull,i+1,i);
// IIf(ADXst,i+1,i);
// Indicators
ADX_Status = WriteIf(ADX_Buy,\”-=BUY=-\”,
WriteIf(ADX_bull,\”Bullish\”,
WriteIf(ADX_bear,\”Bearish\”,
WriteIf(ADX_Sell,\”-=SELL=-\”,\”Neutral\”))));
ADX_Color = IIf(ADX_Buy,Color_buy,
IIf(ADX_bull,Color_bull,
IIf(ADX_bear,Color_bear,
IIf(ADX_Sell,Color_sell,Color_null))));
//ADXc_Status = WriteIf(ADXwk,\”Weak\”,
// WriteIf(ADXst,\”Good\”,
// WriteIf(ADXvs,\”Strong\”,
// WriteIf(ADXex,\”EXCELENT\”,
// WriteIf(ADXchoppy,\”Choppy\”,\”Neutral\”)))));
//ADXc_Color = IIf(ADXwk,Color_sell,
// IIf(ADXst,Color_bull1,
// IIf(ADXvs,Color_bull,
// IIf(ADXex,Color_buy,
// IIf(ADXchoppy,Color_prev,Color_null)))));
_SECTION_END();
_SECTION_BEGIN(\”Unnamed 1\”);
threshold = 5;
uptrend = StochK(39,3) > StochD(39,3,3);
downtrend =StochK(39,3) < StochD(39,3,3);
Buy = uptrend AND H >= Ref(H,-1) + threshold; BuyPrice = Max(O,Ref(H,-1) + threshold);
Sell = downtrend AND L <= Ref(L,-1) – threshold; SellPrice = Min(O,Ref(L,-1) – threshold);
Buy = ExRem(Buy,Sell);
Sell = ExRem(Sell,Buy);
Cover=Buy;
Short=Sell;
SellPrice=ValueWhen(Short,C,1);
BuyPrice=ValueWhen(Buy,C,1);
PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-40);
PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,L, Offset=-50);
PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-45);
PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorRed, 0, H, Offset=40);
PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50);
PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45);
///////////////////////
// Trend Score Count //
///////////////////////
_SECTION_BEGIN(\”Trend Score Count\”);
TrendScore = IIf(V>Vp2,3,0) +
IIf(V>Vp1,2,0) +
IIf(V>VRG,1,0) +
IIf(rg>(arg*2),2,0) +
IIf(rg>arg,1,0) +
IIf(rising,1,0) +
IIf(bullishsign,3,0) +
IIf(upThrustBar,2,0) +
IIf(absorption,1,0) +
IIf(EMAsBuy,1,0) +
IIf(EMAmBuy,1,0) +
IIf(EMAlBuy,1,0) +
IIf(EMA_rc,3,0) +
IIf(EMA_ac,2,0) +
IIf(EMA_bl,1,0) +
IIf(I_buy,2,0) +
IIf(I_bull,1,0) +
IIf(T3_buy,1,0) +
IIf(BB1,1,0) +
IIf(MACDBull,1,0) +
//IIf(Aroon,1,0) +
IIf(CK_upt,2,0) +
IIf(CK_ups,1,0) +
IIf(StochKBull,1,0) +
IIf(RSItOs,1,0) +
IIf(ARSIOs,1,0) +
//IIf(R1,1,0) +
IIf(M2,1,0) +
IIf(ADX_Buy,2,0);
IIf(ADX_bull,1,0);
//IIf(ADXst,1,0);
ScoreRank = 100 * TrendScore / 30;
_SECTION_END();
if(Explorer==0)
{
//////////////////////
// Exploration Code //
//////////////////////
_SECTION_BEGIN(\”Explorer\”);
// PARAMETERS
EXPfil_Parm = ParamList ( \”Filter\”,\”All Symbols|Buy Signals|Sell Signals\”,0);
EXPvol_Parm = Param ( \”20 Day Min. Vol. Cap.\”, 50000,0,100000000,1000);
EXPvol_Parm = Param ( \”Min. Price Close\”,15,0,5000000,1);
// FILTER
Filter = 1;
// DISPLAY COLUMNS
//AddColumn (High52,\”52 Week High\”);
//AddColumn (Low52,\”52 Week Low\”);
AddColumn (C,\”P.Close\”,1.2,IIf(C>Ref(C,-1), colorGreen,colorRed));
AddColumn (V,\”Volume\”,1,IIf(V>Ref(V,-1), colorGreen,colorRed));
AddTextColumn (VPAv_Status,\”VPA Volume\”,1, VPAv_Color,BColor_vpa);
AddTextColumn (VPAs_Status,\”VPA Spread\”,1, VPAs_Color,BColor_vpa);
AddTextColumn (VPAc_Status,\”VPA Close\”,1, VPAc_Color,BColor_vpa);
AddTextColumn (VPAz_Status,\”VPA Zone\”,1, VPAz_Color,BColor_vpa);
AddTextColumn (VPAst_Status,\”VPA Status\”,1, VPAst_Color,BColor_vpa);
AddTextColumn (EMAs_Status,\”EMA Short\”,1, EMAs_Color,BColor_mas);
AddTextColumn (EMAm_Status,\”EMA Mid\”,1, EMAm_Color,BColor_mam);
AddTextColumn (EMAl_Status,\”EMA Long\”,1, EMAl_Color,BColor_mal);
AddTextColumn (EMAp_Status,\”EMA Trend\”,1, colorWhite,EMAp_Color);
AddTextColumn (I_Status,\”I Signal\”,1, colorWhite,I_Color);
AddTextColumn (T3_Status,\”T3 Signal\”,1, colorWhite,T3_Color);
AddTextColumn (BB_Status,\”Bol. Band\”,1, colorWhite,BB_Color);
AddTextColumn (MACD_Status,\”MACD\”,1, colorWhite,MACD_Color);
AddTextColumn (RSIt_Status,\”MACD(RSI)\”,1, colorWhite,RSIt_Color);
//AddTextColumn (AROON_Status,\”Aroon\”,1, colorWhite,AROON_Color);
//AddTextColumn (WAD_Status,\”Williams A/D\”,1, colorWhite,WAD_Color);
AddTextColumn (COPPOCK_Status,\”Coppock\”,1, colorWhite,COPPOCK_Color);
AddTextColumn (STOCH_Status,\”Stochastic\”,1, colorWhite,STOCH_Color);
AddTextColumn (ARSI_Status,\”ARSI\”,1, colorWhite,ARSI_Color);
//AddTextColumn (RSI_Status,\”RSI\”,1, colorWhite,RSI_Color);
AddTextColumn (MFI_Status,\”MFI(14)\”,1, colorWhite,MFI_Color);
AddTextColumn (ADX_Status,\”DMX (ADX)\”,1, colorWhite,ADX_Color);
//AddTextColumn (ADXc_Status,\”ADX Confirm\”,1, colorWhite,ADXc_Color);
//AddColumn (RSIt,\”TEST L\”,1, colorWhite,colorBlack);
AddColumn (TtD_Change,\”P/L %\”,1.2,IIf(TtD_Change>0, colorGreen,colorRed));
AddColumn (Beta,\”( ß )\”,1.2,IIf(Beta>0,colorGreen,colorRed));
AddColumn (ScoreRank,\”% Rank\”,1.0,colorWhite,colorBlue);
_SECTION_END();
}
else
{
AlertIf( Buy, \”\”, \”BUY @ \” + C, 1 );
AlertIf( Sell, \”\”, \”SELL @ \” + C, 2 );
no=Param( \”Swing\”, 8, 1, 55 );
tsl_col=ParamColor( \”Color\”, colorLightGrey );
res=HHV(H,no);
sup=LLV(L,no);
avd=IIf(C>Ref(res,-1),1,IIf(C<Ref(sup,-1),-1,0));
avn=ValueWhen(avd!=0,avd,1);
tsl=IIf(avn==1,sup,res);
//no = Optimize(\”TSL\”,Param(\”A (Change To Optimise)\”,10, 1, 55 ,1),1, 55 ,1);
tsl_col=ParamColor( \”Color\”, colorLightGrey );
res=HHV(H,no);
sup=LLV(L,no);
avd=IIf(C>Ref(res,-1),1,IIf(C<Ref(sup,-1),-1,0));
avn=ValueWhen(avd!=0,avd,1);
dtsl=IIf(avn==1,sup,res);
SellPrice=ValueWhen(Short,C,1);
BuyPrice=ValueWhen(Buy,C,1);
Long=Flip(Buy,Sell);
Shrt=Flip(Short,Cover);
Relax = NOT Long AND NOT Buy AND NOT shrt AND NOT Sell AND NOT Sell AND NOT Cover;
SellSL=ValueWhen(Short,DTSL,1);
BuySL=ValueWhen(Buy,DTSL,1);
BuyDifference= BuyPrice – BuySL;
SellDifference = SellSL – SellPrice;
tar1 = IIf(Buy OR Long AND NOT Relax AND NOT Sell AND NOT Cover, (BuyPrice + BuyDifference), (SellPrice – SellDifference));
tar2 = IIf(Buy OR Long AND NOT Relax AND NOT Sell AND NOT Cover, (BuyPrice + (2BuyDifference)), (SellPrice – (2SellDifference)));
tar3 = IIf(Buy OR Long AND NOT Relax AND NOT Sell AND NOT Cover, (BuyPrice + (4BuyDifference)), (SellPrice – (4SellDifference)));
// User-defined parameter for EMA periods
EMA_Type = Param(\”EMA-1, TEMA-2, JMA-3\”, 2, 1, 3, 1);
EMA_prds = Param(\”EMA_periods\”, 7, 1, 30, 1);
Std_MACD = Param(\”Standard MACD? No-0, Yes-1\”, 1, 0, 1, 1);
Plot_fashion = Param(\”Bar+Arrows-1, Impulse Bars-2\”, 2, 1, 2, 1);
// Allow user to define Weekly and Monthly Ribbon Location and Height
WR_P1 = Param(\”Weekly Ribbon Location\”, -10.5, -1000, 1000, 0.1);
WR_P2 = Param(\”Weekly Ribbon Height\”, 366.5, -0.001, 500, 0.1);
MR_P1 = Param(\”Monthly Ribbon Location\”, 5.2, -1000, 1000, 0.1);
MR_P2 = Param(\”Monthly Ribbon Height\”, 199, -0.001, 500, 0.1);
// Compute EMA and MACD Histogram
if(EMA_Type == 1)
{
DayEMA = EMA(Close, EMA_prds);
}
if (EMA_Type == 2)
{
DayEMA = TEMA(Close, EMA_prds);
}
if(EMA_Type == 3)
{
// Line below to be used with Jurik JMA
// DayEMA = JurikJMA(C, EMA_Prds);
}
Histogram = MACD() – Signal();
// Determine if we have an Impulse UP, DOWN or None
Impulse_Up = DayEMA > Ref(DayEMA, -1) AND Histogram > Ref(Histogram, -1);
Impulse_Down = DayEMA < Ref(DayEMA, -1) AND Histogram < Ref(Histogram, -1);
Impulse_None = (NOT Impulse_UP) AND (NOT Impulse_Down);
// Compute Weekly MACD and determine whether rising or falling
// Note: uses \”non-standard\” parameters!
TimeFrameSet(inWeekly);
if (Std_MACD == 0)
{
MACD_val = MACD(5, 8);
Signal_val = Signal(5, 8, 5);
}
else
{
MACD_val = MACD(12, 26);
Signal_val = Signal(12, 26, 9);
}
Hist_in_w = MACD_val – Signal_val;
wh_rising = Hist_in_w > Ref(Hist_in_w, -1);
wh_falling = Hist_in_w < Ref(Hist_in_w, -1);
TimeFrameRestore();
// Now get Monthly MACD Histogram….
TimeFrameSet(inMonthly);
MACD_val = MACD(5, 8);
Signal_val = Signal(5, 8, 5);
Hist_in_m = MACD_val – Signal_val;
mh_rising = Hist_in_m > Ref(Hist_in_m, -1);
mh_falling = Hist_in_m < Ref(Hist_in_m, -1);
TimeFrameRestore();
wh_rising = TimeFrameExpand( wh_rising, inWeekly, expandLast );
wh_falling = TimeFrameExpand( wh_falling, inWeekly, expandLast);
mh_rising = TimeFrameExpand(mh_rising, inMonthly, expandLast);
mh_falling = TimeFrameExpand(mh_falling, inMonthly, expandLast);
kol = IIf( wh_rising, colorGreen, IIf(wh_falling, colorRed,
colorLightGrey));
mkol = IIf( mh_rising, colorBlue, IIf(mh_falling, colorYellow,
colorLightGrey));
// Plot them all!
if (Plot_fashion == 1)
{
Plot(Close, \”Close\”, colorTeal, styleBar);
PlotShapes(shapeUpArrow * Impulse_Up, colorBlue, 0, Low, -12);
PlotShapes(shapeDownArrow * Impulse_Down, colorRed, 0, High, -12);
PlotShapes(shapeSmallCircle * Impulse_None, colorWhite, 0, High, 5);
}
else
{
bar_kol = IIf(impulse_UP, colorBlue, IIf(impulse_Down, colorRed,
colorWhite));
//Plot(C, \”Close\”, bar_kol, styleBar);
}
Plot(10, \”ribbon\”, kol, styleOwnScale|styleArea|styleNoLabel, WR_P1, WR_P2);//Weekly trend
Plot(10, \”ribbon\”, mkol, styleOwnScale|styleArea|styleNoLabel, MR_P1,
MR_P2); // Monthly Trend
// Explorer Section
// Determine if Impulse status is bullish, neutral or bearish. Display as Text Column.
Impulse_State = WriteIf(Impulse_Up, \”Bul\”, WriteIf(Impulse_Down,
\”Bear\”, \”Neut\”));
// Set the background color for Impulse Status Column
Impulse_Col = IIf(Impulse_Up, colorGreen, IIf(Impulse_Down, colorRed,
colorLightGrey));
// Determine Weekly Trend. Display as Text Column
Weekly_Trend = WriteIf(wh_rising, \”Rising\”, WriteIf(wh_falling, \”Falling\”,
\”Flat!\”));
Weekly_Col = IIf(wh_rising, colorGreen, IIf(wh_falling, colorRed,
colorLightGrey));
// Determine Monthly Trend. Display as Text Column
Monthly_Trend = WriteIf(mh_rising, \”Rising\”, WriteIf(mh_falling, \”Falling\”,
\”Flat!\”));
Monthly_Col = IIf(mh_rising, colorGreen, IIf(mh_falling, colorRed,
colorLightGrey));
// Determine how many bars has the current state existed
bars_in_bull = Min(BarsSince(impulse_none), BarsSince(impulse_down));
bars_in_bear = Min(BarsSince(impulse_up), BarsSince(impulse_none));
bars_in_neut = Min(BarsSince(impulse_down), BarsSince(impulse_up));
// Set a single variable to show number of bars in current state depending upon
// actual Impulse Status – Bullish, Bearish or Neutral
bars_in_state = IIf(Impulse_Up,bars_in_bull, IIf(Impulse_down, bars_in_bear,bars_in_neut));
//AddColumn(Close,\”Close\”,1.2);
// Columns for display in Explorer
//AddTextColumn(Impulse_State, \”Status\”, 1, colorWhite, Impulse_Col);
//AddColumn(bars_in_state, \”Bars\”, 1, colorWhite, Impulse_col);
//Action = WriteIf(Buy, \”BUY\”, WriteIf(Sell, \”SELL\”, \” \”));
//i=0;
//bars_in_statee = IIf(Buy, BarCount[i], IIf(Sell, BarCount[i],bars_in_neut));
//bars=BarsSince(IIf(Buy+BarCount+1),OR( Sell-BarCount+1));
AddColumn(bars_in_state ,\”Bars\”, 1, colorWhite, Impulse_col);
//AddTextColumn(Weekly_Trend, \”W Trend\”, 1, colorWhite, Weekly_Col);
//AddTextColumn(Monthly_Trend, \”M Trend\”, 1, colorWhite, Monthly_Col);
//Filter = 1;
_SECTION_END();
//Settings for exploration
H1 = SelectedValue( TimeFrameGetPrice( \”H\”, inDaily, -1 ) );
L1 = SelectedValue( TimeFrameGetPrice( \”L\”, inDaily, -1 ) );
C1 = SelectedValue( TimeFrameGetPrice( \”C\”, inDaily, -1 ) );
H2 = SelectedValue( TimeFrameGetPrice( \”H\”, inDaily, 0 ) );
L2 = SelectedValue( TimeFrameGetPrice( \”L\”, inDaily, 0 ) );
O1 = SelectedValue( TimeFrameGetPrice( \”open\”, inDaily, 0 ) );
F4 = 0;
D1 = ( H1 – L1 );
D2 = ( H2 – L2 );
F1 = D1 * 0.433;
F2 = D1 * 0.766;
F3 = D1 * 1.35;
if ( D2 <= F1 )
F4 = F1;
else
if ( D2 <= F2 )
F4 = F2;
else
F4 = F3;
S_P = ( O1 – F4 );
B_P = ( O1 + F4 );
BP = ( L2 + F4 );
BPTGT = ( BP + ( BP * .0065 ) );//.0015 brokerage
BPSTPLS = ( BP – ( BP * .0085 ) );
SP = ( H2 – F4 );
SPTGT = ( SP – ( SP * .0065 ) );
SPSTPLS = ( SP + ( SP * .0085 ) );
p = ( H1 + L1 + C1 ) / 3;
s1 = ( H1 );
r1 = ( L1 );
r2 = SelectedValue( L2 );
s2 = SelectedValue( H2 );
//CONDITION
if (ParamToggle(\”Tooltip shows\”, \”All Values|Only Prices\”))
{
ToolTip = StrFormat(\”Open: %g\\nHigh: %g\\nLow: %g\\nClose: %g (%.1f%%) \\nVolume: \” + NumToStr(V, 1), O, H, L, C, SelectedValue(ROC(C, 1)));
}
//space = Param(\”Space on Chart\”, 20, – 15, 50, 1);
//GraphXSpace = space;
//SetChartBkColor(ParamColor(\”Background Color\”, colorBlack));
// ================= Rasheed\’s original code (with Lookback and Shift default set to his specs) =================
H0 = H;
L0 = L;
C0 = C;
O0 = O;
Lookback = Param(\”LookBack\”, 10, 10, 50, 1); // Default for interday commodity currency trading
shift = Param(\”Shift\”, 5, 1, 50, 1); // ?
x0 = LastValue(Cum(1));
x1 = x0 – shift;
H = Ref(H, – shift + 1);
L = Ref(L, – shift + 1);
H1 = LastValue(Ref(HHV(H, Lookback), – 1));
L1 = LastValue(Ref(LLV(L, Lookback), – 1));
Plot(H1, \”H1\”, colorYellow);
Plot(L1, \”L1\”, colorYellow);
H = H0;
L = L0;
C = C0;
O = O0;
up = Cross(H, H1)AND Cum(1) > x1;
dn = Cross(L1, L)AND Cum(1) > x1;
//Plot(C, \”Close\”, IIf(Cum(1) > x1 – Lookback AND Cum(1) <= x1, colorBlue, IIf(Up, colorBrightGreen, IIf(Dn, colorRed, IIf(C > O, colorGreen, colorRed)))), 64);
//PlotShapes(shapeDownArrow *(Cum(1) == x1 + 1), colorBlue);
// ======================= Exploration and Signal Code =================
TRIGGER = ParamToggle(\”Trigger \”, \”CLOSE|HIGH OR LOW\”);
XH1 = Cross(C, H1);
XL1 = Cross(L1, C);
XH2 = Cross(H, H1);
XL2 = Cross(L1, L);
if (TRIGGER == 0)
{
//Buy = XH1;
//Sell = XL1;
}
else
{
//Buy = XH2;
//Sell = XL2;
}
TradeDisplay = ParamToggle(\”Remove Extra Trades?\”, \”No|Yes\”);
if(TradeDisplay != 0){
//Buy = ExRem(Buy, Sell);
//Sell = ExRem(Sell, Buy); // THIS WILL REMOVE EXESS SIGNALS ON A CHART OR IN AN EXPLORATION
}
Filter = Buy OR Sell;
Action = WriteIf(Buy, \”BUY\”, WriteIf(Sell, \”SELL\”, \” \”));
//AddTextColumn(IndustryID(1), \”Industry Sector \”, 30.0, colorBlue, colorYellow);
AddColumn(C, \”Last \”, 2.2, colorWhite, colorBlue);
AddTextColumn(Action, \”Action\”, 8.0, IIf(XH1, colorDarkGreen, colorDarkRed), colorWhite);
AddColumn(IIf(XH1, H1, L1), \”BREAKOUT LEVEL\”, 3.2, colorYellow, IIf(XH1, colorDarkGreen, colorDarkRed));
// ———————————————————————————– Arrow signals — FOR TRADES ———————————————————-
//PlotShapes(Buy shapeUpArrow, colorBrightGreen, 0, L / ENTRY_TRAILARRAY */, – 30);
//PlotShapes(Sell *shapeDownArrow, colorLightYellow, 0, H, – 30);
_SECTION_END();
_SECTION_BEGIN(\”Volume At Price\”);
PlotVAPOverlay(Param(\”Lines\”, 1000, 100, 1000, 10), Param(\”Width\”, 15, 1, 100, 1), ParamColor(\”Color\”, colorBlue), ParamToggle(\”Side\”, \”Left|Right\”, 1) | 4 *ParamToggle(\”Z-order\”, \”On top|Behind\”, 1));
_SECTION_END();
//Filter = Buy OR Sell;
//AddColumn( IIf( Buy, 66, 1 ), \”Buy\”, formatChar, 1, bkcolor = IIf( Buy, 43, 33 ) );
//AddColumn( IIf( Sell, 83, 1 ), \”Sell\”, formatChar, 1, bkcolor = IIf( Sell, 25, 32 ) );
//AddColumn( C, \”CMP\”, 1.2, colorDefault, colorLightBlue );
//AddColumn( BP, \”SELL PRICE\”, 1.2, colorDefault, colorGreen );
//AddColumn( BPTGT, \”TGT PRICE\”, 1.2, colorDefault, colorBrown );
//AddColumn( BPSTPLS, \”STPLS BUY\”, 1.2, colorDefault, colorRed );
AddColumn( p, \”PIVOT\”, 1.2, colorDefault, colorYellow );
//AddColumn( SPSTPLS, \”STPLS SELL\”, 1.2, colorDefault, colorRed );
//AddColumn( SP, \”SELL PRICE\”, 1.2, colorDefault, colorGreen );
//AddColumn( SPTGT, \”TGT PRICE\”, 1.2, colorDefault, colorBrown );
//Settings for exploration
Filter=Buy OR Short;
AddColumn( IIf( Buy, 66 , 83 ), \”Signal\”, formatChar, colorDefault, IIf( Buy , colorGreen, colorRed ) );
AddColumn(Close,\”Entry Price\”,1.4, colorDefault, IIf( Buy , colorGreen, colorRed ));
AddColumn(dtsl,\”Stop Loss\”,1.4, colorDefault, IIf( Buy , colorGreen, colorRed ));
AddColumn(tar1,\”Target 1\”,1.4, colorDefault, IIf( Buy , colorGreen, colorRed ));
AddColumn(tar2,\”Target 2\”,1.4, colorDefault, IIf( Buy , colorGreen, colorRed ));
AddColumn(tar3,\”Target 3\”,1.4, colorDefault, IIf( Buy , colorGreen, colorRed ));
AddColumn(ROC(V,1),\”RVol \”,1.2, IIf(ROC(V,1) > 0, colorGreen, colorRed));
AddColumn(Volume,\”Volume\”,1.0, colorDefault, IIf ((Volume > 1.25 * EMA( Volume, 34 )),colorBlue,colorYellow));
AddColumn( H1, \”PRE-HIGH\” );
AddColumn( L1, \”PRE-LOW\” );
AddColumn( D1, \”PRE-DIFF\” );
AddColumn( F1, \”0.433\” );
AddColumn( F2, \”0.766\” );
AddColumn( F3, \”1.35\” );
AddColumn( H2, \”D-HIGH\” );
AddColumn( L2, \”D-LOW\” );
AddColumn( D2, \”D-DIFF\” );
AddColumn( F4, \”SELECT FACT\” );
AlertIf( Buy , \”SOUND C:\\Windows\\Media\\chimes.wav\”, \”Audio alert\”, 2 );
AlertIf( Sell , \”SOUND C:\\Windows\\Media\\alert.wav\”, \”Audio alert\”, 2 );
}
Short=Sell;
Cover=Buy;
Long=Flip(Buy,Sell);
Shrt=Flip(Short,Cover);
SellPrice=ValueWhen(Short,C,1);
BuyPrice=ValueWhen(Buy,C,1);
Edc=(
WriteIf (Buy AND Ref(shrt,-1), \” BUY @ \”+C+\” \”,\”\”)+
WriteIf (Sell AND Ref(Long,-1), \” SEll @ \”+C+\” \”,\”\”)+
WriteIf(Sell , \”Last Trade Profit Rs.\”+(C-BuyPrice)+\”\”,\”\”)+
WriteIf(Buy , \”Last Trade Profit Rs.\”+(SellPrice-C)+\”\”,\”\”));
//============== TITLE ==============
_SECTION_BEGIN(\”Tops and bottom\”);
pd = Param(\”Periods\”,13,5,144,1);
pds = 2*pd-1;// (Adjustment for Wilders MA)
aa = Close-Ref(Close,-1);
uu = EMA(Max(0,aa),pds);
dd= EMA((Max(0,0-aa)),pds);
rf = IIf(C>2,1000,10000);
c1 = Param(\”Upper Level\”,70,50,90,1);
qq1 =100/(100-c1)-1;
ff1 = qq1dd-uu; ff2 = ff1/qq1; f1 = Max(ff1,ff2); UL = Close + f1(pds-1)/2;
UL = IIf(UL>C,floor(ULrf),ceil(ULrf))/rf;
c2 = Param(\”Equilibrium\”,50,50,50,0);
qq2 =100/(100-c2)-1;// [=1]
ff = dd-uu;
MM = Close + ff(pds-1)/2; MM = IIf(MM>C,floor(MMrf),ceil(MM*rf))/rf;
c3 = Param(\”Lower Level\”,30,10,50,1);
qq3 =100/(100-c3)-1;
ff1 = qq3dd-uu; ff2 = ff1/qq3; f3 = Min(ff1,ff2); LL = Close + f3(pds-1)/2;
LL = IIf(LL>C,floor(LLrf),ceil(LLrf))/rf;
band = Param(\”band width\”,4,0,15,0.25);
mmu = MM+band;
mmd = MM-band;
_SECTION_BEGIN(\”Pivot calc\”);
TimeFrameSet( in15Minute*2 );
DH=Ref(H,-1);
DL=Ref(L,-1);
DC=Ref(C,-1);
pd = ( DH+ DL + DC )/3;
sd1 = (2pd)-DH; sd2 = pd -(DH – DL); sd3 = Sd1 – (DH-DL); rd1 = (2pd)-DL;
rd2 = pd +(DH -DL);
rd3 = rd1 +(DH-DL);
if(ChangeTitle==1)
{
_SECTION_BEGIN(\”Title\”);
no=Param( \”Swing\”, 6, 1, 55 );
res=HHV(H,no);
sup=LLV(L,no);
avd=IIf(C>Ref(res,-1),1,IIf(C<Ref(sup,-1),-1,0));
avn=ValueWhen(avd!=0,avd,1);
tsl=IIf(avn==1,sup,res);
dec = (Param(\”Decimals\”,2,0,7,1)/10)+1;
if( Status(\”action\”) == actionIndicator )
(
Title = EncodeColor(55)+ Title = Name() + \” \” + EncodeColor(32) + Date() +
\” \” + EncodeColor(5) + \”{{INTERVAL}} \” +
EncodeColor(55)+ \” Open = \”+ EncodeColor(52)+ WriteVal(O,dec) +
EncodeColor(55)+ \” High = \”+ EncodeColor(5) + WriteVal(H,dec) +
EncodeColor(55)+ \” Low = \”+ EncodeColor(32)+ WriteVal(L,dec) +
EncodeColor(55)+ \” Close = \”+ EncodeColor(52)+ WriteVal(C,dec)+
EncodeColor(55)+ \” Volume = \”+ EncodeColor(52)+ WriteVal (V ,1.25)
+\”\\n\”+EncodeColor(colorBrightGreen)+
WriteIf (Buy , \”Signal: Go Long – Entry Price: \”+WriteVal(C)+\” – Traget: \”+WriteVal((BuyPrice-tsl)+BuyPrice)
+\” – StopLoss:\”+WriteVal(tsl)+\” \”
,\”\”)+
\”\\n\”+EncodeColor(colorRed)+
WriteIf (Sell , \”Signal: Go Short – Entry Price: \”+WriteVal(C)+\” – Target: \”+WriteVal((tsl-SellPrice)-SellPrice)+\” – StopLoss:\”+WriteVal(tsl)+\” \”,\”\”)+
EncodeColor(colorTurquoise)+
WriteIf(Long AND NOT Buy, \”Trade: Long – Entry Price: \”+WriteVal((BuyPrice))+\” – Profit: \”+WriteVal((C-BuyPrice))+\” \”+EncodeColor(colorLime)+\”Let your profit runs!\”,\”\”)+
EncodeColor(colorLightOrange)+
WriteIf(shrt AND NOT Sell, \”Trade: Short – Entry Price: \”+WriteVal((SellPrice))+\” – Profit: \”+WriteVal((C-SellPrice))+\” – \”+EncodeColor(colorLime)+\”Let your profit runs!\”,\”\”)+
EncodeColor(colorBrightGreen)+ \”
\\n R3 : \”+
EncodeColor(colorWhite)+RD3+
EncodeColor(colorBrightGreen)+ \”\\n R2 : \”+
EncodeColor(colorWhite)+RD2+
EncodeColor(colorBrightGreen)+ \”\\n R1 : \” +
EncodeColor(colorWhite)+RD1 +
EncodeColor(colorBrightGreen)+ \” UP TGT : \”+
EncodeColor(colorWhite)+UL+
EncodeColor(colorBlue)+ \”\\n Pivot : \”+
EncodeColor(colorWhite)+pd+
EncodeColor(colorBlue)+ \” MIDPOINT : \”+
EncodeColor(colorWhite)+MM+
EncodeColor(colorRed)+ \”\\n S1 : \”+
EncodeColor(colorWhite)+SD1 +
EncodeColor(colorRed)+ \” BOT TGT : \”+
EncodeColor(colorWhite)+LL+
EncodeColor(colorRed)+ \”\\n S2 : \”+
EncodeColor(colorWhite)+SD2+
EncodeColor(colorRed)+ \”\\n S3 : \”+
EncodeColor(colorWhite)+SD3
);
_SECTION_END();
}
if(Buyselllable==1)
{
dist = 1.5ATR(10); dista = 0.5ATR(10);
for( i = 0; i < BarCount; i++ )
{
if( Buy[i] ) PlotText( \”Buy \\n\”+C[i] , i, L[ i ]-dist[i], colorBlack,colorGreen );
if( Sell[i] ) PlotText( \”Sell \\n\”+C[i], i, H[ i ]+dist[i], colorBlack, colorRed );
//if( Buy[i] ) PlotText( \”B\” , i, L[ i ]-dist[i], colorBlack,colorGreen );
//if( Sell[i] ) PlotText( \”S\” , i, H[ i ]+dist[i], colorBlack, colorRed );
if( Sell[i] ) PlotText( \”Top\” , i, H[ i ]+dista[i], colorGreen, colorBlack );
if( Buy[i] ) PlotText( \”Bottom\”, i, L[ i ]-dista[i], colorRed, colorBlack );
} }

Trading Data Snapshot

Always verify current market conditions before executing any trade. Past performance does not guarantee future results.

A
admin
Trading analyst and market commentator with expertise in technical analysis, price action, and risk management. Dedicated to helping traders make informed decisions.

Leave a Reply

Your email address will not be published. Required fields are marked *