Conservative strategy

suri112000

Well-Known Member
#1
Hi,

I need somebody's help in exploring this. Nifty futures in 5 min TF. Supertrend indicator with settings

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

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

Anybody who is interested in this task need to do just 5 min job per day. They need to mark the entry and exit points on the chart as per the rules i am going to disclose once the volunteers come forward. 5 volunteers means 5 min job in a week per each volunteer. I assure some knowledge building for the volunteers.
 

suri112000

Well-Known Member
#3
Shaw,

Thanks for volunteering.:thumb:

copy and save this Supertrend AFL. I hope you know that you need to have RT data feed for Nifty futures.

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

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

_SECTION_BEGIN("SuperTrend Ver 3.0 with Sound and Popup Alert");
//ApplyStop(stopTypeLoss, stopModePoint, Optimize( "max. loss stop level", 75, 40, 100, 10 ), True );
//ApplyStop(stopTypeProfit, stopModePoint, Optimize( "Profit target level", 400, 200, 800, 50 ), True );

SetBarsRequired(100000,0);

GraphXSpace = 15;

SetChartOptions(0,chartShowArrows|chartShowDates);

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

GfxSetBkMode(0);

GfxSetOverlayMode(1);

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

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

/*Initial Values overrides you backtesting settings*/

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

SetPositionSize(1,spsShares);





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



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

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

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

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


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

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

iATR=ATR(Pd);

TrendUp=TrendDown=Null;

trend[0]=1;

changeOfTrend=0;

flag=flagh=0;



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

TrendUp = Null;

TrendDown = Null;



trend=1;





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

trend=1;

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



}

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

trend=-1;

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

}

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

trend=1;

changeOfTrend = 0;

}

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

trend=-1;

changeOfTrend = 0;

}



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

flag=1;

}

else {

flag=0;

}



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

flagh=1;

}

else {

flagh=0;

}



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

Dn=Dn[i-1];

}



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

{ Up=Up[i-1];

}



if (flag==1)

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

}

if (flagh==1)

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

}

if (trend==1) {

TrendUp=Dn;

if (changeOfTrend == 1) {

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

changeOfTrend = 0;

}

}

else if (trend==-1) {

TrendDown=Up;

if (changeOfTrend == 1) {

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

changeOfTrend = 0;

}

}

}



Plot(TrendUp,"Trend",colorGreen);

Plot(TrendDown,"Down",colorRed);



Buy = trend==1;

Sell=trend==-1;



Buy=ExRem(Buy,Sell);

Sell=ExRem(Sell,Buy);

Short=Sell;

Cover=Buy;





BuyPrice=ValueWhen(Buy,C);

SellPrice=ValueWhen(Sell,C);

ShortPrice=ValueWhen(Short,C);

CoverPrice=ValueWhen(Cover,C);



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

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

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

EncodeColor(colorLime)+

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

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

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

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



PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-40);

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

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

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

*/

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




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

{

if(Buy == 1)

{

entry = C;

sig = "BUY";

sl = TrendSL;

tar1 = entry + (entry * .0050);

tar2 = entry + (entry * .0092);

tar3 = entry + (entry * .0179);



bars = i;

i = 0;

}

if(Sell == 1)

{

sig = "SELL";

entry = C;

sl = TrendSL;

tar1 = entry - (entry * .0050);

tar2 = entry - (entry * .0112);

tar3 = entry - (entry * .0212);





bars = i;

i = 0;

}

}

Offset = 20;

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

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

sl = ssl[BarCount-1];



/*

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

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

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

*/

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

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



/*

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

{

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

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



}*/



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

if (messageboard == 1 )

{

GfxSelectFont( "Tahoma", 13, 100 );

GfxSetBkMode( 1 );

GfxSetTextColor( colorWhite );



if ( sig =="BUY")

{

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

}

else

{

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

}

pxHeight = Status( "pxchartheight" ) ;

xx = Status( "pxchartwidth");

Left = 1100;

width = 310;

x = 5;

x2 = 290;



y = pxHeight;



GfxSelectPen( colorGreen, 1); // broader color

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

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

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

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

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

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

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

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

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

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



}


// Calculate Equity Curve

eq = Equity( 1, 0 );

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

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

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


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

cumPL = SellPL + CovPL;

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

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


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


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

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

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

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

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

//Magfied Market Price

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

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

GfxSetBkMode( colorWhite );

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

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

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

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

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

DD=Prec(C-YC,2);

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

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

GfxSetBkMode( colorBlack );

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

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


_SECTION_END();

_SECTION_BEGIN("Time Left");


RequestTimedRefresh( 1 );

TimeFrame = Interval();

SecNumber = GetSecondNum();

Newperiod = SecNumber % TimeFrame == 0;

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

SecsToGo = TimeFrame - SecsLeft;



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

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



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

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

if ( NewPeriod )

{

GfxSelectSolidBrush( colorYellow );

GfxSelectPen( colorYellow, 2 );

Say( "New period" );

}

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

//GfxSetBkMode(1);

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

GfxSetTextColor( colorRed );

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

_SECTION_END();
 

Purushotham

Well-Known Member
#4
Suri garu,

I am not full time trader, but i will be watching the system (charts) whenever time permits and Rt chart feeding to AMI is available. If this is ok with you, Then I am also in.
 

suri112000

Well-Known Member
#6
Reverse writing our brain.

At the initial years, whatever you do you will loose money in trading. It has got something to do with our psychology. We are wired by nature to loose money in the market. Unless we rewire our brain, it is almost impossible to win in this market. But, how to do it?

If you recall your earlier trading experiences, it is clearly evident that you played to win in this market. But the result you lost. If we by choice play to loose in the market, will we win, just being the opposite of what we had been doing.

Lets start rewiring our brains.

We will aim to loose our money in the next 30 trading days. But there is a catch. We need to loose our money by being and following some laid down criteria. Simply you cannot through your trades and loose money. There will be entry criteria, Stop loss and exit rules. Any loss made without following this criteria does not amount to loosing your money. Any loss made out of this scope is regarded as gambling activity which is not at all associated with Trading.

So, for simplicity, we will have an exact entry criteria, Stop Loss exits and Profit target exits. Our aim is to exit all our trades in next 30 trading trades, at Stop Loss hits. We have been making losses all these years. It should not be difficult to achieve this. If the trade does not hit your stop loss, but goes otherside far....then too far........then tooooooooooooo far, we will exit the trade with profit on meeting with some criteria because we donot want to earn more in this trade because the profits are getting added to capital and we will not be able to loose money within 30 trading days.

Hope I am clear. If you are clear with this I will set some rules and we will start the excerise.:)
 

vijkris

Learner and Follower
#7
Reverse writing our brain.

At the initial years, whatever you do you will loose money in trading. It has got something to do with our psychology. We are wired by nature to loose money in the market. Unless we rewire our brain, it is almost impossible to win in this market. But, how to do it?

If you recall your earlier trading experiences, it is clearly evident that you played to win in this market. But the result you lost. If we by choice play to loose in the market, will we win, just being the opposite of what we had been doing.

Lets start rewiring our brains.

We will aim to loose our money in the next 30 trading days. But there is a catch. We need to loose our money by being and following some laid down criteria. Simply you cannot through your trades and loose money. There will be entry criteria, Stop loss and exit rules. Any loss made without following this criteria does not amount to loosing your money. Any loss made out of this scope is regarded as gambling activity which is not at all associated with Trading.

So, for simplicity, we will have an exact entry criteria, Stop Loss exits and Profit target exits. Our aim is to exit all our trades in next 30 trading trades, at Stop Loss hits. We have been making losses all these years. It should not be difficult to achieve this. If the trade does not hit your stop loss, but goes otherside far....then too far........then tooooooooooooo far, we will exit the trade with profit on meeting with some criteria because we donot want to earn more in this trade because the profits are getting added to capital and we will not be able to loose money within 30 trading days.

Hope I am clear. If you are clear with this I will set some rules and we will start the excerise.:)
intersting...
how much time it ll take to rewire?:D
i m askin this bcos even while reading ur post my brain refused to believe that we ll be aiming for stoploss. :p
 

suri112000

Well-Known Member
#8
intersting...
how much time it ll take to rewire?:D
i m askin this bcos even while reading ur post my brain refused to believe that we ll be aiming for stoploss. :p
What if i reward you Rs.10 lakh if you loose your trading account size of Rs.2 lakhs by trading Nifty futures for next 30 trading days by the rules set by me. Loosing here means you will not have enough funds in the trading account to trade on 31st day or before. If your account size grows by Rs.10,000 after completing 30 trading days, you have to give me Rs.2 lakhs. Any mistake in the execution is your mistake, but not mine.
 

suri112000

Well-Known Member
#9
Suri garu,

I am not full time trader, but i will be watching the system (charts) whenever time permits and Rt chart feeding to AMI is available. If this is ok with you, Then I am also in.
Welcome. Spare few minutes a day on Nifty futures chart and this thread, you will see some change in your trading results.