Easing Into EasyLanguage-DayTrade Edition [On SALE Now thru November]
Get Your Copy Now! On sale now for thru the end of November!
EZ-DT Pyramania is a strategy I introduced in the Day Trade Edition. The logic is rather simple – pyramid as the market moves through multiple levels during the trading day. – buy, buy, buy, dump or buy, dump, short, short, short, dump. The distance between the levels is constant. In the book, I showed an algorithm with a total of 6 levels with 7 edges.
Pyramania of @ES.D
Here the market opens @ 9:30 and the levels are instantly plotted and trades are executed as the market moves through the levels located above the open tick. Over the weekend, I had a reader ask how he could modify the code to plot the levels on the 24-hour @ES session. In the day session, I used the change in the date as the trigger for the calculation and plotting of the levels. Here is the day session version.
inputs:numSegments(6),numPlots(6);
arrays: segmentBounds[](0);
variables: j(0),loopCnt(0),segmentSize(0),avgRng(0); once Begin Array_SetMaxIndex(segmentBounds, numSegments); end;
if d <> d[1] Then // only works on the @ES.D or any .D session begin avgRng = average(range of data2,20); segmentSize = avgRng/numSegments; loopCnt = -1*numSegments/2; for j = 0 to numSegments begin segmentBounds[j] = openD(0) + loopCnt * segmentSize; loopCnt = loopCnt + 1; end; end;
//The following time constraint only works when all time stamps //are less than the end of day time stamp //This will not work when time = 1800 and endTime = 1700 if t < calcTime(sessionEndTime(0,1),-barInterval) Then begin if numPlots >= 1 then plot1(segmentBounds[0],"Level 0"); if numPlots >= 2 then plot2(segmentBounds[1],"Level 1"); if numPlots >= 3 then plot3(segmentBounds[2],"Level 2"); if numPlots >= 4 then plot4(segmentBounds[3],"Level 3"); if numPlots >= 5 then plot5(segmentBounds[4],"Level 4"); if numPlots >= 6 then plot6(segmentBounds[5],"Level 5"); if numPlots >= 7 then plot7(segmentBounds[6],"Level 6"); // plot8(segmentBounds[7],"Level 7"); // plot9(segmentBounds[8],"Level 8"); end;
Works great with @ES.D or any @**.D
I like this code because it exposes you to arrays, loops, and plotting multiple values. You can fix this by modifying and adding some code. I used the Trading Around Midnight blog post to get the code I needed to enable plotting around 0:00 hours. Here is the updated code:
once Begin Array_SetMaxIndex(segmentBounds, numSegments); end;
startTime = sessionStartTime(0,1); endTime = sessionEndTime(0,1); //let TS tell you when the market opens - remember the //first time stamp is the open time + bar interval if t = calcTime(sessionStartTime(0,1),barInterval) Then begin avgRng = average(range of data2,20); segmentSize = avgRng/numSegments; loopCnt = -1*numSegments/2; for j = 0 to numSegments begin segmentBounds[j] = open + loopCnt * segmentSize; loopCnt = loopCnt + 1; end; end;
// if startTime > endTime then you know you are dealing with // timees that more than likely bridges midnight // if time is greater then 1700 (end time) then you must // subtract an offset so it makes sense - endTimeOffset // play with the math and it will come to you if startTime > endTime then begin endTimeOffset = 0; if t >= startTime+barInterval and t<= 2359 then endTimeOffSet = 2400-endTime; end; if t-endTimeOffSet < endTime Then begin if numPlots >= 1 then plot1(segmentBounds[0],"Level 0"); if numPlots >= 2 then plot2(segmentBounds[1],"Level 1"); if numPlots >= 3 then plot3(segmentBounds[2],"Level 2"); if numPlots >= 4 then plot4(segmentBounds[3],"Level 3"); if numPlots >= 5 then plot5(segmentBounds[4],"Level 4"); if numPlots >= 6 then plot6(segmentBounds[5],"Level 5"); if numPlots >= 7 then plot7(segmentBounds[6],"Level 6"); // plot8(segmentBounds[7],"Level 7"); // plot9(segmentBounds[8],"Level 8"); end;
Modification to plot data around midnight
Here I let TS tell me with the market opens and then use some simple math to make sure I can plot with the time is greater than and less than the end of day time.
Plots from 18:05 through midnight until 17:00 the next day.
Email me if you have the book and want to companion code to the strategy – georgeppruitt@gmail.com