stevehopwoodforex.com
https://www.stevehopwoodforex.com/phpBB3/
Print view

Baluda Indicators
https://www.stevehopwoodforex.com/phpBB3/viewtopic.php?t=629
Page 10 of 81
Author:  NeoTrader [ Tue Jun 26, 2012 4:54 am ]
Post subject:  Re: Baluda Indicators

hi slowkey,
slowkey wrote:Neo your indicator is a fabulous tool for scalping 15 min - 60 min time frames. :D I am getting spot on trades that actually seem more accurate on the lower time frames. The Diff line gives you good crosses and than good feedback for staying in the trade. You get in early and milk it for all it is worth. Really Cool. Again thanks for your efforts.
Thanks slowkey...I also made this observation in the lower TFs.

It would be interesting to know in which TFs you work and how you use it.

I am not working too much in the lower TFs but if you have a strategy for scalping I'm sure that other members would appreciate your insights.

Thanks in advance,

NeoTrader

P.S. It would be nice if we could discuss this topic in my thread here.

-
Author:  Baluda [ Tue Jun 26, 2012 8:47 am ]
Post subject:  Re: Baluda Indicators

New version for iExposure, Tickets, v1.0.4, in post 3.
iExposure, screen II.png
Changes:
  • Added option to display information on basket trading, including:
  • High-water mark in cash and pips
  • Low-water mark in cash and pips
  • High-water mark per pair in cash and pips
  • Low-water mark per pair in cash and pips
High- and low-water marks are reset when all trades are closed.

Enjoy!

Paul
Author:  NeoTrader [ Tue Jun 26, 2012 9:02 am ]
Post subject:  Re: Baluda Indicators

Thank you Baluda for your fine work here...

happy Trading,

NeoTrader
Author:  Jemook [ Tue Jun 26, 2012 9:24 am ]
Post subject:  Re: Baluda Indicators

Baluda!! THANK YOU!! Exactly what I was after :)
Author:  lucklogic [ Tue Jun 26, 2012 10:30 am ]
Post subject:  Re: Baluda Indicators

Hi Paul and straight away thank you for this work, brilliant.

I have a problem, please assist when you can.

I want to compare the current and shift 1 values of the TMA using your procedures e.g :

double valsort = GetSlope(CurrentP,PERIOD_M15, 0);
double val1sort = GetSlope(CurrentP,PERIOD_M15, 1);

For some reason this does not return the correct values, the shifted values always seem higher and not correct.

If I use :

double val3sort = iCustom(CurrentP,PERIOD_M15,"10.2 TMA slope true 4.30",eintPeriod,6,1);

then the correct result is returned (but i get unknown subwindow warnings )

Now why is that, the first argument should work ??? :?
Author:  Baluda [ Tue Jun 26, 2012 11:59 am ]
Post subject:  Re: Baluda Indicators

lucklogic wrote:double valsort = GetSlope(CurrentP,PERIOD_M15, 0);
double val1sort = GetSlope(CurrentP,PERIOD_M15, 1);
Luck,

I take it you have these methods in your code:

Code: Select all

//+------------------------------------------------------------------+
//| GetSlope()                                                       |
//+------------------------------------------------------------------+
double GetSlope(string symbol, int tf, int shift)
{
   double dblTma, dblPrev;
   double atr = iATR(symbol, tf, 100, shift + 10) / 10;
   double gadblSlope = 0.0;
   if ( atr != 0 )
   {
      if ( ignoreFuture )
      {
         dblTma = calcTmaTrue( symbol, tf, shift );
         dblPrev = calcPrevTrue( symbol, tf, shift );
      }
      else
      {   
         dblTma = calcTma( symbol, tf, shift );
         dblPrev = calcTma( symbol, tf, shift + 1 );
      }   
      gadblSlope = ( dblTma - dblPrev ) / atr;
   }
   
   return ( gadblSlope );

}//End double GetSlope(int tf, int shift)

//+------------------------------------------------------------------+
//| calcTma()                                                        |
//+------------------------------------------------------------------+
double calcTma( string symbol, int tf,  int shift )
{
   double dblSum  = iClose( symbol, tf, shift ) * 21;
   double dblSumw = 21;
   int jnx, knx;
         
   for ( jnx = 1, knx = 20; jnx <= 20; jnx++, knx-- )
   {
      dblSum  += iClose(symbol, tf, shift + jnx) * knx;
      dblSumw += knx;

      if ( jnx <= shift )
      {
         dblSum  += iClose(symbol, tf, shift - jnx) * knx;
         dblSumw += knx;
      }
   }
   
   return ( dblSum / dblSumw );
}// End calcTma()


//+------------------------------------------------------------------+
//| calcTmaTrue()                                                    |
//+------------------------------------------------------------------+
double calcTmaTrue( string symbol, int tf, int inx )
{
   return ( iMA( symbol, tf, 21, 0, MODE_LWMA, PRICE_CLOSE, inx ) );
}

//+------------------------------------------------------------------+
//| calcPrevTrue()                                                   |
//+------------------------------------------------------------------+
double calcPrevTrue( string symbol, int tf, int inx )
{
   double dblSum  = iClose( symbol, tf, inx + 1 ) * 21;
   double dblSumw = 21;
   int jnx, knx;
   
   dblSum  += iClose( symbol, tf, inx ) * 20;
   dblSumw += 20;
         
   for ( jnx = 1, knx = 20; jnx <= 20; jnx++, knx-- )
   {
      dblSum  += iClose( symbol, tf, inx + 1 + jnx ) * knx;
      dblSumw += knx;
   }
   
   return ( dblSum / dblSumw );
}
The only thing to consider is if you want the original TMA Slope or the non-repainting version. Set the global variable 'ignoreFuture' to false resp. true beforing calling GetSlope().

Paul
Author:  lucklogic [ Tue Jun 26, 2012 12:52 pm ]
Post subject:  Re: Baluda Indicators

Baluda wrote:
lucklogic wrote:double valsort = GetSlope(CurrentP,PERIOD_M15, 0);
double val1sort = GetSlope(CurrentP,PERIOD_M15, 1);
Luck,

I take it you have these methods in your code:

Code: Select all

//+------------------------------------------------------------------+
//| GetSlope()                                                       |
//+------------------------------------------------------------------+
double GetSlope(string symbol, int tf, int shift)
{
   double dblTma, dblPrev;
   double atr = iATR(symbol, tf, 100, shift + 10) / 10;
   double gadblSlope = 0.0;
   if ( atr != 0 )
   {
      if ( ignoreFuture )
      {
         dblTma = calcTmaTrue( symbol, tf, shift );
         dblPrev = calcPrevTrue( symbol, tf, shift );
      }
      else
      {   
         dblTma = calcTma( symbol, tf, shift );
         dblPrev = calcTma( symbol, tf, shift + 1 );
      }   
      gadblSlope = ( dblTma - dblPrev ) / atr;
   }
   
   return ( gadblSlope );

}//End double GetSlope(int tf, int shift)

//+------------------------------------------------------------------+
//| calcTma()                                                        |
//+------------------------------------------------------------------+
double calcTma( string symbol, int tf,  int shift )
{
   double dblSum  = iClose( symbol, tf, shift ) * 21;
   double dblSumw = 21;
   int jnx, knx;
         
   for ( jnx = 1, knx = 20; jnx <= 20; jnx++, knx-- )
   {
      dblSum  += iClose(symbol, tf, shift + jnx) * knx;
      dblSumw += knx;

      if ( jnx <= shift )
      {
         dblSum  += iClose(symbol, tf, shift - jnx) * knx;
         dblSumw += knx;
      }
   }
   
   return ( dblSum / dblSumw );
}// End calcTma()


//+------------------------------------------------------------------+
//| calcTmaTrue()                                                    |
//+------------------------------------------------------------------+
double calcTmaTrue( string symbol, int tf, int inx )
{
   return ( iMA( symbol, tf, 21, 0, MODE_LWMA, PRICE_CLOSE, inx ) );
}

//+------------------------------------------------------------------+
//| calcPrevTrue()                                                   |
//+------------------------------------------------------------------+
double calcPrevTrue( string symbol, int tf, int inx )
{
   double dblSum  = iClose( symbol, tf, inx + 1 ) * 21;
   double dblSumw = 21;
   int jnx, knx;
   
   dblSum  += iClose( symbol, tf, inx ) * 20;
   dblSumw += 20;
         
   for ( jnx = 1, knx = 20; jnx <= 20; jnx++, knx-- )
   {
      dblSum  += iClose( symbol, tf, inx + 1 + jnx ) * knx;
      dblSumw += knx;
   }
   
   return ( dblSum / dblSumw );
}
The only thing to consider is if you want the original TMA Slope or the non-repainting version. Set the global variable 'ignoreFuture' to false resp. true beforing calling GetSlope().

Paul

I did not have all of the code that you included and it now works perfectly. Understood about the bool 'ignoreFuture requirement depending on what values need to be worked on.

Once again, Thank you v.much. :D :D :D
Author:  Jemook [ Tue Jun 26, 2012 10:04 pm ]
Post subject:  Re: Baluda Indicators

B - version 1.0.4 of Exposure, Tickets is amazing. The only Q I have is with the water marks if a basket is closed when I'm not there the high/low of the watermark resets to 0. Is there a text file it spits out with the final watermark results of the basket somewhere? Or is there any way to view the previous baskets high/low watermark after it's closed?

Thanks maaaaatey.
Author:  garyfritz [ Tue Jun 26, 2012 10:06 pm ]
Post subject:  Re: Baluda Indicators

Or have it reset when a NEW basket OPENS?
Author:  VirtualFM [ Tue Jun 26, 2012 10:06 pm ]
Post subject:  Re: Baluda Indicators

MurphyMan wrote:I hate to ask dumb questions, but that has never stopped me in the past. :lol:

When I have the SlopeStrength indicator up the fields overlap, so I am unable to distinguish the trend arrows or dots. Any suggestions how to correct this? BTW, I am using full screen on a 22" monitor.
Isn't that a matter of turning on "Chart Shift", the button next to "Auto Scroll"?!
All times are UTC Page 10 of 81