Code Amibroker Indicators

SUPER cam for Amibroker (AFL)

by admin 31 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
\"\"

_SECTION_BEGIN(\”GANN Levels\”);
/*
For Stocks/Index/Commodities \”order\” need to be 0.1 to 0.5
For Forex \”order\” should be 0.001 ( except JPY pairs ), for JPY pairs it need to be 0.01
*/
Op=TimeFrameGetPrice(\”O\”,inDaily,0);
order=Param(\”Order\”,0.5,0.001,0.1,0.001,sincr = 0);
level1 = 1.25;
level2 = 2.50;
level3 = 3.33;
level4 = 5;
level5 = 6.66;
level6 = 7.5;
level7 = 10;
level1 = level1 * order;
level2 = level2 * order;
level3 = level3 * order;
level4 = level4 * order;
level5 = level5 * order;
level6 = level6 * order;
level7 = level7 * order;
bAboveI=(sqrt(Op)+level1)*(sqrt(Op)+level1); // BUY Zone
bAbove = round(bAboveI);
sBelowI=(sqrt(Op)-level1)*(sqrt(Op)-level1); // SELL Zone
sBelow = round(sBelowI);
Sstop= bAbove ;
Bstop= sBelow ;
// Resistance Levels (or Targets for Buy trade)
BTgt1 = round((sqrt(Op)+level2)(sqrt(Op)+level2)); BTgt2 = round((sqrt(Op)+level3)(sqrt(Op)+level3));
BTgt3 = round((sqrt(Op)+level4)(sqrt(Op)+level4)); BTgt4 = round((sqrt(Op)+level5)(sqrt(Op)+level5));
BTgt5 = round((sqrt(Op)+level6)(sqrt(Op)+level6)); BTgt6 = round((sqrt(Op)+level7)(sqrt(Op)+level7));
// Support Levels (or Targets for Short trade)
STgt1 = round((sqrt(Op)-level2)(sqrt(Op)-level2)); STgt2 = round((sqrt(Op)-level3)(sqrt(Op)-level3));
STgt3 = round((sqrt(Op)-level4)(sqrt(Op)-level4)); STgt4 = round((sqrt(Op)-level5)(sqrt(Op)-level5));
STgt5 = round((sqrt(Op)-level6)(sqrt(Op)-level6)); STgt6 = round((sqrt(Op)-level7)(sqrt(Op)-level7));
GfxSetBkMode( 1 );
GfxSelectFont(\”Arial\”, 12, 900 );
GfxSetTextColor( colorLime );
GfxSelectPen( colorBlack, 1, 0) ;
GfxSelectSolidBrush( colorBlue );
BTgtext = \”Buy Targets : \” + NumToStr(btgt1,1.2,False) + \” – \” + NumToStr(btgt2,1.2,False) + \” – \” + NumToStr(btgt3,1.2,False)+ \” – \” + NumToStr(btgt4,1.2,False) + \” – \” + NumToStr(btgt5,1.2,False) + \” – \” + NumToStr(btgt6,1.2,False);
STgtext = \”Short Targets : \” + NumToStr(stgt1,1.2,False) + \” – \” + NumToStr(stgt2,1.2,False) + \” – \” + NumToStr(stgt3,1.2,False)+ \” – \” + NumToStr(stgt4,1.2,False) + \” – \” + NumToStr(stgt5,1.2,False) + \” – \” + NumToStr(stgt6,1.2,False);
// GANN levels based on MKT opening price ( please change this time according to exchnage opening time )
GfxTextOut(\”Buy Above : \” + WriteIf(TimeNum()>092900, NumToStr(bAbove,1.2,False) + \” SL : \” + NumToStr(sBelow,1.2,False),\”Waiting for Signal\”), 10, 65);
GfxTextOut(WriteIf(TimeNum()>092900,BTgtext,\”\”), 10, 85);
GfxSetBkMode( 1 );
GfxSelectFont(\”Arial\”, 12, 900 );
GfxSetTextColor( colorOrange );
GfxSelectPen( colorBlack, 1, 0) ;
GfxSelectSolidBrush( colorBlue );
GfxTextOut(\”Short Below : \” + WriteIf(TimeNum()>092900, NumToStr(sBelow,1.2,False) + \” SL : \” + NumToStr(bAbove,1.2,False),\”Waiting for Signal\”), 10, 105);
GfxTextOut(WriteIf(TimeNum()>092900,STgtext,\”\”), 10, 125);
BuySignal = (Cross(H,babove)OR Cross(C,babove) OR (H>babove AND L<=babove)) AND Op=sbelow AND Lsbelow ;
BuySignal = ExRem(BuySignal,ShortSignal);
ShortSignal = ExRem(ShortSignal,BuySignal);
ShortProfitStop= (STgt1 AND L<=Stgt1 AND C>Stgt1) OR (STgt2 AND L<=Stgt2 AND C>Stgt2) OR (STgt3 AND L<=Stgt3 AND C>Stgt3) OR (STgt4 AND L<=Stgt4 AND C>Stgt4) OR (STgt5 AND L<=Stgt5 AND C>Stgt5) OR (STgt6 AND L<=Stgt6 AND C>Stgt6);
BuyProfitStop= (Btgt1 AND H>=btgt1 AND C=Btgt2 AND C=Btgt3 AND C=Btgt4 AND C=Btgt5 AND C=Btgt6 AND C<btgt6);
SetOption(\”MaxOpenPositions\”, 1 );
SetPositionSize(100,spsShares);
Buy = BuySignal;
Sell = C<Bstop OR BuyProfitStop;
Buy = ExRem(Buy,Sell);
Sell = ExRem(Sell,Buy);
Short = ShortSignal;
Cover = C>SStop OR ShortProfitStop;
PlotShapes(IIf(Buysignal, shapeSquare, shapeNone),colorBlue, 0, L, Offset=-20);
PlotShapes(IIf(Buysignal, shapeSquare, shapeNone),colorBlue, 0,L, Offset=-30);
PlotShapes(IIf(Buysignal, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-25);
PlotShapes(IIf(Shortsignal, shapeSquare, shapeNone),colorRed, 0, H, Offset=20);
PlotShapes(IIf(Shortsignal, shapeSquare, shapeNone),colorOrange, 0,H, Offset=30);
PlotShapes(IIf(Shortsignal, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-25);
Short = ExRem(Short,Cover);
Cover = ExRem(Cover,Short);
AlertIf( Buy, \”\”, \”BUY @ \” + C, 1 );
AlertIf( Sell, \”\”, \”SELL @ \” + C, 2 );
PlotShapes(IIf(Cover, shapeUpArrow,shapeNone),colorGreen, 0, Low, Offset=-20);
PlotShapes(IIf(Sell, shapeDownArrow,shapeNone),colorRed, 0, High, Offset=-20);
numbars = LastValue(Cum(Status(\”barvisible\”)));
hts = -33.5;
gl = ParamToggle(\”GANN Levels\”,\”Show|Hide\”,0);
if(gl==1) {
Plot(sstop,\”BUY Zone\”,colorDarkGreen,styleDots|styleNoLine|styleNoRescale|styleNoTitle );
Plot(bstop,\”SELL Zone\”,colorDarkRed,styleDots|styleNoLine|styleNoRescale|styleNoTitle );
Plot(BTgt1,\”BUY TGT1\”,colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle );
Plot(BTgt2,\”BUY TGT2\”,colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle );
Plot(BTgt3,\”BUY TGT3\”,colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle );
Plot(BTgt4,\”BUY TGT4\”,colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle );
Plot(BTgt5,\”BUY TGT5\”,colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle );
Plot(BTgt6,\”BUY TGT6\”,colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle );
Plot(STgt1,\”SELL TGT1\”,colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle);
Plot(STgt2,\”SELL TGT1\”,colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle);
Plot(STgt3,\”SELL TGT1\”,colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle);
Plot(STgt4,\”SELL TGT1\”,colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle);
Plot(STgt5,\”SELL TGT1\”,colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle);
Plot(STgt6,\”SELL TGT1\”,colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle);
PlotText(\” BUY Zone\” , LastValue(BarIndex())-(numbars/Hts), LastValue(sstop,1), colorDarkGreen);
PlotText(\” SELL Zone\” , LastValue(BarIndex())-(numbars/Hts), LastValue(bstop,1), colorDarkRed);
PlotText(\” BUY TGT1\” , LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt1,1), colorOrange);
PlotText(\” BUY TGT2\” , LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt2,1), colorOrange);
PlotText(\” BUY TGT3\” , LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt3,1), colorOrange);
PlotText(\” BUY TGT4\” , LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt4,1), colorOrange);
PlotText(\” BUY TGT5\” , LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt5,1), colorOrange);
PlotText(\” BUY TGT6\” , LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt6,1), colorOrange);
PlotText(\” SELL TGT1\” , LastValue(BarIndex())-(numbars/Hts), LastValue(STgt1,1), colorLime);
PlotText(\” SELL TGT2\” , LastValue(BarIndex())-(numbars/Hts), LastValue(STgt2,1), colorLime);
PlotText(\” SELL TGT3\” , LastValue(BarIndex())-(numbars/Hts), LastValue(STgt3,1), colorLime);
PlotText(\” SELL TGT4\” , LastValue(BarIndex())-(numbars/Hts), LastValue(STgt4,1), colorLime);
PlotText(\” SELL TGT5\” , LastValue(BarIndex())-(numbars/Hts), LastValue(STgt5,1), colorLime);
PlotText(\” SELL TGT6\” , LastValue(BarIndex())-(numbars/Hts), LastValue(STgt6,1), colorLime);
}
_SECTION_END();
_SECTION_BEGIN(\”ZIG-ZAG\”);
P = ParamField( \”ZIG Price field\” );
change = Param(\”% change\”,1.4,0.1,25,0.1);
Plot( zz=EMA(Zig(P, change),1), _DEFAULT_NAME(), ParamColor( \”Color\”, colorWhite ), ParamStyle(\”style\”,styleOwnScale) );
//Plot( zz=EMA(Zig(P, change),4), _DEFAULT_NAME(), ParamColor( \”Color\”, colorCycle ), ParamStyle(\”style\”,styleOwnScale) );
x=Param(\”Average \”,50,1,21);
y=Param(\”ATR \”,10,1,21);
typ=(H+L+C)/3;
//s=MA(typ,x);//code line changed by ford to suit current need
s =MA(C,x);
//Up=(s +(ATR(y)1.33));//changed //Lo=(s-(ATR(y)1.33));//changed
Up=(s +(ATR(y)7)); Lo=(s-(ATR(y)7));
Up1=(s +(ATR(y)5));//added Lo1=(s-(ATR(y)5));//added
Plot (EMA(C,3),\”like STARC BANDS – Close\”,1,styleLine);
Plot (T=EMA(EMA(C,8),8),\”like STARC BANDS – Close\”,1,styleLine);
Plot (k=EMA(EMA(C,4),2),\”like STARC BANDS – Closea\”,1,styleLine);
Plot (Up,\”UB\”,27,4);
Plot (s,\”Mid\”,colorYellow,1);
Plot (Lo,\”LB\”,27,4);
Plot (Up1,\”UB1\”,27,4);
Plot (Lo1,\”LB1\”,27,4);
Buy=Cover= Cross(zz,Ref(zz,-1));//Cross(T,s ) OR Cross(k,t) OR
Sell=Short= Cross(Ref(zz,-1),zz);//Cross(s ,t ) OR Cross(t,k) OR
//GraphXSpace=3;
_SECTION_END();
a=20;
GraphXSpace=5;
p=30;
p = Param(\”p\”,30,2,100,1);
Om=DEMA(O,p);
hm=DEMA(H,p);
lm=DEMA(L,p);
Cm=DEMA(C,p);
HACLOSE=(Om+Hm+Lm+Cm)/4;
HaOpen = AMA( Ref( HaClose, -1), 1);
HaHigh = Max( Hm, Max( HaClose, HaOpen ) );
HaLow = Min( Lm, Min( HaClose, HaOpen ) );
slope = Param(\”slope\”,2,2,100,1);
Color20= IIf(LinRegSlope(MA(HaClose,a),slope)<0,colorRed,colorGreen);
Plot(MA(HaClose,a),\”\”, color20,styleThick);
Color=IIf(Haclose>MA(HaClose,a),colorGreen, colorRed);
PlotOHLC( HaOpen, HaOpen, HaClose, HaClose, \”\” + Name(), Color, styleCandle);
_SECTION_END();
for( i = 0; i < BarCount; i++ )
{
if( Buy[i] )
{
OUTcolor = ParamColor(\”Outer Panel Color\”,colorTeal);
INUPcolor = ParamColor(\”Inner Panel Upper\”,colorDarkGreen);
INDNcolor = ParamColor(\”Inner Panel Lower\”,colorDarkOliveGreen);
TitleColor = ParamColor(\”Title Color \”,colorBlack);
SetChartBkColor(OUTcolor); // color of outer border
SetChartBkGradientFill(INUPcolor,INDNcolor,TitleColor); // color of inner panel
}
if( Sell[i] )
{
OUTcolor = ParamColor(\”Outer Panel Color\”,colorTeal);
INUPcolor = ParamColor(\”Inner Panel Upper2\”,colorDarkRed);
INDNcolor = ParamColor(\”Inner Panel Lower2\”,colorPlum);
TitleColor = ParamColor(\”Title Color \”,colorBlack);
SetChartBkColor(OUTcolor); // color of outer border
SetChartBkGradientFill(INUPcolor,INDNcolor,TitleColor); // color of inner panel
}
}
//Magfied Market Price
GfxSetTextAlign( 6 );// center alignment
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);
GfxSetTextAlign( 6 );// center alignment
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();
PlotShapes(shapeStarBuy,colorWhite,0,L,60); PlotShapes(shapeStarSell,colorBlack,0,L,120);
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);
//PlotShapes( Buy1 * shapeStar + Sell2 * shapeStar, IIf( Buy1, colorWhite, colorYellow ));
PlotShapes( Buy * shapeUpArrow + Sell * shapeDownArrow, IIf( Buy, colorBrightGreen, colorRed ) );
PlotShapes( Buy * shapeUpTriangle + Sell * shapeDownTriangle, IIf( Buy, colorBrightGreen, colorRed ) );
//PlotShapes( Buy * shapeHollowSmallCircle + Sell * shapeHollowSmallCircle, IIf( Buy, colorWhite, colorYellow ) );
PlotShapes(IIf(Buy,shapeUpArrow,shapeNone),colorGreen);
PlotShapes(IIf(Buy,shapeHollowUpArrow,shapeNone),colorWhite);
//PlotShapes(IIf(Buy,shapeHollowSmallCircle,shapeNone),colorWhite);
PlotShapes(IIf(Sell,shapeDownArrow,shapeNone),colorRed);
PlotShapes(IIf(Sell,shapeHollowDownArrow,shapeNone),colorWhite);
//PlotShapes(IIf(Sell,shapeHollowSmallCircle,shapeNone),colorWhite);
PlotShapes(IIf(Short,shapeDownTriangle,shapeNone),colorYellow);
PlotShapes(IIf(Short,shapeHollowDownTriangle,shapeNone),colorWhite);
//PlotShapes(IIf(Short,shapeHollowCircle,shapeNone),colorWhite);
PlotShapes(IIf(Cover,shapeUpTriangle,shapeNone),colorLightBlue);
PlotShapes(IIf(Cover,shapeHollowUpTriangle,shapeNone),colorWhite);
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 >2 <3 == BarCount+1 OR Sell >-3<-3 == BarCount+1;
Action = WriteIf(Buy, \”BUY\”, WriteIf(Sell, \”SELL\”, \” \”));
//AddTextColumn(IndustryID(1), \”Industry Sector \”, 30.0, colorBlue, colorYellow);
AddColumn(C, \”Entry \”, 2.2, colorWhite, colorBlue);
AddTextColumn(Action, \”Action\”, 8.0, IIf(xh1, colorDarkGreen, colorDarkRed), colorYellow);
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 Sell AND Cover 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(Volume,\”Volume\”,1.0, colorDefault, IIf ((Volume > 1.25 * EMA( Volume, 34 )),colorBlue,colorYellow));
AlertIf( Buy , \”SOUND C:\\Windows\\Media\\chimes.wav\”, \”Audio alert\”, 2 );
AlertIf( Sell , \”SOUND C:\\Windows\\Media\\alert.wav\”, \”Audio alert\”, 2 );
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
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)));
CloseAtEnd = ParamToggle(\”Close Positions EOD\”, \”No|Yes\”);
stopreverse =ParamToggle(\”Switch To Stop And Reverse\”,\”No|Yes\”,0);
Trend = ATR(21) < StDev (C,21); Range = ATR(21) > StDev (C,21);
no=10;
C13=20;
C14=2.1;
C15=12;
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(avd==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)));
buyach1 = IIf((Buy OR Long AND NOT Relax AND NOT Cover AND NOT Short AND NOT Shrt), H > tar1, 0);
buyach2 = IIf((Buy OR Long AND NOT Relax AND NOT Cover AND NOT Short AND NOT Shrt), H > tar2 , 0);
buyach3 = IIf((Buy OR Long AND NOT Relax AND NOT Cover AND NOT Short AND NOT Shrt), H > tar3, 0);
sellach1 = IIf((Short OR Shrt AND NOT Relax AND NOT Sell AND NOT Buy AND NOT Long), L < tar1 , 0);
sellach2 = IIf((Short OR Shrt AND NOT Relax AND NOT Sell AND NOT Buy AND NOT Long), L < tar2, 0);
sellach3 = IIf((Short OR Shrt AND NOT Relax AND NOT Sell AND NOT Buy AND NOT Long), L < tar3, 0);
_SECTION_BEGIN(\”Pivot calc\”);
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;
Title =
EncodeColor(colorWhite)+ \”jkp singh\” + \” – \” + Name() + \” – \” + EncodeColor(colorRed)+ Interval(2)
EncodeColor(colorWhite) + \” – \” + Date() +\” – \”
+\”\\n\”
+EncodeColor(colorYellow) +\”Op-\”+O+\” \”+\”Hi-\”+H+\” \”+\”Lo-\”+L+\” \”+ \”Cl-\”+C+\” \”+ \”Vol= \”+ WriteVal(V)
//+ WriteIf ((e3>e45) ,EncodeColor(colorLime)+ \” Direction : LONG\”,EncodeColor(colorRed)+\” Direction : SHORT\”)
+\”\\n\”
WriteIf (Sell , \” EXIT LONG / Reverse Signal at \”+C+\”\\n\”,\”\”)
WriteIf (Buy , \” EXIT SHORT / Reverse Signal at \”+C+\”\\n\”,\”\”)
+WriteIf(Sell , \”Total Profit / Loss for the Last Trade Rs.\”+(C-BuyPrice)+\”\”,\”\”)+
WriteIf(Buy , \”Total Profit / Loss for the Last trade Rs.\”+(SellPrice-C)+\”\”,\”\”)+
WriteIf(Long AND NOT Buy,EncodeColor(colorLime)+ \”Trade : Long – Entry price Rs.\”+(BuyPrice)+\” Tgt : \”+UL,\”\”)+
WriteIf(shrt AND NOT Sell,EncodeColor(colorRed)+ \”Trade : Short – Entry price Rs.\”+(SellPrice)+\” Tgt : \”+LL,\”\”)+\”\\n\”+
WriteIf(Long AND NOT Buy, \”Current Profit / Loss Rs.\”+(C-BuyPrice)+\”\”,\”\”)+
WriteIf(shrt AND NOT Sell, \”Current Profit / Loss Rs.\”+(SellPrice-C)+\”\”,\”\”);
/*+ 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;*/
// 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();
///////////////////////
// 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();
//////////////////////
// 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();

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 *