Simple Coding Help - No Promise.

manishchan

Well-Known Member
Amit/Anyone : I am in need of a buy/sell indicator on break of previous candle. Here is the criteria

Long = Break of the high of prev candle. Exit on the close of current candle.

Short = Break of the low of prev candle. Exit on the close of the current candle.

Thanks :)
 
Hello

I am beginner to amibroker and trading, I am looking for an exploration afl which can explore candle who's low is above prev candle low and who's high is less than prev candle high.

Thanks in advance.
 
Last edited:
Hi friends.

Please provide me the code for this.

Attaching a chart

As shown in the chart, I want 2 to 5 (as per need) horizontal lines in the far right area, of length approx 3-4 cms, with these conditions, though not necessary.

1. The lines should not move to the left side of the charting area as chart progresses, (but if possible can be moved up and down.)
2. The value (on y axis) of placement of the lines can be changed as per need, as these values are not fixed. (please code with the values given in the chart)
3. The placement of lines should not be affected in different time frames.
4. I can change style, colour of the lines as per my requirement.
5. If I can get value mentioned on the line as shown, then it will an additional benefit.

Thanks
 

Attachments

I am trying to plot multiple lines on a chart which are 1%,2%,3% away from previous days close. But when I do so.... due to display of these lines the price bars become very small. Is it possible that those lines are visible only If the stock price is around those levels?
 
the following afl shows syntax errors. kindly correct it





//|------------------------------------------------------------------
SetChartOptions(0,chartShowDates|chartLogarithmic|chartWrapTitle);
#pragma nocache
// Commentry output ....
EnableTextOutput(False);
System= ParamList("System Selection","NiftyPro4.2|Option_Trading|NiftyPro3.6|NiftyPro3.5",0);
SL1_show = ParamToggle("10 Min SL", "Off|On");
AudioAlert = ParamToggle("Audio Alert", "On|Off");
Print_SR = ParamToggle("Print Minor Levels", "Off|On");
Print_Band = ParamToggle("Print Band", "Off|On");
Print_Fib = ParamToggle("Intraday Fibonacci", "Off|On");
Print_DSR = ParamToggle("Dynamic Sup / Res", "On|Off");
Print_Divergence = ParamToggle("Divergence", "Off|On");
Print_MACD = ParamToggle("MACD Buy / Sell", "Off|On");
Text_Display = ParamToggle("Alert Messages", "On|Off"); // Display Alert messages on Chart.





_SECTION_BEGIN("S / R Parameters");
Sensitivity = Param("Sensitivity",32,10,100,1);

DisRange = Param("Plot 'far away' Lines Trigger",300,0,1000,20);
Color_SL= ParamColor("Support",colorLime);
Color_RL= ParamColor("Resistance",colorRed);
_SECTION_END();



_SECTION_END();
Plot( EMA( C, 65 ), _DEFAULT_NAME(), ParamColor("21 MA Color", colorGrey40 ),1+ 4096+styleNoTitle );

TimeFrameSet( inDaily );

EngulfingPattern = WriteIf(CdBullishEngulfing(), "Bullish Engulfing Candle Pattern",
WriteIf( CdBearishEngulfing(), "Bearish Engulfing Candle Pattern",
WriteIf( CdDoji(), "DOJI Candle Pattern",
WriteIf( CdHammer(), "HAMMER Candle Pattern",
" no Candle Pattern"))));
TimeFrameRestore();
NiftyPro4point2P();

sVCXB = BarsSince(VCXB); sVCXS= BarsSince(VCXS);

if (Print_BAND) {

Cord = 0; // initialize
for( Counter = 52; Counter >= 26; Counter-- )
{
Cord = Max( Cord, LinearReg(Close,Counter) );
}

ProportionalATR = ind101*2.5 / (Sum(C, 52) /13);
Factor = 2.618 * Cord * ProportionalATR;
LD = Cord - Factor;
LD = IIf(Cord < LD, Cord, LD);
UD = Cord + Factor;

//Plot(Cord, "Cord", colorYellow);
Plot(LD, "LD", colorRed);
Plot(UD, "UD", colorGreen);
}

per1 = SelectedValue(Sensitivity *SelectedValue(0.2*uIV_AVG));
per2 = SelectedValue(per1 * 3);
x=Cum(1);
Tp1 = TroughBars(L,per1,1) == 0;
Pp1 = PeakBars (H,per1,1) == 0;
Tp2 = TroughBars(L,per2,1) == 0;
Pp2 = PeakBars (H,per2,1) == 0;

XT1 =SelectedValue(ValueWhen(Tp1,x,1));
XT2 =SelectedValue(ValueWhen(Tp1,x,2));
XT3 =SelectedValue(ValueWhen(Tp1,x,3));
XT4 =SelectedValue(ValueWhen(Tp1,x,4));
XT5 =SelectedValue(ValueWhen(Tp1,x,5));
XT6 =SelectedValue(ValueWhen(Tp2,x,1));
XT7 =SelectedValue(ValueWhen(Tp2,x,2));

XP1 =SelectedValue(ValueWhen(Pp1,x,1));
XP2 =SelectedValue(ValueWhen(Pp1,x,2));
XP3 =SelectedValue(ValueWhen(Pp1,x,3));
XP4 =SelectedValue(ValueWhen(Pp1,x,4));
XP5 =SelectedValue(ValueWhen(Pp1,x,5));
XP6 =SelectedValue(ValueWhen(Pp2,x,1));
XP7 =SelectedValue(ValueWhen(Pp2,x,2));

T1 = SelectedValue(ValueWhen(Tp1,L,1));
T2 = SelectedValue(ValueWhen(Tp1,L,2));
T3 = SelectedValue(ValueWhen(Tp1,L,3));
T4 = SelectedValue(ValueWhen(Tp1,L,4));
T5 = SelectedValue(ValueWhen(Tp1,L,5));
T6 = SelectedValue(ValueWhen(Tp2,L,1));
T7 = SelectedValue(ValueWhen(Tp2,L,2));

P1 = SelectedValue(ValueWhen(Pp1,H,1));
P2 = SelectedValue(ValueWhen(Pp1,H,2));
P3 = SelectedValue(ValueWhen(Pp1,H,3));
P4 = SelectedValue(ValueWhen(Pp1,H,4));
P5 = SelectedValue(ValueWhen(Pp1,H,5));
P6 = SelectedValue(ValueWhen(Pp2,H,1));
P7 = SelectedValue(ValueWhen(Pp2,H,2));

breakout_lasttrough_G1 = Cross(T1,C);
breakout_lasttrough_G2 = Cross(T6,C);
breakout_lastpeak_G1 = Cross(C,P1);
breakout_lastpeak_G2 = Cross(C,P6);
bu_breakout = Cross(C,P1) OR Cross(C,P6);
be_breakout = Cross(T1,C) OR Cross(T6,C);
break_G1_val = IIf(breakout_lasttrough_G1,-1,IIf(breakout_lastpeak_G1,1,0));
break_G2_val = IIf(breakout_lasttrough_G2,-1,IIf(breakout_lastpeak_G2,1,0));




/*Display Conditions*/
Vis_percent =DisRange*SelectedValue(MA(abs(ROC(C,1)),10));
pR = (Vis_percent/100) + 1;
nR = ((100-VIS_percent)/100);
lC = SelectedValue(C);
RT1 = T1<PR*LC & T1>nR*LC;
RT2 = T2<PR*LC & T2>nR*LC;
RT3 = T3<PR*LC & T3>nR*LC;
RT4 = T4<PR*LC & T4>nR*LC;
RT5 = T5<PR*LC & T5>nR*LC;
RP1 = P1<PR*LC & P1>nR*LC;
RP2 = P2<PR*LC & P2>nR*LC;
RP3 = P3<PR*LC & P3>nR*LC;
RP4 = P4<PR*LC & P4>nR*LC;
RP5= P5<PR*LC & P5>nR*LC;
RT6= T6<PR*LC & T6>nR*LC;
RT7= T7<PR*LC & T7>nR*LC;
RP6= P6<PR*LC & P6>nR*LC;
RP7= P7<PR*LC & P7>nR*LC;
/*End Display Conditions*/

//Anyline_zero
AnZ= T1==0 & T2==0 & T3==0 & T4==0 & T5==0 & T6==0 & T7==0 & P1==0 & P2==0 & P3==0 & P4==0 & P5==0 & P6==0 & P7==0;

LastBar = Cum(1) == SelectedValue(Cum(1));


if(Print_SR)
{



Plot(IIf(x>=XT2 & RT2 &NOT T2==0,T2,-1e10),"T2",IIf( SelectedValue(C)<T2,Color_RL, Color_SL ),1 + 2048+styleNoTitle);
Plot(IIf(x>=XT3 & RT3 &NOT T3==0,T3,-1e10),"T3",IIf( SelectedValue(C) < T3 , Color_RL, Color_SL ),1 + 2048+styleNoTitle);
Plot(IIf(x>=XT4 & RT4 &NOT T4==0,T4,-1e10),"T4",IIf( SelectedValue(C)<T4,Color_RL, Color_SL ),1 + 2048+styleNoTitle);
Plot(IIf(x>=XT5 & RT5 &NOT T5==0,T5,-1e10),"T5",IIf( SelectedValue(C)<T5,Color_RL, Color_SL ),1 + 2048+styleNoTitle);



Plot(IIf(x>=XP2 & RP2 &NOT P2==0,P2,-1e10), "P2" ,IIf( SelectedValue(C)<P2,Color_RL, Color_SL ),1 + 2048+styleNoTitle);
Plot(IIf(x>=XP3 & RP3 &NOT P3==0,P3,-1e10), "P3" ,IIf( SelectedValue(C)<P3,Color_RL, Color_SL ),1 + 2048+styleNoTitle);
Plot(IIf(x>=XP4 & RP4 &NOT P4==0,P4,-1e10), "P4" ,IIf( SelectedValue(C)<P4,Color_RL, Color_SL ),1 + 2048+styleNoTitle);
Plot(IIf(x>=XP5 & RP5 &NOT P5==0,P5,-1e10),"P5",IIf( SelectedValue(C)<P5,Color_RL, Color_SL ),1 + 2048+styleNoTitle);
}

Plot(IIf(x>=XT1 & RT1 &NOT T1==0,T1,-1e10),"T1",colorBlue,1 + 2048+styleNoTitle);
Plot(IIf(x>=XP1 & RP1 &NOT P1==0,P1,-1e10), "P1" ,colorBlue,1 + 2048+styleNoTitle);
Plot(IIf(x>=XT6 & RT6 &NOT T6==0,T6,-1e10),"T6",IIf( SelectedValue(C)<T6,Color_RL, Color_SL ),8 + 2048+styleNoTitle + styleNoLabel);
Plot(IIf(x>=XT7 & RT7 &NOT T7==0,T7,-1e10),"T7",IIf( SelectedValue(C)<T7,Color_RL, Color_SL ),8 + 2048+styleNoTitle+ styleNoLabel);
Plot(IIf(x>=XP6 & RP6 &NOT P6==0,P6,-1e10),"P6",IIf( SelectedValue(C)<P6,Color_RL, Color_SL ),8 + 2048+styleNoTitle);
Plot(IIf(x>=XP7 & RP7 &NOT P7==0,P7,-1e10),"P7",IIf( SelectedValue(C)<P7,Color_RL, Color_SL ),8 + 2048+styleNoTitle);

//if (NiftyConditions3point7()==1) {

//Color Settings.....


Color = IIf( ui7 < -100, 32, IIf( ui7 > 100, 27, IIf((ui7 > 50), 34, IIf((ui7 > 20), 51, IIf((ui7 < - 50), 25, IIf((ui7 < - 20), 33, 55 ))))));



/* plot color ribbon */


Plot( 1, "", Color, styleArea | styleOwnScale | styleNoLabel, -0.1, 60 );



Volumecolor = IIf(MAV_Value1 > 3 AND C > O, colorGreen,IIf(MAV_Value1 > 3 AND C < O, colorRed,
IIf(MAV_Value1 > 1.2, colorBlue, IIf(MAV_Value1 > 0.8, colorLightBlue, colorWhite))));
Plot( 1, "", Volumecolor, styleArea | styleOwnScale | styleNoLabel, -0.1, 25 );

MACD_Buy = Cross( MACD(),Signal() );
MACD_Sell = Cross(Signal() ,MACD());

NewDay = Day()!= Ref(Day(), -1);

DH = HHV( H, NewDay);
DL = LLV(L, NewDay);
rsiDH = HHV( RSIa(H, 14), NewDay); //param 14
rsiDL = LLV(RSIa(L, 14), NewDay);
RSI_Parameter = Param("RSIA PARAM",15,8,20,1);
////// RSI Day high / low detection ////
RSIBull1 = (L < Ref(dl, -1) AND RSIa(L, RSI_Parameter) > Ref(RSIdl, -1)) OR
(L > Ref(dl, -1) AND RSIa(L, RSI_Parameter) < Ref(RSIdl, -1)) ;
RSIBear1 = (H > Ref(dh, -1) AND RSIa(H, RSI_Parameter) < Ref(RSIdh, -1)) OR
(H < Ref(dh, -1) AND RSIa(H, RSI_Parameter) > Ref(RSIdh, -1));
RSIburev = BarsSince(RSIbull1);
RSIberev = BarsSince(RSIbear1);

CCI_Periods = Param("CCI Periods",32,10,50,1);

bear_CCI = (CCI() >Ref( HHV(CCI(), CCI_Periods), -1) AND H < Ref(HHV(H, CCI_Periods), -1)) OR
(CCI() < Ref( HHV(CCI(), CCI_Periods), -1) AND H > Ref(HHV(H, CCI_Periods), -1));

bull_CCI = (CCI() > Ref( LLV(CCI(), CCI_Periods), -1) AND L < Ref(LLV(L, CCI_Periods), -1)) OR
( CCI() < Ref( LLV(CCI(), CCI_Periods), -1) AND L > Ref(LLV(L, CCI_Periods), -1));
Sbullcci = BarsSince(bull_CCI);
Sbearcci = BarsSince(bear_CCI);

BeReversal = ( Close >= HHV( Close, 18 ) AND RSI(14) < HHV( RSI(14), 18 )) ;
BuReversal = ( Close <= LLV( Close, 18 ) AND RSI(14) > LLV( RSI(14), 18 ));
BeReversal1 = ( RSI(15) <= LLV( RSI(14), 14) AND Close > LLV(Close,14));
BuReversal1 = ( RSI(15) >= HHV( RSI(14), 14 ) AND Close < HHV( Close, 14 ));



NewBeReversal = ( H >= (Ref(HHV( H, 24 ), -1)+1) AND (RSIa(H, 24) < (HHV( RSIa(H, 24), 24 )) - 2));
NewBuReversal = ( L <= (Ref(LLV( L, 24 ), -1)-1) AND (RSIa(L,24) > (LLV( RSIa(L,24), 24 )) + 2));
Confirm_BeReversal = Ref( NewBeReversal, -1) AND H <= Ref(H, -1);
Confirm_BuReversal = Ref(NewBuReversal, -1) AND L >= Ref(L, -1);
since_BeReversal = BarsSince(BeReversal);
since_BuReversal = BarsSince(BuReversal);

since_Confirm_BeReversal = BarsSince(Confirm_BeReversal);
since_Confirm_BuReversal = BarsSince(Confirm_BuReversal);

sinceOverBought = BarsSince(RSI(14) > 65);
sinceOverSold = BarsSince(RSI(14) < 35);



/*BULLISH STOCHASTIC DIVERGENCE, DD==30*/
ST33=StochD();
TR1=LLVBars(ST33,4);
TR2=IIf(ST33<30 AND TR1>0 AND Ref(TR1,-1)==0,Ref(ST33,-1),0);
TRC=IIf(TR2>0,C,0);
vs=ValueWhen(tr2, Ref(st33,-1), 1);
dvs=vs-Ref(vs,-1);
vc=ValueWhen(trc, LLV(C,3), 1);
dvc=vc-Ref(vc,-1);
diver=IIf(dvs>0 AND dvc<0,30,0);
DAS=BarsSince(Ref(TR2,-1)>0);
DD=IIf(DAS<20 AND C>=Ref(C,-1),DIVER,0);
//Graph0=DD;
//Graph0BarColor=4;
STBULL=DD==30;



/*BEARISH STOCHASTIC DIVERGENCE, BDDD==90*/

BTR1=HHVBars(ST33,4);
BTR2=IIf(ST33>70 AND BTR1>0 AND Ref(BTR1,-1)==0,Ref(ST33,-1),0);
BTRC=IIf(BTR2>0,C,0);
Bvs=ValueWhen(Btr2, Ref(st33,-1), 1);
Bdvs=Bvs-Ref(Bvs,-1);
Bvc=ValueWhen(Btrc, HHV(H,3), 1);
Bdvc=Bvc-Ref(Bvc,-1);
Bdiver=IIf(Bdvs<0 AND Bdvc>0,90,0);
BDAS=BarsSince(Ref(BTR2,-1)>0);
Bddd=IIf(BDAS<20 AND C<=Ref(C,-1),BDIVER,0);
//Graph2=BDDD;
//Graph2BarColor=4;
STBEAR=BDDD==90;
sinceSTBULL = BarsSince(STBULL);
sinceSTBEAR = BarsSince(STBEAR);


Hist = MACD()-Signal();
macdBeReversal = ( H >= (Ref(HHV( H, 14 ), -1)+2) AND (Hist < (HHV( Hist, 14 )) - 2));
macdBuReversal = ( L <= (Ref(LLV( L, 14 ), -1)-2) AND (Hist > (LLV( Hist, 14 )) + 2));
Confirm_macdBeReversal = Ref(macdBeReversal, -1) AND H <= Ref(H, -1);
Confirm_macdBuReversal = Ref(macdBuReversal, -1) AND L >= Ref(L, -1);


if (Print_MACD) {
PlotShapes(shapeHollowSmallSquare * MACD_Buy, colorGreen, 0, L, -5);
PlotShapes(shapeHollowSmallSquare * MACD_Sell, colorDarkRed, 0, H, 5);

}

if (Print_Divergence) {
PlotShapes(shapeHollowSmallCircle * BuReversal, colorGreen, 0, L, -5);
PlotShapes(shapeHollowSmallCircle * BeReversal, colorRed, 0, H, 5);
PlotShapes(shapeSmallCircle * BuReversal1, colorGreen, 0, L, -5);
PlotShapes(shapeSmallCircle * BeReversal1, colorRed, 0, H, 5);
PlotShapes(shapeSmallCircle * Confirm_MacdBuReversal, colorDarkGreen, 0, L, -4);
PlotShapes(shapeSmallCircle * Confirm_MacdBeReversal, colorDarkRed, 0, H, 4);
PlotShapes(shapeStar * confirm_BuReversal, colorDarkGreen, 0, L, -11);
PlotShapes(shapeStar * Confirm_BeReversal, colorRed, 0, H, 11);
PlotShapes(shapeSmallSquare * STBULL, colorBlue, 0, L, -15);
PlotShapes(shapeSmallSquare * STBEAR, colorRed, 0, H, 15);
}




if(Print_Fib)
{

Plot(feb1,"",colorBlue,512 +styleThick + styleDashed);
Plot(feb2,"",colorBlue,512+ styleThick+styleDashed);
Plot(TDH,"",colorRed,512+ styleDashed);
Plot(TDL,"",colorGreen,512+ styleDashed);
}



intcond = (Vint / 60) < 20; ///Should Remove this one...


Negative_Bias = (TDL < PDL OR TDH < PDH OR L < Ref(TDL, -1)) AND C < DL1 ; ///Should Remove this one...
Positive_Bias = (TDL > PDL OR TDH > PDH OR H > Ref(TDH, -1)) AND C > DH1 ; ///Should Remove this one...
InsideBar = TDH < PDH AND TDL > PDL AND TimeNum() > 143000;
PreviousDR = PDH - PDL;
TodayRange = TDH - TDL;
NR4 = TodayRange < Ref(TodayRange, -1) AND TodayRange < Ref(TodayRange, -2) AND TodayRange < Ref(TodayRange, -3) AND TimeNum() > 143000;
NR7 = NR4 AND TodayRange < Ref(TodayRange, -4) AND TodayRange < Ref(TodayRange, -5) AND TodayRange < Ref(TodayRange, -6) AND TimeNum() > 143000;
/* plot color ribbon */
//TrendColor = IIf( Negative_Bias AND NOT Positive_Bias, colorRed, IIf( Positive_Bias AND NOT Negative_Bias, colorGreen,colorLightGrey ));

//Plot( 1, "", TrendColor, styleArea | styleOwnScale | styleNoLabel, -0.1, 25 );

TrendText = WriteIf(Negative_Bias AND NOT Positive_Bias, " -Negative- " , WriteIf(Positive_Bias AND NOT Negative_Bias, " +Positive+ ", "Nutral" ));
IBNRtext = WriteIf(NR7 AND InsideBar, " NR7 & InsideBar Day ", WriteIf(NR4 AND InsideBar, " NR4 and InsideBar Day ",
WriteIf(NR7, " NR7 Day ",WriteIf(NR4, " NR4 Day ",WriteIf(InsideBar, " InsideBar Day ", " None ")))));

sDHbeC = BarsSince(DHbeC); sDLbuC = BarsSince(DLbuC); SDayH = BarsSince(H==Dayh); sDayL = BarsSince(L ==DayL);
SPikeUp = ((HHV(dayH - Thr11, 12) > C*0.007) OR (HHV(H, 18) - LLV(L, 18) > C*0.008)) AND sDHbeC < 12 AND sDHbeC == SDayH AND Spikeup1 ;
SPikeDown = ((HHV(Pk11 - dayL, 12) > C*0.007) OR (HHV(H, 18) - LLV(L, 18) > C*0.008)) AND spikedown1 AND sDLbuC == sDayL AND sDLbuC < 12;
Bfilter7 = Buy1 && AvoidB7 && Ref(HHV(MAV_Value1, 6), -1) < 1.1;
/*


/*
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/



EnableTextOutput(True);


EnableTextOutput(False);
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/


if(System=="NiftyPro4.2"){

bgbtmcolor = colorPaleBlue;



Buy2_1 = (Buy2 OR SpikeDown) AND AvoidBuyFinal &&! Bfilter7;
Short2_1 = ((Short2 OR Spikeup ) AND NOT AvoidShort) OR DhSpike OR SerialClimax_sHORT OR GapUpShort2 ;
Buy2_1 = ExRem(Buy2_1, Short2_1); Short2_1 = ExRem(Short2_1, Buy2_1);
Buy0 = ExRem(Buy0, Short0); Short0 = ExRem(Short0, Buy0) ;
sBuy0 = BarsSince(Buy0); sShort0 = BarsSince(Short0); sbuy2 = BarsSince(Buy2_1); sshort2 = BarsSince(Short2_1);
Buy = Buy2_1 ; Short = Short2_1 ;


BuyPri1 = (ValueWhen(Buy, C, n = 1));
SellPri1 = (ValueWhen(Short, C, n = 1));

ExitLong11 = (ExitLong10 && C < BuyPri1*0.997) AND ((C < BuyPri1*0.997 )OR ELcond10);
ExitShort11 = ExitShort10 AND ((C > Sellpri1*1.003) OR EScond10);

Sell = (exitlong11 OR Short OR Sell2) AND TimeNum() < 152930;
Cover = exitshort11 OR Buy OR Cover2 AND TimeNum() < 152930;

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

sCover = BarsSince( Cover ); sSell = BarsSince( Sell );

Buy3_1 = Buy2_1 OR ((Buy0 OR Buy0_1) AND sSell < sShort2) AND NOT Sell AND TimeNum() < 152930;
Short3_1 = Short2_1 OR ((Short0 OR Short0_1) AND sCover < sBuy2) AND NOT Cover AND TimeNum() < 152930;
Buy3_1 = ExRem(Buy3_1, (Sell OR Cover OR Short3_1)); Short3_1 = ExRem(Short3_1, (Cover OR Sell OR Buy3_1));
Buy = Buy3_1; Short = Short3_1;



sBuy = BarsSince( Buy ); sShort = BarsSince( Short );
}

if(System=="Option_Trading"){

bgbtmcolor = colorGrey50;
Buy21 = Buy1 && MAV_Value1 > 2.8 && MAV_Value1 < 4.3 && H < DayH && (C-O) > C*0.0012 && RSI() < 69;

//Buy2_1 = ((Buy2 OR SpikeDown) AND AvoidBuyFinal &&! Bfilter7 &&! Buy1) || Buy21;
//Short2_1 = ((Short2 OR Spikeup ) AND NOT AvoidShort &&! Short1) OR DhSpike OR SerialClimax_sHORT OR GapUpShort2;
Buy2_1 = ((Buy3 OR SpikeDown) AND AvoidBuyFinal &&! Bfilter7) || Buy21;
Short2_1 = ((Short3 OR Spikeup ) AND NOT AvoidShort ) OR DhSpike OR SerialClimax_sHORT OR GapUpShort2;
Buy = Buy2_1;
Short = Short2_1;
Sell = (Short3_Exit AND NOT AvoidShort) || Short2_1;
Cover = (Buy3_Exit AND AvoidBuyFinal &&! Bfilter7) || Buy2_1;
Buy = ExRem(Buy, Sell); Short = ExRem(Short, Cover);
Sell = ExRem(Sell, Buy); Cover = ExRem(Cover, Short);
sCover = BarsSince( Cover ); sSell = BarsSince( Sell );
sBuy = BarsSince( Buy ); sShort = BarsSince( Short );

}

if(System=="NiftyPro3.6"){

Buy = Buy1; Sell= Short1; Buy = ExRem(Buy, Sell); Sell = ExRem(Sell, Buy); Cover = Buy; Short = Sell;
sBuy = BarsSince( Buy ); sShort = BarsSince( Short ); sCover = BarsSince( Cover ); sSell = BarsSince( Sell );
bgbtmcolor = colorGrey50;
}
if(System=="NiftyPro3.5"){

Buy = Buy0; Sell= Short0; Buy = ExRem(Buy, (Sell )); Sell = ExRem(Sell, (Buy )); Cover = Buy; Short = Sell;
sBuy = BarsSince( Buy ); sShort = BarsSince( Short ); sCover = BarsSince( Cover ); sSell = BarsSince( Sell );
bgbtmcolor = colorGreen;
}
BuyPri = (ValueWhen(Buy, C, n = 1)); BuyPriHi = (ValueWhen(Buy, H, n = 1));
SellPri = (ValueWhen(Short, C, n = 1)); SellPriLo = (ValueWhen(Short, L, n = 1));
HiafterBuy = HHV(H, Buy); LoafterSell = LLV(L, Short);
LoafterBuy = LLV(L, Buy); HiafterSell = HHV(H, Short);
SellRunning = BarsSince( Buy ) > BarsSince( Short );
BuyRunning = BarsSince( Buy ) < BarsSince( Short );
SellRunning3_6 = BarsSince( Buy1 ) > BarsSince( Short1 );
BuyRunning3_6 = BarsSince( Buy1 ) < BarsSince( Short1 );
AlmostBuy = Buy1_1 AND SellRunning;
AlmostShort = Short1_1 AND BuyRunning;
CallNearBy = WriteIf(Almostshort, " Short Avoided...Waiting for Additional Confirmations..",
WriteIf(AlmostBuy, " BUY Avoided...Waiting for Additional Confirmations..", ""));



SellRunning3_6 = BarsSince( Buy1 ) > BarsSince( Short1 );
BuyRunning3_6 = BarsSince( Buy1 ) < BarsSince( Short1 );



NOTrade = sCover < sshort AND sSell < sBuy AND NOT Cover AND NOT Sell;
MaxBuyProfit = WriteVal(HiafterBuy - BuyPri , 1.1); MaxSellProfit = WriteVal(SellPri -LoafterSell, 1.1);
MaxProfit = WriteIf(sBuy < sShort AND sBuy >0 AND HiafterBuy > BuyPriHi AND NOT NOTrade, " Max. Profit since BUY " + MaxBuyProfit + " Pts. ("+ WriteVal(HiafterBuy, 1.1) + ")",
WriteIf(sBuy > sShort AND sShort >0 AND LoafterSell < SellPriLo AND NOT NOTrade, " Max. Profit since SELL " + MaxSellProfit + " Pts. ("+ WriteVal(LoafterSell, 1.1) + ")",""));


RunningCall = WriteIf(Buy OR Ref(Buy, -1), "Buy Call Entry ",
WriteIf(Short OR Ref(Short, -1), "Short Call Entry ",WriteIf(Sell, "Exit Long Position.. ",
WriteIf(Cover, "Exit Short Position.. ",WriteIf(NOTrade, "No-Trade is Open.. ","")))));
CallWaiting = WriteIf(NOTrade AND sBuy < sShort && System=="NiftyPro4.2", "Waiting for a Short Sell Entry (Use DTP Till that time).... Buy Call will be Initiated only after Dip or after 11 AM..",
WriteIf(NOTrade AND sBuy > sShort && System=="NiftyPro4.2", "Waiting for a BUY Entry (Use DTP Till that time).... SELL Call will be Initiated only after a Rise or after 11 AM..", ""));
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
Plot(SL,"",colorBrown,512+ styleDashed);
if(Sl1_Show)
{
Plot(SL1,"",colorDarkRed,512+ styleLine);
}


Short_Stoploss = WriteIf(C < SL, "Short Trade -- (Trail Stoploss to " + WriteVal(SL + 1.5, 1.1) +" for Intraday Trade Only) \n\n" + "Cmp : "+ WriteVal(C, 1.1), "");
Long_Stoploss = WriteIf(C > SL, "Long Trade -- (Trail Stoploss to " + WriteVal(SL- 1.5, 1.1)+ " for Intraday Trade Only) \n\n" + "Cmp : "+ WriteVal(C, 1.1), "");

Uhk1 = Dh1 == TDH AND H > feb2 AND H < TDH AND s13 > 0 AND O > C ;
Dhk1 = Dl1 == TDL AND L < feb1 AND L > TDL AND s13 > 0 AND C > O;
Uhk2 = Dh1 == TDH AND H > feb2 AND H < TDH AND s13 > 0;
Dhk2 = Dl1 == TDL AND L < feb1 AND L > TDL AND s13 > 0 ;
since_UHK1 = BarsSince(uhk1);
since_DHK1 = BarsSince(Dhk1);

sinceNewDay = BarsSince(Day() != Ref(Day(), -1) );
sinceShortSL = BarsSince(C < SL);
sinceLongSL = BarsSince(C > SL);
ExitShort1 = (sinceSTBULL < 10 OR since_Confirm_BuReversal < 10 OR since_DHK1 < 8 OR ((NC103 == TDL) AND sinceNewDay > 15)) AND NC105 AND NifbuyCondition6
AND C > SL AND (sinceOverSold < 14 OR since_DHK1 < 8 OR NC103 == TDL ) AND sBuy > sShort AND TimeNum() < 151000 AND NOT Uhk AND NOT Uhk2
AND sinceShortSL < 10 AND H > Ref(H, -1);
ExitLong1 = (sinceSTBEAR < 10 OR since_Confirm_BeReversal < 10 OR since_UHK1 < 8 OR ((NC101 == TDH ) AND sinceNewDay > 15)) AND NC105 AND NifSellCondition6
AND C < SL AND (sinceOverBought < 14 OR since_UHK1 < 12 OR NC102 == TDH) AND sBuy < sShort AND TimeNum() < 151000 AND NOT Dhk AND NOT Dhk2
AND sinceLongSL < 10 AND L < Ref(L, -1);

GfxSelectFont("Times New Roman", 10, 400, False );
Exitlong = ExRem(ExitLong1, C > SL);
ExitShort = ExRem(ExitShort1, C < SL);

PlotShapes(shapeSmallCircle * AlmostBuy, colorPlum, 0, L, 0);
PlotShapes(shapeSmallCircle * AlmostShort, colorPlum, 0, H, 0);
PlotShapes(shapeSmallCircle * Exitshort, colorDarkGreen, 0, L, -12);
PlotShapes(shapeSmallCircle * ExitLong, colorRed, 0, H, 12);

Filter = Buy && H == DayH && SND > 3 && DayL < PDL;
AddColumn(Sl,"SL");

AddColumn(HHV(H, 12) - LLV(L, 12),"Range12", 1.1);
AddColumn(Buy,"Buy", 1);
AddColumn(Short,"Short", 1);
AddColumn(Buy,"Remarks", 1.1);

EnableTextOutput(False);

EnableTextOutput(True);
printf(" *** HNI Copy ***\n");
uE8 + "\n";




EnableTextOutput(False);
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
RSI_Level = WriteIf(RSI() > 70, ", RSI in OVER BOUGHT region, " ,WriteIf(RSI() < 30 , ", RSI in OVER SOLD region, ", ""));

if(Text_Display)
{
//Nifty();
yCount = Point2-Point1;
y1Count = Point1 +1;
XCount = Point4 - Point3;
Yt1Count = Point3 + 1;

Rangeout2 = DR2 > 0;
Rangeout1 = DS2 > 0;

if(NOT Print_DSR AND Rangeout1)
{
SupportLine = LineArray( (BarCount-1-point2), DS2, BarCount -2 - Point1, DS1, 1 );
Plot( SupportLine, "Dynamic Support", colorBlue,8+ styleNoLabel+styleNoTitle );
}
if(NOT Print_DSR AND Rangeout2)
{
ResistanceLine = LineArray(BarCount-1-point4, DR2, BarCount -2 -Point3, DR1, 1 );
Plot( ResistanceLine, "Dynamic Resistance", colorBrown,8+ 4096 +styleNoTitle );


}

//PlotText( "CLOSE"+WriteVal(C, 1.1), BarCount-10, SL, colorBlack, colorYellow) ;
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/


diff = (((DR2 - DS2)/C)*100);

Rule3 = ((diff < 1)AND ( C < DR2) AND (C > DS2));
Rule3_1 = (((DR3 - DS3)/C) *100 < 1) AND ( C < DR3) AND (C > DS3);
DT_DB_Range = IIf((Rule3 OR Rule3_1), 36, 14);
Rule4 = Buy AND(((TDH - H)/C) *100 < 0.2)AND (DR3 > H);
Rule4_1 = Short AND (((L - TDL)/C) *100 < 0.2)AND (DS3 < L);
Rule5 = (((HHV(MA(C, 15), 15) - LLV(MA(C, 15), 15) )/C )*100);

DoubleTop = (((DR2 - DR1) / C)*100) ;
DoubleBottom = (((DS1 - DS2) / C)*100);
dt = doubleTop <DT_DB_Sens AND (xcount + Yt1count) > DT_DB_Range AND C < DR1;
db = doubleBottom < DT_DB_Sens AND (ycount + y1count) > DT_DB_Range AND C > DS1;
DT_BARS = BarsSince(DT);
DB_BARS = BarsSince(DB);
DataStopped = WriteIf(Now(4) > TimeNum() + 9, " Chart not Updating... ", "");
Volatile_DT = (H < DR1) AND (H > (DR1 - ((DR1 * DT_DB_Sens)/100))) AND (yt1count > 10) AND ((((DR1 - DS2) / DS2) * 100) > 0.8);
Volatile_Db = (L > DS1)AND (L < (DS1 + ((DS1 * DT_DB_Sens)/100))) AND (y1count > 10) AND ((((DR2 - DS1) / DR2) * 100) > 0.8);

Near_DT = (H < DR2) AND (H > (DR2 - ((DR2 * DT_DB_Sens)/100))) AND ((xcount + Yt1count) > (DT_DB_Range - 1)) AND NOT dt ;
Near_db = (L > DS2) AND (L < (DS2 + ((DS2 * DT_DB_Sens)/100)))AND ((ycount + y1count) > (DT_DB_Range - 1)) AND NOT db;
Near_DT2 = (H < DR3) AND (H > (DR3 - ((DR3 * DT_DB_Sens)/100))) AND NOT dt AND H > DR2 AND DR2 > 0;
Near_db2 = (L > DS3) AND (L < (DS3 + ((DS3 * DT_DB_Sens)/100))) AND NOT db AND L < DS2 AND DS2 > 0;

TWINTOP = ((H - Ref(H, -1)) < 0.1 AND (H - Ref(H, -1)) > -0.5) AND(( H - L > 10) OR (Ref(H, -1) - Ref(L, -1) > 10));
TWINBOTTOM = ((L - Ref(L, -1)) < 0.5 AND (L - Ref(L, -1)) > -0.1) AND(( H - L > 10) OR (Ref(H, -1) - Ref(L, -1) > 10));
BUY_ERROR1 = Buy AND (((H < Ref(H, -1)) OR (H == Ref(H, -1))) OR ( H < ChandelierCl(ATR(15),2.5)));
Sell_ERROR1 = Short AND (((L > Ref(L, -1)) OR(L == Ref(L, -1)))OR ( L > ChandelierCl(ATR(15),2.5)));
RangeOut = WriteIf(DS2== 0 OR DS1 ==0 OR DS3 == 0 OR DR2 == 0 OR DR1==0 OR DR3 == 0, " Data out of Range !", "");
RangeOut1 = WriteIf(DS2== 0 OR DS1 ==0 OR DS3 == 0 OR DR2 == 0 OR DR1==0 OR DR3 == 0, "Not getting Enough Data to Calculate S/R, Switch to higher timeframe to get Support / Resistance, "+ " \n", "");
MajorSR_text = WriteIf(C > 0, "Major Res : " + WriteVal(P6, 1.1)+ ", " + WriteVal(P7,1.1) + ", Major Sup : " + WriteVal(T6, 1.1)+ ", " + WriteVal(T7,1.1)
, "");




Normal_Text = WriteIf( NOT (rule3 OR RULE3_1 OR Rule4 OR Rule4_1), " Normal Market Condition" + " >>DH : " + WriteVal(TDH, 1.1) + ", DL : " + WriteVal(TDL, 1.1), "");

Levels_Text =WriteVal(NiftyBuyCondition2, 1)+WriteVal(NifBuyCondition2,1) +WriteVal(NifBuyCondition3, 1) +
" , " + WriteVal(NiftySellCondition2, 1) + WriteVal(NifSellCondition2, 1) + WriteVal(NifSellCondition3, 1) +
" Strong Above : " + WriteVal(DR2, 1.1)+ ", " + WriteVal(DR3,1.1);
Levels_Text1 = ", Weak Below : " + WriteVal(DS2, 1.1)+ ", " + WriteVal(DS3,1.1) + " ";

Rule3_Text = WriteIf ( Rule3_1, "***EXTREME RangeBound Mkt. Condition Trade With Caution !! *** ",WriteIf(RULE3, "RangeBound Mkt. Condition Trade With Caution !! " , " ")) ;

GfxSelectFont("Times New Roman", 10, 400, False );


Rule6_1 = WriteIf(db AND NOT Rule3_1 AND NOT Rule3 , "Higher / Double Bottom, " + (time * y1count) + " Min ago, betw. "+ ycount + " Periods, betw. "+ WriteVal(DS2, 1.1) + " & " + WriteVal(DS1, 1.1) + " Levels, " + "Bullish Reversal if Confirmed !" , "");
GfxTextOut(Rule6_1, 5 , 65);
Rule6 = WriteIf(dt AND NOT Rule3_1 AND NOT Rule3 , "Lower / Double Top, " + (time * yt1count) + " Min ago, betw. "+ xcount + " Periods, betw. "+ WriteVal(DR2, 1.1) + " & " + WriteVal(DR1, 1.1) + " Levels, " + "Bearish Reversal if Confirmed ! ", "");
GfxSetTextColor(colorRed);
GfxTextOut(Rule6, 5 , 50);

Rule7_1 = WriteIf(C < SL AND Buy, " High Risky Call consider Buying on dips OR only above " + WriteVal(H*1.0001, 1.1) ,
WriteIf(near_DT AND Buy, " Risky Call, Multiple Resistances @ " + WriteVal(DR2, 1.1)+ " & " + WriteVal(DR3, 1.1) + " Consider Buying on dips or on breakout" ,
WriteIf(near_dt2 AND Buy, " High Risk CALL, (2 Double Top Forming) Resistance @ " + WriteVal(DR3, 1.1) + " Ref Rule 7.1" + " Consider Buying on dips or on breakout" ,
WriteIf(Volatile_DT AND Buy, "High Volatilite Market (0 double Top formation avoid trading, trade only above " + WriteVal (DR1, 1.1) + " or " + WriteVal(DR2, 1.1),
WriteIf(C<DR1 AND H > DR1 AND Buy, "1 Res Violated & Trading Lower, Enter only above " + WriteVal(DR1+1, 1.1) + " on the Next bar or on dips to Support levels, Cmp "+ WriteVal(C, 1.1),
WriteIf(C<DR2 AND H > DR2 AND Buy, "2 Res Violated & Trading Lower, Enter only above " + WriteVal(DR2 + 1, 1.1)+ " on the Next bar or on dips to Support levels, Cmp "+ WriteVal(C, 1.1),
WriteIf(C<DR3 AND H > DR3 AND Buy, "3 Res Violated & Trading Lower, Enter only above " + WriteVal(DR3+1, 1.1)+ " on the Next bar or on dips to Support levels, Cmp "+ WriteVal(C, 1.1),

WriteIf(Buy AND ((H < Ref(H, -1)) OR (H == Ref(H, -1))), "Error 1, Buy only above " + WriteVal(Ref(H, -1), 1.1) + ", Cmp " + WriteVal(C, 1.1),
WriteIf(Ref(Buy, -1) AND H < Ref(H, -1)*1.0001, "Error 2, BUY Call not Active, Avoid Entry / Enter Only above " + WriteVal(Ref(H, -1)*1.0001, 1.1),
"")))))))));
Rule7_2 = WriteIf(C > SL AND Short, " High Risky Call consider Selling on rise OR only below " + WriteVal(L*0.9999, 1.1) ,
WriteIf(near_db AND Short, " Risky Call, Multiple Supports @ " + WriteVal(DS2, 1.1)+ " & " + WriteVal(DS3, 1.1) + " Sell on Rise or " + " Below supports. ",
WriteIf(near_db2 AND Short, " High Risk CALL, (2 Double Bottom Forming) Support @ " + WriteVal(DS3, 1.1) + " Ref Rule 7.2" + " Consider Selling on rise or on breakout" ,
WriteIf(Volatile_db AND Short, "High Volatilite Market (0 double Bottom formation avoid trading, trade only below " + WriteVal (DS1, 1.1) + " or " + WriteVal(DS2, 1.1),
WriteIf(C>DS1 AND L < DS1 AND Short, "1 Support Violated & Closing Higher, Enter only below " + WriteVal(DS1-1, 1.1)+ " on the Next bar or on rise to Res levels, Cmp " + WriteVal(C, 1.1),
WriteIf(C>DS2 AND L < DS2 AND Short, "2 Support Violated & Closing Higher, Enter only below " + WriteVal(DS2-1, 1.1)+ " on the Next bar or on rise to Res levels, Cmp "+ WriteVal(C, 1.1),
WriteIf(C>DS3 AND L < DS3 AND Short, "3 Support Violated & Closing Higher, Enter only below " + WriteVal(DS3-1, 1.1)+ " on the Next bar or on rise to Res levels, Cmp "+ WriteVal(C, 1.1),
WriteIf(Short AND ((L > Ref(L, -1)) OR(L == Ref(L, -1))) , "ERROR 1, SELL only below " + WriteVal(Ref(L, -1), 1.1) + ", Cmp " + WriteVal(C, 1.1),
WriteIf(Ref(Short, -1) AND L > Ref(L, -1)*0.9999, "ERROR 2, SELL Call not Acitive, Avoid Entry / Enter Only below " + WriteVal(Ref(L, -1)*0.9999, 1.1) ,

"")))))))));

BullishReversal = (since_BuReversal < 7 OR SinceSTBULL < 7)AND sinceOverSold < 5 AND db;
BearishReversal = (since_BeReversal < 7 OR sinceSTBEAR < 7) AND sinceOverBought < 5 AND dt;
TestRule3 = WriteIf(BullishReversal, "CAUTION **DoubleBottom with Bullish Divergence, Strong REVERSAL Possible ! if trades above " + WriteVal(DR1, 1.1),
WriteIf(BearishReversal, "CAUTION **DoubleTOP with Bearish Divergence, Strong REVERSAL Possible ! if trades below " + WriteVal(DS1, 1.1), ""));

ExitText = WriteIf( ExitShort, " EXIT Short position (Intraday Traders Only) & re-enter below Day Low OR " + WriteVal(DS1, 1.1),
WriteIf( ExitLong, " EXIT Long position (Intraday Traders Only) & re-enter above Day High OR " + WriteVal(DR1, 1.1), ""));

GfxTextOut(Rule7_1, 5 , 120);
GfxTextOut(Rule7_2, 5 , 135);

GfxSetTextColor(colorBlack);

GfxTextOut(Levels_Text + Levels_Text1 + RangeOut + Normal_Text , 5 , 15);
Rule6_2 = WriteIf(near_DT AND NOT Rule3_1 AND NOT Rule3 , " DoubleTop may form if " + Name() + " fails to cross " + WriteVal(DR2, 1.1), "");
Rule6_3 = WriteIf(near_Db AND NOT Rule3_1 AND NOT Rule3 , " DoubleBottom may form if " + Name() + " fails to break " + WriteVal(DS2, 1.1), "");

GfxTextOut(Rule6_2, 5 , 65);
GfxTextOut(Rule6_3, 5 , 65);
Rule6_4 = WriteIf(near_DT2 AND NOT Rule3_1 AND NOT Rule3 , "2 DoubleTop may form if " + Name() + " fails to cross " + WriteVal(DR3, 1.1), "");
Rule6_5 = WriteIf(near_Db2 AND NOT Rule3_1 AND NOT Rule3 , "2 DoubleBottom may form if " + Name() + " fails to break " + WriteVal(DS3, 1.1), "");

GfxTextOut(Rule6_4, 15 , 65);
GfxTextOut(Rule6_5, 15 , 65);
GfxTextOut(TestRule3, 5 , 150);
GfxTextOut(ExitText, 5 , 170);
GfxTextOut( Rule3_Text, 500 , 15);
}

time = Interval()/60;
NOT5min = WriteIf(time ==5 , "(5 minute Chart) ", WriteIf(time !=5 AND VIX > 21 ,"This Program is not designed for "+time+" min timeframe. ****Pls switchover to 5 min. Chart****", ""));



DayO = TimeFrameGetPrice("O", inDaily, 0);
PDO = TimeFrameGetPrice("O", inDaily, -1);
InsideBar = TimeNum() > 150000 AND DayH < PDH*1.001 AND DayL > PDL*0.999;
Hammer = TimeNum() > 150000 AND C > DayO AND (C - DayO) < (DayO - DayL)*1.25 AND (DayH - C) < (DayO - DayL);
BearishEngulfing = TimeNum() > 150000 AND DayO >= PDC*0.998 AND C < PDO AND DayH > PDO AND PDC > PDO;
BullishEngulfing = TimeNum() > 150000 AND DayO <= PDC*1.002 AND C > PDO AND DayL < PDO AND PDC < PDO;
//nr7 = TimeNum() > 151000 AND (Dayh - DayL) == LLV(Dayh - DayL, 7);
//nr4 = TimeNum() > 151000 AND (Dayh - DayL) == LLV(Dayh - DayL, 4);

PDHL =
WriteIf(SND < 2, "***Pls Verify DayHigh and DayLow, Correct it if required ***",
WriteIf(TDL > PDL AND (C > PDL) AND ((L < PDL) OR (L < PDL + 5)), "***CAUTION*** Trading close to Previous Day Low ",
WriteIf(TDH < PDH AND C < PDH AND ((H > PDH) OR (H > PDH - 5)), "***CAUTION*** Trading close to Previous Day High",
WriteIf(GDR, "***GAP-DOWN Recovery Detected*** Volatility Expected..",
WriteIf(GUR, "***GAP-UP Reversal Detected*** Volatility Expected..",
WriteIf(InsideBar, "***INSIDE-BAR Day Detected*** ",
WriteIf(Hammer, "***Bullish Hammer Candle Pattern Detected*** ",
WriteIf(BearishEngulfing, "***Bearish Engulfing Pattern Detected***",
WriteIf(BullishEngulfing, "***Bullish Engulfing Pattern Detected***","")))))))));



HookReversal = WriteIf(uHk1, "(BEARISH)Hook Reversal Pattern Possible, if Day High not violated !! " ,
WriteIf(dHk1, "(BULLISH)Hook Reversal Pattern Possible, if Day Low not violated !!", ""));

GfxSelectFont("Verdana", 8, 420, False );
GfxSetTextColor(colorDarkGreen);
GfxTextOut(not5Min + MaxProfit, 5 , 350);

GfxSetTextColor(colorRed);
GfxSelectFont("Verdana", 8, 400, False);


GfxTextOut(PDHL, 250 , 78);


TotalVol = Sum( V, SND+1 );
GfxSetTextColor(colorBlack);
Vix_Text = "VIX : " + WriteVal(Vix, 1.2)+ ", %Chg " + WriteVal((Vix - VPrevClose)/VPrevClose*100, 1.2) +", Vol Ratio :" + WriteVal(MAV_Value1, 1.2)
+ ", CDL Avg " + WriteVal(Cdlavgrange, 1.1) + ", Total Vol " + WriteVal(TotalVol, 1) + ", Premium " + WriteVal(C - Fu_C, 1.1)
+ WriteIf(LV AND Vix < 21, " Caution Volatility is Very Low, Switch to 10min. or higher timeframe chart...,!!","")
+ WriteIf(LV AND Vix > 21, " Caution Market Volatility is LOW, Trade Cautiously.. !!","");

GfxTextOut(Vix_Text, 5 , 15);








ErrorBuy = Buy1 AND uHk;
ErrorSell = Short1 AND dHk;
ErrorBuySellText = WriteIf(ErrorBuy AND NOT sBuy < sShort, "Buy Call Avoided", WriteIf(ErrorBuy AND sBuy < sShort, "Buy Call Re-entry (Check Day High)",
WriteIf(ErrorSell AND NOT sBuy > sShort, "Sell Call Avoided", WriteIf(ErrorSell AND sBuy > sShort, "Sell Call Re-entry (Check Day Low)", ""))));
//HiafterBuy - BuyPri , SellPri -LoafterSell
ClosePositionText = WriteIf(ClosePosition1 AND SellRunning, "Alert :: Very Close to Getting BUY, Advisable to Close Half of Short Position ",
WriteIf(ClosePosition2 AND BuyRunning, "Alert :: Very Close to Getting SELL, Advisable to Close Half of Long Position ", ""));
ClosePositionText1 = WriteIf(CutLong AND sBuy < sShort, "(Test Program) Daily Trend WEAK, Advisable to Close Half of Overnight Long Position",
WriteIf(CutShort AND sBuy > sShort, "(Test Program) Daily Trend STRONG, Advisable to Close Half of Overnight Short Position", ""));
////////////////////////////////////////////////////////Message Listings/////////////////////////////////////////
HighsellVolume = MAV_Value1 >3 AND C < O;
HighBuyVolume = MAV_Value1 >3 AND C > O;
MSG1 = WriteIf(Vix == Ref(Vix, -1) AND Vix == Ref(Vix, -2) , "CAUTION:: No change in LIVE VIX data in last 10 min. !!!, Pls check ",
WriteIf(MAV_Value1 < 0.1 AND Ref(MAV_Value1, -1) < 0.1, "Alert: This System is designed for Index Futures, Volume data is Missing... ! ",
WriteIf(HighsellVolume AND Ref(HHV(MAv_Value1, 6), -1) < 1, "Alert:: High SELL Volume is Happening !... but very low volume in previous few bars.. ",
WriteIf(HighBuyVolume AND Ref(HHV(MAv_Value1, 6), -1) < 1, "Alert:: High BUY Volume is Happening !... but very low volume in previous few bars..",
WriteIf(HighsellVolume, "Alert:: High SELL Volume is Happening !... ",
WriteIf(HighBuyVolume, "Alert:: High BUY Volume is Happening !... ", ""))))));



////////////////////////////////////////////////////////ERROR Listings/////////////////////////////////////////

Err0 = WriteIf(((Ref(HHV(MAv_Value1, 6), -1) < 1 AND MAv_Value1 < 3) OR ( MAv_Value1 < 1 )) AND Buy, "Error 0, Caution Raising with Very Low Volume... :( , ", "");
Err1 = WriteIf(((Ref(HHV(MAv_Value1, 6), -1) < 1 AND MAv_Value1 < 3) OR ( MAv_Value1 < 1 )) AND Short, "Error 1, Caution Falling with Very Low Volume... :( , ", "");
Err2 = WriteIf(L > PDC AND DayL > PDC AND (L - PDC) < C*0.0025 AND (Short OR Ref(Short, -1) ), "Error 2, Caution Trading Very Close to Previous Day Close.. (Support @ " + WriteVal(PDC, 1.1)+ "), ", "");
Err3 = WriteIf(L > PDH AND DayL > PDH AND (L - PDH) < C*0.0025 AND (Short OR Ref(Short, -1)), "Error 3, Caution Trading Very Close to Previous Day High.. (Support @ " + WriteVal(PDH, 1.1)+ "), ", "");
Err4 = WriteIf(L > PDL AND DayL > PDL AND (L - PDL) < C*0.0025 AND (Short OR Ref(Short, -1) ), "Error 4, Caution Trading Very Close to Previous Day Low.. (Support @ " + WriteVal(PDL, 1.1)+ "), ", "");
Err5 = WriteIf(L > PDL2 AND DayL > PDL2 AND (L - PDL2) < C*0.0025 AND (Short OR Ref(Short, -1)), "Error 4, Caution Trading Very Close to Previous Day Low2.. (Support @ " + WriteVal(PDL2, 1.1)+ "), ", "");
Err6 = WriteIf(L == DayL AND FU_L > FDL1, "Alert Spot Nifty has not yet broken Day Low... ",
WriteIf(L > DayL AND FU_L == FDL1, "Alert Spot Nifty has broken Day Low... ",
WriteIf(H == DayH AND FU_H > FDH1, "Alert Spot Nifty has not yet broken Day High... ",
WriteIf(H > DayH AND FU_H == FDH1, "Alert Spot Nifty has broken Day High... ", ""))));
Err7 = WriteIf(H > Pk11 AND C < pk11 AND Buy, "Alert, Immediate Res crossed but closing lower, Buy above " + WriteVal(H*1.0001, 1.1),
WriteIf(H > Pk11 AND C < pk11 AND Buy, "Alert, Immediate Sup crossed but closing higher, Sell Below " + WriteVal(L*0.999, 1.1), "" ));
Err8 = WriteIf((krs1 OR KRS2 OR Ref(krs2, -1)) AND BuyRunning, " Alert KeyReversal Detected (80% Accurate), **Book Profits & (Re-Enter on Dips or on Breakout)**",
WriteIf((krs1 OR KRS2 OR Ref(krs2, -1)) AND sellRunning, " Alert KeyReversal Detected (80% Accurate), **Short Re-entry can be taken**",

WriteIf(RSIBearHD AND BuyRunning, " Alert -VE Hidden Divergence Detected, **Safe Traders exit Position and re-enter above recent high**",
WriteIf(RSIBearHD AND SellRunning, " Alert -VE Hidden Divergence Detected, **Re-entry to Short call can be taken**",
WriteIf(RSIBearHD_1 AND Buy, " Alert -VE Hidden Divergence Detected, **Safe Traders Wait for next candle to complete and enter above recent High**",

WriteIf(RSIBullHD AND SellRunning, " Alert +VE Hidden Divergence Detected, **Safe Traders exit Position and re-enter above recent Low**",
WriteIf(RSIBullHD AND BuyRunning, " Alert +VE Hidden Divergence Detected, **Re-entry to Buy call can be taken**",
WriteIf(RSIBullHD_1 AND Short, " Alert +VE Hidden Divergence Detected, **Safe Traders Wait for next candle to complete and enter Below recent Low**",""))))))));

Err12 = WriteIf(H < PDC AND DayH < PDC AND (PDC - H) < C*0.0025 AND (Buy OR Ref(Buy, -1)), "Error 12, Caution Trading Very Close to Previous Day Close.. (Res @ " + WriteVal(PDC, 1.1)+ "), ", "");
Err13 = WriteIf(H < PDH AND DayH < PDH AND (PDH - H) < C*0.0025 AND (Buy OR Ref(Buy, -1)), "Error 13, Caution Trading Very Close to Previous Day High.. (Res @ " + WriteVal(PDH, 1.1)+ "), ", "");
Err14 = WriteIf(H < PDL AND DayH < PDL AND (PDL - H) < C*0.0025 AND (Buy OR Ref(Buy, -1)), "Error 14, Caution Trading Very Close to Previous Day Low.. (Res @ " + WriteVal(PDL, 1.1)+ "), ", "");
Err15 = WriteIf(H < PDH2 AND DayH < PDH2 AND (PDH2 - H) < C*0.0025 AND (Buy OR Ref(Buy, -1)), "Error 13, Caution Trading Very Close to Previous Day High2.. (Res @ " + WriteVal(PDH2, 1.1)+ "), ", "");

///////////////Added From 3.9/////////////////
AvoidCall3 = (L > PDL AND DayL > PDL AND (L - PDL) < C*0.0025 AND Short) OR ( H < PDH AND DayH < PDH AND (PDH - H) < C*0.0025 AND Buy) AND TimeNum() < 152000;
LowVol = (LongTail AND (Buy OR Short)) OR
((Ref(HHV(MAv_Value1, 6), -1) < 1 AND MAv_Value1 < 3) OR ( MAv_Value1 < 1 )) OR
(((MAv_Value1 < 1) OR (Ref(HHV(MAv_Value1, 6), -1) < 1 AND MAv_Value1 < 3 ))AND ((Buy AND sVCXB > 15) OR (Short AND sVCXS > 15) ) AND TimeNum() < 152000);

RiskyBuy = (RiskyBuy2 OR RiskyBuy3) AND Buy;
RiskyShort = (RiskyShort1 OR RiskyShort2 OR RiskyShort3) AND Short;
Avoidcall1 = (VID1 ) AND (Buy OR Short) AND TimeNum() < 152000;
AvoidCall2 = (AvoidBuy1 AND Buy) OR (AvoidShort1 AND Short) AND TimeNum() < 152000;
AvoidBuyTemp = (H == DayH && H > PDH && Ref(H, -1) < PDH*1.0005 && (C-O) < C*0.004)

|| (Short &&! Short1 && L == DayL)
|| (Short && L < PDL && VixPer < 1)
;
AvoidCall =(Avoidcall1 OR LowVol OR AvoidCall2 OR RiskyBuy OR RiskyShort OR (AvoidCall3 AND TimeNum() < 152000)
|| AvoidBuyTemp) &&! MAV_Value1 > 3 ;//&&! (H > PDH && Ref(DayH, -1) < PDH*1.0005 && (MAV_Value1 < 4 || (C-O) < C*0.004));
////////////////////////End of 3.9 addition////////////


CallCheck = WriteIf(BuyRunning AND SellRunning3_6, "Alert : 3.6 Version is running Short Call.. See Interpretation for instruction ",
WriteIf(SellRunning AND BuyRunning3_6, "Alert : 3.6 Version is running Buy Call.. See Interpretation for instruction ", ""));
CallCheck1 = WriteIf(BuyRunning AND SellRunning3_6, "Alert : 3.6 Version is running Short Call.. Constant Monitoring of call is essential,"+
" Keep a watch on SELL VOLUME, Stoploss line, important PIVOT Levels, Past one hour high/Low Constantly trail stoploss till 3.6 enters into same direction, Profit booking also might be considered at 65EMA Level.",
WriteIf(SellRunning AND BuyRunning3_6, "Alert : 3.6 Version is running Buy Call.. Constant Monitoring of call is essential,"+
" Keep a watch on BUY VOLUME, Stoploss line, important PIVOT Levels, Past one hour high/Low, Constantly trail stoploss till 3.6 enters into same direction, Profit booking also might be considered at 65EMA Level. ", ""));

sVCXB = BarsSince(VCXB); sVCXS= BarsSince(VCXS);

Serial_ShortClimax = VCXB AND Ref(sVCXB, -1) < 24;
Serial_BuyClimax = VCXS AND Ref(sVCXS, -1) < 24;
ScaleoutText = WriteIf(sSE_11<6 AND (C > O OR H > Ref(H, -1)) AND Buyrunning, "**Buy Call Re-Entry can be Taken..**Possibility of Reversal, This Down move might end soon.. ",
WriteIf(sBE_11<6 AND (C < O OR L < Ref(L, -1)) AND Sellrunning, "**Short Call Re-Entry can be Taken...**Possibility of Reversal, This UP move might end soon.. ",
WriteIf(sSE_11<6 AND (C > O OR H > Ref(H, -1)), "Possibility of Reversal, This Down move might end soon..**Buy Call will come if Close is Above " + WriteVal(Sl, 1.1),
WriteIf(sBE_11<6 AND (C < O OR L < Ref(L, -1)), "Possibility of Reversal, This UP move might end soon..**Short Call will come if Close is Below " + WriteVal(Sl, 1.1),
WriteIf(VCXB AND Buyrunning, "Volume Climax, ***BuyCall RE-ENTRY can be taken***",
WriteIf(VCXS AND SELLrunning, "Volume Climax. ***ShortCall RE-ENTRY can be Taken***",
WriteIf(Serial_ShortClimax, "**Caution** Serial Volume Climax, **, ScaleOut can be done.. ",
WriteIf(Serial_BuyClimax, "**Caution** Serial Volume Climax, ** ScaleOut can be done.. ",
WriteIf(VCXB, "Volume Climax, This DOWN move might end soon.. **if close is above " + WriteVal(H, 1.1),
WriteIf(VCXS, "Volume Climax.., This UP move might end soon..**if close is below " + WriteVal(L, 1.1),""))))))))));
RallyMsg = WriteIf(UpRally1 AND RSI() > 40, "UP Rally1 Detected, Reversal if Closes Below : "+
WriteIf(C > sl, WriteVal(sl, 1.1), WriteVal(DayL, 1.1)),

WriteIf(Downrally1 AND RSI() < 60, "DOWN Rally1 Detected, Reversal if Closes Above : " +
WriteIf(C < sl, WriteVal(sl, 1.1), WriteVal(DayH, 1.1)),
WriteIf(uprally, "Strong UP Rally, Market expected to close at the Highest point of the day... Reversal if Closes Below : "+
WriteIf(C > sl, WriteVal(sl, 1.1), WriteVal(DayL, 1.1)),

WriteIf(Downrally, "Strong DOWN Rally, Market expected to close at the Lowest point of the day... Reversal if Closes Above : " +
WriteIf(C < sl, WriteVal(sl, 1.1), WriteVal(DayH, 1.1)), ""))));
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
GfxSetTextColor(colorDarkGreen);
GfxTextOut(ErrorBuySellText, 5 , 200);
GfxTextOut(ClosePositionText, 5 , 220);
GfxTextOut(ClosePositionText1, 5 , 235);


GfxSelectFont("Verdana", 8, 400, False);
GfxTextOut(MSG1, 5 , 290);

//GfxSetBkMode( 1 );
GfxSetTextColor(colorBlack);
GfxTextOut(Error7 , 5 , 28);
GfxTextOut(CallCheck+CallNearBy , 140 , 180);
GfxTextOut(ScaleoutText, 140 , 90);
GfxSetTextColor(colorRed);
GfxTextOut(RallyMsg , 150 , 45);
GfxSetTextColor(colorWhite);
GfxTextOut(HookReversal, 5 , 470);
GfxSetTextColor(colorGreen);


//GfxSetBkColor(colorRed);
breakout1 = WriteIf(C > T1 AND C > P1, " *** BULLISH BreakOut *** ","");
Breakout2 = WriteIf(C < T1 AND C < P1, " *** BEARISH BreakOut *** ","" );
GfxSelectFont("Verdana", 8, 700, False );
GfxTextOut(breakout1 , 480 , 28);
GfxSetTextColor(colorRed);
GfxTextOut(breakout2 , 480 , 28);
GfxSetBkMode( 2 );

GfxTextOut(Err8+Err0+Err1+Err2+Err3+Err4+Err5+Err6+Err7+Err12+Err13+Err14+Err15 , 5 , 280);


GfxSetTextColor(colorRed);


GfxSelectFont("Times New Roman", 10, 700, False );
EntryRule = LV;
BuySellText = WriteIf(Buy AND ( avoidcall), "Buy above " + WriteVal(H*1.0001, 1.1),
WriteIf(Short AND (avoidcall), "Sell below " + WriteVal(L*0.9999, 1.1), ""));
Buy3= C > sl; Short3 = C < sl; Buy3 = ExRem(Buy3, Short3); Short3 = ExRem(Short3, Buy3);
//Buyreentry = Buy3 AND (sl - dl) < C*0.002 AND BuyRunning AND NOT Buy; Shortreentry = (GapUpshort1) OR Short3 AND (dH - Sl) < C*0.002 AND SellRunning AND NOT Short;
Buyreentry = BuyRe_entry AND (sl - dl) < C*0.002 AND BuyRunning AND NOT Buy; Shortreentry = Shortre_entry AND (dH - Sl) < C*0.002 AND SellRunning AND NOT Short;
MSG2 = WriteIf(BuyReentry, "Buy Call Re-entry Point... ", WriteIf(shortReentry, "Short Call Re-entry Point... ",""));

OptionCall = WriteIf((Buy OR Ref(Buy, -1)) AND TimeNum() > 152000, " Safe Traders are advised to Buy In-The-Money CALL Option... ",
WriteIf((Short OR Ref(Short, -1)) AND TimeNum() > 152000, " Safe Traders are Advised to Buy In-The-Money PUT Option...", ""));
GfxTextOut(OptionCall, 190 , 200);
GfxTextOut(MSG2 + RunningCall + BuySellText, 5 , 200);

systemselection = WriteIf(System=="Option_Trading", "***Option Trading Selected***",
WriteIf(System=="NiftyPro3.6", "***Nifty PRO 3.6 ver. Selected***",
WriteIf(System=="NiftyPro3.5", "***Nifty PRO 3.5 ver. Selected***", "")));
GfxTextOut(systemselection, 150 , 58);

GfxSelectFont("Verdana", 8, 400, False);
GfxTextOut(CallWaiting, 5 , 215);


/////////////////New Functions /////////////////////

/////////////////New Functions /////////////////////

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

RequestTimedRefresh( 1 );
TimeFrame = Interval();
SecNumber = GetSecondNum();
Newperiod = SecNumber % TimeFrame == 0;
SecsLeft = SecNumber - int( SecNumber / TimeFrame ) * TimeFrame;

SecsToGo = (TimeFrame - SecsLeft) / 60;
SecstoGo1 = int( secstogo % 100);
GfxSelectFont("ARIAL", 11, 400, False);
GfxSetBkColor( colorDarkGreen ) ;
GfxSetTextColor(colorWhite);
GfxTextOut(Now(2) + ", " + WriteVal(C, 1.1), 5 , 45);

//GfxTextOut(WriteVal(SecsToGo, 1.2) + " Min.Left", 5 , 465);
//GfxTextOut(SecsToGo1 + " Min.Left", 5 , 485);


PlotShapes(shapeSmallCircle * VCXB, colorBlue, 0, L, -5);
PlotShapes(shapeSmallCircle * SHORTExit_11, colorBlack, 0, L, -10);
PlotShapes(shapeSmallCircle * BuyExit_11, colorBlack, 0, H, 10);
PlotShapes(shapeSmallCircle * VCXS, colorBlue, 0, H, 5);
PlotShapes(shapeSmallCircle * Serial_ShortClimax, colorDarkRed, 0, L, -5);
PlotShapes(shapeSmallCircle * Serial_BuyClimax, colorDarkRed, 0, H, 5);
Buy3_6 = Buy AND NOT Buy1; Short3_6 = Short AND NOT Short1;
PlotShapes(shapeDigit6 * Buy3_6, colorBlack, 0, L, -5);
PlotShapes(shapeDigit6 * Short3_6, colorBlack, 0, H, 5);
PlotShapes(shapeSmallCircle * AlmostBuy, colorPlum, 0, L, 0);
PlotShapes(shapeSmallCircle * AlmostShort, colorPlum, 0, H, 0);


BuyArrow = Buy AND sbuy <= sSell;
ShortArrow = Short AND sShort <= sCover;
PlotShapes(shapeSquare * Buy , IIf(avoidcall, colorBlack, colorDarkGreen), 0, L, -20);
PlotShapes(shapeSquare * Buy , IIf(avoidcall, colorGrey50, colorLime), 0, L, -30);
PlotShapes(shapeUpArrow * Buy , colorWhite, 0, L, -25);

PlotShapes(shapeSquare * Short, IIf(avoidcall, colorBlack, colorRed), 0, H, 20);
PlotShapes(shapeSquare * Short, IIf(avoidcall, colorGrey50, colorOrange), 0, H, 30);
PlotShapes(shapeDownArrow * Short, colorWhite, 0, H, -25);

SellArrow = Sell AND NOT Short; CoverArrow = Cover AND NOT Buy;
PlotShapes(shapeDownArrow *SellArrow , colorRed, 0, H, -5);
PlotShapes(shapeUpArrow *CoverArrow , colorRed, 0, L, -5);

PlotShapes(shapeHollowSmallUpTriangle * errorBuy , colorGreen, 0, L, -25);
PlotShapes(shapeHollowSmallDownTriangle * errorSell , colorRed, 0, H, -25);


PlotShapes(shapeSmallUpTriangle * BuyReentry , colorGreen, 0, L, -25);
PlotShapes(shapeSmallDownTriangle * Shortreentry , colorRed, 0, H, -25);

BullHd = RSIBullHD OR (RSIBullHD_1 AND Short);
BearHD = RSIBearHD OR (RSIBearHD_1 AND Buy);
PlotShapes(shapeSmallSquare * BullHD, colorDarkGreen, 0, L, -5);
PlotShapes(shapeSmallSquare * BearHD, colorDarkGreen, 0, H, 5);

PlotShapes(shapeHollowDownArrow * KRS2, colorBlack, 0, H, -10);
PlotShapes(shapeHollowDownArrow * KRS1, colorBlack, 0, H, -10);
ClimaxSound = (VCXB OR VCXS OR AlmostBuy OR AlmostShort OR SHORTExit_11 OR BUYExit_11 OR KRS2 OR KRS1) AND NOT (Buy OR Short);

if (NOT AudioAlert) {
//AlertIf( Buy , "SOUND C:\\Windows\\Media\\Ding.wav", " " , 1);
//AlertIf( Short , "SOUND C:\\Windows\\Media\\Ding.wav", " " , 1);
noSignal = NOT Buy AND NOT Short AND NOT Cover AND NOT Sell AND TimeNum() < 152500;
AlertIf( Buy , "SOUND C:\\Windows\\Media\\Alert2.wav", " " , 1);
AlertIf( Short , "SOUND C:\\Windows\\Media\\Alert2.wav", " " , 2);
AlertIf( CoverArrow , "SOUND C:\\Windows\\Media\\Alert.wav", " " , 1);
AlertIf( SellArrow , "SOUND C:\\Windows\\Media\\Alert.wav", " " , 2);
AlertIf( HighBuyVolume AND nosignal, "SOUND C:\\Windows\\Media\\Tick.wav", " " , 1);
AlertIf( HighSellVolume AND noSignal, "SOUND C:\\Windows\\Media\\Tick.wav", " " , 2);
AlertIf( ClimaxSound , "SOUND C:\\Windows\\Media\\alert.wav", " " , 1);

}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/



//Profit_Text = WriteIf(NOT NOTrade, Profit_text,"");
// Commentry output ....
EnableTextOutput(True);
printf("Analysing " + Time + " Min. Chart\n\n");
MSG1 + MSG2;
CallWaiting;
CallCheck1;

printf( "The last Automated Signal generated was a "+
WriteIf( sBuy < sShort, "BUY @ " + BuyPri, WriteIf( sBuy > sShort, "SELL @ " + SellPri, "" ))+ ", "+
WriteVal( Min( sBuy, sShort ) * time, 3.0 ) + " Min(s) ago," + " \n\n" +
WriteIf( sBuy < sShort AND NOT NOTrade, Long_Stoploss, WriteIf( sBuy > sShort AND NOT NOTrade, Short_Stoploss, ""))+
WriteIf( sBuy < sShort AND(C > BuyPri) AND NOT NOTrade, " running in Profit " + WriteVal((C - BuyPri) , 1.1) + " Pts." + MaxProfit,
WriteIf( sBuy < sShort AND(C < BuyPri) AND NOT NOTrade, " running in Loss " + WriteVal((C - BuyPri) , 1.1) + " Pts. " + MaxProfit,
WriteIf( sBuy > sShort AND(C < SellPri) AND NOT NOTrade, " running in Profit " + WriteVal((SellPri - C) , 1.1) + " Pts. " + MaxProfit,
WriteIf( sBuy > sShort AND(C > SellPri) AND NOT NOTrade, " running in Loss " + WriteVal((SellPri - C) , 1.1) + " Pts. " + MaxProfit, "")))));

"\n" ;
"Current Intraday Trend : " + TrendText;
"IB, NR7 or NR4 : " + IBNRText;
"\n";
if(Text_Display)
{
"DYNAMIC Levels";
printf(RangeOut1);
"Res: " +WriteIf(DR2 > 0, WriteVal(DR2, 1.1)+ " & " , "") +WriteIf(DR3 > 0, WriteVal(DR3, 1.1), "");
"Sup: " +WriteIf(DS2 > 0, WriteVal(DS2, 1.1)+ " & " , "") +WriteIf(DS3 > 0, WriteVal(DS3, 1.1), "");;
"\n";
printf(Rule3_Text + Normal_Text );
printf(ClosePositionText+TestRule3 + "\n");


WriteIf(BullishReversal AND ClosePosition1, "*** AVOID OVERNIGHT SHORT POSITIONS ***",
WriteIf(BEARISHReversal AND ClosePosition2, "*** AVOID OVERNIGHT LONG POSITIONS ***", "")) ;
HookReversal;
EngulfingPattern;
}

EnableTextOutput(False);
/////////////////////////////////////////MarketMatrix/////////////////////////////////////////////////////
SellVolume = ((MAV_Value1 >= 1.1 AND L > DayL ) OR (MAV_Value1 > 3))AND C < O;
BuyVolume = ((MAV_Value1 >= 1.1 AND H < DayH) OR (MAV_Value1 > 3)) AND C > O;
Scond_101 = BarsSince(VCXS) < 12;
SCond_102 = BarsSince(SellVolume) < 12 AND BarsSince(SellVolume) < BarsSince(BuyVolume) ;
SCond_103 = BarsSince(VixNegDiv) < 12;
Scond_104 = 0;//NegDivNum >=3;
Scond_105 = downRally;
SCond_106 = Ref(sl, -2) == Ref(sl, -12) AND C < O AND L < Ref(L, -1);
Scond_107 = (DayH - DayL) > C*0.02 AND C > (H+L)/2 AND C < O;
Scond_108 = ((DayH < PDH) AND (DayH == DH1 OR (PDH -DayH) < C*0.002) AND C < O AND ((L - DayL) > C*0.002 OR L == DayL OR MAV_Value1 > 1.2) )
|| (SND > 20 && DayH > DH1 && (DayH - DH1) < C*0.002 && C < O && (H-DayL) < C*0.012);

BCond_101 = sVCXB < 12;
BCond_102 = BarsSince(BuyVolume) < 12 AND BarsSince(SellVolume) > BarsSince(BuyVolume);
BCond_103 = BarsSince(VixPosDiv) < 12;
BCond_104 = C > O && (sVixDiv < 14 || sVixDiv1 < 14);
BCond_105 = UpRally;
BCond_106 = Ref(sl, -2) == Ref(sl, -12) AND C > O AND H > Ref(H, -1);
BCond_107 = (DayH - DayL) > C*0.02 AND C < (H+L)/2 AND C > O;
bcond_108 = ((DayL > PDL) AND (DayL == DL1 OR (DayL - PDL)<C*0.002) AND C > O AND ((DayH - H) > C*0.002 OR H == DayH OR MAV_Value1 > 1.2))
|| (SND > 20 && DayL < DL1 && (DL1 - DayL) < C*0.002 && C > O && (DayH-L) < C*0.012);

UpMatrix = BCond_101+BCond_102+BCond_103+BCond_104+BCond_105+BCond_106+BCond_107+BCond_108;
downMatrix = Scond_101+Scond_102+Scond_103+Scond_104+Scond_105+Scond_106+Scond_107+Scond_108;

Text1 = WriteIf(Scond_101, " 1 ", "");
Text2 = WriteIf(SCond_102, " 2 ","");
Text3 = WriteIf(SCond_103, " 3 ","");
Text4 = WriteIf(Scond_104, " 4 ", "");
Text5 = WriteIf(Scond_105, " 5 ", "");
Text6 = WriteIf(Scond_106, " 6 ", "");
text7 = WriteIf(sCond_107, " 7 ","");
Text8 = WriteIf(Scond_108, " 8 ", "");

Text9 = WriteIf(BCond_101, " 1 ", "");
Text10 = WriteIf(Bcond_102, " 2 ", "");
Text11 = WriteIf(BCond_103, " 3 ", "");
Text12 = WriteIf(BCond_104, " 4 ", "");
Text13 = WriteIf(BCond_105, " 5 ", "");
Text14 = WriteIf(BCond_106, " 6 ", "");
Text15 = WriteIf(BCond_107, " 7 ", "");
Text16 = WriteIf(bcond_108, " 8 ", "");
/*
Text1 = " 1 ";
Text2 = " 1 ";
Text3 = " 1 ";
Text4 = " 1 ";
Text5 = " 1 ";
Text6 = " 1 ";
Text7 = " 1 ";
Text8 = " 1 ";

Text9 = " 1 ";
Text10 = " 1 ";
Text11 = " 1 ";
Text12 = " 1 ";
Text13 = " 1 ";
Text14 = " 1 ";
Text15 = " 1 ";
Text16 = " 1 ";
*/
//GfxSetBkMode(2);
//GfxSetOverlayMode(2);
GfxSelectPen( colorBlack, 1 );
GfxRectangle( 3 , 65, 128, 190 );//115/240
GfxSelectFont("Tahoma", 8 );
GfxTextOut("Market Matrix", 35 , 122);
GfxSelectFont("Aerial", 14, 700, False );
GfxSetBkColor( colorRed ) ;
GfxSetTextColor(colorWhite);
GfxTextOut(text1, 10 , 70);//GfxTextOut(text1, 30 , 120);
GfxTextOut(text2, 40 , 70);
GfxTextOut(text3, 70 , 70);
GfxTextOut(text4, 100 , 70);
GfxTextOut(text5, 10 , 100);
GfxTextOut(text6, 40 , 100);
GfxTextOut(text7, 70 , 100);
GfxTextOut(text8, 100 , 100);


GfxSetBkColor( colorDarkGreen ) ;
//GfxSetTextColor(colorGreen);
GfxTextOut(text9, 10 , 135);
GfxTextOut(text10, 40 , 135);
GfxTextOut(text11, 70 , 135);
GfxTextOut(text12, 100 , 135);
GfxTextOut(text13, 10 , 165);
GfxTextOut(text14, 40 , 165);
GfxTextOut(text15, 70 , 165);
GfxTextOut(text16, 100 , 165);


/////////////////////////////////////////End of MarketMatrix/////////////////////////////////////////////////////




printf("\n\n\n\n\n\n");


printf("\nwww.Dhavin.com this commentary is automatically generated which is for information purpose only & not a recommendation to Buy or Sell. Use at your own risk.\n\n");


" ";
EnableTextOutput(False);


Title_X = EncodeColor(colorWhite) + StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g ", O, H, L, C, SelectedValue( ROC( C, 1.2 ) ) );

Plot( C, "Close", ParamColor("Candel Color", colorBlack), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
SetChartBkGradientFill( colorWhite,ParamColor("Background Bottom", bgbtmcolor), colorDarkGrey);


PlotOHLC(0,IIf(x>=XT1 & RT1 &NOT T1==0,T1,-1e10),IIf(x>=XP1 & RP1 &NOT P1==0,P1,-1e10),0,"Current Range",ParamColor("Current Range", colorTan),2048+styleCloud+styleNoTitle);
//PlotOHLC(0,IIf(x>=XT1 & RT1 &NOT T1==0,T1,-1e10),IIf(x>=XP1 & RP1 &NOT P1==0,P1,-1e10),0,"Current Range",ParamColor("HiLight Color", colorGrey40),2048+styleCloud+styleNoTitle);


Title = EncodeColor(colorBrightGreen) + "Nifty PRO 4.2 P " + EncodeColor(colorWhite)+Title_X +
EncodeColor(colorBrightGreen) + ", Rsi : " + WriteVal(RSI(14), 1.1) +EncodeColor(colorOrange)+ RSI_Level +EncodeColor(colorPink);//+DataStopped ;

GraphXSpace = 5;





_SECTION_BEGIN("Backtest Option");


PositionSize1 = ParamToggle("Fixed Lot Size", "On|Off");
LotSize =Param("Quantity", 100, 50, 500, 50);
if (PositionSize1) {
SetPositionSize( LotSize, spsShares ); // 50 shares by default

}
_SECTION_END();
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
EnableTextOutput(False);


/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
_SECTION_END();
 

KelvinHand

Well-Known Member
the following afl shows syntax errors. kindly correct it

//|------------------------------------------------------------------
SetChartOptions(0,chartShowDates|chartLogarithmic|chartWrapTitle);
#pragma nocache
// Commentry output ....
EnableTextOutput(False);
System= ParamList("System Selection","NiftyPro4.2|Option_Trading|NiftyPro3.6|NiftyPro3.5",0);
SL1_show = ParamToggle("10 Min SL", "Off|On");
AudioAlert = ParamToggle("Audio Alert", "On|Off");
Print_SR = ParamToggle("Print Minor Levels", "Off|On");
Print_Band = ParamToggle("Print Band", "Off|On");
Print_Fib = ParamToggle("Intraday Fibonacci", "Off|On");
Print_DSR = ParamToggle("Dynamic Sup / Res", "On|Off");
Print_Divergence = ParamToggle("Divergence", "Off|On");
Print_MACD = ParamToggle("MACD Buy / Sell", "Off|On");
Text_Display = ParamToggle("Alert Messages", "On|Off"); // Display Alert messages on Chart.


_SECTION_BEGIN("S / R Parameters");
Sensitivity = Param("Sensitivity",32,10,100,1);

DisRange = Param("Plot 'far away' Lines Trigger",300,0,1000,20);
Color_SL= ParamColor("Support",colorLime);
Color_RL= ParamColor("Resistance",colorRed);
_SECTION_END();



_SECTION_END();
Plot( EMA( C, 65 ), _DEFAULT_NAME(), ParamColor("21 MA Color", colorGrey40 ),1+ 4096+styleNoTitle );

TimeFrameSet( inDaily );

EngulfingPattern = WriteIf(CdBullishEngulfing(), "Bullish Engulfing Candle Pattern",
WriteIf( CdBearishEngulfing(), "Bearish Engulfing Candle Pattern",
WriteIf( CdDoji(), "DOJI Candle Pattern",
WriteIf( CdHammer(), "HAMMER Candle Pattern",
" no Candle Pattern"))));
TimeFrameRestore();
NiftyPro4point2P();

sVCXB = BarsSince(VCXB); sVCXS= BarsSince(VCXS);

if (Print_BAND) {

Cord = 0; // initialize
for( Counter = 52; Counter >= 26; Counter-- )
{
Cord = Max( Cord, LinearReg(Close,Counter) );
}

ProportionalATR = ind101*2.5 / (Sum(C, 52) /13);
Factor = 2.618 * Cord * ProportionalATR;
LD = Cord - Factor;
LD = IIf(Cord < LD, Cord, LD);
UD = Cord + Factor;

//Plot(Cord, "Cord", colorYellow);
Plot(LD, "LD", colorRed);
Plot(UD, "UD", colorGreen);
}

per1 = SelectedValue(Sensitivity *SelectedValue(0.2*uIV_AVG));
per2 = SelectedValue(per1 * 3);
x=Cum(1);
Tp1 = TroughBars(L,per1,1) == 0;
Pp1 = PeakBars (H,per1,1) == 0;
Tp2 = TroughBars(L,per2,1) == 0;
Pp2 = PeakBars (H,per2,1) == 0;

XT1 =SelectedValue(ValueWhen(Tp1,x,1));
XT2 =SelectedValue(ValueWhen(Tp1,x,2));
XT3 =SelectedValue(ValueWhen(Tp1,x,3));
XT4 =SelectedValue(ValueWhen(Tp1,x,4));
XT5 =SelectedValue(ValueWhen(Tp1,x,5));
XT6 =SelectedValue(ValueWhen(Tp2,x,1));
XT7 =SelectedValue(ValueWhen(Tp2,x,2));

XP1 =SelectedValue(ValueWhen(Pp1,x,1));
XP2 =SelectedValue(ValueWhen(Pp1,x,2));
XP3 =SelectedValue(ValueWhen(Pp1,x,3));
XP4 =SelectedValue(ValueWhen(Pp1,x,4));
XP5 =SelectedValue(ValueWhen(Pp1,x,5));
XP6 =SelectedValue(ValueWhen(Pp2,x,1));
XP7 =SelectedValue(ValueWhen(Pp2,x,2));

T1 = SelectedValue(ValueWhen(Tp1,L,1));
T2 = SelectedValue(ValueWhen(Tp1,L,2));
T3 = SelectedValue(ValueWhen(Tp1,L,3));
T4 = SelectedValue(ValueWhen(Tp1,L,4));
T5 = SelectedValue(ValueWhen(Tp1,L,5));
T6 = SelectedValue(ValueWhen(Tp2,L,1));
T7 = SelectedValue(ValueWhen(Tp2,L,2));

P1 = SelectedValue(ValueWhen(Pp1,H,1));
P2 = SelectedValue(ValueWhen(Pp1,H,2));
P3 = SelectedValue(ValueWhen(Pp1,H,3));
P4 = SelectedValue(ValueWhen(Pp1,H,4));
P5 = SelectedValue(ValueWhen(Pp1,H,5));
P6 = SelectedValue(ValueWhen(Pp2,H,1));
P7 = SelectedValue(ValueWhen(Pp2,H,2));

breakout_lasttrough_G1 = Cross(T1,C);
breakout_lasttrough_G2 = Cross(T6,C);
breakout_lastpeak_G1 = Cross(C,P1);
breakout_lastpeak_G2 = Cross(C,P6);
bu_breakout = Cross(C,P1) OR Cross(C,P6);
be_breakout = Cross(T1,C) OR Cross(T6,C);
break_G1_val = IIf(breakout_lasttrough_G1,-1,IIf(breakout_lastpeak_G1,1,0));
break_G2_val = IIf(breakout_lasttrough_G2,-1,IIf(breakout_lastpeak_G2,1,0));




/*Display Conditions*/
Vis_percent =DisRange*SelectedValue(MA(abs(ROC(C,1)),10));
pR = (Vis_percent/100) + 1;
nR = ((100-VIS_percent)/100);
lC = SelectedValue(C);
RT1 = T1<PR*LC & T1>nR*LC;
RT2 = T2<PR*LC & T2>nR*LC;
RT3 = T3<PR*LC & T3>nR*LC;
RT4 = T4<PR*LC & T4>nR*LC;
RT5 = T5<PR*LC & T5>nR*LC;
RP1 = P1<PR*LC & P1>nR*LC;
RP2 = P2<PR*LC & P2>nR*LC;
RP3 = P3<PR*LC & P3>nR*LC;
RP4 = P4<PR*LC & P4>nR*LC;
RP5= P5<PR*LC & P5>nR*LC;
RT6= T6<PR*LC & T6>nR*LC;
RT7= T7<PR*LC & T7>nR*LC;
RP6= P6<PR*LC & P6>nR*LC;
RP7= P7<PR*LC & P7>nR*LC;
/*End Display Conditions*/

//Anyline_zero
AnZ= T1==0 & T2==0 & T3==0 & T4==0 & T5==0 & T6==0 & T7==0 & P1==0 & P2==0 & P3==0 & P4==0 & P5==0 & P6==0 & P7==0;

LastBar = Cum(1) == SelectedValue(Cum(1));


if(Print_SR)
{



Plot(IIf(x>=XT2 & RT2 &NOT T2==0,T2,-1e10),"T2",IIf( SelectedValue(C)<T2,Color_RL, Color_SL ),1 + 2048+styleNoTitle);
Plot(IIf(x>=XT3 & RT3 &NOT T3==0,T3,-1e10),"T3",IIf( SelectedValue(C) < T3 , Color_RL, Color_SL ),1 + 2048+styleNoTitle);
Plot(IIf(x>=XT4 & RT4 &NOT T4==0,T4,-1e10),"T4",IIf( SelectedValue(C)<T4,Color_RL, Color_SL ),1 + 2048+styleNoTitle);
Plot(IIf(x>=XT5 & RT5 &NOT T5==0,T5,-1e10),"T5",IIf( SelectedValue(C)<T5,Color_RL, Color_SL ),1 + 2048+styleNoTitle);



Plot(IIf(x>=XP2 & RP2 &NOT P2==0,P2,-1e10), "P2" ,IIf( SelectedValue(C)<P2,Color_RL, Color_SL ),1 + 2048+styleNoTitle);
Plot(IIf(x>=XP3 & RP3 &NOT P3==0,P3,-1e10), "P3" ,IIf( SelectedValue(C)<P3,Color_RL, Color_SL ),1 + 2048+styleNoTitle);
Plot(IIf(x>=XP4 & RP4 &NOT P4==0,P4,-1e10), "P4" ,IIf( SelectedValue(C)<P4,Color_RL, Color_SL ),1 + 2048+styleNoTitle);
Plot(IIf(x>=XP5 & RP5 &NOT P5==0,P5,-1e10),"P5",IIf( SelectedValue(C)<P5,Color_RL, Color_SL ),1 + 2048+styleNoTitle);
}

Plot(IIf(x>=XT1 & RT1 &NOT T1==0,T1,-1e10),"T1",colorBlue,1 + 2048+styleNoTitle);
Plot(IIf(x>=XP1 & RP1 &NOT P1==0,P1,-1e10), "P1" ,colorBlue,1 + 2048+styleNoTitle);
Plot(IIf(x>=XT6 & RT6 &NOT T6==0,T6,-1e10),"T6",IIf( SelectedValue(C)<T6,Color_RL, Color_SL ),8 + 2048+styleNoTitle + styleNoLabel);
Plot(IIf(x>=XT7 & RT7 &NOT T7==0,T7,-1e10),"T7",IIf( SelectedValue(C)<T7,Color_RL, Color_SL ),8 + 2048+styleNoTitle+ styleNoLabel);
Plot(IIf(x>=XP6 & RP6 &NOT P6==0,P6,-1e10),"P6",IIf( SelectedValue(C)<P6,Color_RL, Color_SL ),8 + 2048+styleNoTitle);
Plot(IIf(x>=XP7 & RP7 &NOT P7==0,P7,-1e10),"P7",IIf( SelectedValue(C)<P7,Color_RL, Color_SL ),8 + 2048+styleNoTitle);

//if (NiftyConditions3point7()==1) {

//Color Settings.....


Color = IIf( ui7 < -100, 32, IIf( ui7 > 100, 27, IIf((ui7 > 50), 34, IIf((ui7 > 20), 51, IIf((ui7 < - 50), 25, IIf((ui7 < - 20), 33, 55 ))))));



/* plot color ribbon */


Plot( 1, "", Color, styleArea | styleOwnScale | styleNoLabel, -0.1, 60 );



Volumecolor = IIf(MAV_Value1 > 3 AND C > O, colorGreen,IIf(MAV_Value1 > 3 AND C < O, colorRed,
IIf(MAV_Value1 > 1.2, colorBlue, IIf(MAV_Value1 > 0.8, colorLightBlue, colorWhite))));
Plot( 1, "", Volumecolor, styleArea | styleOwnScale | styleNoLabel, -0.1, 25 );

MACD_Buy = Cross( MACD(),Signal() );
MACD_Sell = Cross(Signal() ,MACD());

NewDay = Day()!= Ref(Day(), -1);

DH = HHV( H, NewDay);
DL = LLV(L, NewDay);
rsiDH = HHV( RSIa(H, 14), NewDay); //param 14
rsiDL = LLV(RSIa(L, 14), NewDay);
RSI_Parameter = Param("RSIA PARAM",15,8,20,1);
////// RSI Day high / low detection ////
RSIBull1 = (L < Ref(dl, -1) AND RSIa(L, RSI_Parameter) > Ref(RSIdl, -1)) OR
(L > Ref(dl, -1) AND RSIa(L, RSI_Parameter) < Ref(RSIdl, -1)) ;
RSIBear1 = (H > Ref(dh, -1) AND RSIa(H, RSI_Parameter) < Ref(RSIdh, -1)) OR
(H < Ref(dh, -1) AND RSIa(H, RSI_Parameter) > Ref(RSIdh, -1));
RSIburev = BarsSince(RSIbull1);
RSIberev = BarsSince(RSIbear1);

CCI_Periods = Param("CCI Periods",32,10,50,1);

bear_CCI = (CCI() >Ref( HHV(CCI(), CCI_Periods), -1) AND H < Ref(HHV(H, CCI_Periods), -1)) OR
(CCI() < Ref( HHV(CCI(), CCI_Periods), -1) AND H > Ref(HHV(H, CCI_Periods), -1));

bull_CCI = (CCI() > Ref( LLV(CCI(), CCI_Periods), -1) AND L < Ref(LLV(L, CCI_Periods), -1)) OR
( CCI() < Ref( LLV(CCI(), CCI_Periods), -1) AND L > Ref(LLV(L, CCI_Periods), -1));
Sbullcci = BarsSince(bull_CCI);
Sbearcci = BarsSince(bear_CCI);

BeReversal = ( Close >= HHV( Close, 18 ) AND RSI(14) < HHV( RSI(14), 18 )) ;
BuReversal = ( Close <= LLV( Close, 18 ) AND RSI(14) > LLV( RSI(14), 18 ));
BeReversal1 = ( RSI(15) <= LLV( RSI(14), 14) AND Close > LLV(Close,14));
BuReversal1 = ( RSI(15) >= HHV( RSI(14), 14 ) AND Close < HHV( Close, 14 ));



NewBeReversal = ( H >= (Ref(HHV( H, 24 ), -1)+1) AND (RSIa(H, 24) < (HHV( RSIa(H, 24), 24 )) - 2));
NewBuReversal = ( L <= (Ref(LLV( L, 24 ), -1)-1) AND (RSIa(L,24) > (LLV( RSIa(L,24), 24 )) + 2));
Confirm_BeReversal = Ref( NewBeReversal, -1) AND H <= Ref(H, -1);
Confirm_BuReversal = Ref(NewBuReversal, -1) AND L >= Ref(L, -1);
since_BeReversal = BarsSince(BeReversal);
since_BuReversal = BarsSince(BuReversal);

since_Confirm_BeReversal = BarsSince(Confirm_BeReversal);
since_Confirm_BuReversal = BarsSince(Confirm_BuReversal);

sinceOverBought = BarsSince(RSI(14) > 65);
sinceOverSold = BarsSince(RSI(14) < 35);



/*BULLISH STOCHASTIC DIVERGENCE, DD==30*/
ST33=StochD();
TR1=LLVBars(ST33,4);
TR2=IIf(ST33<30 AND TR1>0 AND Ref(TR1,-1)==0,Ref(ST33,-1),0);
TRC=IIf(TR2>0,C,0);
vs=ValueWhen(tr2, Ref(st33,-1), 1);
dvs=vs-Ref(vs,-1);
vc=ValueWhen(trc, LLV(C,3), 1);
dvc=vc-Ref(vc,-1);
diver=IIf(dvs>0 AND dvc<0,30,0);
DAS=BarsSince(Ref(TR2,-1)>0);
DD=IIf(DAS<20 AND C>=Ref(C,-1),DIVER,0);
//Graph0=DD;
//Graph0BarColor=4;
STBULL=DD==30;



/*BEARISH STOCHASTIC DIVERGENCE, BDDD==90*/

BTR1=HHVBars(ST33,4);
BTR2=IIf(ST33>70 AND BTR1>0 AND Ref(BTR1,-1)==0,Ref(ST33,-1),0);
BTRC=IIf(BTR2>0,C,0);
Bvs=ValueWhen(Btr2, Ref(st33,-1), 1);
Bdvs=Bvs-Ref(Bvs,-1);
Bvc=ValueWhen(Btrc, HHV(H,3), 1);
Bdvc=Bvc-Ref(Bvc,-1);
Bdiver=IIf(Bdvs<0 AND Bdvc>0,90,0);
BDAS=BarsSince(Ref(BTR2,-1)>0);
Bddd=IIf(BDAS<20 AND C<=Ref(C,-1),BDIVER,0);
//Graph2=BDDD;
//Graph2BarColor=4;
STBEAR=BDDD==90;
sinceSTBULL = BarsSince(STBULL);
sinceSTBEAR = BarsSince(STBEAR);


Hist = MACD()-Signal();
macdBeReversal = ( H >= (Ref(HHV( H, 14 ), -1)+2) AND (Hist < (HHV( Hist, 14 )) - 2));
macdBuReversal = ( L <= (Ref(LLV( L, 14 ), -1)-2) AND (Hist > (LLV( Hist, 14 )) + 2));
Confirm_macdBeReversal = Ref(macdBeReversal, -1) AND H <= Ref(H, -1);
Confirm_macdBuReversal = Ref(macdBuReversal, -1) AND L >= Ref(L, -1);


if (Print_MACD) {
PlotShapes(shapeHollowSmallSquare * MACD_Buy, colorGreen, 0, L, -5);
PlotShapes(shapeHollowSmallSquare * MACD_Sell, colorDarkRed, 0, H, 5);

}

if (Print_Divergence) {
PlotShapes(shapeHollowSmallCircle * BuReversal, colorGreen, 0, L, -5);
PlotShapes(shapeHollowSmallCircle * BeReversal, colorRed, 0, H, 5);
PlotShapes(shapeSmallCircle * BuReversal1, colorGreen, 0, L, -5);
PlotShapes(shapeSmallCircle * BeReversal1, colorRed, 0, H, 5);
PlotShapes(shapeSmallCircle * Confirm_MacdBuReversal, colorDarkGreen, 0, L, -4);
PlotShapes(shapeSmallCircle * Confirm_MacdBeReversal, colorDarkRed, 0, H, 4);
PlotShapes(shapeStar * confirm_BuReversal, colorDarkGreen, 0, L, -11);
PlotShapes(shapeStar * Confirm_BeReversal, colorRed, 0, H, 11);
PlotShapes(shapeSmallSquare * STBULL, colorBlue, 0, L, -15);
PlotShapes(shapeSmallSquare * STBEAR, colorRed, 0, H, 15);
}




if(Print_Fib)
{

Plot(feb1,"",colorBlue,512 +styleThick + styleDashed);
Plot(feb2,"",colorBlue,512+ styleThick+styleDashed);
Plot(TDH,"",colorRed,512+ styleDashed);
Plot(TDL,"",colorGreen,512+ styleDashed);
}



intcond = (Vint / 60) < 20; ///Should Remove this one...


Negative_Bias = (TDL < PDL OR TDH < PDH OR L < Ref(TDL, -1)) AND C < DL1 ; ///Should Remove this one...
Positive_Bias = (TDL > PDL OR TDH > PDH OR H > Ref(TDH, -1)) AND C > DH1 ; ///Should Remove this one...
InsideBar = TDH < PDH AND TDL > PDL AND TimeNum() > 143000;
PreviousDR = PDH - PDL;
TodayRange = TDH - TDL;
NR4 = TodayRange < Ref(TodayRange, -1) AND TodayRange < Ref(TodayRange, -2) AND TodayRange < Ref(TodayRange, -3) AND TimeNum() > 143000;
NR7 = NR4 AND TodayRange < Ref(TodayRange, -4) AND TodayRange < Ref(TodayRange, -5) AND TodayRange < Ref(TodayRange, -6) AND TimeNum() > 143000;
/* plot color ribbon */
//TrendColor = IIf( Negative_Bias AND NOT Positive_Bias, colorRed, IIf( Positive_Bias AND NOT Negative_Bias, colorGreen,colorLightGrey ));

//Plot( 1, "", TrendColor, styleArea | styleOwnScale | styleNoLabel, -0.1, 25 );

TrendText = WriteIf(Negative_Bias AND NOT Positive_Bias, " -Negative- " , WriteIf(Positive_Bias AND NOT Negative_Bias, " +Positive+ ", "Nutral" ));
IBNRtext = WriteIf(NR7 AND InsideBar, " NR7 & InsideBar Day ", WriteIf(NR4 AND InsideBar, " NR4 and InsideBar Day ",
WriteIf(NR7, " NR7 Day ",WriteIf(NR4, " NR4 Day ",WriteIf(InsideBar, " InsideBar Day ", " None ")))));

sDHbeC = BarsSince(DHbeC); sDLbuC = BarsSince(DLbuC); SDayH = BarsSince(H==Dayh); sDayL = BarsSince(L ==DayL);
SPikeUp = ((HHV(dayH - Thr11, 12) > C*0.007) OR (HHV(H, 18) - LLV(L, 18) > C*0.008)) AND sDHbeC < 12 AND sDHbeC == SDayH AND Spikeup1 ;
SPikeDown = ((HHV(Pk11 - dayL, 12) > C*0.007) OR (HHV(H, 18) - LLV(L, 18) > C*0.008)) AND spikedown1 AND sDLbuC == sDayL AND sDLbuC < 12;
Bfilter7 = Buy1 && AvoidB7 && Ref(HHV(MAV_Value1, 6), -1) < 1.1;
/*


/*
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/



EnableTextOutput(True);


EnableTextOutput(False);
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/


if(System=="NiftyPro4.2"){

bgbtmcolor = colorPaleBlue;



Buy2_1 = (Buy2 OR SpikeDown) AND AvoidBuyFinal &&! Bfilter7;
Short2_1 = ((Short2 OR Spikeup ) AND NOT AvoidShort) OR DhSpike OR SerialClimax_sHORT OR GapUpShort2 ;
Buy2_1 = ExRem(Buy2_1, Short2_1); Short2_1 = ExRem(Short2_1, Buy2_1);
Buy0 = ExRem(Buy0, Short0); Short0 = ExRem(Short0, Buy0) ;
sBuy0 = BarsSince(Buy0); sShort0 = BarsSince(Short0); sbuy2 = BarsSince(Buy2_1); sshort2 = BarsSince(Short2_1);
Buy = Buy2_1 ; Short = Short2_1 ;


BuyPri1 = (ValueWhen(Buy, C, n = 1));
SellPri1 = (ValueWhen(Short, C, n = 1));

ExitLong11 = (ExitLong10 && C < BuyPri1*0.997) AND ((C < BuyPri1*0.997 )OR ELcond10);
ExitShort11 = ExitShort10 AND ((C > Sellpri1*1.003) OR EScond10);

Sell = (exitlong11 OR Short OR Sell2) AND TimeNum() < 152930;
Cover = exitshort11 OR Buy OR Cover2 AND TimeNum() < 152930;

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

sCover = BarsSince( Cover ); sSell = BarsSince( Sell );

Buy3_1 = Buy2_1 OR ((Buy0 OR Buy0_1) AND sSell < sShort2) AND NOT Sell AND TimeNum() < 152930;
Short3_1 = Short2_1 OR ((Short0 OR Short0_1) AND sCover < sBuy2) AND NOT Cover AND TimeNum() < 152930;
Buy3_1 = ExRem(Buy3_1, (Sell OR Cover OR Short3_1)); Short3_1 = ExRem(Short3_1, (Cover OR Sell OR Buy3_1));
Buy = Buy3_1; Short = Short3_1;



sBuy = BarsSince( Buy ); sShort = BarsSince( Short );
}

if(System=="Option_Trading"){

bgbtmcolor = colorGrey50;
Buy21 = Buy1 && MAV_Value1 > 2.8 && MAV_Value1 < 4.3 && H < DayH && (C-O) > C*0.0012 && RSI() < 69;

//Buy2_1 = ((Buy2 OR SpikeDown) AND AvoidBuyFinal &&! Bfilter7 &&! Buy1) || Buy21;
//Short2_1 = ((Short2 OR Spikeup ) AND NOT AvoidShort &&! Short1) OR DhSpike OR SerialClimax_sHORT OR GapUpShort2;
Buy2_1 = ((Buy3 OR SpikeDown) AND AvoidBuyFinal &&! Bfilter7) || Buy21;
Short2_1 = ((Short3 OR Spikeup ) AND NOT AvoidShort ) OR DhSpike OR SerialClimax_sHORT OR GapUpShort2;
Buy = Buy2_1;
Short = Short2_1;
Sell = (Short3_Exit AND NOT AvoidShort) || Short2_1;
Cover = (Buy3_Exit AND AvoidBuyFinal &&! Bfilter7) || Buy2_1;
Buy = ExRem(Buy, Sell); Short = ExRem(Short, Cover);
Sell = ExRem(Sell, Buy); Cover = ExRem(Cover, Short);
sCover = BarsSince( Cover ); sSell = BarsSince( Sell );
sBuy = BarsSince( Buy ); sShort = BarsSince( Short );

}

if(System=="NiftyPro3.6"){

Buy = Buy1; Sell= Short1; Buy = ExRem(Buy, Sell); Sell = ExRem(Sell, Buy); Cover = Buy; Short = Sell;
sBuy = BarsSince( Buy ); sShort = BarsSince( Short ); sCover = BarsSince( Cover ); sSell = BarsSince( Sell );
bgbtmcolor = colorGrey50;
}
if(System=="NiftyPro3.5"){

Buy = Buy0; Sell= Short0; Buy = ExRem(Buy, (Sell )); Sell = ExRem(Sell, (Buy )); Cover = Buy; Short = Sell;
sBuy = BarsSince( Buy ); sShort = BarsSince( Short ); sCover = BarsSince( Cover ); sSell = BarsSince( Sell );
bgbtmcolor = colorGreen;
}
BuyPri = (ValueWhen(Buy, C, n = 1)); BuyPriHi = (ValueWhen(Buy, H, n = 1));
SellPri = (ValueWhen(Short, C, n = 1)); SellPriLo = (ValueWhen(Short, L, n = 1));
HiafterBuy = HHV(H, Buy); LoafterSell = LLV(L, Short);
LoafterBuy = LLV(L, Buy); HiafterSell = HHV(H, Short);
SellRunning = BarsSince( Buy ) > BarsSince( Short );
BuyRunning = BarsSince( Buy ) < BarsSince( Short );
SellRunning3_6 = BarsSince( Buy1 ) > BarsSince( Short1 );
BuyRunning3_6 = BarsSince( Buy1 ) < BarsSince( Short1 );
AlmostBuy = Buy1_1 AND SellRunning;
AlmostShort = Short1_1 AND BuyRunning;
CallNearBy = WriteIf(Almostshort, " Short Avoided...Waiting for Additional Confirmations..",
WriteIf(AlmostBuy, " BUY Avoided...Waiting for Additional Confirmations..", ""));



SellRunning3_6 = BarsSince( Buy1 ) > BarsSince( Short1 );
BuyRunning3_6 = BarsSince( Buy1 ) < BarsSince( Short1 );



NOTrade = sCover < sshort AND sSell < sBuy AND NOT Cover AND NOT Sell;
MaxBuyProfit = WriteVal(HiafterBuy - BuyPri , 1.1); MaxSellProfit = WriteVal(SellPri -LoafterSell, 1.1);
MaxProfit = WriteIf(sBuy < sShort AND sBuy >0 AND HiafterBuy > BuyPriHi AND NOT NOTrade, " Max. Profit since BUY " + MaxBuyProfit + " Pts. ("+ WriteVal(HiafterBuy, 1.1) + ")",
WriteIf(sBuy > sShort AND sShort >0 AND LoafterSell < SellPriLo AND NOT NOTrade, " Max. Profit since SELL " + MaxSellProfit + " Pts. ("+ WriteVal(LoafterSell, 1.1) + ")",""));


RunningCall = WriteIf(Buy OR Ref(Buy, -1), "Buy Call Entry ",
WriteIf(Short OR Ref(Short, -1), "Short Call Entry ",WriteIf(Sell, "Exit Long Position.. ",
WriteIf(Cover, "Exit Short Position.. ",WriteIf(NOTrade, "No-Trade is Open.. ","")))));
CallWaiting = WriteIf(NOTrade AND sBuy < sShort && System=="NiftyPro4.2", "Waiting for a Short Sell Entry (Use DTP Till that time).... Buy Call will be Initiated only after Dip or after 11 AM..",
WriteIf(NOTrade AND sBuy > sShort && System=="NiftyPro4.2", "Waiting for a BUY Entry (Use DTP Till that time).... SELL Call will be Initiated only after a Rise or after 11 AM..", ""));
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
Plot(SL,"",colorBrown,512+ styleDashed);
if(Sl1_Show)
{
Plot(SL1,"",colorDarkRed,512+ styleLine);
}


Short_Stoploss = WriteIf(C < SL, "Short Trade -- (Trail Stoploss to " + WriteVal(SL + 1.5, 1.1) +" for Intraday Trade Only) \n\n" + "Cmp : "+ WriteVal(C, 1.1), "");
Long_Stoploss = WriteIf(C > SL, "Long Trade -- (Trail Stoploss to " + WriteVal(SL- 1.5, 1.1)+ " for Intraday Trade Only) \n\n" + "Cmp : "+ WriteVal(C, 1.1), "");

Uhk1 = Dh1 == TDH AND H > feb2 AND H < TDH AND s13 > 0 AND O > C ;
Dhk1 = Dl1 == TDL AND L < feb1 AND L > TDL AND s13 > 0 AND C > O;
Uhk2 = Dh1 == TDH AND H > feb2 AND H < TDH AND s13 > 0;
Dhk2 = Dl1 == TDL AND L < feb1 AND L > TDL AND s13 > 0 ;
since_UHK1 = BarsSince(uhk1);
since_DHK1 = BarsSince(Dhk1);

sinceNewDay = BarsSince(Day() != Ref(Day(), -1) );
sinceShortSL = BarsSince(C < SL);
sinceLongSL = BarsSince(C > SL);
ExitShort1 = (sinceSTBULL < 10 OR since_Confirm_BuReversal < 10 OR since_DHK1 < 8 OR ((NC103 == TDL) AND sinceNewDay > 15)) AND NC105 AND NifbuyCondition6
AND C > SL AND (sinceOverSold < 14 OR since_DHK1 < 8 OR NC103 == TDL ) AND sBuy > sShort AND TimeNum() < 151000 AND NOT Uhk AND NOT Uhk2
AND sinceShortSL < 10 AND H > Ref(H, -1);
ExitLong1 = (sinceSTBEAR < 10 OR since_Confirm_BeReversal < 10 OR since_UHK1 < 8 OR ((NC101 == TDH ) AND sinceNewDay > 15)) AND NC105 AND NifSellCondition6
AND C < SL AND (sinceOverBought < 14 OR since_UHK1 < 12 OR NC102 == TDH) AND sBuy < sShort AND TimeNum() < 151000 AND NOT Dhk AND NOT Dhk2
AND sinceLongSL < 10 AND L < Ref(L, -1);

GfxSelectFont("Times New Roman", 10, 400, False );
Exitlong = ExRem(ExitLong1, C > SL);
ExitShort = ExRem(ExitShort1, C < SL);

PlotShapes(shapeSmallCircle * AlmostBuy, colorPlum, 0, L, 0);
PlotShapes(shapeSmallCircle * AlmostShort, colorPlum, 0, H, 0);
PlotShapes(shapeSmallCircle * Exitshort, colorDarkGreen, 0, L, -12);
PlotShapes(shapeSmallCircle * ExitLong, colorRed, 0, H, 12);

Filter = Buy && H == DayH && SND > 3 && DayL < PDL;
AddColumn(Sl,"SL");

AddColumn(HHV(H, 12) - LLV(L, 12),"Range12", 1.1);
AddColumn(Buy,"Buy", 1);
AddColumn(Short,"Short", 1);
AddColumn(Buy,"Remarks", 1.1);

EnableTextOutput(False);

EnableTextOutput(True);
printf(" *** HNI Copy ***\n");
uE8 + "\n";




EnableTextOutput(False);
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
RSI_Level = WriteIf(RSI() > 70, ", RSI in OVER BOUGHT region, " ,WriteIf(RSI() < 30 , ", RSI in OVER SOLD region, ", ""));

if(Text_Display)
{
//Nifty();
yCount = Point2-Point1;
y1Count = Point1 +1;
XCount = Point4 - Point3;
Yt1Count = Point3 + 1;

Rangeout2 = DR2 > 0;
Rangeout1 = DS2 > 0;

if(NOT Print_DSR AND Rangeout1)
{
SupportLine = LineArray( (BarCount-1-point2), DS2, BarCount -2 - Point1, DS1, 1 );
Plot( SupportLine, "Dynamic Support", colorBlue,8+ styleNoLabel+styleNoTitle );
}
if(NOT Print_DSR AND Rangeout2)
{
ResistanceLine = LineArray(BarCount-1-point4, DR2, BarCount -2 -Point3, DR1, 1 );
Plot( ResistanceLine, "Dynamic Resistance", colorBrown,8+ 4096 +styleNoTitle );


}

//PlotText( "CLOSE"+WriteVal(C, 1.1), BarCount-10, SL, colorBlack, colorYellow) ;
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/


diff = (((DR2 - DS2)/C)*100);

Rule3 = ((diff < 1)AND ( C < DR2) AND (C > DS2));
Rule3_1 = (((DR3 - DS3)/C) *100 < 1) AND ( C < DR3) AND (C > DS3);
DT_DB_Range = IIf((Rule3 OR Rule3_1), 36, 14);
Rule4 = Buy AND(((TDH - H)/C) *100 < 0.2)AND (DR3 > H);
Rule4_1 = Short AND (((L - TDL)/C) *100 < 0.2)AND (DS3 < L);
Rule5 = (((HHV(MA(C, 15), 15) - LLV(MA(C, 15), 15) )/C )*100);

DoubleTop = (((DR2 - DR1) / C)*100) ;
DoubleBottom = (((DS1 - DS2) / C)*100);
dt = doubleTop <DT_DB_Sens AND (xcount + Yt1count) > DT_DB_Range AND C < DR1;
db = doubleBottom < DT_DB_Sens AND (ycount + y1count) > DT_DB_Range AND C > DS1;
DT_BARS = BarsSince(DT);
DB_BARS = BarsSince(DB);
DataStopped = WriteIf(Now(4) > TimeNum() + 9, " Chart not Updating... ", "");
Volatile_DT = (H < DR1) AND (H > (DR1 - ((DR1 * DT_DB_Sens)/100))) AND (yt1count > 10) AND ((((DR1 - DS2) / DS2) * 100) > 0.8);
Volatile_Db = (L > DS1)AND (L < (DS1 + ((DS1 * DT_DB_Sens)/100))) AND (y1count > 10) AND ((((DR2 - DS1) / DR2) * 100) > 0.8);

Near_DT = (H < DR2) AND (H > (DR2 - ((DR2 * DT_DB_Sens)/100))) AND ((xcount + Yt1count) > (DT_DB_Range - 1)) AND NOT dt ;
Near_db = (L > DS2) AND (L < (DS2 + ((DS2 * DT_DB_Sens)/100)))AND ((ycount + y1count) > (DT_DB_Range - 1)) AND NOT db;
Near_DT2 = (H < DR3) AND (H > (DR3 - ((DR3 * DT_DB_Sens)/100))) AND NOT dt AND H > DR2 AND DR2 > 0;
Near_db2 = (L > DS3) AND (L < (DS3 + ((DS3 * DT_DB_Sens)/100))) AND NOT db AND L < DS2 AND DS2 > 0;

TWINTOP = ((H - Ref(H, -1)) < 0.1 AND (H - Ref(H, -1)) > -0.5) AND(( H - L > 10) OR (Ref(H, -1) - Ref(L, -1) > 10));
TWINBOTTOM = ((L - Ref(L, -1)) < 0.5 AND (L - Ref(L, -1)) > -0.1) AND(( H - L > 10) OR (Ref(H, -1) - Ref(L, -1) > 10));
BUY_ERROR1 = Buy AND (((H < Ref(H, -1)) OR (H == Ref(H, -1))) OR ( H < ChandelierCl(ATR(15),2.5)));
Sell_ERROR1 = Short AND (((L > Ref(L, -1)) OR(L == Ref(L, -1)))OR ( L > ChandelierCl(ATR(15),2.5)));
RangeOut = WriteIf(DS2== 0 OR DS1 ==0 OR DS3 == 0 OR DR2 == 0 OR DR1==0 OR DR3 == 0, " Data out of Range !", "");
RangeOut1 = WriteIf(DS2== 0 OR DS1 ==0 OR DS3 == 0 OR DR2 == 0 OR DR1==0 OR DR3 == 0, "Not getting Enough Data to Calculate S/R, Switch to higher timeframe to get Support / Resistance, "+ " \n", "");
MajorSR_text = WriteIf(C > 0, "Major Res : " + WriteVal(P6, 1.1)+ ", " + WriteVal(P7,1.1) + ", Major Sup : " + WriteVal(T6, 1.1)+ ", " + WriteVal(T7,1.1)
, "");




Normal_Text = WriteIf( NOT (rule3 OR RULE3_1 OR Rule4 OR Rule4_1), " Normal Market Condition" + " >>DH : " + WriteVal(TDH, 1.1) + ", DL : " + WriteVal(TDL, 1.1), "");

Levels_Text =WriteVal(NiftyBuyCondition2, 1)+WriteVal(NifBuyCondition2,1) +WriteVal(NifBuyCondition3, 1) +
" , " + WriteVal(NiftySellCondition2, 1) + WriteVal(NifSellCondition2, 1) + WriteVal(NifSellCondition3, 1) +
" Strong Above : " + WriteVal(DR2, 1.1)+ ", " + WriteVal(DR3,1.1);
Levels_Text1 = ", Weak Below : " + WriteVal(DS2, 1.1)+ ", " + WriteVal(DS3,1.1) + " ";

Rule3_Text = WriteIf ( Rule3_1, "***EXTREME RangeBound Mkt. Condition Trade With Caution !! *** ",WriteIf(RULE3, "RangeBound Mkt. Condition Trade With Caution !! " , " ")) ;

GfxSelectFont("Times New Roman", 10, 400, False );


Rule6_1 = WriteIf(db AND NOT Rule3_1 AND NOT Rule3 , "Higher / Double Bottom, " + (time * y1count) + " Min ago, betw. "+ ycount + " Periods, betw. "+ WriteVal(DS2, 1.1) + " & " + WriteVal(DS1, 1.1) + " Levels, " + "Bullish Reversal if Confirmed !" , "");
GfxTextOut(Rule6_1, 5 , 65);
Rule6 = WriteIf(dt AND NOT Rule3_1 AND NOT Rule3 , "Lower / Double Top, " + (time * yt1count) + " Min ago, betw. "+ xcount + " Periods, betw. "+ WriteVal(DR2, 1.1) + " & " + WriteVal(DR1, 1.1) + " Levels, " + "Bearish Reversal if Confirmed ! ", "");
GfxSetTextColor(colorRed);
GfxTextOut(Rule6, 5 , 50);

Rule7_1 = WriteIf(C < SL AND Buy, " High Risky Call consider Buying on dips OR only above " + WriteVal(H*1.0001, 1.1) ,
WriteIf(near_DT AND Buy, " Risky Call, Multiple Resistances @ " + WriteVal(DR2, 1.1)+ " & " + WriteVal(DR3, 1.1) + " Consider Buying on dips or on breakout" ,
WriteIf(near_dt2 AND Buy, " High Risk CALL, (2 Double Top Forming) Resistance @ " + WriteVal(DR3, 1.1) + " Ref Rule 7.1" + " Consider Buying on dips or on breakout" ,
WriteIf(Volatile_DT AND Buy, "High Volatilite Market (0 double Top formation avoid trading, trade only above " + WriteVal (DR1, 1.1) + " or " + WriteVal(DR2, 1.1),
WriteIf(C<DR1 AND H > DR1 AND Buy, "1 Res Violated & Trading Lower, Enter only above " + WriteVal(DR1+1, 1.1) + " on the Next bar or on dips to Support levels, Cmp "+ WriteVal(C, 1.1),
WriteIf(C<DR2 AND H > DR2 AND Buy, "2 Res Violated & Trading Lower, Enter only above " + WriteVal(DR2 + 1, 1.1)+ " on the Next bar or on dips to Support levels, Cmp "+ WriteVal(C, 1.1),
WriteIf(C<DR3 AND H > DR3 AND Buy, "3 Res Violated & Trading Lower, Enter only above " + WriteVal(DR3+1, 1.1)+ " on the Next bar or on dips to Support levels, Cmp "+ WriteVal(C, 1.1),

WriteIf(Buy AND ((H < Ref(H, -1)) OR (H == Ref(H, -1))), "Error 1, Buy only above " + WriteVal(Ref(H, -1), 1.1) + ", Cmp " + WriteVal(C, 1.1),
WriteIf(Ref(Buy, -1) AND H < Ref(H, -1)*1.0001, "Error 2, BUY Call not Active, Avoid Entry / Enter Only above " + WriteVal(Ref(H, -1)*1.0001, 1.1),
"")))))))));
Rule7_2 = WriteIf(C > SL AND Short, " High Risky Call consider Selling on rise OR only below " + WriteVal(L*0.9999, 1.1) ,
WriteIf(near_db AND Short, " Risky Call, Multiple Supports @ " + WriteVal(DS2, 1.1)+ " & " + WriteVal(DS3, 1.1) + " Sell on Rise or " + " Below supports. ",
WriteIf(near_db2 AND Short, " High Risk CALL, (2 Double Bottom Forming) Support @ " + WriteVal(DS3, 1.1) + " Ref Rule 7.2" + " Consider Selling on rise or on breakout" ,
WriteIf(Volatile_db AND Short, "High Volatilite Market (0 double Bottom formation avoid trading, trade only below " + WriteVal (DS1, 1.1) + " or " + WriteVal(DS2, 1.1),
WriteIf(C>DS1 AND L < DS1 AND Short, "1 Support Violated & Closing Higher, Enter only below " + WriteVal(DS1-1, 1.1)+ " on the Next bar or on rise to Res levels, Cmp " + WriteVal(C, 1.1),
WriteIf(C>DS2 AND L < DS2 AND Short, "2 Support Violated & Closing Higher, Enter only below " + WriteVal(DS2-1, 1.1)+ " on the Next bar or on rise to Res levels, Cmp "+ WriteVal(C, 1.1),
WriteIf(C>DS3 AND L < DS3 AND Short, "3 Support Violated & Closing Higher, Enter only below " + WriteVal(DS3-1, 1.1)+ " on the Next bar or on rise to Res levels, Cmp "+ WriteVal(C, 1.1),
WriteIf(Short AND ((L > Ref(L, -1)) OR(L == Ref(L, -1))) , "ERROR 1, SELL only below " + WriteVal(Ref(L, -1), 1.1) + ", Cmp " + WriteVal(C, 1.1),
WriteIf(Ref(Short, -1) AND L > Ref(L, -1)*0.9999, "ERROR 2, SELL Call not Acitive, Avoid Entry / Enter Only below " + WriteVal(Ref(L, -1)*0.9999, 1.1) ,

"")))))))));

BullishReversal = (since_BuReversal < 7 OR SinceSTBULL < 7)AND sinceOverSold < 5 AND db;
BearishReversal = (since_BeReversal < 7 OR sinceSTBEAR < 7) AND sinceOverBought < 5 AND dt;
TestRule3 = WriteIf(BullishReversal, "CAUTION **DoubleBottom with Bullish Divergence, Strong REVERSAL Possible ! if trades above " + WriteVal(DR1, 1.1),
WriteIf(BearishReversal, "CAUTION **DoubleTOP with Bearish Divergence, Strong REVERSAL Possible ! if trades below " + WriteVal(DS1, 1.1), ""));

ExitText = WriteIf( ExitShort, " EXIT Short position (Intraday Traders Only) & re-enter below Day Low OR " + WriteVal(DS1, 1.1),
WriteIf( ExitLong, " EXIT Long position (Intraday Traders Only) & re-enter above Day High OR " + WriteVal(DR1, 1.1), ""));

GfxTextOut(Rule7_1, 5 , 120);
GfxTextOut(Rule7_2, 5 , 135);

GfxSetTextColor(colorBlack);

GfxTextOut(Levels_Text + Levels_Text1 + RangeOut + Normal_Text , 5 , 15);
Rule6_2 = WriteIf(near_DT AND NOT Rule3_1 AND NOT Rule3 , " DoubleTop may form if " + Name() + " fails to cross " + WriteVal(DR2, 1.1), "");
Rule6_3 = WriteIf(near_Db AND NOT Rule3_1 AND NOT Rule3 , " DoubleBottom may form if " + Name() + " fails to break " + WriteVal(DS2, 1.1), "");

GfxTextOut(Rule6_2, 5 , 65);
GfxTextOut(Rule6_3, 5 , 65);
Rule6_4 = WriteIf(near_DT2 AND NOT Rule3_1 AND NOT Rule3 , "2 DoubleTop may form if " + Name() + " fails to cross " + WriteVal(DR3, 1.1), "");
Rule6_5 = WriteIf(near_Db2 AND NOT Rule3_1 AND NOT Rule3 , "2 DoubleBottom may form if " + Name() + " fails to break " + WriteVal(DS3, 1.1), "");

GfxTextOut(Rule6_4, 15 , 65);
GfxTextOut(Rule6_5, 15 , 65);
GfxTextOut(TestRule3, 5 , 150);
GfxTextOut(ExitText, 5 , 170);
GfxTextOut( Rule3_Text, 500 , 15);
}

time = Interval()/60;
NOT5min = WriteIf(time ==5 , "(5 minute Chart) ", WriteIf(time !=5 AND VIX > 21 ,"This Program is not designed for "+time+" min timeframe. ****Pls switchover to 5 min. Chart****", ""));



DayO = TimeFrameGetPrice("O", inDaily, 0);
PDO = TimeFrameGetPrice("O", inDaily, -1);
InsideBar = TimeNum() > 150000 AND DayH < PDH*1.001 AND DayL > PDL*0.999;
Hammer = TimeNum() > 150000 AND C > DayO AND (C - DayO) < (DayO - DayL)*1.25 AND (DayH - C) < (DayO - DayL);
BearishEngulfing = TimeNum() > 150000 AND DayO >= PDC*0.998 AND C < PDO AND DayH > PDO AND PDC > PDO;
BullishEngulfing = TimeNum() > 150000 AND DayO <= PDC*1.002 AND C > PDO AND DayL < PDO AND PDC < PDO;
//nr7 = TimeNum() > 151000 AND (Dayh - DayL) == LLV(Dayh - DayL, 7);
//nr4 = TimeNum() > 151000 AND (Dayh - DayL) == LLV(Dayh - DayL, 4);

PDHL =
WriteIf(SND < 2, "***Pls Verify DayHigh and DayLow, Correct it if required ***",
WriteIf(TDL > PDL AND (C > PDL) AND ((L < PDL) OR (L < PDL + 5)), "***CAUTION*** Trading close to Previous Day Low ",
WriteIf(TDH < PDH AND C < PDH AND ((H > PDH) OR (H > PDH - 5)), "***CAUTION*** Trading close to Previous Day High",
WriteIf(GDR, "***GAP-DOWN Recovery Detected*** Volatility Expected..",
WriteIf(GUR, "***GAP-UP Reversal Detected*** Volatility Expected..",
WriteIf(InsideBar, "***INSIDE-BAR Day Detected*** ",
WriteIf(Hammer, "***Bullish Hammer Candle Pattern Detected*** ",
WriteIf(BearishEngulfing, "***Bearish Engulfing Pattern Detected***",
WriteIf(BullishEngulfing, "***Bullish Engulfing Pattern Detected***","")))))))));



HookReversal = WriteIf(uHk1, "(BEARISH)Hook Reversal Pattern Possible, if Day High not violated !! " ,
WriteIf(dHk1, "(BULLISH)Hook Reversal Pattern Possible, if Day Low not violated !!", ""));

GfxSelectFont("Verdana", 8, 420, False );
GfxSetTextColor(colorDarkGreen);
GfxTextOut(not5Min + MaxProfit, 5 , 350);

GfxSetTextColor(colorRed);
GfxSelectFont("Verdana", 8, 400, False);


GfxTextOut(PDHL, 250 , 78);


TotalVol = Sum( V, SND+1 );
GfxSetTextColor(colorBlack);
Vix_Text = "VIX : " + WriteVal(Vix, 1.2)+ ", %Chg " + WriteVal((Vix - VPrevClose)/VPrevClose*100, 1.2) +", Vol Ratio :" + WriteVal(MAV_Value1, 1.2)
+ ", CDL Avg " + WriteVal(Cdlavgrange, 1.1) + ", Total Vol " + WriteVal(TotalVol, 1) + ", Premium " + WriteVal(C - Fu_C, 1.1)
+ WriteIf(LV AND Vix < 21, " Caution Volatility is Very Low, Switch to 10min. or higher timeframe chart...,!!","")
+ WriteIf(LV AND Vix > 21, " Caution Market Volatility is LOW, Trade Cautiously.. !!","");

GfxTextOut(Vix_Text, 5 , 15);








ErrorBuy = Buy1 AND uHk;
ErrorSell = Short1 AND dHk;
ErrorBuySellText = WriteIf(ErrorBuy AND NOT sBuy < sShort, "Buy Call Avoided", WriteIf(ErrorBuy AND sBuy < sShort, "Buy Call Re-entry (Check Day High)",
WriteIf(ErrorSell AND NOT sBuy > sShort, "Sell Call Avoided", WriteIf(ErrorSell AND sBuy > sShort, "Sell Call Re-entry (Check Day Low)", ""))));
//HiafterBuy - BuyPri , SellPri -LoafterSell
ClosePositionText = WriteIf(ClosePosition1 AND SellRunning, "Alert :: Very Close to Getting BUY, Advisable to Close Half of Short Position ",
WriteIf(ClosePosition2 AND BuyRunning, "Alert :: Very Close to Getting SELL, Advisable to Close Half of Long Position ", ""));
ClosePositionText1 = WriteIf(CutLong AND sBuy < sShort, "(Test Program) Daily Trend WEAK, Advisable to Close Half of Overnight Long Position",
WriteIf(CutShort AND sBuy > sShort, "(Test Program) Daily Trend STRONG, Advisable to Close Half of Overnight Short Position", ""));
////////////////////////////////////////////////////////Message Listings/////////////////////////////////////////
HighsellVolume = MAV_Value1 >3 AND C < O;
HighBuyVolume = MAV_Value1 >3 AND C > O;
MSG1 = WriteIf(Vix == Ref(Vix, -1) AND Vix == Ref(Vix, -2) , "CAUTION:: No change in LIVE VIX data in last 10 min. !!!, Pls check ",
WriteIf(MAV_Value1 < 0.1 AND Ref(MAV_Value1, -1) < 0.1, "Alert: This System is designed for Index Futures, Volume data is Missing... ! ",
WriteIf(HighsellVolume AND Ref(HHV(MAv_Value1, 6), -1) < 1, "Alert:: High SELL Volume is Happening !... but very low volume in previous few bars.. ",
WriteIf(HighBuyVolume AND Ref(HHV(MAv_Value1, 6), -1) < 1, "Alert:: High BUY Volume is Happening !... but very low volume in previous few bars..",
WriteIf(HighsellVolume, "Alert:: High SELL Volume is Happening !... ",
WriteIf(HighBuyVolume, "Alert:: High BUY Volume is Happening !... ", ""))))));



////////////////////////////////////////////////////////ERROR Listings/////////////////////////////////////////

Err0 = WriteIf(((Ref(HHV(MAv_Value1, 6), -1) < 1 AND MAv_Value1 < 3) OR ( MAv_Value1 < 1 )) AND Buy, "Error 0, Caution Raising with Very Low Volume... :( , ", "");
Err1 = WriteIf(((Ref(HHV(MAv_Value1, 6), -1) < 1 AND MAv_Value1 < 3) OR ( MAv_Value1 < 1 )) AND Short, "Error 1, Caution Falling with Very Low Volume... :( , ", "");
Err2 = WriteIf(L > PDC AND DayL > PDC AND (L - PDC) < C*0.0025 AND (Short OR Ref(Short, -1) ), "Error 2, Caution Trading Very Close to Previous Day Close.. (Support @ " + WriteVal(PDC, 1.1)+ "), ", "");
Err3 = WriteIf(L > PDH AND DayL > PDH AND (L - PDH) < C*0.0025 AND (Short OR Ref(Short, -1)), "Error 3, Caution Trading Very Close to Previous Day High.. (Support @ " + WriteVal(PDH, 1.1)+ "), ", "");
Err4 = WriteIf(L > PDL AND DayL > PDL AND (L - PDL) < C*0.0025 AND (Short OR Ref(Short, -1) ), "Error 4, Caution Trading Very Close to Previous Day Low.. (Support @ " + WriteVal(PDL, 1.1)+ "), ", "");
Err5 = WriteIf(L > PDL2 AND DayL > PDL2 AND (L - PDL2) < C*0.0025 AND (Short OR Ref(Short, -1)), "Error 4, Caution Trading Very Close to Previous Day Low2.. (Support @ " + WriteVal(PDL2, 1.1)+ "), ", "");
Err6 = WriteIf(L == DayL AND FU_L > FDL1, "Alert Spot Nifty has not yet broken Day Low... ",
WriteIf(L > DayL AND FU_L == FDL1, "Alert Spot Nifty has broken Day Low... ",
WriteIf(H == DayH AND FU_H > FDH1, "Alert Spot Nifty has not yet broken Day High... ",
WriteIf(H > DayH AND FU_H == FDH1, "Alert Spot Nifty has broken Day High... ", ""))));
Err7 = WriteIf(H > Pk11 AND C < pk11 AND Buy, "Alert, Immediate Res crossed but closing lower, Buy above " + WriteVal(H*1.0001, 1.1),
WriteIf(H > Pk11 AND C < pk11 AND Buy, "Alert, Immediate Sup crossed but closing higher, Sell Below " + WriteVal(L*0.999, 1.1), "" ));
Err8 = WriteIf((krs1 OR KRS2 OR Ref(krs2, -1)) AND BuyRunning, " Alert KeyReversal Detected (80% Accurate), **Book Profits & (Re-Enter on Dips or on Breakout)**",
WriteIf((krs1 OR KRS2 OR Ref(krs2, -1)) AND sellRunning, " Alert KeyReversal Detected (80% Accurate), **Short Re-entry can be taken**",

WriteIf(RSIBearHD AND BuyRunning, " Alert -VE Hidden Divergence Detected, **Safe Traders exit Position and re-enter above recent high**",
WriteIf(RSIBearHD AND SellRunning, " Alert -VE Hidden Divergence Detected, **Re-entry to Short call can be taken**",
WriteIf(RSIBearHD_1 AND Buy, " Alert -VE Hidden Divergence Detected, **Safe Traders Wait for next candle to complete and enter above recent High**",

WriteIf(RSIBullHD AND SellRunning, " Alert +VE Hidden Divergence Detected, **Safe Traders exit Position and re-enter above recent Low**",
WriteIf(RSIBullHD AND BuyRunning, " Alert +VE Hidden Divergence Detected, **Re-entry to Buy call can be taken**",
WriteIf(RSIBullHD_1 AND Short, " Alert +VE Hidden Divergence Detected, **Safe Traders Wait for next candle to complete and enter Below recent Low**",""))))))));

Err12 = WriteIf(H < PDC AND DayH < PDC AND (PDC - H) < C*0.0025 AND (Buy OR Ref(Buy, -1)), "Error 12, Caution Trading Very Close to Previous Day Close.. (Res @ " + WriteVal(PDC, 1.1)+ "), ", "");
Err13 = WriteIf(H < PDH AND DayH < PDH AND (PDH - H) < C*0.0025 AND (Buy OR Ref(Buy, -1)), "Error 13, Caution Trading Very Close to Previous Day High.. (Res @ " + WriteVal(PDH, 1.1)+ "), ", "");
Err14 = WriteIf(H < PDL AND DayH < PDL AND (PDL - H) < C*0.0025 AND (Buy OR Ref(Buy, -1)), "Error 14, Caution Trading Very Close to Previous Day Low.. (Res @ " + WriteVal(PDL, 1.1)+ "), ", "");
Err15 = WriteIf(H < PDH2 AND DayH < PDH2 AND (PDH2 - H) < C*0.0025 AND (Buy OR Ref(Buy, -1)), "Error 13, Caution Trading Very Close to Previous Day High2.. (Res @ " + WriteVal(PDH2, 1.1)+ "), ", "");

///////////////Added From 3.9/////////////////
AvoidCall3 = (L > PDL AND DayL > PDL AND (L - PDL) < C*0.0025 AND Short) OR ( H < PDH AND DayH < PDH AND (PDH - H) < C*0.0025 AND Buy) AND TimeNum() < 152000;
LowVol = (LongTail AND (Buy OR Short)) OR
((Ref(HHV(MAv_Value1, 6), -1) < 1 AND MAv_Value1 < 3) OR ( MAv_Value1 < 1 )) OR
(((MAv_Value1 < 1) OR (Ref(HHV(MAv_Value1, 6), -1) < 1 AND MAv_Value1 < 3 ))AND ((Buy AND sVCXB > 15) OR (Short AND sVCXS > 15) ) AND TimeNum() < 152000);

RiskyBuy = (RiskyBuy2 OR RiskyBuy3) AND Buy;
RiskyShort = (RiskyShort1 OR RiskyShort2 OR RiskyShort3) AND Short;
Avoidcall1 = (VID1 ) AND (Buy OR Short) AND TimeNum() < 152000;
AvoidCall2 = (AvoidBuy1 AND Buy) OR (AvoidShort1 AND Short) AND TimeNum() < 152000;
AvoidBuyTemp = (H == DayH && H > PDH && Ref(H, -1) < PDH*1.0005 && (C-O) < C*0.004)

|| (Short &&! Short1 && L == DayL)
|| (Short && L < PDL && VixPer < 1)
;
AvoidCall =(Avoidcall1 OR LowVol OR AvoidCall2 OR RiskyBuy OR RiskyShort OR (AvoidCall3 AND TimeNum() < 152000)
|| AvoidBuyTemp) &&! MAV_Value1 > 3 ;//&&! (H > PDH && Ref(DayH, -1) < PDH*1.0005 && (MAV_Value1 < 4 || (C-O) < C*0.004));
////////////////////////End of 3.9 addition////////////


CallCheck = WriteIf(BuyRunning AND SellRunning3_6, "Alert : 3.6 Version is running Short Call.. See Interpretation for instruction ",
WriteIf(SellRunning AND BuyRunning3_6, "Alert : 3.6 Version is running Buy Call.. See Interpretation for instruction ", ""));
CallCheck1 = WriteIf(BuyRunning AND SellRunning3_6, "Alert : 3.6 Version is running Short Call.. Constant Monitoring of call is essential,"+
" Keep a watch on SELL VOLUME, Stoploss line, important PIVOT Levels, Past one hour high/Low Constantly trail stoploss till 3.6 enters into same direction, Profit booking also might be considered at 65EMA Level.",
WriteIf(SellRunning AND BuyRunning3_6, "Alert : 3.6 Version is running Buy Call.. Constant Monitoring of call is essential,"+
" Keep a watch on BUY VOLUME, Stoploss line, important PIVOT Levels, Past one hour high/Low, Constantly trail stoploss till 3.6 enters into same direction, Profit booking also might be considered at 65EMA Level. ", ""));

sVCXB = BarsSince(VCXB); sVCXS= BarsSince(VCXS);

Serial_ShortClimax = VCXB AND Ref(sVCXB, -1) < 24;
Serial_BuyClimax = VCXS AND Ref(sVCXS, -1) < 24;
ScaleoutText = WriteIf(sSE_11<6 AND (C > O OR H > Ref(H, -1)) AND Buyrunning, "**Buy Call Re-Entry can be Taken..**Possibility of Reversal, This Down move might end soon.. ",
WriteIf(sBE_11<6 AND (C < O OR L < Ref(L, -1)) AND Sellrunning, "**Short Call Re-Entry can be Taken...**Possibility of Reversal, This UP move might end soon.. ",
WriteIf(sSE_11<6 AND (C > O OR H > Ref(H, -1)), "Possibility of Reversal, This Down move might end soon..**Buy Call will come if Close is Above " + WriteVal(Sl, 1.1),
WriteIf(sBE_11<6 AND (C < O OR L < Ref(L, -1)), "Possibility of Reversal, This UP move might end soon..**Short Call will come if Close is Below " + WriteVal(Sl, 1.1),
WriteIf(VCXB AND Buyrunning, "Volume Climax, ***BuyCall RE-ENTRY can be taken***",
WriteIf(VCXS AND SELLrunning, "Volume Climax. ***ShortCall RE-ENTRY can be Taken***",
WriteIf(Serial_ShortClimax, "**Caution** Serial Volume Climax, **, ScaleOut can be done.. ",
WriteIf(Serial_BuyClimax, "**Caution** Serial Volume Climax, ** ScaleOut can be done.. ",
WriteIf(VCXB, "Volume Climax, This DOWN move might end soon.. **if close is above " + WriteVal(H, 1.1),
WriteIf(VCXS, "Volume Climax.., This UP move might end soon..**if close is below " + WriteVal(L, 1.1),""))))))))));
RallyMsg = WriteIf(UpRally1 AND RSI() > 40, "UP Rally1 Detected, Reversal if Closes Below : "+
WriteIf(C > sl, WriteVal(sl, 1.1), WriteVal(DayL, 1.1)),

WriteIf(Downrally1 AND RSI() < 60, "DOWN Rally1 Detected, Reversal if Closes Above : " +
WriteIf(C < sl, WriteVal(sl, 1.1), WriteVal(DayH, 1.1)),
WriteIf(uprally, "Strong UP Rally, Market expected to close at the Highest point of the day... Reversal if Closes Below : "+
WriteIf(C > sl, WriteVal(sl, 1.1), WriteVal(DayL, 1.1)),

WriteIf(Downrally, "Strong DOWN Rally, Market expected to close at the Lowest point of the day... Reversal if Closes Above : " +
WriteIf(C < sl, WriteVal(sl, 1.1), WriteVal(DayH, 1.1)), ""))));
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
GfxSetTextColor(colorDarkGreen);
GfxTextOut(ErrorBuySellText, 5 , 200);
GfxTextOut(ClosePositionText, 5 , 220);
GfxTextOut(ClosePositionText1, 5 , 235);


GfxSelectFont("Verdana", 8, 400, False);
GfxTextOut(MSG1, 5 , 290);

//GfxSetBkMode( 1 );
GfxSetTextColor(colorBlack);
GfxTextOut(Error7 , 5 , 28);
GfxTextOut(CallCheck+CallNearBy , 140 , 180);
GfxTextOut(ScaleoutText, 140 , 90);
GfxSetTextColor(colorRed);
GfxTextOut(RallyMsg , 150 , 45);
GfxSetTextColor(colorWhite);
GfxTextOut(HookReversal, 5 , 470);
GfxSetTextColor(colorGreen);


//GfxSetBkColor(colorRed);
breakout1 = WriteIf(C > T1 AND C > P1, " *** BULLISH BreakOut *** ","");
Breakout2 = WriteIf(C < T1 AND C < P1, " *** BEARISH BreakOut *** ","" );
GfxSelectFont("Verdana", 8, 700, False );
GfxTextOut(breakout1 , 480 , 28);
GfxSetTextColor(colorRed);
GfxTextOut(breakout2 , 480 , 28);
GfxSetBkMode( 2 );

GfxTextOut(Err8+Err0+Err1+Err2+Err3+Err4+Err5+Err6+Err7+Err12+Err13+Err14+Err15 , 5 , 280);


GfxSetTextColor(colorRed);


GfxSelectFont("Times New Roman", 10, 700, False );
EntryRule = LV;
BuySellText = WriteIf(Buy AND ( avoidcall), "Buy above " + WriteVal(H*1.0001, 1.1),
WriteIf(Short AND (avoidcall), "Sell below " + WriteVal(L*0.9999, 1.1), ""));
Buy3= C > sl; Short3 = C < sl; Buy3 = ExRem(Buy3, Short3); Short3 = ExRem(Short3, Buy3);
//Buyreentry = Buy3 AND (sl - dl) < C*0.002 AND BuyRunning AND NOT Buy; Shortreentry = (GapUpshort1) OR Short3 AND (dH - Sl) < C*0.002 AND SellRunning AND NOT Short;
Buyreentry = BuyRe_entry AND (sl - dl) < C*0.002 AND BuyRunning AND NOT Buy; Shortreentry = Shortre_entry AND (dH - Sl) < C*0.002 AND SellRunning AND NOT Short;
MSG2 = WriteIf(BuyReentry, "Buy Call Re-entry Point... ", WriteIf(shortReentry, "Short Call Re-entry Point... ",""));

OptionCall = WriteIf((Buy OR Ref(Buy, -1)) AND TimeNum() > 152000, " Safe Traders are advised to Buy In-The-Money CALL Option... ",
WriteIf((Short OR Ref(Short, -1)) AND TimeNum() > 152000, " Safe Traders are Advised to Buy In-The-Money PUT Option...", ""));
GfxTextOut(OptionCall, 190 , 200);
GfxTextOut(MSG2 + RunningCall + BuySellText, 5 , 200);

systemselection = WriteIf(System=="Option_Trading", "***Option Trading Selected***",
WriteIf(System=="NiftyPro3.6", "***Nifty PRO 3.6 ver. Selected***",
WriteIf(System=="NiftyPro3.5", "***Nifty PRO 3.5 ver. Selected***", "")));
GfxTextOut(systemselection, 150 , 58);

GfxSelectFont("Verdana", 8, 400, False);
GfxTextOut(CallWaiting, 5 , 215);


/////////////////New Functions /////////////////////

/////////////////New Functions /////////////////////

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

RequestTimedRefresh( 1 );
TimeFrame = Interval();
SecNumber = GetSecondNum();
Newperiod = SecNumber % TimeFrame == 0;
SecsLeft = SecNumber - int( SecNumber / TimeFrame ) * TimeFrame;

SecsToGo = (TimeFrame - SecsLeft) / 60;
SecstoGo1 = int( secstogo % 100);
GfxSelectFont("ARIAL", 11, 400, False);
GfxSetBkColor( colorDarkGreen ) ;
GfxSetTextColor(colorWhite);
GfxTextOut(Now(2) + ", " + WriteVal(C, 1.1), 5 , 45);

//GfxTextOut(WriteVal(SecsToGo, 1.2) + " Min.Left", 5 , 465);
//GfxTextOut(SecsToGo1 + " Min.Left", 5 , 485);


PlotShapes(shapeSmallCircle * VCXB, colorBlue, 0, L, -5);
PlotShapes(shapeSmallCircle * SHORTExit_11, colorBlack, 0, L, -10);
PlotShapes(shapeSmallCircle * BuyExit_11, colorBlack, 0, H, 10);
PlotShapes(shapeSmallCircle * VCXS, colorBlue, 0, H, 5);
PlotShapes(shapeSmallCircle * Serial_ShortClimax, colorDarkRed, 0, L, -5);
PlotShapes(shapeSmallCircle * Serial_BuyClimax, colorDarkRed, 0, H, 5);
Buy3_6 = Buy AND NOT Buy1; Short3_6 = Short AND NOT Short1;
PlotShapes(shapeDigit6 * Buy3_6, colorBlack, 0, L, -5);
PlotShapes(shapeDigit6 * Short3_6, colorBlack, 0, H, 5);
PlotShapes(shapeSmallCircle * AlmostBuy, colorPlum, 0, L, 0);
PlotShapes(shapeSmallCircle * AlmostShort, colorPlum, 0, H, 0);


BuyArrow = Buy AND sbuy <= sSell;
ShortArrow = Short AND sShort <= sCover;
PlotShapes(shapeSquare * Buy , IIf(avoidcall, colorBlack, colorDarkGreen), 0, L, -20);
PlotShapes(shapeSquare * Buy , IIf(avoidcall, colorGrey50, colorLime), 0, L, -30);
PlotShapes(shapeUpArrow * Buy , colorWhite, 0, L, -25);

PlotShapes(shapeSquare * Short, IIf(avoidcall, colorBlack, colorRed), 0, H, 20);
PlotShapes(shapeSquare * Short, IIf(avoidcall, colorGrey50, colorOrange), 0, H, 30);
PlotShapes(shapeDownArrow * Short, colorWhite, 0, H, -25);

SellArrow = Sell AND NOT Short; CoverArrow = Cover AND NOT Buy;
PlotShapes(shapeDownArrow *SellArrow , colorRed, 0, H, -5);
PlotShapes(shapeUpArrow *CoverArrow , colorRed, 0, L, -5);

PlotShapes(shapeHollowSmallUpTriangle * errorBuy , colorGreen, 0, L, -25);
PlotShapes(shapeHollowSmallDownTriangle * errorSell , colorRed, 0, H, -25);


PlotShapes(shapeSmallUpTriangle * BuyReentry , colorGreen, 0, L, -25);
PlotShapes(shapeSmallDownTriangle * Shortreentry , colorRed, 0, H, -25);

BullHd = RSIBullHD OR (RSIBullHD_1 AND Short);
BearHD = RSIBearHD OR (RSIBearHD_1 AND Buy);
PlotShapes(shapeSmallSquare * BullHD, colorDarkGreen, 0, L, -5);
PlotShapes(shapeSmallSquare * BearHD, colorDarkGreen, 0, H, 5);

PlotShapes(shapeHollowDownArrow * KRS2, colorBlack, 0, H, -10);
PlotShapes(shapeHollowDownArrow * KRS1, colorBlack, 0, H, -10);
ClimaxSound = (VCXB OR VCXS OR AlmostBuy OR AlmostShort OR SHORTExit_11 OR BUYExit_11 OR KRS2 OR KRS1) AND NOT (Buy OR Short);

if (NOT AudioAlert) {
//AlertIf( Buy , "SOUND C:\\Windows\\Media\\Ding.wav", " " , 1);
//AlertIf( Short , "SOUND C:\\Windows\\Media\\Ding.wav", " " , 1);
noSignal = NOT Buy AND NOT Short AND NOT Cover AND NOT Sell AND TimeNum() < 152500;
AlertIf( Buy , "SOUND C:\\Windows\\Media\\Alert2.wav", " " , 1);
AlertIf( Short , "SOUND C:\\Windows\\Media\\Alert2.wav", " " , 2);
AlertIf( CoverArrow , "SOUND C:\\Windows\\Media\\Alert.wav", " " , 1);
AlertIf( SellArrow , "SOUND C:\\Windows\\Media\\Alert.wav", " " , 2);
AlertIf( HighBuyVolume AND nosignal, "SOUND C:\\Windows\\Media\\Tick.wav", " " , 1);
AlertIf( HighSellVolume AND noSignal, "SOUND C:\\Windows\\Media\\Tick.wav", " " , 2);
AlertIf( ClimaxSound , "SOUND C:\\Windows\\Media\\alert.wav", " " , 1);

}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/



//Profit_Text = WriteIf(NOT NOTrade, Profit_text,"");
// Commentry output ....
EnableTextOutput(True);
printf("Analysing " + Time + " Min. Chart\n\n");
MSG1 + MSG2;
CallWaiting;
CallCheck1;

printf( "The last Automated Signal generated was a "+
WriteIf( sBuy < sShort, "BUY @ " + BuyPri, WriteIf( sBuy > sShort, "SELL @ " + SellPri, "" ))+ ", "+
WriteVal( Min( sBuy, sShort ) * time, 3.0 ) + " Min(s) ago," + " \n\n" +
WriteIf( sBuy < sShort AND NOT NOTrade, Long_Stoploss, WriteIf( sBuy > sShort AND NOT NOTrade, Short_Stoploss, ""))+
WriteIf( sBuy < sShort AND(C > BuyPri) AND NOT NOTrade, " running in Profit " + WriteVal((C - BuyPri) , 1.1) + " Pts." + MaxProfit,
WriteIf( sBuy < sShort AND(C < BuyPri) AND NOT NOTrade, " running in Loss " + WriteVal((C - BuyPri) , 1.1) + " Pts. " + MaxProfit,
WriteIf( sBuy > sShort AND(C < SellPri) AND NOT NOTrade, " running in Profit " + WriteVal((SellPri - C) , 1.1) + " Pts. " + MaxProfit,
WriteIf( sBuy > sShort AND(C > SellPri) AND NOT NOTrade, " running in Loss " + WriteVal((SellPri - C) , 1.1) + " Pts. " + MaxProfit, "")))));

"\n" ;
"Current Intraday Trend : " + TrendText;
"IB, NR7 or NR4 : " + IBNRText;
"\n";
if(Text_Display)
{
"DYNAMIC Levels";
printf(RangeOut1);
"Res: " +WriteIf(DR2 > 0, WriteVal(DR2, 1.1)+ " & " , "") +WriteIf(DR3 > 0, WriteVal(DR3, 1.1), "");
"Sup: " +WriteIf(DS2 > 0, WriteVal(DS2, 1.1)+ " & " , "") +WriteIf(DS3 > 0, WriteVal(DS3, 1.1), "");;
"\n";
printf(Rule3_Text + Normal_Text );
printf(ClosePositionText+TestRule3 + "\n");


WriteIf(BullishReversal AND ClosePosition1, "*** AVOID OVERNIGHT SHORT POSITIONS ***",
WriteIf(BEARISHReversal AND ClosePosition2, "*** AVOID OVERNIGHT LONG POSITIONS ***", "")) ;
HookReversal;
EngulfingPattern;
}

EnableTextOutput(False);
/////////////////////////////////////////MarketMatrix/////////////////////////////////////////////////////
SellVolume = ((MAV_Value1 >= 1.1 AND L > DayL ) OR (MAV_Value1 > 3))AND C < O;
BuyVolume = ((MAV_Value1 >= 1.1 AND H < DayH) OR (MAV_Value1 > 3)) AND C > O;
Scond_101 = BarsSince(VCXS) < 12;
SCond_102 = BarsSince(SellVolume) < 12 AND BarsSince(SellVolume) < BarsSince(BuyVolume) ;
SCond_103 = BarsSince(VixNegDiv) < 12;
Scond_104 = 0;//NegDivNum >=3;
Scond_105 = downRally;
SCond_106 = Ref(sl, -2) == Ref(sl, -12) AND C < O AND L < Ref(L, -1);
Scond_107 = (DayH - DayL) > C*0.02 AND C > (H+L)/2 AND C < O;
Scond_108 = ((DayH < PDH) AND (DayH == DH1 OR (PDH -DayH) < C*0.002) AND C < O AND ((L - DayL) > C*0.002 OR L == DayL OR MAV_Value1 > 1.2) )
|| (SND > 20 && DayH > DH1 && (DayH - DH1) < C*0.002 && C < O && (H-DayL) < C*0.012);

BCond_101 = sVCXB < 12;
BCond_102 = BarsSince(BuyVolume) < 12 AND BarsSince(SellVolume) > BarsSince(BuyVolume);
BCond_103 = BarsSince(VixPosDiv) < 12;
BCond_104 = C > O && (sVixDiv < 14 || sVixDiv1 < 14);
BCond_105 = UpRally;
BCond_106 = Ref(sl, -2) == Ref(sl, -12) AND C > O AND H > Ref(H, -1);
BCond_107 = (DayH - DayL) > C*0.02 AND C < (H+L)/2 AND C > O;
bcond_108 = ((DayL > PDL) AND (DayL == DL1 OR (DayL - PDL)<C*0.002) AND C > O AND ((DayH - H) > C*0.002 OR H == DayH OR MAV_Value1 > 1.2))
|| (SND > 20 && DayL < DL1 && (DL1 - DayL) < C*0.002 && C > O && (DayH-L) < C*0.012);

UpMatrix = BCond_101+BCond_102+BCond_103+BCond_104+BCond_105+BCond_106+BCond_107+BCond_108;
downMatrix = Scond_101+Scond_102+Scond_103+Scond_104+Scond_105+Scond_106+Scond_107+Scond_108;

Text1 = WriteIf(Scond_101, " 1 ", "");
Text2 = WriteIf(SCond_102, " 2 ","");
Text3 = WriteIf(SCond_103, " 3 ","");
Text4 = WriteIf(Scond_104, " 4 ", "");
Text5 = WriteIf(Scond_105, " 5 ", "");
Text6 = WriteIf(Scond_106, " 6 ", "");
text7 = WriteIf(sCond_107, " 7 ","");
Text8 = WriteIf(Scond_108, " 8 ", "");

Text9 = WriteIf(BCond_101, " 1 ", "");
Text10 = WriteIf(Bcond_102, " 2 ", "");
Text11 = WriteIf(BCond_103, " 3 ", "");
Text12 = WriteIf(BCond_104, " 4 ", "");
Text13 = WriteIf(BCond_105, " 5 ", "");
Text14 = WriteIf(BCond_106, " 6 ", "");
Text15 = WriteIf(BCond_107, " 7 ", "");
Text16 = WriteIf(bcond_108, " 8 ", "");
/*
Text1 = " 1 ";
Text2 = " 1 ";
Text3 = " 1 ";
Text4 = " 1 ";
Text5 = " 1 ";
Text6 = " 1 ";
Text7 = " 1 ";
Text8 = " 1 ";

Text9 = " 1 ";
Text10 = " 1 ";
Text11 = " 1 ";
Text12 = " 1 ";
Text13 = " 1 ";
Text14 = " 1 ";
Text15 = " 1 ";
Text16 = " 1 ";
*/
//GfxSetBkMode(2);
//GfxSetOverlayMode(2);
GfxSelectPen( colorBlack, 1 );
GfxRectangle( 3 , 65, 128, 190 );//115/240
GfxSelectFont("Tahoma", 8 );
GfxTextOut("Market Matrix", 35 , 122);
GfxSelectFont("Aerial", 14, 700, False );
GfxSetBkColor( colorRed ) ;
GfxSetTextColor(colorWhite);
GfxTextOut(text1, 10 , 70);//GfxTextOut(text1, 30 , 120);
GfxTextOut(text2, 40 , 70);
GfxTextOut(text3, 70 , 70);
GfxTextOut(text4, 100 , 70);
GfxTextOut(text5, 10 , 100);
GfxTextOut(text6, 40 , 100);
GfxTextOut(text7, 70 , 100);
GfxTextOut(text8, 100 , 100);


GfxSetBkColor( colorDarkGreen ) ;
//GfxSetTextColor(colorGreen);
GfxTextOut(text9, 10 , 135);
GfxTextOut(text10, 40 , 135);
GfxTextOut(text11, 70 , 135);
GfxTextOut(text12, 100 , 135);
GfxTextOut(text13, 10 , 165);
GfxTextOut(text14, 40 , 165);
GfxTextOut(text15, 70 , 165);
GfxTextOut(text16, 100 , 165);


/////////////////////////////////////////End of MarketMatrix/////////////////////////////////////////////////////




printf("\n\n\n\n\n\n");


printf("\nwww.Dhavin.com this commentary is automatically generated which is for information purpose only & not a recommendation to Buy or Sell. Use at your own risk.\n\n");


" ";
EnableTextOutput(False);


Title_X = EncodeColor(colorWhite) + StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g ", O, H, L, C, SelectedValue( ROC( C, 1.2 ) ) );

Plot( C, "Close", ParamColor("Candel Color", colorBlack), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
SetChartBkGradientFill( colorWhite,ParamColor("Background Bottom", bgbtmcolor), colorDarkGrey);


PlotOHLC(0,IIf(x>=XT1 & RT1 &NOT T1==0,T1,-1e10),IIf(x>=XP1 & RP1 &NOT P1==0,P1,-1e10),0,"Current Range",ParamColor("Current Range", colorTan),2048+styleCloud+styleNoTitle);
//PlotOHLC(0,IIf(x>=XT1 & RT1 &NOT T1==0,T1,-1e10),IIf(x>=XP1 & RP1 &NOT P1==0,P1,-1e10),0,"Current Range",ParamColor("HiLight Color", colorGrey40),2048+styleCloud+styleNoTitle);


Title = EncodeColor(colorBrightGreen) + "Nifty PRO 4.2 P " + EncodeColor(colorWhite)+Title_X +
EncodeColor(colorBrightGreen) + ", Rsi : " + WriteVal(RSI(14), 1.1) +EncodeColor(colorOrange)+ RSI_Level +EncodeColor(colorPink);//+DataStopped ;

GraphXSpace = 5;





_SECTION_BEGIN("Backtest Option");


PositionSize1 = ParamToggle("Fixed Lot Size", "On|Off");
LotSize =Param("Quantity", 100, 50, 500, 50);
if (PositionSize1) {
SetPositionSize( LotSize, spsShares ); // 50 shares by default

}
_SECTION_END();
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
EnableTextOutput(False);


/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
_SECTION_END();
This AFL can only be corrected if and only if the DLL plug-in is given.
So that NiftyPro4point2P() can be call and the subsequent variables declare in the DLL can be used.

If the DLL plugin is present then NiftyPro4point2P() will be show in blue color.
 
Last edited:
This AFL can only be corrected if and only if the DLL plug-in is given.
So that NiftyPro4point2P() can be call and the subsequent variables declare in the DLL can be used.

If the DLL plugin is present then NiftyPro4point2P() will be show in blue color.
i have the plugin but still it doesnt opens. if u want can share with u the entire zip
 

amitrandive

Well-Known Member
I am trying to plot multiple lines on a chart which are 1%,2%,3% away from previous days close. But when I do so.... due to display of these lines the price bars become very small. Is it possible that those lines are visible only If the stock price is around those levels?
Originally Posted by trash
Your Low value plot is missing stylenorescale!! That's why it gets compressed.
StyleNoRescale works fine everywhere added to style!
http://www.traderji.com/amibroker/94298-amibroker-chart-settings.html#post975274
 

Similar threads