No Loss Ever or say a RISK free Startegy

Discussion in 'Futures' started by nikhil_chinapa2, Aug 5, 2016.

  1. nikhil_chinapa2

    nikhil_chinapa2 New Member

    Joined:
    Jul 11, 2016
    Messages:
    3
    Likes Received:
    3
    Trophy Points:
    3
    Two AFL based on LIN supertrend and a TSI(7,27,1) AFL are sufficient enough to take a call on any running scrip

    If followed with utmost discipline and keeping check on emotional trading gives a cent percent fool proof trading signal for no loss cause no risk at all.

    I caught Apollo tyres ride today land got 7% profit today.

    Tomorrow am buying ONGC and DIVISLAB u can watch them too.

    Sharing my AFL as mentioned '

    LIN Supertrend
    ==========

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

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

    _SECTION_BEGIN("Lin Supertrend");

    SetBarsRequired(100000,0);


    GraphXSpace = 15;

    SetChartOptions(0,chartShowArrows|chartShowDates);

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

    GfxSetBkMode(0);

    GfxSetOverlayMode(1);

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

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



    //SetTradeDelays(1,1,1,1);

    SetOption( "InitialEquity", 250000 );
    SetOption( "MinShares", 1 );
    SetOption( "MinPosValue", 1 );


    SetPositionSize(75,spsShares);



    sig = 0;
    bars =0;
    tar1 =0;
    tar2 = 0;
    tar3=0;


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



    Factor=param("Factor",3,1,3,1);

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


    Up = LinearReg((H+L)*0.5,Pd) + Factor*ATR(Pd);
    Dn = LinearReg((H+L)*0.5,Pd) - Factor*ATR(Pd);

    iATR=ATR(Pd);

    TrendUp=TrendDown=Null;

    trend[0]=1;

    changeOfTrend=0;

    flag=flagh=0;



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

    TrendUp = Null;

    TrendDown = Null;



    trend=1;





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

    trend=1;

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



    }

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

    trend=-1;

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

    }

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

    trend=1;

    changeOfTrend = 0;

    }

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

    trend=-1;

    changeOfTrend = 0;

    }



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

    flag=1;

    }

    else {

    flag=0;

    }



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

    flagh=1;

    }

    else {

    flagh=0;

    }



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

    Dn=Dn[i-1];

    }



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

    { Up=Up[i-1];

    }



    if (flag==1)

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

    }

    if (flagh==1)

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

    }

    if (trend[i]==1) {

    TrendUp[i]=Dn[i];

    if (changeOfTrend == 1) {

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

    changeOfTrend = 0;

    }

    }

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

    TrendDown[i]=Up[i];

    if (changeOfTrend == 1) {

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

    changeOfTrend = 0;

    }

    }

    }



    Plot(TrendUp,"Trend",colorGreen);

    Plot(TrendDown,"Down",colorRed);

    Length =200;

    Buy = trend==1 AND c>EMA(C,Length);
    Sell=trend==-1 ;

    Short=trend==-1 and C<EMA(C,Length);
    Cover=trend==1;

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

    short=ExRem(short,cover);
    cover=ExRem(cover,short);

    Long=Flip(Buy,Sell);
    Shrt=Flip(Short,Cover);
    Relax = NOT Long AND NOT Buy AND NOT shrt AND NOT Sell AND NOT Sell AND NOT Cover;

    BarsSincebuy = BarsSince( Buy );
    BarsSinceshort = BarsSince( Short );
    LastSignal = IIf( BarsSincebuy < BarsSinceshort, 1, -1 );

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

    Title = EncodeColor(colorWhite)+ "Super Trend " + " - " + Name() + " - " + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorWhite) +

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

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

    EncodeColor(colorLime)+

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

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

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

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



    PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-40);
    PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,L, Offset=-50);
    PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-45);
    PlotShapes(IIf(Short, shapeSquare, shapeNone),colorRed, 0, H, Offset=40);
    PlotShapes(IIf(Short, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50);
    PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45);

    PlotShapes(IIf(Sell, shapeStar, shapeNone),colorGold, 0, L, Offset=-15);
    PlotShapes(IIf(Cover, shapeStar, shapeNone),colorGold, 0,L, Offset=-15);

    duration = 10000000;

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

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





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

    sig=0;


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

    {

    if(Buy[i] == 1)

    {

    entry = C[i];

    sig = 1;

    sl = TrendSL[i];

    tar1 = entry + (entry * .0050);

    tar2 = entry + (entry * .0092);

    tar3 = entry + (entry * .0179);



    bars = i;

    i = 0;

    }

    if(Short[i] == 1)

    {

    sig = -1;

    entry = C[i];

    sl = TrendSL[i];

    tar1 = entry - (entry * .0050);

    tar2 = entry - (entry * .0112);

    tar3 = entry - (entry * .0212);





    bars = i;

    i = 0;

    }

    }

    Offset = 20;

    SellSL=ValueWhen(Short,Ref(TrendSL,-1),1);
    BuySL=ValueWhen(Buy,Ref(TrendSL,-1),1);



    Clr = IIf(sig ==1, colorLime, colorRed);

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

    sl = ssl[BarCount-1];





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

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

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






    buyach1 = IIf((Buy OR Long AND NOT Relax AND NOT Cover AND NOT Short AND NOT Shrt), H > tar1, 0);
    buyach2 = IIf((Buy OR Long AND NOT Relax AND NOT Cover AND NOT Short AND NOT Shrt), H > tar2, 0);
    buyach3 = IIf((Buy OR Long AND NOT Relax AND NOT Cover AND NOT Short AND NOT Shrt), H > tar3, 0);

    sellach1 = IIf((Short OR Shrt AND NOT Relax AND NOT Sell AND NOT Buy AND NOT Long), L < tar1, 0);
    sellach2 = IIf((Short OR Shrt AND NOT Relax AND NOT Sell AND NOT Buy AND NOT Long), L < tar2, 0);
    sellach3 = IIf((Short OR Shrt AND NOT Relax AND NOT Sell AND NOT Buy AND NOT Long), L < tar3, 0);


    // Message Board -----------------
    GfxSelectFont( "Tahoma", 13, 100 );

    GfxSetBkMode( 1 );

    GfxSetTextColor
    ( colorWhite );

    if ( SelectedValue( LastSignal ) == 1 )
    {
    GfxSelectSolidBrush( colordarkGreen );
    }
    else
    {
    GfxSelectSolidBrush( colorRed );
    }


    pxHeight = Status( "pxchartheight" ) ;

    xx = Status( "pxchartwidth");

    Left = 1100;

    width = 310;

    x = 5;

    x2 = 290;

    y = pxHeight;

    GfxSelectPen
    ( colorLightBlue, 1); // border color

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


    GfxTextOut( ( "Super trend "),13,y-130);

    GfxTextOut
    ( ("" + WriteIf(Buy, "Go Long At "+C+" - SL " +Ref(TrendSL,-1),"")), 13, y-105);

    GfxTextOut
    ( ("" + WriteIf (Short, "Go Short At "+C+" - SL " +Ref(TrendSL,-1),"")), 13, y-105);


    GfxTextOut
    ( ("" + WriteIf (Sell AND NOT Short, "Exit Long At "+C,"")), 13, y-115);

    GfxTextOut
    ( ("" + WriteIf (Cover AND NOT Buy, "Exit Short At "+C,"")), 13, y-115);


    GfxTextOut
    ( ("" + WriteIf (Long AND NOT Buy, "Long At "+(BuyPrice)+" - TSL " + Ref(TrendSL,-1)+ "","")), 13, y-105);

    GfxTextOut
    ( ("" + WriteIf (shrt AND NOT Short, "Short At "+(ShortPrice)+" - TSL " + Ref(TrendSL,-1)+ "","")), 13, y-105);

    GfxTextOut
    ( ("" + WriteIf (Relax, "No Trade Zone - Wait","")), 13, y-105);

    GfxTextOut
    ( ("" + WriteIf (Long AND NOT Buy, "Current P/L: "+(C-BuyPrice)+" Points","")), 13, y-85);

    GfxTextOut
    ( ("" + WriteIf (shrt AND NOT Short, "Current P/L: "+(ShortPrice-C)+" Points","")), 13, y-85);

    GfxTextOut
    ( ("" + WriteIf (Long OR Buy OR Shrt OR Short, "Target 1: "+tar1,"")), 13, y-65);

    GfxTextOut
    ( ("" + WriteIf (Long OR Buy OR Shrt OR Short, "Target 2: "+tar2,"")), 13, y-45);

    GfxTextOut
    ( ("" + WriteIf (Long OR Buy OR Shrt OR Short, "Target 3: "+tar3,"")), 13, y-25);

    GfxTextOut
    ( ("" + WriteIf (buyach1, "Target 1: "+tar1+" :: Achiecheved","")), 13, y-65);

    GfxTextOut
    ( ("" + WriteIf (sellach1, "Target 1: "+tar1+" :: Achiecheved","")), 13, y-65);

    GfxTextOut
    ( ("" + WriteIf (buyach2, "Target 2: "+tar2+" :: Achiecheved","")), 13, y-45);

    GfxTextOut
    ( ("" + WriteIf (sellach2, "Target 2: "+tar2+" :: Achiecheved","")), 13, y-45);

    GfxTextOut
    ( ("" + WriteIf (buyach3, "Target 3: "+tar3+" :: Achiecheved","")), 13, y-25);

    GfxTextOut
    ( ("" + WriteIf (sellach3, "Target 3: "+tar3+" :: Achiecheved","")), 13, y-25);



    Filter=Buy OR Short;
    AddColumn( IIf( Buy, 66 , 83 ), "Signal", formatChar, colorDefault, IIf( Buy , colorGreen, colorRed ) );
    AddColumn(Close,"Entry Price",1.4, colorDefault, IIf( Buy , colorGreen, colorRed ));
    AddColumn(Ref(TrendSL,-1),"Stop Loss",1.4, colorDefault, IIf( Buy , colorGreen, colorRed ));
    AddColumn(tar1,"Target 1",1.4, colorDefault, IIf( Buy , colorGreen, colorRed ));
    AddColumn(tar2,"Target 2",1.4, colorDefault, IIf( Buy , colorGreen, colorRed ));
    AddColumn(tar3,"Target 3",1.4, colorDefault, IIf( Buy , colorGreen, colorRed ));
    AddColumn(Volume,"Volume",1.0, colorDefault, IIf ((Volume > 1.25 * EMA( Volume, 34 )),colorBlue,colorYellow));


    // Calculate Equity Curve

    eq = Equity( 1, 0 );

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

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

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


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

    cumPL = SellPL + CovPL;

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

    lsince = lowestSince(Sell OR Cover, cumPL, 0);
    hsince = highestSince(Sell OR cover, CumPL, 0);


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


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

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


    Title = EncodeColor(colorWhite)+ "Nix" + " - " + Name() + " - " + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorWhite) +

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

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


    //Magfied Market Price

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

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

    GfxSetBkMode( colorWhite );

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

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

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

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

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

    DD=Prec(C-YC,2);

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

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

    GfxSetBkMode( colorBlack );

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

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


    _SECTION_END();

    _SECTION_BEGIN("EMA1");
    P = ParamField("Price field",-1);
    Periods = Param("Periods", 200, 2, 300, 1, 10 );
    Plot( EMA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
    _SECTION_END();

    _SECTION_BEGIN("Time Left");

    RequestTimedRefresh( 1 );

    TimeFrame = Interval();

    SecNumber = GetSecondNum();

    Newperiod = SecNumber % TimeFrame == 0;

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

    SecsToGo = TimeFrame - SecsLeft;



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

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



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

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

    if ( NewPeriod )

    {

    GfxSelectSolidBrush( colorYellow );

    GfxSelectPen( colorYellow, 2 );

    Say( "New period" );

    }

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

    //GfxSetBkMode(1);

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

    GfxSetTextColor( colorRed );

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

    _SECTION_END();














    2nd TSI AFL
    ========

    /* Done by Rajandran R */


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

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

    _SECTION_BEGIN("Lin Supertrend");

    SetBarsRequired(100000,0);


    GraphXSpace = 15;

    SetChartOptions(0,chartShowArrows|chartShowDates);

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

    GfxSetBkMode(0);

    GfxSetOverlayMode(1);

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

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



    //SetTradeDelays(1,1,1,1);

    SetOption( "InitialEquity", 250000 );
    SetOption( "MinShares", 1 );
    SetOption( "MinPosValue", 1 );


    SetPositionSize(75,spsShares);



    sig = 0;
    bars =0;
    tar1 =0;
    tar2 = 0;
    tar3=0;


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



    Factor=param("Factor",3,1,3,1);

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


    Up = LinearReg((H+L)*0.5,Pd) + Factor*ATR(Pd);
    Dn = LinearReg((H+L)*0.5,Pd) - Factor*ATR(Pd);

    iATR=ATR(Pd);

    TrendUp=TrendDown=Null;

    trend[0]=1;

    changeOfTrend=0;

    flag=flagh=0;



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

    TrendUp[i] = Null;

    TrendDown[i] = Null;



    trend[i]=1;





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

    trend[i]=1;

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



    }

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

    trend[i]=-1;

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

    }

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

    trend[i]=1;

    changeOfTrend = 0;

    }

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

    trend[i]=-1;

    changeOfTrend = 0;

    }



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

    flag=1;

    }

    else {

    flag=0;

    }



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

    flagh=1;

    }

    else {

    flagh=0;

    }



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

    Dn[i]=Dn[i-1];

    }



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

    { Up[i]=Up[i-1];

    }



    if (flag==1)

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

    }

    if (flagh==1)

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

    }

    if (trend[i]==1) {

    TrendUp[i]=Dn[i];

    if (changeOfTrend == 1) {

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

    changeOfTrend = 0;

    }

    }

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

    TrendDown[i]=Up[i];

    if (changeOfTrend == 1) {

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

    changeOfTrend = 0;

    }

    }

    }



    Plot(TrendUp,"Trend",colorGreen);

    Plot(TrendDown,"Down",colorRed);

    Length =200;

    Buy = trend==1 AND c>EMA(C,Length);
    Sell=trend==-1 ;

    Short=trend==-1 and C<EMA(C,Length);
    Cover=trend==1;

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

    short=ExRem(short,cover);
    cover=ExRem(cover,short);

    Long=Flip(Buy,Sell);
    Shrt=Flip(Short,Cover);
    Relax = NOT Long AND NOT Buy AND NOT shrt AND NOT Sell AND NOT Sell AND NOT Cover;

    BarsSincebuy = BarsSince( Buy );
    BarsSinceshort = BarsSince( Short );
    LastSignal = IIf( BarsSincebuy < BarsSinceshort, 1, -1 );

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

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

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

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

    EncodeColor(colorLime)+

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

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

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

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



    PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-40);
    PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,L, Offset=-50);
    PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-45);
    PlotShapes(IIf(Short, shapeSquare, shapeNone),colorRed, 0, H, Offset=40);
    PlotShapes(IIf(Short, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50);
    PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45);

    PlotShapes(IIf(Sell, shapeStar, shapeNone),colorGold, 0, L, Offset=-15);
    PlotShapes(IIf(Cover, shapeStar, shapeNone),colorGold, 0,L, Offset=-15);

    duration = 10000000;

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

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





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

    sig=0;


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

    {

    if(Buy[i] == 1)

    {

    entry = C[i];

    sig = 1;

    sl = TrendSL[i];

    tar1 = entry + (entry * .0050);

    tar2 = entry + (entry * .0092);

    tar3 = entry + (entry * .0179);



    bars = i;

    i = 0;

    }

    if(Short[i] == 1)

    {

    sig = -1;

    entry = C[i];

    sl = TrendSL[i];

    tar1 = entry - (entry * .0050);

    tar2 = entry - (entry * .0112);

    tar3 = entry - (entry * .0212);





    bars = i;

    i = 0;

    }

    }

    Offset = 20;

    SellSL=ValueWhen(Short,Ref(TrendSL,-1),1);
    BuySL=ValueWhen(Buy,Ref(TrendSL,-1),1);



    Clr = IIf(sig ==1, colorLime, colorRed);

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

    sl = ssl[BarCount-1];





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

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

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






    buyach1 = IIf((Buy OR Long AND NOT Relax AND NOT Cover AND NOT Short AND NOT Shrt), H > tar1, 0);
    buyach2 = IIf((Buy OR Long AND NOT Relax AND NOT Cover AND NOT Short AND NOT Shrt), H > tar2, 0);
    buyach3 = IIf((Buy OR Long AND NOT Relax AND NOT Cover AND NOT Short AND NOT Shrt), H > tar3, 0);

    sellach1 = IIf((Short OR Shrt AND NOT Relax AND NOT Sell AND NOT Buy AND NOT Long), L < tar1, 0);
    sellach2 = IIf((Short OR Shrt AND NOT Relax AND NOT Sell AND NOT Buy AND NOT Long), L < tar2, 0);
    sellach3 = IIf((Short OR Shrt AND NOT Relax AND NOT Sell AND NOT Buy AND NOT Long), L < tar3, 0);


    // Message Board -----------------
    GfxSelectFont( "Tahoma", 13, 100 );

    GfxSetBkMode( 1 );

    GfxSetTextColor
    ( colorWhite );

    if ( SelectedValue( LastSignal ) == 1 )
    {
    GfxSelectSolidBrush( colordarkGreen );
    }
    else
    {
    GfxSelectSolidBrush( colorRed );
    }


    pxHeight = Status( "pxchartheight" ) ;

    xx = Status( "pxchartwidth");

    Left = 1100;

    width = 310;

    x = 5;

    x2 = 290;

    y = pxHeight;

    GfxSelectPen
    ( colorLightBlue, 1); // border color

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


    GfxTextOut( ( "Marketcalls - Supertrend V4.0"),13,y-130);

    GfxTextOut
    ( ("" + WriteIf(Buy, "Go Long At "+C+" - SL " +Ref(TrendSL,-1),"")), 13, y-105);

    GfxTextOut
    ( ("" + WriteIf (Short, "Go Short At "+C+" - SL " +Ref(TrendSL,-1),"")), 13, y-105);


    GfxTextOut
    ( ("" + WriteIf (Sell AND NOT Short, "Exit Long At "+C,"")), 13, y-115);

    GfxTextOut
    ( ("" + WriteIf (Cover AND NOT Buy, "Exit Short At "+C,"")), 13, y-115);


    GfxTextOut
    ( ("" + WriteIf (Long AND NOT Buy, "Long At "+(BuyPrice)+" - TSL " + Ref(TrendSL,-1)+ "","")), 13, y-105);

    GfxTextOut
    ( ("" + WriteIf (shrt AND NOT Short, "Short At "+(ShortPrice)+" - TSL " + Ref(TrendSL,-1)+ "","")), 13, y-105);

    GfxTextOut
    ( ("" + WriteIf (Relax, "No Trade Zone - Wait","")), 13, y-105);

    GfxTextOut
    ( ("" + WriteIf (Long AND NOT Buy, "Current P/L: "+(C-BuyPrice)+" Points","")), 13, y-85);

    GfxTextOut
    ( ("" + WriteIf (shrt AND NOT Short, "Current P/L: "+(ShortPrice-C)+" Points","")), 13, y-85);

    GfxTextOut
    ( ("" + WriteIf (Long OR Buy OR Shrt OR Short, "Target 1: "+tar1,"")), 13, y-65);

    GfxTextOut
    ( ("" + WriteIf (Long OR Buy OR Shrt OR Short, "Target 2: "+tar2,"")), 13, y-45);

    GfxTextOut
    ( ("" + WriteIf (Long OR Buy OR Shrt OR Short, "Target 3: "+tar3,"")), 13, y-25);

    GfxTextOut
    ( ("" + WriteIf (buyach1, "Target 1: "+tar1+" :: Achiecheved","")), 13, y-65);

    GfxTextOut
    ( ("" + WriteIf (sellach1, "Target 1: "+tar1+" :: Achiecheved","")), 13, y-65);

    GfxTextOut
    ( ("" + WriteIf (buyach2, "Target 2: "+tar2+" :: Achiecheved","")), 13, y-45);

    GfxTextOut
    ( ("" + WriteIf (sellach2, "Target 2: "+tar2+" :: Achiecheved","")), 13, y-45);

    GfxTextOut
    ( ("" + WriteIf (buyach3, "Target 3: "+tar3+" :: Achiecheved","")), 13, y-25);

    GfxTextOut
    ( ("" + WriteIf (sellach3, "Target 3: "+tar3+" :: Achiecheved","")), 13, y-25);



    Filter=Buy OR Short;
    AddColumn( IIf( Buy, 66 , 83 ), "Signal", formatChar, colorDefault, IIf( Buy , colorGreen, colorRed ) );
    AddColumn(Close,"Entry Price",1.4, colorDefault, IIf( Buy , colorGreen, colorRed ));
    AddColumn(Ref(TrendSL,-1),"Stop Loss",1.4, colorDefault, IIf( Buy , colorGreen, colorRed ));
    AddColumn(tar1,"Target 1",1.4, colorDefault, IIf( Buy , colorGreen, colorRed ));
    AddColumn(tar2,"Target 2",1.4, colorDefault, IIf( Buy , colorGreen, colorRed ));
    AddColumn(tar3,"Target 3",1.4, colorDefault, IIf( Buy , colorGreen, colorRed ));
    AddColumn(Volume,"Volume",1.0, colorDefault, IIf ((Volume > 1.25 * EMA( Volume, 34 )),colorBlue,colorYellow));


    // Calculate Equity Curve

    eq = Equity( 1, 0 );

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

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

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


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

    cumPL = SellPL + CovPL;

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

    lsince = lowestSince(Sell OR Cover, cumPL, 0);
    hsince = highestSince(Sell OR cover, CumPL, 0);


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


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

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


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

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

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


    //Magfied Market Price

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

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

    GfxSetBkMode( colorWhite );

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

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

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

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

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

    DD=Prec(C-YC,2);

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

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

    GfxSetBkMode( colorBlack );

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

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


    _SECTION_END();

    _SECTION_BEGIN("EMA1");
    P = ParamField("Price field",-1);
    Periods = Param("Periods", 200, 2, 300, 1, 10 );
    Plot( EMA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
    _SECTION_END();

    _SECTION_BEGIN("Time Left");

    RequestTimedRefresh( 1 );

    TimeFrame = Interval();

    SecNumber = GetSecondNum();

    Newperiod = SecNumber % TimeFrame == 0;

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

    SecsToGo = TimeFrame - SecsLeft;



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

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



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

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

    if ( NewPeriod )

    {

    GfxSelectSolidBrush( colorYellow );

    GfxSelectPen( colorYellow, 2 );

    Say( "New period" );

    }

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

    //GfxSetBkMode(1);

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

    GfxSetTextColor( colorRed );

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

    _SECTION_END();[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
     
    vsaran and suri112000 like this.

Share This Page