Stock Portfolio Organizer

The ultimate porfolio management solution.

Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
For Portfolio Manager Click Here

WiseTrader Toolbox

#1 Selling Amibroker Plugin featuring:

Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Find Out More Here

Fibonacci Trading System for Amibroker (AFL)
prem.aix
about 12 years ago
Amibroker (AFL)

Rating:
3 / 5 (Votes 10)
Tags:
trading system, amibroker, fibonacci

Fibonacci Trading System

Similar Indicators / Formulas

MyDreams V.1.0
Submitted by gw.mydreams about 13 years ago
The Foundation by Southwind (Improved)
Submitted by northstar about 13 years ago
NIRMALA 5I WITH BLINK COLOUR
Submitted by iwan about 14 years ago
Fibonacci Linear Reg for Amibroker
Submitted by anandnst over 13 years ago
Volatility
Submitted by makaran2 about 12 years ago
Intraday Indicator
Submitted by sudhasp almost 14 years ago

Indicator / Formula

Copy & Paste Friendly
    _SECTION_BEGIN("Background");
    SetChartOptions(0,chartShowArrows|chartShowDates|chartWrapTitle|chartHideQuoteMarker);
    dy=ParamToggle("NR calc for", "RT SCAN|EOD SCAN", 0);
    TT=IIf(dy==0,in15Minute,inDaily);
    no=Param("NR days filter",0,0,4,1);
    Limit=Param(" Trade Till (Hour)(Min)(Sec)",153000,103000,153000,100);
    since=(TimeNum() >= 084500 AND TimeNum()<= Limit) AND (DateNum()==LastValue(DateNum()));
    perc= Param("Red-Green ratio % Set", 35, 0, 100, 1 );
    inv=Param("INVEST CAPITAL", 23000,1000, 1000000, 500 );
     
    SetChartBkColor(ParamColor("Outer panel",colorBlack)); // color of outer border
    SetChartBkGradientFill( ParamColor("Inner panel upper",colorBlack),ParamColor("Inner panel lower",colorBlack));
    tchoice=Param("Title Selection ",2,1,2,1);
     
    _SECTION_BEGIN("Haiken");
     
    Show_color = ParamToggle("Display CandleColor", "No|Yes", 0);
    r1 = Param( "ColorFast avg", 5, 2, 200, 1 );
    r2 = Param( "ColorSlow avg", 10, 2, 200, 1 );
    r3 = Param( "ColorSignal avg", 5, 2, 200, 1 );
     
    Prd1=Param("ATR Period",4,1,20,1);
    Prd2=Param("Look Back",7,1,20,1);
    greenD = HHV(LLV(L,Prd1)+ATR(Prd1),Prd2);
    redD = LLV(HHV(H,Prd1)-ATR(Prd1),Prd2);
     
    HaClose =EMA((O+H+L+C)/4,3); // Woodie
    HaOpen = AMA( Ref( HaClose, -1 ), 0.5 );
    HaHigh = Max( H, Max( HaClose, HaOpen ) );
    HaLow = Min( L, Min( HaClose, HaOpen ) );
    Temp = Max(High, HaOpen);
    Temp = Min(Low,HaOpen);
    m1=MACD(r1,r2);
    s1=Signal(r1,r2,r3);
    mycolor=IIf(m1<0 AND m1>s1, ColorRGB(230,230,0),IIf(m1>0 AND m1>s1,colorLime,IIf(m1>0 AND m1<s1,colorOrange,colorDarkRed)));
     
     
    if(Show_color)
     
    {
    ColorHighliter = myColor;
    SetBarFillColor( ColorHighliter );
    }
    //////////
     
    barColor=IIf(C>GreenD ,colorBrightGreen,IIf(C < REDD,colorRed,colorYellow));
    barColor2=IIf(CCI(14) > ((Ref(CCI(14),-1)+Ref(CCI(14),-2))/2),colorAqua,colorBrown);
     
     
    if( ParamToggle("Plot Normal Candle", "No,Yes", 0 ) )
    PlotOHLC( HaOpen, HaHigh, HaLow, HaClose, " " , barcolor, styleCandle | styleThick );
    else
    PlotOHLC( Open, High, Low, Close, " " , barcolor2, styleCandle | styleThick );
     
    _SECTION_BEGIN("Volume");
    Plot( Volume, _DEFAULT_NAME(), IIf( C > O,colorGreen, colorRed), ParamStyle( "Style", styleHistogram | styleOwnScale | styleThick | styleNoLabel, maskHistogram ), 2 );
    Plot( OBV(), _DEFAULT_NAME(), ParamColor("OBV Color", colorCycle ), styleDashed| styleOwnScale | styleThick | styleNoLabel );
    _SECTION_END();
    _SECTION_BEGIN("Chaikin Volatility");
    periods= Param("Periods", 10, 2, 100 );
    function ChaikinVolatility( periods )
    {
    return ROC( EMA( High - Low, periods ), periods );
    }
     
    Plot( ChaikinVolatility(periods ),_DEFAULT_NAME(), colorYellow,styleLine| styleOwnScale | styleThick | styleNoLabel );
     
    _SECTION_END();
    TimeFrameSet(in5Minute);
    //TimeFrameSet(in5Minute);
    since5=(TimeNum() >= 090000 AND TimeNum()<= 153000) AND (DateNum()==LastValue(DateNum()));
    Candles5=(since5 & (C<O | C>O | C==O));
    Candles51=Cum(Candles5);
    HaClose0 =EMA((O+H+L+C)/4,3);
    HaOpen0 = AMA( Ref( HaClose0, -1 ), 0.5 );
    HaHigh0 = Max( H, Max( HaClose0, HaOpen0 ) );
    HaLow0 = Min( L, Min( HaClose0, HaOpen0 ) );
    CondB=Haopen0<Haclose0;CONDS=Haopen0 >Haclose0;
    TimeFrameRestore();
     
     
    _SECTION_BEGIN("2");
    //Compress= Param("Compression",3,0.20,100,0.10);
    TimeFrameSet(in15Minute);
    since15=(TimeNum() >= 090000 AND TimeNum()<= 153000) AND (DateNum()==LastValue(DateNum()));
    Candles15=(since15 & (C<O | C>O | C==O));
    Candles115=Cum(Candles15);
    HaClose1 =EMA((O+H+L+C)/4,3);
    HaOpen1 = AMA( Ref( HaClose1, -1 ), 0.5 );
    HaHigh1 = Max( H, Max( HaClose1, HaOpen1 ) );
    HaLow1 = Min( L, Min( HaClose1, HaOpen1 ) );
    CondB1=Haopen1 < Haclose1;CONDS1=Haopen1 >Haclose1;
    TimeFrameRestore();
     
    _SECTION_BEGIN("3");
    //Compress= Param("Compression",6,0.20,100,0.10);
    TimeFrameSet(in15Minute*2);
    since2=(TimeNum() >= 090000 AND TimeNum()<= 153000) AND (DateNum()==LastValue(DateNum()));
    Candles2=(since2 & (C<O | C>O | C==O));
    Candles12=Cum(Candles2);
    HaClose2 =EMA((O+H+L+C)/4,3);
    HaOpen2 = AMA( Ref( HaClose2, -1 ), 0.5 );
    HaHigh2 = Max( H, Max( HaClose2, HaOpen2 ) );
    HaLow2 = Min( L, Min( HaClose2, HaOpen2 ) );
    CondB2=Haopen2 < Haclose2;CONDS2=Haopen2 > Haclose2;
    TimeFrameRestore();
     
     
    _SECTION_BEGIN("4");
    //Compress= Param("Compression",12,0.20,100,0.10);
    TimeFrameSet(inHourly);
    since3=(TimeNum() >= 090000 AND TimeNum()<= 153000) AND (DateNum()==LastValue(DateNum()));
    Candles3=(since3 & (C<O | C>O | C==O));
    Candles13=Cum(Candles3);
    HaClose3 =EMA((O+H+L+C)/4,3);
    HaOpen3 = AMA( Ref( HaClose3, -1 ), 0.5 );
    HaHigh3 = Max( H, Max( HaClose3, HaOpen3) );
    HaLow3 = Min( L, Min( HaClose3, HaOpen3 ) );
    CondB3=Haopen3 < Haclose3;CONDS3=Haopen3 > Haclose3;
    TimeFrameRestore();
    //patterns
     
    _SECTION_BEGIN("Pattern Alerts");
    SRbS = ParamToggle("S/R broken","Off,On",1);
    SRcS = ParamToggle("S/R confirmed","Off,On",1);
    PjabS = ParamToggle("Price just above/below","Off,On",1);
    _SECTION_END();
     
    _SECTION_BEGIN("Pattern Parameters");
    PlotP1P2 = ParamToggle("Plot P1/P2 Shapes","Off,On",0);
    P1Shape = Param("P1 Shape Typ",35,0,50,1);//default 35
    P2Shape = Param("P2 Shape Typ",37,0,50,1);//default 37
    Parallellinesswitch = ParamToggle("Plot Parallel Lines","Off,On",0);
    DisRange = Param("Plot Parallel Lines Trigger",300,0,1000,20);
     
    _SECTION_BEGIN("Pattern Styles");
    Style_SL= ParamStyle("Support",styleLine+styleThick,maskDefault)+styleNoRescale;
    Style_RL= ParamStyle("Resistance",styleLine+styleThick,maskDefault)+styleNoRescale;
    Style_PHL= ParamStyle("Parallel Support",styleLine+styleDashed,maskDefault)+styleNoRescale;
    Style_PLL= ParamStyle("Parallel Resistance",styleLine+styleDashed,maskDefault)+styleNoRescale;
    _SECTION_END();
     
     
    _SECTION_BEGIN("Pattern Selection");
    AscTs = ParamToggle("Ascending Triangle","Off,On",1);
    DscTs = ParamToggle("Descending Triangle","Off,On",1);
    STs = ParamToggle("Symmetrically Triangle","Off,On",1);
    ETs = ParamToggle("Expanding Triangle","Off,On",1);
    RWs = ParamToggle("Rising Wedge","Off,On",1);
    FWs = ParamToggle("Falling Wedge","Off,On",1);
    UTs = ParamToggle("Up Trend","Off,On",1);
    DTs = ParamToggle("Down Trend","Off,On",1);
    Ranges = ParamToggle("Range","Off,On",1);
    NonDefinedPatterns = ParamToggle("Not defined Patterns","Off,On",1);
    _SECTION_END();
    //calcs
    HH = HHV(H,20);
    LL = LLV(L,20);
    Mid = LL+((HH-LL)/2);
    Div = 100-(HH/(0.01*Mid));
    Per = LastValue(abs(Div));
    Hp1 = Ref(H,-1);Hp2 = Ref(H,-2);Hp3 = Ref(H,-3);Hp4 = Ref(H,-4);Hp5 = Ref(H,-5);Hp6 = Ref(H,-6);
    Lp1 = Ref(L,-1);Lp2 = Ref(L,-2);Lp3 = Ref(L,-3);Lp4 = Ref(L,-4);Lp5 = Ref(L,-5);Lp6 = Ref(L,-6);
    Hf1 = Ref(H,1);Hf2 = Ref(H,2);Hf3 = Ref(H,3);Hf4 = Ref(H,4);Hf5 = Ref(H,5);Hf6 = Ref(H,6);
    Lf1 = Ref(L,1);Lf2 = Ref(L,2);Lf3 = Ref(L,3);Lf4 = Ref(L,4);Lf5 = Ref(L,5);Lf6 = Ref(L,6);
    x = Cum(1);
    divx = LastValue(x)-x;
     
    //Tops
    A = H;
    Top1 = A > Hf2 & A > Hf1 & A > Hp1 & A > Hp2 & divx>2;
    Top2 = A > Hf3 & A > Hf2 & A ==Hf1 & A > Hp1 & A > Hp2 & divx>3 ;
    Top3 = A > Hf4 & A > Hf3 & A ==Hf2 & A >=Hf1 & A > Hp1 & A > Hp2 & divx>4;
    Top4 = A > Hf5 & A > Hf4 & A ==Hf3 & A >=Hf2 & A >=Hf1 & A > Hp1 & A > Hp2 & divx>5;
    Top5 = A > Hf6 & A > Hf5 & A ==Hf4 & A >=Hf3 & A ==Hf2 & A >=Hf1 & A > Hp1 & A >Hp2 & divx>6;
    Top = Top1 OR Top2 OR Top3 OR Top4 OR Top5;
    TopHigh = ValueWhen(Top,H);
    TopX = ValueWhen(Top,X);
     
    //Valleys
    A = L;
    Valley1 = A < Lf2 & A <= Lf1 & A <= Lp1 & A < Lp2 & divx>2;
    Valley2 = A < Lf3 & A < Lf2 & A == Lf1 & A < Lp1 & A < Lp2 & divx>3;
    Valley3 = A < Lf4 & A < Lf3 & A == Lf2 & A <= Lf1 & A < Lp1 & A < Lp2 & divx>4;
    Valley4 = A < Lf5 & A < Lf4 & A == Lf3 & A <= Lf2 & A <= Lf1 & A < Lp1 & A < Lp2 & divx>5;
    Valley5 = A < Lf6 & A < Lf5 & A == Lf4 & A <= Lf3 & A == Lf2 & A <= Lf1 & A < Lp1 & A < Lp2 & divx>6;
    Valley = Valley1 OR Valley2 OR Valley3 OR Valley4 OR Valley4 OR Valley5;
    ValleyLow = ValueWhen(Valley,L);
    ValleyX = ValueWhen(Valley,X);
    x = Cum(1);
    xb = LastValue(ValueWhen(Valley,x,1));
    xa = LastValue(ValueWhen(Valley,x,2));
    yb = LastValue(ValueWhen(Valley,L,1));
    Ya = LastValue(ValueWhen(Valley,L,2));
    xab_log = log(yb/yA)/(xb-xa);
    SL = exp((x-xb)*xab_log)*yb;
    RocSL = ROC(SL,1);
    xd = LastValue(ValueWhen(top,x,1));
    xc = LastValue(ValueWhen(top,x,2));
    yd = LastValue(ValueWhen(top,H,1));
    Yc = LastValue(ValueWhen(top,H,2));
    xcd_log = log(yd/yc)/(xd-xc);
    RL = exp((x-xd)*xcd_log)*yd;
    RocRL = ROC(RL,1);
     
    //LPL
    Low_Value = LastValue(Ref(LLV(L,xd-xc),-(x-xd)));
    x2 = LastValue(ValueWhen(L==Low_Value & x>xc & x<xd,x));
    PLL = IIf(LastValue(x)-x2>5,exp((x-x2)*xcd_log)*Low_Value,-1e10);
     
    //HPL
    Hi_Value = LastValue(Ref(HHV(H,xb-xa),-(x-xb)));
    x3 = LastValue(ValueWhen(H==Hi_Value & x>xa & x<xb,x));
    PHL = IIf(LastValue(x)-x3>5,exp((x-x3)*xab_log)*Hi_Value,-1e10);
     
    //Channels
    AvgRoc = abs(MA(ROC(C,1),100));
    Threshold_parallel = 15;
    Threshold_Trend = 0.001*per;
    SLabs = SL-Ref(SL,-1); RLabs = RL-Ref(RL,-1);
    ROC2SL = (SLabs/C)*100; ROC2RL = (RLabs/C)*100;
    RSL = ROC2SL > Threshold_Trend; FlatSL = abs(ROC2SL) < Threshold_Trend; FSL = ROC2SL < -Threshold_Trend;
    RRL = ROC2RL > Threshold_Trend; FlatRL = abs(ROC2RL) < Threshold_Trend; FRL = ROC2RL < -Threshold_Trend;
    parallel= abs(((RocSL/RocRL)-1)*100)<Threshold_parallel;
    UT= RSL AND RRL AND parallel;
    DT= FSL AND FRL AND parallel;
    DT_UT = IIf (DT,-1,IIf(UT,1,0));
    Rangeee = parallel AND FlatSL AND FlatRL;
    Xm = xb-xa >4 & xd-xc >4; //x-min.distance - optional
    AscT= FlatRL & RSL;// & xa<xd & xc<xb;// & Xm;
    DscT= FlatSL & FRL;// & xa<xd & xc<xb;// & Xm;
    AT_DT= IIf(AscT,1,IIf(DscT,-1,0));
    ST = RSL & FRL & RL>SL;//& xa<xd & xc<xb;// & Xm;
    ET = RRL & FSL & RL>SL;//& xa<xd & xc<xb;// & Xm;//abs(ROCSL/ROCRL)<3 - optional
    ST_ET = IIf(ST,1,IIf(ET,-1,0));
    RW = RRL & RSL & RocSL>RocRL & SL>RL AND NOT parallel;// & Xm;
    FW = FSL & FRL & RocRL<RocSL & SL<RL AND NOT parallel;// & Xm;
    RW_FW = IIf (RW,1,IIf(FW,-1,0));
    Distance = 0.5*ATR(14);
     
    //Support line signals
    Sup_break = Cross(SL,C) & X>XB;
    Sup_pricejustabove = L<SL+Distance & L>SL & X>XB;
    Sup_confirmed = L<=SL & C>SL & X>XB;
     
    //Resistance line signals
    Res_break = Cross(C,RL) & X>XD;
    Res_pricejustbelow = H>RL-Distance & H<RL & X>XD;
    Res_confirmed = H>=RL & C<RL & X>XD;
     
    //Parallel lower line signals
    PLL_break = Cross(PLL,C);
    PLL_pricejustabove = L<PLL+Distance & L>PLL;
    PLL_confirmed = L<=PLL & C>PLL;
     
    //Parallel higher line signals
    PHL_break = Cross(C,PHL);
    PHL_pricejustbelow = H>PHL-Distance & H<PHL;
    PHL_confirmed = H>=PHL & C<PHL;
    SupSignals = Sup_break | Sup_pricejustabove | Sup_confirmed;
    ResSignals = Res_break | Res_pricejustbelow | Res_confirmed;
    PLLSignals = PLL_break | PLL_pricejustabove | PLL_confirmed;
    PHLSignals = PHL_break | PHL_pricejustbelow | PHL_confirmed;
    //BS = Sup_confirmed OR Res_break;
    //SS = Res_confirmed OR Sup_break;
    BS = Sup_confirmed OR Sup_pricejustabove OR Res_break;
    SS = Res_confirmed OR Res_pricejustbelow OR Sup_break;
    NS = Sup_pricejustabove OR Res_pricejustbelow;
    PatternDirection =
    IIf(AscT|FW|UT,1,
    IIf(DscT|RW|DT,-1,
    IIf(ST|ET|Rangeee,0,0)));
     
     
    //Display Cond. fix when Chart is compl.zoomed out
    PLLd = abs((LastValue(C)/LastValue(PLL))-1)<0.01*DisRange;
    PHLd = abs((LastValue(C)/LastValue(PHL))-1)<0.01*DisRange;
    barvisible = Status("barvisible");
    firstvisiblebar = barvisible & NOT
    Ref(barvisible,-1);
    HHvisible = LastValue(HighestSince(firstvisiblebar,High));
    LLvisible = LastValue(LowestSince(firstvisiblebar,Low));
    RaH = HHvisible *1.05; //Range High
    RaL = LLVisible *0.95; //Range Low
     
    //Anyline_zero
    AnZ= ya==0 OR yb==0 OR yc==0 OR yd==0;
    SL_plot = IIf(x>=xa & SL>RaL & SL<RaH & NOT AnZ,SL,IIf(x>=xa & RaL==0 & NOT AnZ,SL,-1e10));
    RL_plot = IIf(x>=xc & RL>RaL & RL<RaH & NOT AnZ,RL,IIf(x>=xc & RaL==0 & NOT AnZ,RL,-1e10));
    PLL_plot = IIf(x-x2>=0 & abs(LastValue(L/PLL)-1) <abs(LastValue((DisRange/1000)*ATR(14))) & PLL>RaL & PLL<RaH & NOT AnZ,PLL,IIf(x-x2>=0 & RaL==0 & PLLd & abs(LastValue(L/PLL)-1) <abs(LastValue((DisRange/1000)*ATR(14)))& NOT AnZ,PLL,-1e10));
    PHL_plot = IIf(x-x3>=0 & abs(LastValue(H/PHL)-1) <abs(LastValue((DisRange/1000)*ATR(14))) & PHL>RaL & PHL<RaH & NOT AnZ,PHL,IIf(x-x3>=0 & RaL==0 & PHLd & abs(LastValue(H/PHL)-1) <abs(LastValue((DisRange/1000)*ATR(14)))& NOT AnZ,PHL,-1e10));
     
    ///////////Begin Ploting Part////////////
     
    LastBar = Cum(1) == LastValue(Cum(1));
    Plot(SL_plot ," SL" ,colorCustom13,Style_SL+styleNoTitle);
    Plot(RL_plot ," RL" ,colorCustom12,Style_RL+styleNoTitle);
    Plot(IIf(Parallellinesswitch,PLL_plot,-1e10)," PLL",colorCustom13,Style_PLL+styleNoTitle);
    Plot(IIf(Parallellinesswitch,PHL_plot,-1e10)," PHL",colorCustom12,Style_PHL+styleNoTitle);
     
    // Shading
    BEGIN=Min(xa,xc);
    TRS = IIf(x>BEGIN-1,SL,-1e10);
    TRR = IIf(x>BEGIN-1,RL,-1e10);
    trr = IIf(trr>0,trr,Null);
    yVal=IIf(trs > trr,trr,trs);
    yval = IIf(yval>0,yval,Null);
    GraphZOrder = 0;
    if(Version()>4.75){
    //PlotOHLC(0,trr,yval,0,"",Shadowcolor,styleCloud+st yleNoLabel);
    }
    ///////////End Ploting Part////////////
    DefinedPatterns = AscT | DscT | ST | ET | RW | FW | UT | DT;
    Filter = BarIndex()==LastValue(BarIndex()) AND NOT GroupID()==253;
    Filter = Filter AND
    (AscT AND AscTs)| (DscT AND DscTs)| (ST AND STs)|
    (ET AND ETs)| (RW AND RWs)| (FW AND FWs)|
    (UT AND UTs)| (DT AND DTs)|(Rangeee AND Ranges)|
    (SupSignals AND NonDefinedPatterns AND NOT DefinedPatterns)|
    (ResSignals AND NonDefinedPatterns AND NOT DefinedPatterns);
    // | PLLSignals | PHLSignals | Trade Variables
     
    //Shapes
    if(PlotP1P2){
    PlotShapes(IIf(x==xa & NOT AnZ,P1Shape,shapeNone),Color_SL,0,SL,-13 );
    PlotShapes(IIf(x==xc & NOT AnZ,P1Shape,shapeNone),Color_RL,0,H,13 );
    }
    //end pattern
    //////////////////////////////////////////////////////////////////
    _SECTION_BEGIN("Fib Retracements");
    fibs = ParamToggle("Plot Fibs","Off|On",1);
    pctH = Param ("Pivot Hi %", 0.325,0.001,2.0,0.002);
    HiLB = Param ("Hi LookBack",1,1,BarCount-1,1);
    pctL = Param ("Pivot Lo %", 0.325,0.001,2.0,0.002);
    LoLB = Param ("Lo LookBack",1,1,BarCount-1,1);
    Back = Param ("Extend Left = 2",1,1,500,1);
    Fwd = Param("Plot Forward", 0, 0, 500, 1);
    text = ParamToggle("Plot Text","Off|On",1);
    hts = Param ("Text Shift", -33.5,-50,50,0.10);
    style =ParamStyle("Line Style",styleLine,styleNoLabel);
    x = BarIndex();
    pRp = PeakBars( H, pctH, 1) == 0;
    yRp0 = SelectedValue(ValueWhen( pRp, H, HiLB));
    xRp0 = SelectedValue(ValueWhen( pRp, x, HiLB));
    pSp = TroughBars( L, pctL, 1) == 0;
    ySp0 = SelectedValue(ValueWhen( pSp, L, LoLB));
    xSp0 = SelectedValue(ValueWhen( pSp, x, LoLB));
    Delta = yRp0 - ySp0;
     
    function fib(ret)
    {
    retval = (Delta * ret);
    Fibval = IIf(ret < 1.0
    AND xSp0 < xRp0, yRp0 - retval, IIf(ret < 1.0
    AND xSp0 > xRp0, ySp0 + retval,IIf(ret > 1.0
    AND xSp0 < xRp0, yRp0 - retval, IIf(ret > 1.0
    AND xSp0 > xRp0, ySp0 + retval, Null))));
    return FibVal;
    }
     
    x0 = Min(xSp0,xRp0)-Back;
    x1 = (BarCount -1);
    //////////////////////////////////////////////////////////////////
    r236 = fib(0.236);      r236I = LastValue (r236,1);
    r382 = fib(0.382);      r382I = LastValue (r382,1);
    r050 = fib(0.50);        r050I = LastValue (r050,1);
    r618 = fib(0.618);      r618I = LastValue (r618,1);
    r786 = fib(0.786);      r786I = LastValue (r786,1);
    e127 = fib(1.27);        e127I = LastValue (e127,1);
    e162 = fib(1.62);        e162I = LastValue (e162,1);
    e200 = fib(2.00);        e200I = LastValue (e200,1);
    e262 = fib(2.62);        e262I = LastValue (e262,1);
    e424 = fib(4.24);        e424I = LastValue (e424,1);
    //////////////////////////////////////////////////////////////////
    p00 = IIf(xSp0 > xRp0,ySp0,yRp0); p00I = LastValue (p00,1);
    p100 = IIf(xSp0 < xRp0,ySp0,yRp0); p100I = LastValue (p100,1);
    color00 =IIf(xSp0 > xRp0,colorLime,colorRed);
    color100 =IIf(xSp0 < xRp0,colorLime,colorRed);
    //////////////////////////////////////////////////////////////////
    numbars = LastValue(Cum(Status("barvisible")));
    fraction= IIf(StrRight(Name(),3) == "", 3.2, 3.2);
    //////////////////////////////////////////////////////////////////
    Col=IIf(p00<p100,43,32);
     
    if(fibs==1)
    {
    Plot(LineArray(xRp0-Fwd,yRp0,x1,yRp0,Back),"PR",Col,8|styleNoRescale,Null, Null,Fwd);
    Plot(LineArray(xSp0-Fwd,ySp0,x1,ySp0,Back),"PS",Col,8|styleNoRescale,Null, Null,Fwd);
    Plot(LineArray(x0-Fwd,r236,x1,r236,Back),"",Col,styleDashed|styleNoRescale,Null, Null,Fwd);
    Plot(LineArray(x0-Fwd,r382,x1,r382,Back),"",Col,styleDashed|styleNoRescale,Null, Null,Fwd);
    Plot(LineArray(x0-Fwd,r050,x1,r050,Back),"",41,styleDots|styleNoRescale,Null, Null,Fwd);
    Plot(LineArray(x0-Fwd,r618,x1,r618,Back),"",Col,styleDashed|styleNoRescale,Null, Null,Fwd);
    Plot(LineArray(x0-Fwd,r786,x1,r786,Back),"",Col,styleDashed|styleNoRescale,Null, Null,Fwd);
    Plot(LineArray(x0-Fwd,e127,x1,e127,Back),"e127",Col,styleDashed|styleNoRescale,Null, Null,Fwd);
    Plot(LineArray(x0-Fwd,e162,x1,e162,Back),"e162",Col,styleDashed|styleNoRescale,Null, Null,Fwd);
    Plot(LineArray(x0-Fwd,e200,x1,e200,Back),"p200",Col,styleDashed|styleNoRescale,Null, Null,Fwd);
    Plot(LineArray(x0-Fwd,e262,x1,e262,Back),"p262",Col,styleDashed|styleNoRescale,Null, Null,Fwd);
    Plot(LineArray(x0-Fwd,e424,x1,e424,Back),"p424",Col,styleDashed|styleNoRescale,Null, Null,Fwd);
    }
    //////////////////////////////////////////////////////////////////
    if(text==1)
    {
    PlotText(" 0% = " + WriteVal(p00,fraction), LastValue(BarIndex())-(numbars/hts), p00I + 0.05, col);
    PlotText("23% = " + WriteVal(r236,fraction), LastValue(BarIndex())-(numbars/hts), r236I + 0.05, Col);
    PlotText("38% = " + WriteVal(r382,fraction), LastValue(BarIndex())-(numbars/hts), r382I + 0.05, Col);
    PlotText("50% = " + WriteVal(r050,fraction), LastValue(BarIndex())-(numbars/hts), r050I + 0.05, Col);
    PlotText("62% = " + WriteVal(r618,fraction), LastValue(BarIndex())-(numbars/hts), r618I + 0.05, Col);
    PlotText("78% = " + WriteVal(r786,fraction), LastValue(BarIndex())-(numbars/hts), r786I + 0.05, Col);
    PlotText("100% = " + WriteVal(p100,fraction), LastValue(BarIndex())-(numbars/hts),p100I + 0.05, col);
    PlotText("127% = " + WriteVal(e127,fraction), LastValue(BarIndex())-(numbars/hts),e127I + 0.05, Col);
    PlotText("162% = " + WriteVal(e162,fraction), LastValue(BarIndex())-(numbars/hts),e162I + 0.05, Col);
    PlotText("200% = " + WriteVal(e200,fraction), LastValue(BarIndex())-(numbars/hts),e200I + 0.05, Col);
    PlotText("262% = " + WriteVal(e262,fraction), LastValue(BarIndex())-(numbars/hts),e262I + 0.05, Col);
    PlotText("424% = " + WriteVal(e424,fraction), LastValue(BarIndex())-(numbars/hts),e424I + 0.05, Col);
    }
    _SECTION_END();
     
    //////////////////////////////////////////////////////////////////
     
    _SECTION_BEGIN("Volume Price Analysis");
    //================================================== =====================================
    DTL=Param("Linear regression period",60,10,100,10);
    wbf=Param("WRB factor",1.5,1.3,2.5,.1);
    nbf=Param("NRB factor",0.7,0.3,0.9,0.1);
    TL=LinRegSlope(MA(C, DTL),2);
    Vlp=Param("Volume lookback period",30,20,300,10);
    Vrg=MA(V,Vlp);
    St = StDev(Vrg,Vlp);
    Vp3 = Vrg + 3*st;
    Vp2 = Vrg + 2*st;;
    Vp1 = Vrg + 1*st;;
    Vn1 = Vrg -1*st;
    Vn2 = Vrg -2*st;
    _SECTION_END();
     
    //nr7 setup
     
    TimeFrameSet(TT);
    High1=IIf(O>H,O,H);
    Low1=IIf(O<L,O,L);
    rang=High1-Low1;
    nr7=(rang==LLV(rang,7));
    nr8=(Ref(nr7,-1) AND rang==LLV(rang,8));
    InsideBar = Inside() ;
    nri=(nr7 AND InsideBar);
    G=C>O;
    R=C<O;
    TGN7=nr7 & G;
    TRN7=nr7 & R;
    TGN8=nr8 & G;
    TRN8=nr8 & R;
    TGN7i=nri & G;
    TRN7i=nri & R;
     
    YGN7=Ref(TGN7,-1);
    YRN7=Ref(TRN7,-1);
    YGN8=Ref(TGN8,-1);
    YRN8=Ref(TRN8,-1);
    YGN7i=Ref(TGN7i,-1);
    YRN7i=Ref(TRN7i,-1);
     
    zGN7=Ref(TGN7,-2);
    zRN7=Ref(TRN7,-2);
    zGN8=Ref(TGN8,-2);
    zRN8=Ref(TRN8,-2);
    zGN7i=Ref(TGN7i,-2);
    zRN7i=Ref(TRN7i,-2);
     
    aGN7=Ref(TGN7,-3);
    aRN7=Ref(TRN7,-3);
    aGN8=Ref(TGN8,-3);
    aRN8=Ref(TRN8,-3);
    aGN7i=Ref(TGN7i,-3);
    aRN7i=Ref(TRN7i,-3);
     
    bGN7=Ref(TGN7,-4);
    bRN7=Ref(TRN7,-4);
    bGN8=Ref(TGN8,-4);
    bRN8=Ref(TRN8,-4);
    bGN7i=Ref(TGN7i,-4);
    bRN7i=Ref(TRN7i,-4);
     
    Cgn7=IIf(dy & no==0,tgn7,0);
    Crn7=IIf(dy & no==0,trn7,0);
    Cgn8=IIf(dy & no==0,tgn8,0);
    Crn8=IIf(dy & no==0,trn8,0);
    Cgn7i=IIf(dy & no==0,tgn7i,0);
    Crn7i=IIf(dy & no==0,trn7i,0);
     
    dgn7=IIf(dy & no==1,tgn7 & ygn7,0);
    drn7=IIf(dy & no==1,trn7 & yrn7,0);
    dgn8=IIf(dy & no==1,tgn8 & ygn8,0);
    drn8=IIf(dy & no==1,trn8 & yrn8,0);
    dgn7i=IIf(dy & no==1,tgn7i & ygn7i,0);
    drn7i=IIf(dy & no==1,trn7i & yrn7i,0);
     
    egn7=IIf(dy & no==2,tgn7 & ygn7 & zgn7,0);
    ern7=IIf(dy & no==2,trn7 & yrn7 & zrn7,0);
    egn8=IIf(dy & no==2,tgn8 & ygn8 & zgn8,0);
    ern8=IIf(dy & no==2,trn8 & yrn8 & zrn8,0);
    egn7i=IIf(dy & no==2,tgn7i & ygn7i & zgn7i,0);
    ern7i=IIf(dy & no==2,trn7i & yrn7i & zrn7i,0);
     
    fgn7=IIf(dy & no==3,tgn7 & ygn7 & zgn7 & agn7,0);
    frn7=IIf(dy & no==3,trn7 & yrn7 & zrn7 & arn7,0);
    fgn8=IIf(dy & no==3,tgn8 & ygn8 & zgn8 & agn8,0);
    frn8=IIf(dy & no==3,trn8 & yrn8 & zrn8 & arn8,0);
    fgn7i=IIf(dy & no==3,tgn7i & ygn7i & zgn7i & agn7i,0);
    frn7i=IIf(dy & no==3,trn7i & yrn7i & zrn7i & arn7i,0);
     
     
    ggn7=IIf(dy & no==4,tgn7 & ygn7 & zgn7 & agn7 & bgn7,0);
    grn7=IIf(dy & no==4,trn7 & yrn7 & zrn7 & arn7 & brn7,0);
    ggn8=IIf(dy & no==4,tgn8 & ygn8 & zgn8 & agn8 & bgn8,0);
    grn8=IIf(dy & no==4,trn8 & yrn8 & zrn8 & arn8 & brn8,0);
    ggn7i=IIf(dy & no==4,tgn7i & ygn7i & zgn7i & agn7i & bgn7i,0);
    grn7i=IIf(dy & no==4,trn7i & yrn7i & zrn7i & arn7i & brn7i,0);
     
    TimeFrameRestore();
    red=(since & (C<O | C==O));
    green=(since & (C>O | C==O));
    Reds=Cum(Red);
    Greens=Cum(Green);
    redr=IIf(red,O-C,0);
    greenr=IIf(green,C-O,0);
    Candles=Cum(red + green);
    Os=Sum(redr,Candles);
    ws=Sum(greenr,Candles);
    Lotsize=round((inv*5.5)/r236);
    //////////////////////////////////////////////////////////////////
    Chg=Ref(C,-1);
    if (tchoice==1 )
    {
    _N(Title = EncodeColor(colorWhite)+StrFormat(" {{NAME}} - {{INTERVAL}} {{DATE}} Open: %g, High: %g, Low: %g, Close: %g {{VALUES}}",O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
    }
    //////////////////////////////////////////////////////////////////
    if (tchoice==2 )
    {
    Title = EncodeColor(colorWhite)+ Date() + " Tick = " + EncodeColor(5) + Interval()+
    EncodeColor(55)+ " Open: "+ EncodeColor(colorWhite)+ WriteVal(O,format=1.2) +
    EncodeColor(55)+ " High: "+ EncodeColor(colorWhite) + WriteVal(H,format=1.2) +
    EncodeColor(55)+ " Low: "+ EncodeColor(colorWhite)+ WriteVal(L,format=1.2) +
    EncodeColor(55)+ " Close: "+ WriteIf(C> Chg,EncodeColor(colorBrightGreen),EncodeColor(colorRed))+ WriteVal(C,format=1.2)+
    EncodeColor(55)+ " Change: "+ WriteIf(C> Chg,EncodeColor(colorBrightGreen),EncodeColor(colorRed))+ WriteVal(ROC(C,1),format=1.2)+ "%"+
    EncodeColor(55)+ " Volume: "+ EncodeColor(colorWhite)+ WriteVal(V,1)+EncodeColor(colorYellow) + " Lotsize: "+WriteVal(Lotsize,1)+" Lotsize/2: "+WriteVal(Lotsize/2,1)+"\n"+
    WriteIf(LastValue(AscT),"Ascending Triangle - bullish formation that usually forms during an uptrend as a continuation pattern"+"","")+
    WriteIf(LastValue(DscT),"Decending Triangle - bearish formation that usually forms during a downtrend as a continuation pattern."+"","")+
    //WriteIf(LastValue(ST),"Symmetrical Triangle - mark important trend reversals, they more often mark a continuation of the current trend - direction of the next major move can only be determined after a valid breakout."+"","")+
    WriteIf(LastValue(ET),"Expanding Triangle - The expanding triangle is said to be a good indicator of a reversal pattern"+"","")+
    WriteIf(LastValue(RW),"Rising Wedge - rising wedges definitely slope up and have a bearish bias"+"","")+
    WriteIf(LastValue(FW),"Falling Wedge - falling wedges definitely slope down and have a bullish bias."+" ","")+
    WriteIf(LastValue(UT),"Up Channel - Bullish Trend"+"","")+
    WriteIf(LastValue(DT),"Down Channel - Bearish Trend"+"","")+"\n"+
     
    EncodeColor(colorYellow)+
    Comm2=("heikin 5m : ")+
    WriteIf(LastValue(Condb),EncodeColor(colorBrightGreen)+"+Up",
    WriteIf(LastValue(Conds),EncodeColor(colorRed)+"-Down",EncodeColor(colorLightYellow)+"< Flat >"))+"\n"+
    EncodeColor(colorYellow)+
     
    Comm2=("heikin 15m : ")+
    WriteIf(LastValue(Condb1),EncodeColor(colorBrightGreen)+"+Up",
    WriteIf(LastValue(Conds1),EncodeColor(colorRed)+"-Down",EncodeColor(colorLightYellow)+"< Flat >"))+"\n"+
    EncodeColor(colorYellow)+
     
    Comm2=("heikin 30m : ")+
    WriteIf(LastValue(Condb2),EncodeColor(colorBrightGreen)+"+Up",
    WriteIf(LastValue(Conds2),EncodeColor(colorRed)+"-Down",EncodeColor(colorLightYellow)+"< Flat >"))+"\n"+
    EncodeColor(colorYellow)+
     
    Comm2=("heikin 1Hr : ")+
    WriteIf(LastValue(Condb3),EncodeColor(colorBrightGreen)+"+Up",
    WriteIf(LastValue(Conds3),EncodeColor(colorRed)+"-Down",EncodeColor(colorLightYellow)+"< Flat >"))+"\n"+
     
     
     
    "\n"+EncodeColor(07)+"Volume: "+WriteIf(V>Vp2,EncodeColor(colorLime)+"Very High",WriteIf(V>Vp1,EncodeColor(colorLime)+" High",WriteIf(V>Vrg,EncodeColor(colorLime)+"Above Average",
    WriteIf(V<Vrg AND V>Vn1,EncodeColor(colorRed)+"Less than Average",WriteIf(V<Vn1,EncodeColor(colorRed)+"Low" ,"")))))+ "\n" +
    EncodeColor(colorYellow)+
     
    Comm2=("Trend: ")+
    WriteIf(Greens>Reds,EncodeColor(colorBrightGreen)+ "+Up",
    WriteIf(Reds>Greens,EncodeColor(colorRed)+"-Down",EncodeColor(colorLightYellow)+"< Flat >"))+"\n"+
    EncodeColor(colorRed) +
    WriteIf(Reds, "Reds: "+(reds)+" ","")+"\n"+
    EncodeColor(colorBrightGreen) +
    WriteIf(Greens, "Greens: "+(greens)+" ","")+"\n"+
    EncodeColor(colorRed) +
    Comm2=("Red Range: ")+
    WriteVal(Os, 1.2)+"\n"+
    EncodeColor(colorBrightGreen) +
    Comm2=("Green Range: ")+
    WriteVal(Ws, 1.2)+"\n"+
    EncodeColor(colorRed) +
    WriteIf(ChaikinVolatility( periods )<0, "Chaikin: "+(ChaikinVolatility( periods )
    )+" ","")+"\n"+
    EncodeColor(colorBrightGreen) +
    WriteIf(ChaikinVolatility( periods )>0
    , "Chaikin: "+(ChaikinVolatility( periods )
    )+" ","")+
    "\n"+
    WriteIf(Sup_pricejustabove,EncodeColor(colorBrightGreen)+"Price just above Support",
    WriteIf(Sup_confirmed,EncodeColor(colorBrightGreen )+"Support Confirmed",EncodeColor(colorWhite)+""))+
    WriteIf(Sup_break,EncodeColor(colorRed)+"Support Break"+"","")+"\n"+
    WriteIf(Res_pricejustbelow,EncodeColor(colorRed)+" Price just below Resistance",
    WriteIf(Res_confirmed,EncodeColor(colorRed)+"Resis tance Confirmed",EncodeColor(colorWhite)+""))+
    WriteIf(Res_break,EncodeColor(colorBrightGreen)+"R esistance Break"+"","");
    }
    GraphXSpace=5;
    dy1=IIf(dy==1,(tgn7 | trn7 | tgn8|trn8|tgn7i|trn7i|ygn7 | yrn7 | ygn8|yrn8|ygn7i|yrn7i|zgn7 | zrn7 |zgn8|zrn8|zgn7i|zrn7i|agn7 | arn7 |agn8|arn8|agn7i|arn7i|bgn7 | brn7 | bgn8|brn8|bgn7i|brn7i),0);
    dy2=IIf(dy==1,(cgn7 | crn7 | cgn8|crn8|cgn7i|crn7i|dgn7 | drn7 | dgn8|drn8|dgn7i|drn7i|egn7 | ern7 |egn8|ern8|egn7i|ern7i|fgn7 |frn7 |fgn8|frn8|fgn7i|frn7i|ggn7 | grn7 | ggn8|grn8|ggn7i|grn7i),0);
     
    // Angle variables
     
    PI = atan(1.00) * 4;
    periods = periods;
    HighHigh = HHV(H, periods);
    LowLow = LLV(L, periods);
    range = 25 / (HighHigh - LowLow) * LowLow;
     
    // LSMA25 Angle
     
    LSMA25 = OBV();
    x1_LSMA25 = 0;
    x2_LSMA25 = 1;
    y1_LSMA25 = 0;
    y2_LSMA25 = (Ref(LSMA25, -1) - LSMA25) / Avg * range;
    c_LSMA25 = sqrt((x2_LSMA25 - x1_LSMA25)*(x2_LSMA25 - x1_LSMA25) + (y2_LSMA25 - y1_LSMA25)*(y2_LSMA25 - y1_LSMA25));
    angle_LSMA25 = round(180 * acos((x2_LSMA25 - x1_LSMA25)/c_LSMA25) / PI);
    angle_LSMA25 = IIf(y2_LSMA25 > 0, - angle_LSMA25, angle_LSMA25);
     
    Buy=IIf((p00<p100 & ChaikinVolatility( periods )>0 & angle_LSMA25>30 & Ws>=(Os+(Os*perc/100)) & (Cross(H,r236) | Cross(C,r236))),1,0);
    Buystop=ValueWhen(Buy,p00);
    btgt1=ValueWhen(Buy,r618);
    btgt2=ValueWhen(Buy,r786);
    Short=IIf((p00>p100 & ChaikinVolatility( periods )>0 & angle_LSMA25<(-30) & Os>=(Ws+(Ws*perc/100)) & (Cross(r236,L) | Cross(r236,C))),1,0);
    shortstop=ValueWhen(Short,p00);
    stgt1=ValueWhen(Short,r618);
    stgt2=ValueWhen(Short,r786);
    //Buy=ExRem(Buy,Short);
    //Short=ExRem(Short,Buy);
     
    //shapes
    PlotShapes(IIf(Buy,shapeUpArrow,shapeNone),colorWhite,0,L,-25 );
    PlotShapes(IIf(Short,shapeDownArrow,shapeNone),colorOrange,0,H,-25 );
    AddColumn( IIf(Buy & dy==0, r236, IIf(Short & dy==0, r236,01 )), "ENTRY@", 1.2, colorWhite, bkcolor= IIf(Short & dy==0,colorDarkRed,colorDarkGreen) );
    AddColumn( IIf(Buy & dy==0, Buystop, IIf(Short & dy==0, Shortstop,01 )), "STOP@", 1.2, colorWhite, bkcolor= IIf(Short & dy==0,colorDarkRed,colorDarkGreen) );
    AddColumn( IIf(Buy & dy==0, btgt1, IIf(Short & dy==0, stgt1,01 )), "TARGT-1", 1.2, colorWhite, bkcolor= IIf(Short & dy==0,colorDarkRed,colorDarkGreen) );
    AddColumn( IIf(Buy & dy==0, btgt2, IIf(Short & dy==0, stgt2,01 )), "TARGT-2", 1.2, colorWhite, bkcolor= IIf(Short & dy==0,colorDarkRed,colorDarkGreen) );
    AddColumn( IIf(Buy & dy==0, Lotsize, IIf(Short & dy==0, Lotsize,01 )), "QNTY", 1, colorWhite, bkcolor= IIf(Short & dy==0,colorDarkRed,colorDarkGreen) );
    //AddColumn(dy==1 & no,"NR days",1);
    AddColumn( IIf(( dy==1 & tgn7), 55, IIf(( dy==1 & trn7), 55,01 )), "NR7-0", formatChar, colorWhite, bkcolor= IIf((dy==1 & trn7),colorDarkRed,colorDarkGreen) );
    AddColumn( IIf((dy==1 & tgn8), 56, IIf(dy==1 & trn8, 56,01 )), "NR8-0", formatChar, colorWhite, bkcolor= IIf(dy==1 & trn8,colorDarkRed,colorDarkGreen) );
    AddColumn( IIf(dy==1 & tgn7i, 73, IIf(dy==1 & trn7i, 73,01 )), "NR7i-0", formatChar, colorWhite, bkcolor= IIf(dy==1 & trn7i,colorDarkRed,colorDarkGreen) );
    AddColumn( IIf(dy==1 & ygn7, 55, IIf(dy==1 & yrn7, 55,01 )), "NR7-1", formatChar, colorWhite, bkcolor= IIf(dy==1 & yrn7,colorDarkRed,colorDarkGreen) );
    AddColumn( IIf(dy==1 & ygn8, 56, IIf(dy==1 & yrn8, 56,01 )), "NR8-1", formatChar, colorWhite, bkcolor= IIf(dy==1 & yrn8,colorDarkRed,colorDarkGreen) );
    AddColumn( IIf(dy==1 & ygn7i, 73, IIf(dy==1 & yrn7i, 73,01 )), "NR7i-1", formatChar, colorWhite, bkcolor= IIf(dy==1 & yrn7i,colorDarkRed,colorDarkGreen) );
    AddColumn( IIf(dy==1 & zgn7, 55, IIf(dy==1 & zrn7, 55,01 )), "NR7-2", formatChar, colorWhite, bkcolor= IIf(dy==1 & zrn7,colorDarkRed,colorDarkGreen) );
    AddColumn( IIf(dy==1 & zgn8, 56, IIf(dy==1 & zrn8, 56,01 )), "NR8-2", formatChar, colorWhite, bkcolor= IIf(dy==1 & zrn8,colorDarkRed,colorDarkGreen) );
    AddColumn( IIf(dy==1 & zgn7i, 73, IIf(dy==1 & zrn7i, 73,01 )), "NR7i-2", formatChar, colorWhite, bkcolor= IIf(dy==1 & zrn7i,colorDarkRed,colorDarkGreen) );
    AddColumn( IIf(dy==1 & agn7, 55, IIf(dy==1 & arn7, 55,01 )), "NR7-3", formatChar, colorWhite, bkcolor= IIf(dy==1 & arn7,colorDarkRed,colorDarkGreen) );
    AddColumn( IIf(dy==1 & agn8, 56, IIf(dy==1 & arn8, 56,01 )), "NR8-3", formatChar, colorWhite, bkcolor= IIf(dy==1 & arn8,colorDarkRed,colorDarkGreen) );
    AddColumn( IIf(dy==1 & agn7i, 73, IIf(dy==1 & arn7i, 73,01 )), "NR7i-3", formatChar, colorWhite, bkcolor= IIf(dy==1 & arn7i,colorDarkRed,colorDarkGreen) );
    AddColumn( IIf(dy==1 & bgn7, 55, IIf(dy==1 & brn7, 55,01 )), "NR7-4", formatChar, colorWhite, bkcolor= IIf(dy==1 & brn7,colorDarkRed,colorDarkGreen) );
    AddColumn( IIf(dy==1 & bgn8, 56, IIf(dy==1 & brn8, 56,01 )), "NR7-4", formatChar, colorWhite, bkcolor= IIf(dy==1 & brn8,colorDarkRed,colorDarkGreen) );
    AddColumn( IIf(dy==1 & bgn7i, 66, IIf(dy==1 & brn7i, 83,01 )), "NR7i-4", formatChar, colorWhite, bkcolor= IIf(dy==1 & brn7i,colorDarkRed,colorDarkGreen) );
     
     
    //daily sup/res
     
    _SECTION_BEGIN("Daily Sup/Res Plot lines");
    //Set parameter default to YES for displaying the final
    //results of the break out calculations.
    PlotBreak = ParamToggle("Plot Breakout", "YES|NO", 0);
    //set parameter default to YES for displaying PP, S1 and R1
    PPSR1 = ParamToggle("PP,S1/R1", "YES|NO", 0);
    //set paramter default to NO for displaying S2 and R2
    S2R2 = ParamToggle("S2,R2", "YES|NO", 0);
    //set parameter default to NO for dsiplaying S3 and R3
    S3R3 = ParamToggle("S3,R3", "YES|NO", 1);
    //set paramter default to NO for diplaying S4 and R4
    S4R4 = ParamToggle("S4,R4", "YES|NO", 1);
    _SECTION_END();
    _SECTION_BEGIN("Realtime Hours ");
    //Determine the value of the market close. Initial setting is for
    //4:00 PM to match US Market Open. Adjust as need for your market
     
     
     
    UserOpen = ParamTime("Market Open", "09:00");
    UserClose = ParamTime("Market Close", "15:30");
    UseIndia = "YES";//ParamList("Indian Market?", "YES|NO",0);
    if(UseIndia == "YES")
    {
    TimeOpen = ValueWhen(DateNum() != Ref(DateNum(),-1), TimeNum());
    }
    CalcClose = UserClose;
     
    TimeClose = IIf(StrMid(NumToStr(CalcClose ,1,False),2,2)=="00",
    6000-((Interval()/60)*100)+(CalcClose-10000),
    CalcClose-(100*(Interval()/60)));
    CurBarTime = TimeNum();
    DlyHigh = HighestSince(CurBarTime == TimeOpen , High);
    DlyHighest = ValueWhen(CurBarTime == TimeClose , DlyHigh);
    DlyLow = LowestSince(CurBarTime == TimeOpen , Low);
    DlyLowest = ValueWhen(CurBarTime == TimeClose , DlyLow);
     
    MrktClose = ValueWhen(CurBarTime == TimeClose , Close);
    Rangeeee = DlyHighest - DlyLowest;
    PP = (DlyHighest + DlyLowest + MrktClose)/3;
    PP = round(PP * 4) / 4;
    R1 = (2 * PP) - DlyLowest;
    S1 = (2 * PP) - DlyHighest;
    R2 = PP + Rangeeee;
    S2 = PP - Rangeeee;
    R3 = R2 + Rangeeee;
    S3 = S2 - Rangeeee;
    R4 = R3 + Rangeeee;
    S4 = S3 - Rangeeee;
     
    TitlePivots = "\n"+
    EncodeColor(colorYellow) +"Today's Daily Pivots" +"\n"
    +"R1: " +R1 +"\n" +"PP: " +PP +"\n" +"S1: " +S1
    //+WriteVal((fhh))+WriteVal((FHL))+WriteVal(((TOP))) + WriteVal((bi1[0]))
    +"\n";
    if(PPSR1 == 0)
    {
    Plot(R1, "Dly R1", colorPink, styleDashed | styleThick | styleNoRescale);
    Plot(PP, "Dly Pivot", colorGrey40, styleDots | styleThick | styleNoRescale);
    Plot(S1, "Dly S1", colorAqua, styleDashed | styleThick | styleNoRescale);
    }
    if(S2R2 == 0)
    {
    Plot(R2, "Dly R2", colorPink, styleDashed | styleThick | styleNoRescale);
     
    Plot(S2, "Dly S2", colorAqua, styleDashed | styleThick | styleNoRescale);
     
    }
    if(S3R3 == 0)
    {
    Plot(R3, "Dly R3", colorPink, styleDashed | styleThick | styleNoRescale);
     
    Plot(S3, "Dly S3", colorAqua, styleDashed | styleThick | styleNoRescale);
     
    }
    if(S4R4 == 0)
    {
    Plot(R4, "Dly R4", colorPink, styleDashed | styleThick | styleNoRescale);
     
    Plot(S4, "Dly S4", colorAqua, styleDashed | styleThick | styleNoRescale);
     
    }
     
    _SECTION_END();
     
    Filter=Buy | Short | dy1;

5 comments

1. anandnst

Looks good n helpful. Thnx you

2. ncd19

good trading system but explain yellow and red dashed line also green and red range pls. explain it. and on what basis buy sell signals r generated. thanks

3. shariful

Thanks for sharing a nice one.

4. Mayur

Really good work thanks

5. ulages

Hi, how i can do a backtest?

Leave Comment

Please login here to leave a comment.

Back