Discussion of article "Expert Advisor based on the "New Trading Dimensions" by Bill Williams"

 

New article Expert Advisor based on the "New Trading Dimensions" by Bill Williams is published:

In this article I will discuss the development of Expert Advisor, based on the book "New Trading Dimensions: How to Profit from Chaos in Stocks, Bonds, and Commodities" by Bill Williams. The strategy itself is well known and its use is still controversial among traders. The article considers trading signals of the system, the specifics of its implementation, and the results of testing on historical data.

Figure 1. An example of trade in signals of the first dimension

Author: Alexey

 

Hello Alexey,

I'm really interested in your work. I'm also trying to implement an expert advisor for the "New Trading Dimensions" strategy, but I'm still using MT4. Perhaps we could share our results? I'm surprised that almost all the EA created on this strategy are not profitable. Does that mean that this strategy is no more applicable in today's market? The rules are quite clear and easy to program to create an automatic system, and if this strategy is working manually, then it would be logical that a trading system based on it should also be profitable.

I'm also implementing this strategy, and not the one in the last book using the divergent bar wiseman. It is not a good signal and often we are stopped and we see an other divergent bar forming. In the profitunity course, the rules have been changed too. Before we enter after 3 reds or 3 greens on the AO, we should now wait for a valid fractal breakout.

Well, back to the "New Trading Dimensions" strategy.

Have you done other tests so far? If you're applying the EA on a daily chart, one year of testing is not enough I guess. As we see on your chart, there are only two trends during that period. If however we use the 4H or even the 1H chart and test for 1 year, we would have a better period of testing. What do you think?

When are you entering a trade? How do you look for a sleeping alligator?

I was trying to use a trailing stop strategy too for the exit of a trade, but I've removed it. I'm using the 5 bars in the zone, the close below the green line, the close below the red line and a signal in the opposite direction as an exit. The exit using the 5 bars is the zone has the highest priority, and I'm closing my orders only if the total profit of all orders at the stoploss level is positive.

My next exit is a close below the green line (in an uptrend). I close my orders only if the total profit is positive and the was no close below the green line since the beginning of the trade (first fractal breakout entry).

Then I exit on a close below the red line if all my orders are profitable.

If none of those conditions is satisfied, then I exit and reverse on a valid fractal breakout in the opposite direction.

Cheers,

Daniel

 

I've checked a bit the entries on your second chart, and there seems to be something wrong for me.

Do you see at the middle of the down trend how many red zone bars there are? After 5 bars in the zone, we should look to take profit. We close the current orders as soon as a bar breaks above the previous bar high. It should often be closed in profit. In the case on your chart, I think they would be closed in profit. Then all the sell orders near the bottom of your chart would not be opened because we have to wait for a sleeping alligator and a fractal breakout as the first signal.

Those 5 bars in the zone can also happen at the beginning of a move and the orders would not be closed in profit if we use the zone trailing stop. In that case I would not close the orders and keep on adding new onces.


 

Hi  Alexey

 

I tried to compile the EA but it seems failed me. i have put the files into correct path in MT5 folder

It throws this error message ,under h_TS_BW.mqh file

declaration of 'inp_param_tmp' hides member declaration at line 184

 

is there any changes need to be done before compiling ?

 

regards

kevler 

 

you should use break; to end loop when you find fractal :-)

//+------------------------------------------------------------------+

//|  Search for the signals from the 1st dimension                   |
//+------------------------------------------------------------------+
bool C_TS_BW::FindSignal_1_dimension(int type,double &price_out[],datetime &time_out[])
  {
   int i,copyCount=-1;
   double tmp_buf[1];
   price_out[0]=-1;
   for(i=3;i<50;i++)
     {
      copyCount=CopyBuffer(h_fractals,type,i,1,tmp_buf);
      if(copyCount<1){return(false);}
      if(tmp_buf[0]!=EMPTY_VALUE && price_out[0]==-1)
        {
         price_out[0]=tmp_buf[0];
         CopyTime(m_Symbol,m_Period,i,1,time_out); // copy time of the fractal found
         break;
        }
     }
   return(true);
  }

Reason: