Page 1 of 2

TRO PLOT ACCUMULATOR

Posted: Sat Nov 10, 2007 7:40 pm
by TheRumpledOne
TRO PLOT ACCUMULATOR






TRO PLOT ACCUMULATOR counts the number of times the input is TRUE.

I wrote a www.stockfetcher.com filter that does this and a trader asked for the TradeStation version.

In the screen above, TRO PLOT ACCUMULATOR counts the number of times HIGH - OPEN is between 0 and 1%, 1 and 2%, 2 and 3%..etc to over 10%. This tells you how likely a stock will go up a certain percent.

Since TRO PLOT ACCUMULATOR is INPUT driven, you can use it to count anything. Just remember the input must evaluate to either TRUE or FALSE. This is almost like the TRO_EVALUATOR.

Latest ELD in another post.

YES, IT WORKS FOR FOREX TOO!





Posted: Sat Nov 10, 2007 8:19 pm
by TheRumpledOne
NOTE: I updated the indicator to include the input iStartDate so you can start counting from a specific date.

Also it displays the # of bars counted and iStartDate.


Posted: Sat Nov 10, 2007 8:29 pm
by TheRumpledOne


Added input iEndDate so you can run TRO_PLOT_ACC by the week, month, year.

Code: Select all

{ _TRO_PLOT_ACC - Accumulate and Plot user input }
   
{Attn: TradeStation
if this indicator is posted on the TradeStation Forum, I, TheRumpledOne, did NOT post it there,
so I can't be blamed for this indicator having my contact info.}

{Programmer:  Avery T. Horton, Jr.  aka TheRumpledOne,
gifts and donations accepted, PO Box 43575, Tucson, AZ 85733 }

{ ? Copyright 2007 Avery T. Horton, Jr.}

inputs:
   
iDecimals(4),

iStartDate( 1070101 ),
iEndDate( 9999999 ),

iPlot1( (h-o)/o > .00  and (h-o)/o <= .01 ),
iPlot2( (h-o)/o > .01  and (h-o)/o <= .02 ),
iPlot3( (h-o)/o > .02  and (h-o)/o <= .03 ),
iPlot4( (h-o)/o > .03  and (h-o)/o <= .04 ),
iPlot5( (h-o)/o > .04  and (h-o)/o <= .05 ),
iPlot6( (h-o)/o > .05  and (h-o)/o <= .06 ),
iPlot7( (h-o)/o > .06  and (h-o)/o <= .07 ),
iPlot8( (h-o)/o > .07  and (h-o)/o <= .08 ),
iPlot9( (h-o)/o > .09  and (h-o)/o <= .09 ),
iPlot10((h-o)/o > .10  ),

   iColor1( white ),
   iColor2( white ),
   iColor3( white ),
   iColor4( white ),
   iColor5( white ),
   iColor6( white ),
   iColor7( white ),
   iColor8( white ),
   iColor9( white ),
   iColor10( white ),

   iMessage("H-O test");

{commentary variables}

variables:
xcomm(0),
oComm1( "" ),    
oComm2( "" ),    
oComm3( "" ),    
oComm4( "" ),    
oComm5( "" ),
oComm6( "" ),
oComm7( "" ),
oComm8( "" ),
oComm9( "" ),    
oComm10( "" );
   
variables:
      
xBars(0),
      
xPlot1(0),
xPlot2(0),      
xPlot3(0),
xPlot4(0),
xPlot5(0),      
xPlot6(0),
xPlot7(0),
xPlot8(0),
xPlot9(0),
xPlot10(0);
   
{ processing }
      
if date >= iStartDate
and date <= iEndDate
then begin

xBars = xBars + 1 ;

if iPlot1 then xPlot1 = xPlot1 + 1 ;
if iPlot2 then xPlot2 = xPlot2 + 1 ;
if iPlot3 then xPlot3 = xPlot3 + 1 ;
if iPlot4 then xPlot4 = xPlot4 + 1 ;
if iPlot5 then xPlot5 = xPlot5 + 1 ;
if iPlot6 then xPlot6 = xPlot6 + 1 ;
if iPlot7 then xPlot7 = xPlot7 + 1 ;
if iPlot8 then xPlot8 = xPlot8 + 1 ;
if iPlot9 then xPlot9 = xPlot9 + 1 ;
if iPlot10 then xPlot10 = xPlot10 + 1 ;

end ; // if date >= iStartDate

 
{ PLOT }

Plot1( xPlot1 , "1", iColor1 );
Plot2( xPlot2 , "2", iColor2 );
Plot3( xPlot3 , "3", iColor3 );
Plot4( xPlot4 , "4", iColor4 );
Plot5( xPlot5 , "5", iColor5 );
Plot6( xPlot6 , "6", iColor6 );
Plot7( xPlot7 , "7", iColor7 );
Plot8( xPlot8 , "8", iColor8 );
Plot9( xPlot9 , "9", iColor9 );
Plot10( xPlot10 , "10", iColor10 );

Plot11( iMessage , "Message", white );
Plot12( xBars, "Bars", white ) ;
Plot13( iStartDate, "Start", white ) ;
Plot14( iEndDate, "End", white ) ;


xComm = _fCommentary(oComm1, oComm2, oComm3, oComm4, oComm5, oComm6, oComm7, oComm8, oComm9, oComm10);

CommentaryCl(oComm1 );

CommentaryCl(oComm2 );
CommentaryCl(oComm3 );
CommentaryCl(oComm4 );
CommentaryCl(oComm5 );
CommentaryCl(oComm6 );
CommentaryCl(oComm7 );
CommentaryCl(oComm8 );
CommentaryCl(oComm9 );
CommentaryCl(oComm10 );

CommentaryCl( " " );

CommentaryCl( "iPlot1: ", NumToStr( xPlot1 , iDecimals) );
CommentaryCl( "iPlot2: ", NumToStr( xPlot2 , iDecimals) );
CommentaryCl( "iPlot3: ", NumToStr( xPlot3 , iDecimals) );
CommentaryCl( "iPlot4: ", NumToStr( xPlot4 , iDecimals) );
CommentaryCl( "iPlot5: ", NumToStr( xPlot5 , iDecimals) );
CommentaryCl( "iPlot6: ", NumToStr( xPlot6 , iDecimals) );
CommentaryCl( "iPlot7: ", NumToStr( xPlot7 , iDecimals) );
CommentaryCl( "iPlot8: ", NumToStr( xPlot8 , iDecimals) );
CommentaryCl( "iPlot9: ", NumToStr( xPlot9 , iDecimals) );
CommentaryCl( "iPlot10: ", NumToStr( xPlot10 , iDecimals) );

CommentaryCl( " " );

Posted: Mon Nov 12, 2007 11:02 pm
by Options1
It would be interesting to see the difference for days when the market internals are positive vs. bad internals.

My experience is that when the market internals are positive and the stock volume is above 150% the moves are significantly larger for the stock. You do have to project the volume for the day based on the volume early in the day in order to catch most of the move.

Interesting data mining tool.

John

Posted: Tue Nov 27, 2007 9:35 am
by Ali Son
Yes, I agree with Options1 that this is an interesting, if not an excellent data mining tool. I am glad that I stopped by the site to see what is new.

Posted: Tue Nov 27, 2007 7:26 pm
by Ali Son
Ok, I have thought it through. I have to agree in a way with Options1. Indeed, what would be really cool is to have room for a second input, that one could test with input #1 to see if the two occur concurrently, what the likelihood that price will go up a certain percent is.

To keep it simple, I suppose just 1 extra input is fine. That opens up another dimension of real data mining possibilities. IS that possile?

Posted: Tue Nov 27, 2007 7:58 pm
by TheRumpledOne
You can do that with my Statistics indicator... just load it twice.

Or if you can specify the test as one input condition.

Example:

c > c[1] and o > o[1]

That would tell you how many times the price opened up and closed up from 1 bar ago.

Posted: Wed Nov 28, 2007 9:22 am
by Ali Son
I see. But, I am thinking of using it as an automatic companion guaging reporting mechanism for the Evaluator(i.e. placed next to the Evaluator in RS)---a diary that keeps the score, so to speak. So, as with the Evaluator, can it handle functions (indicator proxy) in place of the simple short rules that you illustrate below? I imagine dataming correlations between two variables (indicators) and measuring individualized moves.

One other minor thing, but critical. Can you add a feature to it so that it(i.e., the Start Date) automatically updates to the next day. In effect, if one chooses 1 day as the test span, it automatically tells you the next brand new day if the signal occured and if the percentage targets for that particular stock were consistently met day-to-day, as predicted. (Perhaps this feature is already implicit; but I only see an option for dates and not number of bars which might be a simple solution to AUTOMATIC up-to-date tracking instead of manually changing the date input all the time.)

BTW, it's a great innovation over the Statistics indicator, with it's percentages band grid, facilitating data mining to a lower, individualized granularity instead of a lump aggregate as with the Statistics indicator, which has its own uses. Thank you for programming it.


TheRumpledOne wrote:You can do that with my Statistics indicator... just load it twice.

Or if you can specify the test as one input condition.

Example:

c > c[1] and o > o[1]

That would tell you how many times the price opened up and closed up from 1 bar ago.

Posted: Thu Jun 11, 2009 12:23 am
by stepney
thank you for the indicators

Posted: Mon Sep 21, 2009 3:21 pm
by fxfreddie
Is the Drain the Banks indicator available for TradeStation?