A little help from the coders......Supertrend AFL

#1
Supertrend AFL from marketcalls website........its basic but good.......Need some help from the coders in the forum.........Supertrend afl generates buy/sell signal when the candle closes above/below the SL line and displays the buy/sell arrow when the next candle open instead of showing the arrows right when the candle closes above or below the SL line.......can anyone plz modify the code so that the system does not wait for the next candle opening and show the signal arrows instantly on closing of the signal candle........









/* Done by Rajandran R */
/* Author of www.marketcalls.in */
/* Date : 10th Dec 2014 */

function GetSecondNum()
{
Time = Now( 4 );
Seconds = int( Time % 100 );
Minutes = int( Time / 100 % 100 );
Hours = int( Time / 10000 % 100 );
SecondNum = int( Hours * 60 * 60 + Minutes * 60 + Seconds );
return SecondNum;
}

function PopupWindowEx( popupID, bodytext, captiontext, timeout, left, top )
{
displayText = bodytext + captiontext;
if ( ( StaticVarGetText( "prevPopup" + popupID ) != displayText) OR ( StaticVarGet( "prevPopupTime" + popupID ) < GetSecondNum() ) )
{
StaticVarSetText( "prevPopup" + popupID, displayText);
StaticVarSet( "prevPopupTime" + popupID, GetSecondNum() + timeout );
PopupWindow( bodytext, Captiontext + popupID, timeout, Left, top );
PlaySound("c:\\windows\\media\\ding.wav");
}
}

_SECTION_BEGIN("SuperTrend Ver 3.0 with Sound and Popup Alert");

SetBarsRequired(100000,0);

GraphXSpace = 15;

SetChartOptions(0,chartShowArrows|chartShowDates);

SetChartBkColor(ParamColor("bkcolor",ColorRGB(0,0, 0)));

GfxSetBkMode(0);

GfxSetOverlayMode(1);

SetBarFillColor(IIf(C>O,ParamColor("Candle UP Color", colorGreen),IIf(C<=O,ParamColor("Candle Down Color", colorRed),colorLightGrey)));

Plot(C,"\nPrice",IIf(C>O,ParamColor("Wick UP Color", colorDarkGreen),IIf(C<=O,ParamColor("Wick Down Color", colorDarkRed),colorLightGrey)),64,0,0,0,0);

// Initial Values overrides you backtesting settings

SetOption( "InitialEquity", 100000);
SetOption("FuturesMode" ,False);
SetOption("MinShares",1);
SetOption("CommissionMode",2);
SetOption("CommissionAmount",0);
SetOption("AccountMargin",100);
SetOption("RefreshWhenCompleted",True);
SetTradeDelays(0,0,0,0);
SetPositionSize(1,spsShares);






_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));



Factor=Param("Factor",4,1,10,0.1);

Pd=Param("ATR Periods",10,1,100,1);


Up=(H+L)/2+(Factor*ATR(Pd));

Dn=(H+L)/2-(Factor*ATR(Pd));

iATR=ATR(Pd);

TrendUp=TrendDown=Null;

trend[0]=1;

changeOfTrend=0;

flag=flagh=0;



for (i = 1; i <BarCount-1; i++) {

TrendUp = Null;

TrendDown = Null;



trend=1;





if (Close>Up[i-1]) {

trend=1;

if (trend[i-1] == -1) changeOfTrend = 1;



}

else if (Close<Dn[i-1]) {

trend=-1;

if (trend[i-1] == 1) changeOfTrend = 1;

}

else if (trend[i-1]==1) {

trend=1;

changeOfTrend = 0;

}

else if (trend[i-1]==-1) {

trend=-1;

changeOfTrend = 0;

}



if (trend<0 && trend[i-1]>0) {

flag=1;

}

else {

flag=0;

}



if (trend>0 && trend[i-1]<0) {

flagh=1;

}

else {

flagh=0;

}



if (trend>0 && Dn<Dn[i-1]){

Dn=Dn[i-1];

}



if (trend<0 && Up>Up[i-1])

{ Up=Up[i-1];

}



if (flag==1)

{ Up=(H+L)/2+(Factor*iATR);;

}

if (flagh==1)

{ Dn=(H+L)/2-(Factor*iATR);;

}

if (trend==1) {

TrendUp=Dn;

if (changeOfTrend == 1) {

TrendUp[i-1] = TrendDown[i-1];

changeOfTrend = 0;

}

}

else if (trend==-1) {

TrendDown=Up;

if (changeOfTrend == 1) {

TrendDown[i-1] = TrendUp[i-1];

changeOfTrend = 0;

}

}

}



Plot(TrendUp,"Trend",colorGreen);

Plot(TrendDown,"Down",colorRed);



Buy = trend==1;

Sell=trend==-1;



Buy=ExRem(Buy,Sell);

Sell=ExRem(Sell,Buy);

Short=Sell;

Cover=Buy;





BuyPrice=ValueWhen(Buy,C);

SellPrice=ValueWhen(Sell,C);

ShortPrice=ValueWhen(Short,C);

CoverPrice=ValueWhen(Cover,C);





Title = EncodeColor(colorWhite)+ "Super Trend AFL code from www.marketcalls.in" + " - " + Name() + " - " + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorWhite) +

" - " + Date() +" - "+"\n" +EncodeColor(colorRed) +"Op-"+O+" "+"Hi-"+H+" "+"Lo-"+L+" "+

"Cl-"+C+" "+ "Vol= "+ WriteVal(V)+"\n"+

EncodeColor(colorLime)+

WriteIf (Buy , " GO LONG / Reverse Signal at "+C+" ","")+

WriteIf (Sell , " EXIT LONG / Reverse Signal at "+C+" ","")+"\n"+EncodeColor(colorYellow)+

WriteIf(Sell , "Total Profit/Loss for the Last Trade Rs."+(C-BuyPrice)+"","")+

WriteIf(Buy , "Total Profit/Loss for the Last trade Rs."+(SellPrice-C)+"","");



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(Short, shapeSquare, shapeNone),colorRed, 0, H, Offset=40);
PlotShapes(IIf(Short, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50);
PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45);

duration = 10000000;

LastClose= Ref(C,-1); // if you like to add this popup will show you

if (Buy[BarCount-2]==True)
{
PopupWindowEx( "ID:1", "Get Ready to BUY \n"+Name() + " "+ Interval(2)+" : "+ " Last ="+LastClose , "Buy Alert -", 1000, 100, 1 ) ;
}
if (Short[BarCount-2]==True)
{
PopupWindowEx( "ID:2", "Get Ready to SHORT \n"+Name() + " "+ Interval(2) + " : "+ " Last ="+LastClose , "Short Alert ", 1000, 1, 150 ) ;
}



TrendSL=IIf(trend==1,TrendUp,TrendDown);




for(i=BarCount-1;i>1;i--)

{

if(Buy == 1)

{

entry = C;

sig = "BUY";

sl = TrendSL;

tar1 = entry + (entry * .0050);

tar2 = entry + (entry * .0092);

tar3 = entry + (entry * .0179);



bars = i;

i = 0;

}

if(Sell == 1)

{

sig = "SELL";

entry = C;

sl = TrendSL;

tar1 = entry - (entry * .0050);

tar2 = entry - (entry * .0112);

tar3 = entry - (entry * .0212);





bars = i;

i = 0;

}

}

Offset = 20;

Clr = IIf(sig == "BUY", colorLime, colorRed);

ssl = IIf(bars == BarCount-1, TrendSL[BarCount-1], Ref(TrendSL, -1));

sl = ssl[BarCount-1];





Plot(LineArray(bars-Offset, tar1, BarCount, tar1,1), "", Clr, styleLine|styleDots, Null, Null, Offset);

Plot(LineArray(bars-Offset, tar2, BarCount, tar2,1), "", Clr, styleLine|styleDots, Null, Null, Offset);

Plot(LineArray(bars-Offset, tar3, BarCount, tar3,1), "", Clr, styleLine|styleDots, Null, Null, Offset);



//Plot(LineArray(bars-Offset, sl, BarCount, sl,1), "", colorDarkRed, styleLine|styleLine, Null, Null, Offset);

//Plot(LineArray(bars-Offset, entry, BarCount, entry,1), "", colorGreen, styleLine|styleLine, Null, Null, Offset);



/*

for (i=bars; i <BarCount;i++)

{

PlotText(""+sig+"@"+entry, BarCount-5,entry,Null,colorBlue);

PlotText("T1@"+tar1,BarCount-5,tar1,Null,Clr);PlotText("T2@"+tar2,BarCount-5,tar2,Null,Clr);PlotText ("T3@"+tar3,BarCount-5,tar3,Null,Clr);



}*/



messageboard = ParamToggle("Message Board","Show|Hide",1);

if (messageboard == 1 )

{

GfxSelectFont( "Tahoma", 13, 100 );

GfxSetBkMode( 1 );

GfxSetTextColor( colorWhite );



if ( sig =="BUY")

{

GfxSelectSolidBrush( colorBlue ); // this is the box background color

}

else

{

GfxSelectSolidBrush( colorRed ); // this is the box background color

}

pxHeight = Status( "pxchartheight" ) ;

xx = Status( "pxchartwidth");

Left = 1100;

width = 310;

x = 5;

x2 = 290;



y = pxHeight;



GfxSelectPen( colorGreen, 1); // broader color

GfxRoundRect( x, y - 98, x2, y , 7, 7 ) ;

GfxTextOut( ( "Marketcalls - Supertrend"),13,y-100);

GfxTextOut( (" "),27,y-100);

GfxTextOut( ("Last " + sig + " Signal came " + (BarCount-bars-1) * Interval()/60 + " mins ago"), 13, y-80) ; // The text format location

GfxTextOut( ("" + WriteIf(sig =="BUY",sig + " @ ",sig + " @") + " : " + entry), 13, y-60);

GfxTextOut( ("Trailing SL : " + Ref(TrendSL,-1) + " (" + WriteVal(IIf(sig == "SELL",entry-sl,sl-entry), 2.2) + ")"), 13, y-40);

/*GfxTextOut( ("TGT:1 : " + tar1), 13, y -80);

GfxTextOut( ("TGT:2 : " + tar2), 13,y-60);

GfxTextOut( ("TGT:3 : " + tar3), 13,y-40);*/

GfxTextOut( ("Current P/L : " + WriteVal(IIf(sig == "BUY",(C-entry),(entry-C)),2.2)), 13, y-22);;



}


// Calculate Equity Curve

eq = Equity( 1, 0 );

//////////////////////////////////////////////////
// Calculate the Last Five Trades Profit/Losses //
//////////////////////////////////////////////////

tradesback = 5;
Signum = Cum( Buy ) + Cum( Short );
Signumstart1 = LastValue( SigNum ) - ( tradesback - 1 );
Signumstart2 = LastValue( SigNum ) - ( tradesback - 2 );
Signumstart3 = LastValue( SigNum ) - ( tradesback - 3 );
Signumstart4 = LastValue( SigNum ) - ( tradesback - 4 );
Signumstart5 = LastValue( SigNum ) - ( tradesback - 5 );

bi = BarIndex();
bistart = ValueWhen( signum == signumstart1, bi );
bicond = bi >= bistart AND bi <= LastValue( bi );


SellPL = IIf( Sell AND bicond, C-BuyPrice, 0 );
CovPL = IIf( Cover AND bicond, ShortPrice - C,0 );

cumPL = SellPL + CovPL;

//Plot (SellPL,"Sell",colorGreen,styleHistogram,maskhistogram);
///Plot (CovPL,"Cover", colorRed,styleHistogram,maskhistogram);

lsince = LowestSince(Sell OR Cover, cumPL, 0);
hsince = HighestSince(Sell OR Cover, CumPL, 0);


vs= IIf(lsince==0,hsince,lsince);


PL1 = ValueWhen( signum == signumstart1 , vs,1 );
PL2 = ValueWhen( signum == signumstart2 , vs,1 );
PL3 = ValueWhen( signum == signumstart3 , vs,1 );
PL4 = ValueWhen( signum == signumstart4 , vs,1 );
PL5 = ValueWhen( signum == signumstart5, vs ,1 );

//////////////////////////////////////////////////
// Plot the Last Five Trades Profit/Losses //
//////////////////////////////////////////////////


Title = EncodeColor(colorWhite)+ "Backtest Results from www.marketcalls.in" + " - " + Name() + " - " + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorWhite) +

" - " + Date() +" - "+"\n" +EncodeColor(colorRed) +"Op-"+O+" "+"Hi-"+H+" "+"Lo-"+L+" "+

"Cl-"+C+" "+ "Vol= "+ WriteVal(V)+"\n"+ EncodeColor(colorYellow)+ "\n\n\nLast 5 Trade Results\n" +
"\nTrade1= " + PL1
+"\n"+ "Trade2= " + PL2
+"\n"+ "Trade3= " + PL3
+"\n"+ "Trade4= " + PL4
+"\n"+ "Trade5= " + PL5;


//Magfied Market Price

FS=Param("Font Size",30,11,100,1);

GfxSelectFont("Times New Roman", FS, 700, True );

GfxSetBkMode( colorWhite );

GfxSetTextColor( ParamColor("Color",colorGreen) );

Hor=Param("Horizontal Position",940,1,1200,1);

Ver=Param("Vertical Position",12,1,830,1);

GfxTextOut(""+C, Hor , Ver );

YC=TimeFrameGetPrice("C",inDaily,-1);

DD=Prec(C-YC,2);

xx=Prec((DD/YC)*100,2);

GfxSelectFont("Times New Roman", 11, 700, True );

GfxSetBkMode( colorBlack );

GfxSetTextColor(ParamColor("Color",colorYellow) );

GfxTextOut(""+DD+" ("+xx+"%)", Hor , Ver+45 );


_SECTION_END();

_SECTION_BEGIN("Time Left");


RequestTimedRefresh( 1 );

TimeFrame = Interval();

SecNumber = GetSecondNum();

Newperiod = SecNumber % TimeFrame == 0;

SecsLeft = SecNumber - int( SecNumber / TimeFrame ) * TimeFrame;

SecsToGo = TimeFrame - SecsLeft;



x=Param("xposn",50,0,1000,1);

y=Param("yposn",380,0,1000,1);



GfxSelectSolidBrush( ColorRGB( 230, 230, 230 ) );

GfxSelectPen( ColorRGB( 230, 230, 230 ), 2 );

if ( NewPeriod )

{

GfxSelectSolidBrush( colorYellow );

GfxSelectPen( colorYellow, 2 );

Say( "New period" );

}

//GfxRoundRect( x+45, y+40, x-3, y-2, 0, 0 );

//GfxSetBkMode(1);

GfxSelectFont( "Arial", 14, 700, False );

GfxSetTextColor( colorRed );

GfxTextOut( "Time Left :"+SecsToGo+"", x, y );

_SECTION_END();
 
Last edited:

bunti_k23

Well-Known Member
#2
Supertrend AFL from marketcalls website........its basic but good.......Need some help from the coders in the forum.........Supertrend afl generates buy/sell signal when the candle closes above/below the SL line and displays the buy/sell arrow when the next candle open instead of showing the arrows right when the candle closes above or below the SL line.......can anyone plz modify the code so that the system does not wait for the next candle opening and show the signal arrows instantly on closing of the signal candle........




post the code
 

umeshmandal

Well-Known Member
#4
The rule for Buy Sell is : Close above/below the Supertrend ! Right.
Now when do we consider a candle is finally closed?!!!? its confirmed when the next candle opens!
The arrow will naturally appear only when the current candle closes and the current candle's close is confirmed only when the next candle opens!
 
#5
Supertrend AFL from marketcalls website........its basic but good.......Need some help from the coders in the forum.........Supertrend afl generates buy/sell signal when the candle closes above/below the SL line and displays the buy/sell arrow when the next candle open instead of showing the arrows right when the candle closes above or below the SL line.......can anyone plz modify the code so that the system does not wait for the next candle opening and show the signal arrows instantly on closing of the signal candle........




Dear Sir.

Where we can get the previous charts day wise for fno scrips? i m very weak in chart reading pl let me know the roots..

Thanks
Vittal
 
#6
The rule for Buy Sell is : Close above/below the Supertrend ! Right.
Now when do we consider a candle is finally closed?!!!? its confirmed when the next candle opens!
The arrow will naturally appear only when the current candle closes and the current candle's close is confirmed only when the next candle opens!
but when its NSE market one candle represent one day from morn 9:15 to 15:30 so the system automatically confirms that the candle is closed at 15:30 so why wait for the next candle opening to confirm the prev candle close.........So just requesting if anyone could modify the code for my requirement.

Have a look at this system.....its Ultimate Volatility Expert posted in marketcalls website which displays the signal on the closing of the candle and does not wait for the next candle opening to display the candle.


 
#7





_SECTION_BEGIN("Price");

SetChartOptions(0,chartShowArrows|chartShowDates);
SetChartBkColor(ParamColor("bkcolor",ColorRGB(0,0, 0)));
//SetTradeDelays(1,1,1,1);
SetPositionSize(100,spsShares);
_SECTION_END();

NDays=Param("Number of Days",10,1,50,1);
DayC=TimeFrameGetPrice("C",inDaily,-1);
NDaysDHLAvg=0;
for(i=1;i<=NDays;i++)
{
DayH=TimeFrameGetPrice("H",inDaily,-i);
DayL=TimeFrameGetPrice("L",inDaily,-i);
NDaysDHLAvg=NDaysDHLAvg+(DayH-DayL);
}
NDaysDHLAvg=NDaysDHLAvg/NDays;

ADM= NDaysDHLAvg; // Average Day Moment

// Dynamic Levels//----------Majer Support Resistent Zones---------------------------------------------------

DayH = TimeFrameGetPrice("H", inDaily, -1); DayHI = LastValue (DayH,1); // yesterdays high
DayL = TimeFrameGetPrice("L", inDaily, -1); DayLI = LastValue (DayL,1); // yesterdays low
DayC = TimeFrameGetPrice("C", inDaily, -1); DayCI = LastValue (DayC,1); // yesterdays close
DayO = TimeFrameGetPrice("O", inDaily); DayOI = LastValue (DayO,1); // current day open
WeekH= TimeFrameGetPrice("H", inWeekly, 0); WeekHI = LastValue (WeekH,1); // This Week high
WeekL= TimeFrameGetPrice("L", inWeekly, 0); WeekLI = LastValue (WeekL,1); // This Week low
MonthH= TimeFrameGetPrice("H", inMonthly, 0); MonthHI = LastValue (MonthH,1); // This Month high
MonthL= TimeFrameGetPrice("L", inMonthly, 0); MonthLI = LastValue (MonthL,1); // This Month low
LWeekH= TimeFrameGetPrice("H", inWeekly, -1); LWeekHI = LastValue (LWeekH,1); // One Week before high
LWeekL= TimeFrameGetPrice("L", inWeekly, -1); LWeekLI = LastValue (LWeekL,1); // One Week before low
LMonthH= TimeFrameGetPrice("H", inMonthly, -1); LMonthHI = LastValue (LMonthH,1); // One Month before high
LMonthL= TimeFrameGetPrice("L", inMonthly, -1); LMonthLI = LastValue (LMonthL,1); // One Month before low
L1WeekH= TimeFrameGetPrice("H", inWeekly, -2); L1WeekHI = LastValue (L1WeekH,1); // Two Week before high
L1WeekL= TimeFrameGetPrice("L", inWeekly, -2); L1WeekLI = LastValue (L1WeekL,1); // Two Week before low
L1MonthH= TimeFrameGetPrice("H", inMonthly, -2); L1MonthHI = LastValue (L1MonthH,1); // Two Month before high
L1MonthL= TimeFrameGetPrice("L", inMonthly, -2); L1MonthLI = LastValue (L1MonthL,1); // Two Month before low
L2WeekH= TimeFrameGetPrice("H", inWeekly, -3); L2WeekHI = LastValue (L2WeekH,1); // Three Week before high
L2WeekL= TimeFrameGetPrice("L", inWeekly, -3); L2WeekLI = LastValue (L2WeekL,1); // Three Week before low
L2MonthH= TimeFrameGetPrice("H", inMonthly, -3); L2MonthHI = LastValue (L2MonthH,1); // Three Month before high
L2MonthL= TimeFrameGetPrice("L", inMonthly, -3); L2MonthLI = LastValue (L2MonthL,1); // Three Month before low
L3MonthH= TimeFrameGetPrice("H", inMonthly, -4); L3MonthHI = LastValue (L3MonthH,1); // Four Month before high
L3MonthL= TimeFrameGetPrice("L", inMonthly, -4); L3MonthLI = LastValue (L3MonthL,1); // Four Month before low
L4MonthH= TimeFrameGetPrice("H", inMonthly, -5); L4MonthHI = LastValue (L4MonthH,1); // Five Month before high
L4MonthL= TimeFrameGetPrice("L", inMonthly, -5); L4MonthLI = LastValue (L4MonthL,1); // Five Month before low
L3WeekH= TimeFrameGetPrice("H", inWeekly, -4); L3WeekHI = LastValue (L3WeekH,1); // Four Week before high
L3WeekL= TimeFrameGetPrice("L", inWeekly, -4); L3WeekLI = LastValue (L3WeekL,1); // Four Week before low
//----------------------------------------------------------------------------------------------------------------------


Buy= C>((DayC)+((.382)*(ADM)));
Sell= C<((DayC)-((.382)*(ADM)));

Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);

Short=Sell;
Cover=Buy;

BuyPrice=ValueWhen(Buy,C);
SellPrice=ValueWhen(Sell,C);
ShortPrice=ValueWhen(Short,C);
CoverPrice=ValueWhen(Cover,C);

BuyTarget1= (0.45*ADM)+BuyPrice;
BuyTarget2= (0.95*ADM)+BuyPrice;
BuyTarget3= (1.95*ADM)+BuyPrice;
SellTarget1= SellPrice-(0.45*ADM);
SellTarget2= SellPrice-(0.95*ADM);
SellTarget3= SellPrice-(1.95*ADM);

//------------------------------------------------------------------------------------------------

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(Short, shapeSquare, shapeNone),colorRed, 0, H, Offset=40);
PlotShapes(IIf(Short, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50);
PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45);

Long=Flip(Buy,Sell);
Shrt=Flip(Sell,Buy);

BuyPrice=ValueWhen(Buy,C);
SellPrice=ValueWhen(Sell,C);

Bdc=(
WriteIf (Buy AND Ref(shrt,-1), " BUY@ "+C+" ","")+
WriteIf(Buy , "LastTrade Profit="+(SellPrice-C)+"","")
);

Sdc=(
WriteIf (Sell AND Ref(Long,-1), " SEll@ "+C+" ","")+
WriteIf(Sell , "LastTrade Profit="+(C-BuyPrice)+"","")
);

Ndc=(
WriteIf(Long AND NOT Buy, "Long@"+WriteVal((BuyPrice))+" /Profit="+WriteVal((C-BuyPrice))+"","")+
WriteIf(Shrt AND NOT Sell, "Short@"+WriteVal((SellPrice))+" /Profit="+WriteVal((SellPrice-C))+"","")
);

BTdc=(
WriteIf(Long AND NOT Buy, "Target1(1/2ADM)"+WriteVal((BuyTarget1))+
"::\nTarget2(One ADM)"+WriteVal((BuyTarget2))+
"::\nTarget3(Two ADM)"+WriteVal((BuyTarget3))+"","")
);

STdc=(
WriteIf(Shrt AND NOT Sell, "Target1(1/2ADM)"+WriteVal((SellTarget1))+
"::\nTarget2(One ADM)"+WriteVal((SellTarget2))+
"::\nTarget3(Two ADM)"+WriteVal((SellTarget3))+"","")
);

_SECTION_END();

trendup = IIf(C>((DayC)+((.382)*(ADM))), colorBlue, colorWhite);
trendcolor = IIf(C<((DayC)-((.382)*(ADM))), colorRed, trendup);
Plot( C, "Close", trendcolor, styleCandle | styleThick );

numbars = LastValue(Cum(Status("barvisible")));
hts = -33.5;

// Volatility Levels //
DC = DayC; DCI = LastValue (DC,1); // Yesterday Close
BY = ((DayC)+((.382)*(ADM))); BYI = LastValue (BY,1); // Buy Entry Line
BT1 = ((DayC)+((.618)*(ADM))); BT1I = LastValue (BT1,1); // Buy Target Line 1
BT2 = ((DayC)+((.786)*(ADM))); BT2I = LastValue (BT2,1); // Buy Target Line 2
BT3 = ((DayC)+(ADM)); BT3I = LastValue (BT3,1); // Buy Target Line 3
SH = ((DayC)-((.382)*(ADM))); SHI = LastValue (SH,1); // Sell Entry Line
ST1 = ((DayC)-((.618)*(ADM))); ST1I = LastValue (ST1,1); // Sell Target Line 1
ST2 = ((DayC)-((.786)*(ADM))); ST2I = LastValue (ST2,1); // Sell Target Line 2
ST3 = ((DayC)-(ADM)); ST3I = LastValue (ST3,1); // Sell Target Line 3

vvl = ParamToggle("Intraday Target Levels","Hide|Show",0);
if(vvl==1) {
Plot(DC, "DC",colorWhite,styleDots|styleLine|styleNoRescale|styleNoTitle);
Plot(BY, "BY",colorLime,styleDots|styleLine|styleNoRescale|styleNoTitle);
Plot(BT1, "BT1",colorGreen,styleDots|styleLine|styleNoRescale|styleNoTitle);
Plot(BT2, "BT2",colorGreen,styleDots|styleLine|styleNoRescale|styleNoTitle);
Plot(BT3, "BT3",colorGreen,styleDots|styleLine|styleNoRescale|styleNoTitle);
Plot(SH, "SH",colorRed,styleDots|styleLine|styleNoRescale|styleNoTitle);
Plot(ST1, "ST1",colorBrown,styleDots|styleLine|styleNoRescale|styleNoTitle);
Plot(ST2, "ST2",colorBrown,styleDots|styleLine|styleNoRescale|styleNoTitle);
Plot(ST3, "ST3",colorBrown,styleDots|styleLine|styleNoRescale|styleNoTitle);

PlotText(" DC ", LastValue(BarIndex())-(numbars/Hts), DCI, colorDarkGrey);
PlotText(" Buy " , LastValue(BarIndex())-(numbars/Hts), BYI, colorLime);
PlotText(" Target1 " , LastValue(BarIndex())-(numbars/Hts), BT1I, colorGreen);
PlotText(" Target2 " , LastValue(BarIndex())-(numbars/Hts), BT2I, colorGreen);
PlotText(" Target3 " , LastValue(BarIndex())-(numbars/Hts), BT3I, colorGreen);
PlotText(" Sell " , LastValue(BarIndex())-(numbars/Hts), SHI, colorRed);
PlotText(" Target1 " , LastValue(BarIndex())-(numbars/Hts), ST1I, colorBrown);
PlotText(" Target2 " , LastValue(BarIndex())-(numbars/Hts), ST2I, colorBrown);
PlotText(" Target3 " , LastValue(BarIndex())-(numbars/Hts), ST3I, colorBrown);
}

mmwwl = ParamToggle(" MOnthly, Weekly Levels","Hide|Show",1);
if(mmwwl==1) {
Plot(DayH, "PDH",colorBlue,styleLine|styleNoRescale|styleNoTitle);
Plot(WeekH, "CWH",colorBlue,styleLine|styleNoRescale|styleNoTitle);
Plot(LWeekH, "LWH",colorBlue,styleLine|styleNoRescale|styleNoTitle);
Plot(L1WeekH, "2WH",colorBlue,styleLine|styleNoRescale|styleNoTitle);
Plot(L2WeekH, "3WH",colorBlue,styleLine|styleNoRescale|styleNoTitle);
Plot(L3WeekH, "4WH",colorBlue,styleLine|styleNoRescale|styleNoTitle);
Plot(MonthH, "CMH",colorBlue,styleLine|styleNoRescale|styleNoTitle);
Plot(LMonthH, "LMH",colorBlue,styleLine|styleNoRescale|styleNoTitle);
Plot(L1MonthH, "2MH",colorBlue,styleLine|styleNoRescale|styleNoTitle);
Plot(L2MonthH, "3MH",colorBlue,styleLine|styleNoRescale|styleNoTitle);
Plot(L3MonthH, "4MH",colorBlue,styleLine|styleNoRescale|styleNoTitle);
Plot(L4MonthH, "5MH",colorBlue,styleLine|styleNoRescale|styleNoTitle);

Plot(DayL, "PDL",colorViolet,styleLine|styleNoRescale|styleNoTitle);
Plot(WeekL, "CWL",colorViolet,styleLine|styleNoRescale|styleNoTitle);
Plot(LWeekL, "LWL",colorViolet,styleLine|styleNoRescale|styleNoTitle);
Plot(L1WeekL, "2WL",colorViolet,styleLine|styleNoRescale|styleNoTitle);
Plot(L2WeekL, "3WL",colorViolet,styleLine|styleNoRescale|styleNoTitle);
Plot(L3WeekL, "4WL",colorViolet,styleLine|styleNoRescale|styleNoTitle);
Plot(MonthL, "CML",colorViolet,styleLine|styleNoRescale|styleNoTitle);
Plot(LMonthL, "LML",colorViolet,styleLine|styleNoRescale|styleNoTitle);
Plot(L1MonthL, "2ML",colorViolet,styleLine|styleNoRescale|styleNoTitle);
Plot(L2MonthL, "3ML",colorViolet,styleLine|styleNoRescale|styleNoTitle);
Plot(L3MonthL, "4ML",colorViolet,styleLine|styleNoRescale|styleNoTitle);
Plot(L4MonthL, "5ML",colorViolet,styleLine|styleNoRescale|styleNoTitle);

PlotText(" PDH ", LastValue(BarIndex())-(numbars/Hts), DayHI, colorBlue);
PlotText(" CWH " , LastValue(BarIndex())-(numbars/Hts), WeekHI, colorBlue);
PlotText(" LWH " , LastValue(BarIndex())-(numbars/Hts), LWeekHI, colorBlue);
PlotText(" 2WH " , LastValue(BarIndex())-(numbars/Hts), L1WeekHI, colorBlue);
PlotText(" 3WH " , LastValue(BarIndex())-(numbars/Hts), L2WeekHI, colorBlue);
PlotText(" 4WH " , LastValue(BarIndex())-(numbars/Hts), L3WeekHI, colorBlue);
PlotText(" CMH " , LastValue(BarIndex())-(numbars/Hts), MonthHI, colorBlue);
PlotText(" LMH " , LastValue(BarIndex())-(numbars/Hts), LMonthHI, colorBlue);
PlotText(" 2MH " , LastValue(BarIndex())-(numbars/Hts), L1MonthHI, colorBlue);
PlotText(" 3MH ", LastValue(BarIndex())-(numbars/Hts), L2MonthHI, colorBlue);
PlotText(" 4MH " , LastValue(BarIndex())-(numbars/Hts), L3MonthHI, colorBlue);
PlotText(" 5MH " , LastValue(BarIndex())-(numbars/Hts), L4MonthHI, colorBlue);

PlotText(" PDL " , LastValue(BarIndex())-(numbars/Hts), DayLI, colorViolet);
PlotText(" CWL " , LastValue(BarIndex())-(numbars/Hts), WeekLI, colorViolet);
PlotText(" LWL " , LastValue(BarIndex())-(numbars/Hts), LWeekLI, colorViolet);
PlotText(" 2WL " , LastValue(BarIndex())-(numbars/Hts), L1WeekLI, colorViolet);
PlotText(" 3WL " , LastValue(BarIndex())-(numbars/Hts), L2WeekLI, colorViolet);
PlotText(" 4WL " , LastValue(BarIndex())-(numbars/Hts), L3WeekLI, colorViolet);
PlotText(" CML " , LastValue(BarIndex())-(numbars/Hts), MonthLI, colorViolet);
PlotText(" LML " , LastValue(BarIndex())-(numbars/Hts), LMonthLI, colorViolet);
PlotText(" 2ML " , LastValue(BarIndex())-(numbars/Hts), L1MonthLI, colorViolet);
PlotText(" 3ML ", LastValue(BarIndex())-(numbars/Hts), L2MonthLI, colorViolet);
PlotText(" 4ML " , LastValue(BarIndex())-(numbars/Hts), L3MonthLI, colorViolet);
PlotText(" 5ML " , LastValue(BarIndex())-(numbars/Hts), L4MonthLI, colorViolet);

}

_SECTION_BEGIN("Background text");
C11=ParamColor("up panel",colorBlack );
C12=ParamColor("dn panel",colorBlack );
C13=Param("fonts",20,10,30,1 );
C14=Param("left-right",2.1,1.0,5.0,0.1 );
C15=Param("up-down",8,1,30,1 );
Miny = Status("axisminy");
Maxy = Status("axismaxy");
lvb = Status("lastvisiblebar");
fvb = Status("firstvisiblebar");
pxwidth = Status("pxwidth");
pxheight = Status("pxheight");
GfxSetBkMode( 0 );
GfxSelectFont("Tahoma", 12, 500, False, False, 0);
GfxSetTextColor(colorCustom12);
GfxSetTextAlign( 6 );
GfxTextOut( "ADM (Average Day Moment) "+WriteVal(ADM,1.2), Status("pxwidth")/C14, Status("pxheight")/C15*1.5);
GfxSelectFont("Tahoma", 15, 600, False, False, 0);
GfxSetTextColor(colorWhite);
GfxSetTextAlign( 6 );
GfxTextOut( "LTP "+WriteVal(C,1.2), Status("pxwidth")/C14, Status("pxheight")/C15);
GfxSelectFont("Tahoma", 12, 400, False, False, 0);
GfxSetTextColor(colorBrightGreen);
GfxTextOut(""+Bdc+"", Status("pxwidth")/C14, Status("pxheight")/C15*2.0);
GfxSelectFont("Tahoma", 12, 400, False, False, 0);
GfxSetTextColor(colorRed);
GfxTextOut(""+Sdc+"", Status("pxwidth")/C14, Status("pxheight")/C15*2.0);
GfxSelectFont("Tahoma", 12, 400, False, False, 0);
GfxSetTextColor(colorYellow);
GfxTextOut(""+Ndc+"", Status("pxwidth")/C14, Status("pxheight")/C15*2.0);
GfxSelectFont("Tahoma", 12, 400, False, False, 0);
GfxSetTextColor(colorGreen);
GfxTextOut(""+BTdc+"", Status("pxwidth")/C14, Status("pxheight")/C15*2.5);
GfxSelectFont("Tahoma", 12, 400, False, False, 0);
GfxSetTextColor(colorGreen);
GfxTextOut(""+STdc+"", Status("pxwidth")/C14, Status("pxheight")/C15*2.5);


pricechange=(C-Ref(C,-1))*100/Ref(C,-1);
changeponit=C-Ref(C,-1);
Vlp=Param("Volume lookback period",15,10,300,10);
Vrg=MA(V,Vlp);
St = StDev(Vrg,Vlp);
Vp3 = Vrg + 3*st;
Vp2 = Vrg + 2*st;;
Vp1 = Vrg + 1*st;;
Vn1 = Vrg -1*st;
Vn2 = Vrg -2*st;

x=Param("xposn",1,0,1000,1);
y=Param("yposn",1,0,1000,1);

GfxGradientRect( 1, 1, 1400, 40, colorGrey50, colorDarkGrey);
GfxSetBkMode(0);
GfxSelectFont( "Georgia", 18, 800, False );
GfxSetTextColor( colorWhite );
GfxTextOut( "ULTIMATE VOLATILITY EXPERT ", x+600, y+10 );
GfxSelectFont( "Tahoma", 16, 800, False );
GfxSetTextColor( colorGold );
GfxTextOut( Name(), x+100, y+10 );
GfxSelectFont( "Century Gothic", 15, 100, False );
GfxSetTextColor( colorWhite );
GfxTextOut( Date(), x+1000, y+10 );
GfxSelectFont( "Comic Sans MS", 15, 500, False );
GfxSetTextColor( colorYellow );
GfxTextOut( Interval(2), x+275, y+10 );
//------------------------------------------------------------ H, L, O, C----------------------
GfxGradientRect( 1, 40, 1400, 55, colorGrey50, colorDarkGrey );
GfxSetBkMode(0);
GfxSelectFont( "Areal", 9, 200, False );
GfxSetTextColor( colorWhite );
GfxTextOut( "High:"+WriteVal(H,1.2), x+100, y+40 );
GfxSelectFont( "Areal", 9, 200, False );
GfxSetTextColor( colorWhite );
GfxTextOut( "Low:"+WriteVal(L,1.2), x+200, y+40 );
GfxSelectFont( "Areal", 9, 200, False );
GfxSetTextColor( colorWhite );
GfxTextOut( "Open:"+WriteVal(O,1.2), x+300, y+40 );
GfxSelectFont( "Areal", 9, 200, False );
GfxSetTextColor( colorWhite );
GfxTextOut( "Close:"+WriteVal(C,1.2), x+400, y+40 );
GfxSelectFont( "Script MT Bold", 12, 100, False );
GfxSetTextColor( colorWhite );
GfxTextOut( "Created By Murali Krishna ", x+1000, y+39 );
//-----------------------------------------------------------Valume-------------------------------
GfxSelectFont( "Tahoma", 9, 200, False );
GfxSetTextColor( colorWhite );
GfxTextOut( "Volume="+WriteVal(V,1.2), x+500, y+40 );
GfxSelectFont( "Tahoma", 9, 200, False );
GfxSetTextColor( colorLime );
GfxTextOut( WriteIf(V>Vp2,"Very High",""), x+600, y+40 );
GfxSelectFont( "Tahoma", 9, 200, False );
GfxSetTextColor( colorLime );
GfxTextOut( WriteIf(V>Vp1," High",""), x+600, y+40 );
GfxSelectFont( "Tahoma", 9, 200, False );
GfxSetTextColor( colorLime );
GfxTextOut( WriteIf(V>Vrg,"Above Average",""), x+600, y+40 );
GfxSelectFont( "Tahoma", 9, 200, False );
GfxSetTextColor( colorRed );
GfxTextOut( WriteIf(V<Vrg AND V>Vn1,"Less than Average",""), x+600, y+40 );
GfxSelectFont( "Tahoma", 9, 200, False );
GfxSetTextColor( colorRed );
GfxTextOut( WriteIf(V<Vn1,"Low",""), x+600, y+40 );
//----------------------------------------------------------------Leveles----------------------------

GfxGradientRect( 1, 185, 90, 200, colorGrey50,colorDarkGrey );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorOrange );
GfxTextOut( "Levels ", x+45, y+185 );

GfxGradientRect( 1, 200, 90, 215, colorDarkGrey,colorDarkRed );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (L4MonthH>C, " 5MH "+WriteVal(L4MonthH,1.2)+" ",""), x+50, y+200 );

GfxGradientRect( 1, 215, 90, 230, colorDarkGrey, colorDarkRed );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (L3MonthH>C, " 4MH "+WriteVal(L3MonthH,1.2)+" ",""), x+50, y+215 );

GfxGradientRect( 1, 230, 90, 245, colorDarkGrey, colorDarkRed );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (L2MonthH>C, " 3MH "+WriteVal(L2MonthH,1.2)+" ",""), x+50, y+230 );

GfxGradientRect( 1, 245, 90, 260, colorDarkGrey, colorDarkRed );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (L1MonthH>C, " 2MH "+WriteVal(L1MonthH,1.2)+" ",""), x+50, y+245 );

GfxGradientRect( 1, 260, 90, 275, colorDarkGrey, colorDarkRed );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (LMonthH>C, " LMH "+WriteVal(LMonthH,1.2)+" ",""), x+50, y+260 );

GfxGradientRect( 1, 275, 90, 290, colorDarkGrey, colorDarkRed );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (MonthH>C, " CMH "+WriteVal(MonthH,1.2)+" ",""), x+50, y+275 );

GfxGradientRect( 1, 290, 90, 305, colorDarkGrey, colorDarkRed );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (L3WeekH>C, " 4WH "+WriteVal(L3WeekH,1.2)+" ",""),x+50, y+290 );

GfxGradientRect( 1, 305, 90, 320, colorDarkGrey, colorDarkRed );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (L2WeekH>C, " 3WH "+WriteVal(L2WeekH,1.2)+" ",""), x+50, y+305 );

GfxGradientRect( 1, 320, 90, 335, colorDarkGrey, colorDarkRed );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (L1WeekH>C, " 2WH "+WriteVal(L1WeekH,1.2)+" ",""), x+50, y+320 );

GfxGradientRect( 1, 335, 90, 350, colorDarkGrey, colorDarkRed );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (LWeekH>C, " 1WH "+WriteVal(LWeekH,1.2)+" ","") , x+50, y+335 );

GfxGradientRect( 1, 350, 90, 365, colorDarkGrey, colorDarkRed );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (WeekH>C, " CWH "+WriteVal(WeekH,1.2)+" ",""), x+50, y+350 );

GfxGradientRect( 1, 365, 90, 380, colorDarkGrey, colorDarkRed );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (DayH>C, " PDH "+WriteVal(DayH,1.2)+" ",""), x+50, y+365 );

GfxGradientRect( 1, 380, 90, 395, colorLightBlue , colorBlue );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorCustom12);
GfxTextOut( WriteIf (C, " LTP "+WriteVal(C,1.2)+" ",""), x+50, y+380 );

GfxGradientRect( 1, 395, 90, 410, colorDarkGrey,colorDarkGreen);
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (DayL<C, " PDL "+WriteVal(DayL,1.2)+" ",""), x+50, y+395 );

GfxGradientRect( 1, 410, 90, 425, colorDarkGrey, colorDarkGreen );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (WeekL<C, " CWL "+WriteVal(WeekL,1.2)+" ",""), x+50, y+410 );

GfxGradientRect( 1, 425, 90, 440, colorDarkGrey, colorDarkGreen );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (LWeekL<C, " 1WL "+WriteVal(LWeekL,1.2)+" ",""), x+50, y+425 );

GfxGradientRect( 1, 440, 90, 455, colorDarkGrey, colorDarkGreen );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 9, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (L1WeekL<C, " 2WL "+WriteVal(L1WeekL,1.2)+" ",""), x+50, y+440);

GfxGradientRect( 1, 455, 90, 470, colorDarkGrey, colorDarkGreen );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (L2WeekL<C, " 3WL "+WriteVal(L2WeekL,1.2)+" ",""), x+50, y+455);

GfxGradientRect( 1, 470, 90, 485, colorDarkGrey, colorDarkGreen );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (L3WeekL<C, " 4WL "+WriteVal(L3WeekL,1.2)+" ",""), x+50, y+470);

GfxGradientRect( 1, 485, 90, 500, colorDarkGrey, colorDarkGreen );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (MonthL<C, " CML "+WriteVal(MonthL,1.2)+" ",""), x+50, y+485);

GfxGradientRect( 1, 500, 90, 515, colorDarkGrey, colorDarkGreen );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (LMonthL<C, " 1ML "+WriteVal(LMonthL,1.2)+" ",""), x+50, y+500);

GfxGradientRect( 1, 515, 90, 530, colorDarkGrey, colorDarkGreen );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (L1MonthL<C, " 2ML "+WriteVal(L1MonthL,1.2)+" ",""), x+50, y+515);

GfxGradientRect( 1, 530, 90, 545, colorDarkGrey, colorDarkGreen );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (L2MonthL<C, " 3ML "+WriteVal(L2MonthL,1.2)+" ",""), x+50, y+530);

GfxGradientRect( 1, 545, 90, 560, colorDarkGrey, colorDarkGreen );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (L3MonthL<C, " 4ML "+WriteVal(L3MonthL,1.2)+" ",""), x+50, y+545);

GfxGradientRect( 1, 560, 90, 575, colorDarkGrey, colorDarkGreen );
GfxSetBkMode(0);
GfxSelectFont( "Tahoma", 10, 300, False );
GfxSetTextColor( colorWhite );
GfxTextOut( WriteIf (L4MonthL<C, " 5ML "+WriteVal(L4MonthL,1.2)+" ",""), x+50, y+560);
 

Similar threads