Reliable approach to Trading

On your path to successful in trading?

  • Blown my 1st trading a/c

    Votes: 41 30.8%
  • Blown my 2nd trading a/c as well

    Votes: 34 25.6%
  • Blown my 3rd trading a/c and more

    Votes: 55 41.4%
  • Burnt fingers subscribing to Tips providers, Buy/sell softwares, seminars

    Votes: 27 20.3%
  • Learnt trading on my own

    Votes: 77 57.9%
  • Learnt trading through a mentor

    Votes: 14 10.5%
  • Learnt trading from Internet

    Votes: 77 57.9%
  • Learnt trading from books

    Votes: 40 30.1%
  • Had made losses for less than 3 years before succeeding

    Votes: 29 21.8%
  • Made losses for more than 3 years before succeeding

    Votes: 41 30.8%

  • Total voters
    133

suri112000

Well-Known Member
#11
I strongly believe that winning in stock markets is a matter of skill and discipline, not luck. You require enough details about the stock and proper tools for successful trading.
This thread is about what is quoted in red above. It takes time to harness your skill and discipline. Most of the failures are attributable to the desire to make quick money and betting very high on their trades. By the time you realize that it is a marathon but not a sprint, you could have lost most of your money and time.

The long term survival is the secret of trading success. Some of the ways are discussed in this thread itself. The following link elaborates on how to survive for longer periods.

http://www.traderji.com/words-wisdom/94937-learning-curve-day-trading.html
 

suri112000

Well-Known Member
#12
I put forward something familiar with most of us who have enough of trading experience. Please spare sometime to understand it thoroughly. It might change the way you trade for betterment.

It is said that simple things work in trading. They may be moving average crossovers, oscillators etc.

So, I thought of making a system which is based on 20 period Moving average on 5 min chart. I enumerate below the trading rules followed by different charts where it worked or failed. Also I will try to analyse the occasions where we have missed a big move because of rule restrictions and how such missed moves mesmerises us to take trades which are not setup and lures us to take the trade without setup and lures us to step out of discipline. I will try to give examples of the traps when we depart from trading discipline and get killed.

So, now the rules.

Price should close above 20 MA High and the bar should be green. Let us call this 1st bar. Immediate next bar should be red. If this bar is not red, then it has lower high than first bar and could be either red or green. Let us call this as second bar. The third bar should invariably lower than the highs of 1st or 2nd bar. Then the buy is set up. Buy on break of these three bars high. Stop Loss is below lowest of 2nd or 3rd bars. Take profit is 3 times of the risk. Similarly reverse the rules for shorts.

Now let us see from the next posts, the untold story of a trading indiscipline.:D
 
Last edited:

suri112000

Well-Known Member
#16
PHP:
//TODO:
//1. Remember F, AO, AC and Zone Add Ons signals and hits
//2. Integrate squat bars with exit signals somehow.
//3. five magic bullets - for taking profit

//Alligator lines
//---------------

//The Blue balance line is where the price would be on this time frame if there were no new incoming information,
//in other words, the market only moves when there is Chaos present.
AlligatorBlue=Ref(Wilders(Avg,13),-8);
//Plot(AlligatorBlue, "Jaw", colorDarkBlue, styleLine | styleThick);
AlligatorRed=Ref(Wilders(Avg,8),-5);
//Plot(AlligatorRed, "Teeth", colorRed, styleLine | styleThick);
AlligatorGreen=Ref(Wilders(Avg,5),-3);
//Plot(AlligatorGreen, "Leeps", colorGreen, styleLine | styleThick);

//The PURPLE line is a 5 bar SIMPLE moving average of the bar’s CLOSE offset 3 bars into the future
//PurpleLine = MA(Ref(C,-3),5);
//if( ParamToggle("Show Purple Line", "No|Yes", 0))
//{	Plot(PurpleLine , "Purple", colorViolet, styleLine | styleThick);
//}

//AO
//---------------
AO = MA( Avg,5) - MA( Avg , 34);

AOUpBar = AO > Ref(AO, -1);
AODownBar = AO < Ref(AO, -1);

//AC
//---------------
MAAvg34=MA( Avg , 34);
MAAvg5 = MA( Avg,5);
MADiff = MAAvg5 - MAAvg34;
AC = MA(MADiff - MA(MADiff, 5), 5);

ACUpBar = AC > Ref(AC, -1);

ACDownBar = AC < Ref(AC, -1);

//Squat Bar
//---------
//Squat bars are a battle of the bulls and the bears, with lots of buying and selling but little price movement.  
//A squat bar will be one of the top three OR bottom three bars 85% of the time at the end of a trend.
//While all trends end with a squat, all squats are NOT the end of a trend.
MarketFacilitionIndex =(H-L)/V;
SquatBar = MarketFacilitionIndex < Ref(MarketFacilitionIndex, -1) AND Volume > Ref(Volume, -1);
ShowSquatBars = ParamToggle("Show Squat Bars", "No|Yes", 1);

//Price Bar
//---------
GreenBar = AOUpBar AND ACUpBar;
RedBar = AODownBar AND ACDownBar;
PriceBarColor = IIf(GreenBar, colorBrightGreen , IIf(RedBar, colorRed, colorGrey40));
PriceBarColor = IIf(ShowSquatBars AND SquatBar, colorBlue, PriceBarColor);

//Plot( C, "Close", PriceBarColor , styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); 
//if( ParamToggle("Tooltip shows", "All Values|Only Prices" ) )
//{
// ToolTip=StrFormat("Open: %g\nHigh:  %g\nLow:   %g\nClose:  %g (%.1f%%)\nVolume: "+NumToStr( V, 1 ), O, H, L, C, SelectedValue( ROC( C, 1 )));
//}

//Fractal up
//----------
fUp = (Ref(H,-2) > Ref(H, -4)) AND
  (Ref(H,-2) > Ref(H, -3)) AND
  (Ref(H,-2) > Ref(H, -1)) AND
  (Ref(H,-2) > H);
var1=ValueWhen(fUp ,Ref(H,-2) ,1); 
FractalUp=HighestSince(var1 > 0, var1, 1);
//Plot(FractalUp, "F+",colorLime , styleLine | styleDots);

FUpBuyPrice = FractalUp + 0.01;
FUpHit = FUpBuyPrice <= H AND FUpBuyPrice >= L;
FUpSignalOn = Flip(Ref(FractalUp,-1) != FractalUp, FUpHit);

//Looks into the future. This is done only to display Fractal arrow at the right bar.
//The calculation of the fractal up is done without looking into the future.
PlotShapes(IIf(Ref(FractalUp,2) != Ref(FractalUp,1), shapeSmallUpTriangle, shapeNone), colorGreen,0,Ref(FractalUp,2), 10);

//Fractal Down
//------------
var2= 
	(Ref(L,-2) <= Ref(L, -1)) AND
	(Ref(L,-2) <= Ref(L, 0)) AND
	(Ref(L,-2) <= Ref(L, -3)) AND
	(Ref(L,-2) <= Ref(L, -4));
FractalDown=ValueWhen(var2, Ref(L,-2), 1);

FDownSellPrice= FractalDown+ 0.01;
FDownHit = FDownSellPrice <= H AND FDownSellPrice >= L;
FDownSignalOn = Flip(Ref(FractalDown,-1) != FractalDown, FDownHit );

//Plot(FractalDown, "F-", colorGrey40, styleLine | styleDots);
//Looks into the future. This is done only to display Fractal arrow at the right bar.
//The calculation of the fractal up is done without looking into the future.
PlotShapes(IIf(Ref(FractalDown,2) != Ref(FractalDown,1), shapeSmallDownTriangle, shapeNone), colorRed,0,Ref(FractalDown,2), 10);



//Exits
//-----
Bar5LongExit = Ref(GreenBar, -4) AND Ref(GreenBar, -3) AND Ref(GreenBar, -2) AND Ref(GreenBar, -1) AND GreenBar;
Bar5ShortExit = Ref(RedBar, -4) AND Ref(RedBar, -3) AND Ref(RedBar, -2) AND Ref(RedBar, -1) AND RedBar;

Bar5LongPrice = LowestSince(Bar5LongExit, L) - 0.01;
Bar5LongHit = L <= Ref(Bar5LongPrice, -1);
Bar5LongOn = Flip(Bar5LongExit, Bar5LongHit);

Bar5ShortPrice = LowestSince(Bar5ShortExit, H) + 0.01;
Bar5ShortHit =  H >= Ref(Bar5ShortPrice, -1);
Bar5ShortOn = Flip(Bar5ShortExit, Bar5ShortHit);

GreenLineLongExit = Cross(AlligatorGreen, C);
RedLineLongExit = Cross(AlligatorRed, C);
GreenLineShortExit = Cross(AlligatorGreen, C);
RedLineShortExit = Cross(AlligatorRed, C);

//Zones (Add-Ons)
//---------------
//"Add-On" Buy (Sell):
//(1) The Momentum is still going up (down).
//(2) The Accelerator is moving up (down).
//(3) The Price is closing higher (lower).
//It is rare to continue to get over six to eight bars of the same color - No add ons after 5 consecutive bars.

AddOnBuy = Ref(GreenBar,-1) AND GreenBar AND C > Ref(C,-1) AND NOT Bar5LongExit;
AddOnSell = Ref(RedBar,-1) AND RedBar AND C < Ref(C,-1) AND NOT Bar5ShortExit;

//Balance Lines
//-------------
//1. If we are going toward the Balance Line, we place our Signal at base + two higher highs (lower lows).
//2. If we are going away from the Balance Line, we use base + one higher High (lower Low).
//3. If the current bar is red (green) and we are above the blue (Green) Balance Line AND looking for Buy (sell)signals
//   we double the number of lower low (higher high) bars needed.
//4. Base Bar is the Lowest High (Highest Low) in buy (sell). Signal Bar is the bar before the base bar. 
//5. Buy (Sell) stop is defined as the High (Low) + 1 tick of the Signal Bar.
//6. As long as the Signal bar itself is above the Balance Line, we act as if the entire formation were above the Balance Line.
//7. The buy (sell) stop stays in place unless
//		(a) it is triggered
//		OR
//		(b) another bar with a lower High (Higher Low) is formed, creating a different base bar.
//8. You do not sell above the Alligator's mouth and you do not buy below the Alligator's mouth.

AboveAll = L > AlligatorRed AND L > AlligatorBLue AND L > AlligatorGreen;
BelowAll = H < AlligatorRed AND H < AlligatorBLue AND H < AlligatorGreen;

//Buys. Only above balance lines for now 
LowerHigh = Ref(H, -1) > H;
//Double the number of LowerHighs Required on RedBar
BuySignalRef = IIf(RedBar, 2, 1);
//"BuySignalRef =" +WriteVal(BuySignalRef );
//1 or 2 lower highs above balance line
BLBuyCondition = Ref(AboveAll,-BuySignalRef) AND LowerHigh AND IIf(RedBar, Ref(LowerHigh,-1) , True);
//"BLBuyCondition =" +WriteVal(BLBuyCondition );
//Update price if new buy signal is on, otherwise use previous price:

BLBuyPrice = LowestSince(BLBuyCondition, Ref(H,-BuySignalRef)+0.01, 1);
//"Buy Hit="+WriteVal(H > Ref(BLBuyPrice,-1)) +" at"+WriteVal(Ref(BLBuyPrice,-1));

//Keep buy signal on until it is hit or marked is below all balance lines:
BLBuySignal = Flip(BLBuyCondition , ((NOT BLBuyCondition) AND H >= Ref(BLBuyPrice,-1)) OR BelowAll);
//"BLBuySignal "+WriteVal(BLBuySignal)+" BLBuyPrice="+WriteVal(BLBuyPrice);
BLBuyHit = Ref(BLBuySignal, -1) AND (NOT BLBuyCondition) AND H >= Ref(BLBuyPrice,-1);

//Note that if new buy signal is after a still valid older signal, we choose the lowest from both of them
BLBuyPrice = IIf(Ref(BLBuySignal,-1), Min(BLBuyPrice, Ref(BLBuyPrice,-1)), BLBuyPrice);


//Sells. Only below balance lines for now 

HigherLow = Ref(L, -1) < L;
//Double the number of LowerHighs Required on GreenBar
SellSignalRef = IIf(GreenBar, 2, 1);
//"SellSignalRef =" +WriteVal(SellSignalRef );
//1 or 2 higher lows above balance line
BLSellCondition = Ref(BelowAll, -SellSignalRef) AND HigherLow AND IIf(GreenBar, Ref(HigherLow,-1) , True);
//"BLSellCondition =" +WriteVal(BLSellCondition);
//Update price if new sell signal is on, otherwise use previous price:
BLSellPrice = HighestSince(BLSellCondition , Ref(L,-SellSignalRef)-0.01, 1);

//"Sell Hit="+WriteVal((NOT BLSellCondition) AND L < Ref(BLSellPrice,-1)) +" at"+WriteVal(Ref(BLSellPrice,-1));
//Keep buy signal on until it is hit or market is above all balance lines
BLSellSignal = Flip(BLSellCondition, ((NOT BLSellCondition) AND L <= Ref(BLSellPrice,-1)) OR AboveAll);
//"BLSellSignal"+WriteVal(BLSellSignal)+" BLSellPrice="+WriteVal(BLSellPrice);
BLSellHit = Ref(BLSellSignal, -1) AND (NOT BLSellCondition) AND L <= Ref(BLSellPrice,-1);

//Note that if new sell signal is after a still valid older signal, we choose the highest from both of them
BLSellPrice = IIf(Ref(BLSellSignal,-1), Max(BLSellPrice, Ref(BLSellPrice,-1)), BLSellPrice);

//Bars Analysis
//-------------
Third = (H-L) / 3;
Line1 = H - Third;
Line2 = L + Third;
Half = L + ((H-L) / 2);

//After an extreme bar 85% of the time the market will change direction within the next 1-5 bars.
ExtremeBarUp = Open > Line1 AND Close > Line1;
ExtremeBarDown = Open < Line2 AND Close < Line2;
ExtremeBar = ExtremeBarUp OR ExtremeBarDown; 

//Bullish AND Bearish Bars Inside the mouth do NOT create a Signal. 
OutsideMouth = NOT ((H < AlligatorBlue AND L > AlligatorGreen) OR (L > AlligatorBlue AND H < AlligatorGreen));
//Bullish Divergence Bars
BullDivBar = OutsideMouth AND L < Ref(L,-1) AND C > Half;
//Bearish Divergence Bars
BearDivBar = OutsideMouth AND H > Ref(H, -1) AND C < Half;

//PlotShapes(IIf(ExtremeBar, shapeSmallCircle ,shapeNone), colorBlue, 0, H, 12);
//PlotShapes(IIf(BullDivBar, shapeSmallCircle ,shapeNone), colorGreen, 0, L, -12);
//PlotShapes(IIf(BearDivBar, shapeSmallCircle ,shapeNone), colorRed, 0, H, 12);

//Commentary:

WriteIf(ExtremeBarUp OR ExtremeBarDown, "Possible Change of direction within the next 1-5 bars. (Extreme Bar)\n","")+
"Buy Signals:\n"+
WriteIf(FUpSignalOn , "Place Buy Stop if Price rises to" +WriteVal(FUpBuyPrice)+ " or higher. (F+)\n","")+
WriteIf(BullDivBar, "Place Buy Stop if Price rises to" +WriteVal(H+0.01)+ " or higher. (Bullish Divergent Bar)\n","")+
WriteIf(AddOnBuy, "Place Buy Stop if Price rises to" +WriteVal(H+0.01)+ " or higher. (Zones Add On Buy)\n","")+
WriteIf(BLBuySignal,"Place Buy Stop if Price rises to" +WriteVal(BLBuyPrice)+ " or higher. (BL+)\n","")+

"Sell Signals:\n"+
WriteIf(FDownSignalOn , "Place Sell Stop if Price falls to" +WriteVal(FDownSellPrice)+ " or lower. (F-)\n","")+
WriteIf(BearDivBar, "Place Sell Stop if Price falls to" +WriteVal(L-0.01)+ " or lower. (Bearish Divergent Bar)\n","")+
WriteIf(AddOnSell, "Place Sell Stop if Price falls to" +WriteVal(L-0.01)+ " or lower. (Zones Add On Sell)\n","")+
WriteIf(BLSellSignal,"Place Sell Stop if Price falls to" +WriteVal(BLSellPrice)+ " or lower. (BL-)\n","")+

"Hits:\n"+
WriteIf(BLBuyHit,"Buy Stop Hit at" +WriteVal(Ref(BLBuyPrice,-1))+ ". (BL+)\n","")+
WriteIf(BLSellHit,"Sell Stop Hit at" +WriteVal(Ref(BLSellPrice,-1))+ ". (BL-)\n","")+

WriteIf(Ref (FUpSignalOn, -1) AND FUpHit,"Buy Stop Hit at" +WriteVal(Ref(FUpBuyPrice,-1))+ ". (F+)\n","")+
WriteIf(Ref (FDownSignalOn, -1) AND FDownHit,"Sell Stop Hit at" +WriteVal(Ref(FDownSellPrice,-1))+ ". (F-)\n","")+

WriteIf(Ref(Bar5LongOn , -1) AND Bar5LongHit, "Close all positions Hit at" +WriteVal(Ref(Bar5LongPrice,-1))+ ". (Long Five Consecutive Bars Exit)\n","")+
WriteIf(Ref(Bar5ShortOn , -1) AND Bar5ShortHit, "Close all positions Hit at" +WriteVal(Ref(Bar5ShortPrice,-1))+ ". (Short Five Consecutive Bars Exit)\n","")+

"Exits:\n"+

WriteIf(Bar5LongOn , "Long Five Consecutive Bars Exit Strategy: Close all Long positions if Price falls to" +WriteVal(Bar5LongPrice)+ " or lower.\n","")+
WriteIf(Bar5ShortOn, "Short Five Consecutive Bars Exit Strategy: Close all Short positions if Price rises to" +WriteVal(Bar5ShortPrice)+ " or higher.\n","")+

WriteIf(GreenLineLongExit, "Green Line Long Exit Strategy: All Long positions should have been closed when Close Price fell below "+WriteVal(AlligatorGreen)+".\n","")+
WriteIf(RedLineLongExit, "Red Line Long Exit Strategy: All Long positions should have been closed when Close Price fell below "+WriteVal(AlligatorRed)+".\n","")+
WriteIf(GreenLineShortExit, "Green Line Short Exit Strategy: All Short positions should have been closed when Close Price rose above "+WriteVal(AlligatorGreen)+".\n","")+
WriteIf(RedLineShortExit, "Red Line Short Exit Strategy: All Short positions should have been closed when Close Price rose aboce "+WriteVal(AlligatorRed)+".\n","");

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[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);



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);

AlertIf( Buy , "SOUND C:\\Windows\\Media\\Cityscape\\Windows Exclamation.wav", "Audio alert", 2 ); 
AlertIf( Sell , "SOUND C:\\Windows\\Media\\Cityscape\\Windows Exclamation.wav", "Audio alert", 2 );


AlertIf( Cover , "SOUND C:\\Windows\\Media\\Cityscape\\Windows Exclamation.wav", "Audio alert", 2 ); 
AlertIf( Short , "SOUND C:\\Windows\\Media\\Cityscape\\Windows Exclamation.wav", "Audio alert", 2 );



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[i] == 1)

{

entry = C[i];

sig = "BUY";

sl = TrendSL[i];

tar1 = entry + (entry * .0050);

tar2 = entry + (entry * .0092);

tar3 = entry + (entry * .0179);

 

bars = i;

i = 0;

}

if(Sell[i] == 1)

{

sig = "SELL";

entry = C[i];

sl = TrendSL[i];

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();
This is supertrend AFL with Bill Williams fractals.

Use it on 5 min TF. Only 1 trade per day. Entry on break on latest fractal in direction of supertrend. Exit on break of reversal fractal.

I am not a big fan of Intraday. But this is to help those who have keep interest in intraday trading. This method helps them not to overtrade and helps them to instil discipline.

This helps to increase overall return on your other positions.
 

suri112000

Well-Known Member
#17
deleted as the post repeated.
 
#18
deleted as the post repeated.
Hi Suri,

I see that you love experimenting with various systems and try to come up with out of the box thinking.

I am curious as to what specific system do you trade?-->I am not trying to probe the secret recipe of your system, interested in academic point of view. Of course i won't mind if you share the recipe ;)

Do you also have separate systems for stocks, derivatives, commodities etc?

Lastly, how do you come up with all the tweaks as i have seen you dabbled with super trend to fractals? Do you read journals related to trading or subscribe to magazines like traders. com....

Thanks and Have a nice day..
 

suri112000

Well-Known Member
#19
Hi Suri,

I see that you love experimenting with various systems and try to come up with out of the box thinking.

I am curious as to what specific system do you trade?-->I am not trying to probe the secret recipe of your system, interested in academic point of view. Of course i won't mind if you share the recipe ;)

Do you also have separate systems for stocks, derivatives, commodities etc?

Lastly, how do you come up with all the tweaks as i have seen you dabbled with super trend to fractals? Do you read journals related to trading or subscribe to magazines like traders. com....

Thanks and Have a nice day..
This is the result of 8 years time with a minimum of 4 hours each day to educate myself about trading. I donot feel shame to say that I have collected much of the garbage in the process. For the last 2 years I am in the process of unlearning the garbage and refreshing the required skills.

Having a successful system is only 10% of the game. 90% of the game entirely depends on us. People give it various names viz psychology, money management, scale in, etc etc. I feel to be successful in trading, one should have extraordinary patience. Entry is the easiest part in trading. Yet 90% people make mistakes here due to various reasons. I feel if the entry is mastered, 90% of the trading mystery is solved. Exit is the toughest part. Experience takes care of it.

I read lot of books, magazines, blogs, websites associated with trading. I spend lot of time searching for value picks in equities based on fundamental analysis.
 
#20
This is the result of 8 years time with a minimum of 4 hours each day to educate myself about trading. I donot feel shame to say that I have collected much of the garbage in the process. For the last 2 years I am in the process of unlearning the garbage and refreshing the required skills.

Having a successful system is only 10% of the game. 90% of the game entirely depends on us. People give it various names viz psychology, money management, scale in, etc etc. I feel to be successful in trading, one should have extraordinary patience. Entry is the easiest part in trading. Yet 90% people make mistakes here due to various reasons. I feel if the entry is mastered, 90% of the trading mystery is solved. Exit is the toughest part. Experience takes care of it.

I read lot of books, magazines, blogs, websites associated with trading. I spend lot of time searching for value picks in equities based on fundamental analysis.
Thanks Suri for sharing your story...:thumb:

Didn't realize that you have your leg in fundamental analysis as well..:clapping:
 

Similar threads