# Videos Published Explaining Code for the ES.D DayTrade (V-ORBO) Strategy

Two videos have been uploaded to youTube describing the strategy and strategy based indicator that I discussed in the prior post.  Here is todays action (Friday 9th of April).

## What’s In The Videos?

Getting the Shading of the Break Out Box requires some tweaking of the indicator properties.  Part A shows how to do this – remember the code is available in the prior post.  In Part B I break down the code and show I first was inspired to develop the indicator and then figured developing the strategy would help create the indicator.  I describe both sources in the Part B.

PART-A

PART-B

# Did that Title get your Attention?

I didn’t say a very good Free System!  This code is really cool so I thought I would share with you.  Take a look at this rather cool picture.

Thanks to a reader of this blog (AG), I got this idea and programmed a very simple day trading system that incorporated a volatility trailing stop.  I wanted to make sure that I had it programmed correctly and always wanted to draw a box on the chart – thanks to (TJ) from MC forums for getting me going on the graphic aspect of the project.

Since I have run out of time for today – need to get a haircut.  I will have to wait till tomorrow to explain the code.  But real quickly the system.

Buy x% above first y bar high and then set up a trailing stop z% of y bar average range – move to break-even when profits exceed  \$w.  Opposite goes for the short side.  One long and one short only allowed during the day and exit all at the close.

## What the heck here is the code for the Strategy.

``inputs: startTradeTime(930),startTradeBars(6),endTradeTime(1530),		breakOutVolPer(0.5),trailVolPer(.25),breakEven\$(500);		vars:	longsToday(0),shortsToday(0),		longStop(0),shortStop(0),		longTrail(0),shortTrail(0),		trailVolAmt(0),		barCount(0),highToday(0),lowToday(0),		volAmt(0),mp(0);		if t = startTradeTime + barinterval thenbegin	longsToday = 0;	shortsToday = 0;	longStop = 0;	shortStop = 0;	longTrail = 0;	shortTrail = 99999999;	barCount = 0;	highToday = 0;	lowToday = 999999999;end;highToday = maxList(h,highToday);lowToday = minList(l,lowToday);mp = marketPosition;barCount +=1;if barCount >= startTradeBars thenbegin	volAmt = average(range,startTradeBars);	if barCount = startTradeBars then	begin		longStop = highToday + breakOutVolPer * volAmt;		shortStop = lowToday - breakOutVolPer * volAmt;	end;	if t < endTradeTime then		begin		if longsToday = 0 then buy("volOrboL") next bar at longStop stop;		if shortsToday = 0 then sellShort("volOrboS") next bar shortStop stop;	end;	trailVolAmt = volAmt * trailVolPer;	if mp = 1 then	begin		longsToday +=1;		if c > entryPrice + breakEven\$/bigPointValue then			longTrail = maxList(entryPrice,longTrail);		longTrail = maxList(c - trailVolAmt,longTrail);		sell("L-TrlX") next bar at longTrail stop;	end;	if mp = -1 then	begin		shortsToday +=1;		if c < entryPrice - breakEven\$/bigPointValue then			shortTrail = minList(entryPrice,shortTrail);		shortTrail = minList(c + trailVolAmt,shortTrail);		buyToCover("S-TrlX") next bar at shortTrail stop;	end;end;setExitOnClose;``
I will comment in a later post!

And the code for the Strategy Tracking Indicator.

``inputs: startTradeTime(930),startTradeBars(6),endTradeTime(1530),		breakOutVolPer(0.5),trailVolPer(.25),breakEven\$(500);		vars:	longsToday(0),shortsToday(0),		longStop(0),shortStop(0),		longTrail(0),shortTrail(0),		trailVolAmt(0),		barCount(0),highToday(0),lowToday(0),		volAmt(0),mp(0);		if t = startTradeTime + barinterval thenbegin	longsToday = 0;	shortsToday = 0;	longStop = 0;	shortStop = 0;	longTrail = 0;	shortTrail = 99999999;	barCount = 0;	highToday = 0;	lowToday = 999999999;	mp = 0;end;highToday = maxList(h,highToday);lowToday = minList(l,lowToday);		barCount +=1;vars: iCnt(0),mEntryPrice(0),myColor(0);if barCount >= startTradeBars  thenbegin	volAmt = average(range,startTradeBars);	if barCount = startTradeBars then	begin		longStop = highToday + breakOutVolPer * volAmt;		shortStop = lowToday - breakOutVolPer * volAmt;		for iCnt = 0 to startTradeBars-1		begin			plot1[iCnt](longStop,"BuyBO",default,default,default);			plot2[iCnt](shortStop,"ShrtBo",default,default,default);		end;	end;	if t < endTradeTime then	begin		if longsToday = 0 and h >= longStop then 		begin			mp = 1;			mEntryPrice = maxList(o,longStop);			longsToday += 1;		end;		if shortsToday = 0 and l <= shortStop then		begin			mp = -1;			mEntryPrice = minList(o,shortStop);			shortsToday +=1;		end;			plot3(longStop,"BuyBOXTND",default,default,default);		plot4(shortStop,"ShrtBOXTND",default,default,default);	end;		trailVolAmt = volAmt * trailVolPer;		if mp = 1 then	begin		if c > mEntryPrice + breakEven\$/bigPointValue then			longTrail = maxList(mEntryPrice,longTrail);		longTrail = maxList(c - trailVolAmt,longTrail);		plot5(longTrail,"LongTrail",default,default,default);	end;	if mp = -1 then	begin		if c < mEntryPrice - breakEven\$/bigPointValue then			shortTrail = minList(mEntryPrice,shortTrail);		shortTrail = minList(c + trailVolAmt,shortTrail);		plot6(shortTrail,"ShortTrail",default,default,default);	end;end;``
Cool code for the indicator

Very Important To Set Indicator Defaults Like This

For the BO Box use these settings – its the first 4 plots:

The box is created by drawing thick semi-transparent lines from the BuyBo and BuyBOXTND down to ShrtBo and ShrtBOXTND.   So the Buy components of the 4 first plots should be Bar High and the Shrt components should be Bar Low.  I didn’t specify this the first time I posted.  Thanks to one of my readers for point this out!

Also I used different colors for the BuyBo/ShrtBo and the BuyBOXTND/ShrtBOXTND.  Here is that setting:

The darker colored line on the last bar of the break out is caused by the overlap of the two sets of plots.

Here is how you set up the trailing stop plots: