15-min Mean Reversion

What does mean reversion really mean? How does it work (for real)?

Mean reversion kicks in when an overly extended condition finally lets go. Much like the rubber band that reverts to slap your skin.

What is the mean? There are different means for different time frames, but the one I am using is the 15-minute LEMA. This means 828 sample, but since I have 30-minute charts open, I use 414 EMAs pulled on the highs and the lows. This band gets re-visited 3 times per month on average with the certainty of death VS a 200 day MA that may not be seen back for years.

It can be stated that all mean reversions start from Bull Zone 1 and Bear Zone 1.

I define these zones being 1-3 fluctuation maximums away from the individual bands of the mean.

Sort term bulls/bears would manage to stretch the price not much further than the 1x fluctuation maximum, whilst middle weight, better capitalized players would cover about 2.5-3x fluctuation maximum away. Anything beyond this level of stretch would be an institutional buying: constant accumulation is needed to keep up the overstretched condition.

A valid let go thus occurs in the Zone 1 and a sharpened stochastic bars can help you find the spot.

What happens next is an impulse wave structure (5 waves) that would take you back to… where the mean was at the time of the trigger (end of wave 3), and an extension on top of that (wave 5).

Figure shows the (wave 3) target at hand.

Wave 5 would normally beat the touch down by 1/2 of the fluctuation size to fluctuation maximum.

In this particular instance wave 2 was brought on by price hitting the spark zone, but as a General guide you should be thinking of the possibility of a fake out at the other side of Mr. Maroon.

Wave 3 started upon a fake out of 1-hour LEMA.
Fibonacci Who?

The move back up and the fall back half way after the wave 5 target was reached, was the settlement, the reset, not a wave of any sort, this is something that E.W. can not account for when wanting to call every move a part of a structure.

This is everything you need to be able to make a killing in Forex.

I did not learn any of the above from anyone, these are my own findings.

The lingo traders use helped me with what to look for. Being a Hungarian I am very much used to the language passing down thinking logic.

The above version of LEMA30N can be obtained gratis when purchasing a copy of my book.

Stochastic Bars Mixed can be downloaded freely from this blog.

Everything You Always Wanted To Know

..but never dared to ask about trading.

What is risk in trading?

Number one: you die without ever making any money.
Number two: you loose all the money on the account.

What do you need to speed up money making?
Leverage. A broker can give you leverage on your money (500:1 is accessible). If you want the most volume of fish, you’d better be fishing with dynamite.
You can get leverage on your time by making the computer trade for you part time (automatization).

Why do you trade Forex?
Because the ability to hedge at no extra cost means the possibility to take losses on your own terms.
Why do you trade EUR/USD?
Because you can make 1.5 pip net from a 2.2-pip move in your favor.
The second cheapest instrument would cost you twice as much in commission and spread (GBP/USD).

It is possible to make 50%-100% gains in a week. In 2 weeks the account can be doubled.
High leverage means that you can keep your own risk low.
If you put up 1% of your net worth, and you would take this money back 2 weeks later, your risk from then on would be 0. You see, everything is relative. The only money that is yours, is what you have taken out of the trading account. If you loose one time a 1% account, and by then you would have multiple one percents lined up ready to open a new account, your loss would merely be time: a couple weeks of no productivity.

This wasn’t the risk management the academics were pushing on you?
Nobody would become the richest person in the world by doing everything the same way others do.

Which part of this is not sustainable?
Well you do need a good understanding of what is happening.
There are only two fundamental things in trading: people want to make money, and fear is stronger than greed.
I do not follow any of the news. To make 2.2 pips on a trade they have 0 relevance.

Of course you can also speed things up by gaining proper understanding and read on what is happening.
For instance, knowing where the spark zone is, where the Bull Zone1 starts and what is happening there is already more than all the “knowledge” you managed to obtain to date.

If you learn mean reversion well, you can be the king of the traders.


If you want to use a mathematical formula in trading, here it is: if you make $100 ten times, you just made $1000.


You cannot express gains in pips: it is meaningless if you do not disclose your multiplier (position size).
On the trading floor there was Sebastian sitting behind me (the only other older guy). He said: 10 pips a day will make you rich – and he spent all his efforts seeking out the smallest bodied candle up to a year back – like this was what trading was about.
How about 70 pips a day then out of 2-pip trades and virtually no losses. Could that make you rich? (EUR/USD does not even move 60 pips on most days.)

As you can see the lump sum if I was to cash in after 2 weeks is 200% gains.

The pips division is a bit off: you should not factor in the days when there was no trading; the 746 pips total has to be divided by 10, not 14.

I have done 415% before in 3 week (475% not factoring in the open positions), and now you know, if anyone would crack 1000% gains trading Forex in a month, that would be me.

Here is a video about what a difference the right person can make.

The original title of this post was intended to be Clubbed to Death

& another video to put our insignificance in perspective.

Oh yeah, if I haven’t mentioned yet, I am furnishing these numbers while holding a full time job.

1 Answer

So, you can learn from Scott Barkley that there are only two reversal patterns: a wedge and a head-and-shoulders, and all other patterns are continuation patterns.

Then you might decide to educate yourself further, and start reading my blog to find out, that there is only one reversal pattern, an RSI2 reversal divergence. The difference between the two patterns mentioned earlier, is that the wedge comes with a the RSI2 divergence between the last two fractals while the H&S has an RSI2 divergence between the right shoulder and the left shoulder.

Even Better Than The Real Thing – Pigging Out

In short, I had to come up with a better logic for hedging than anything before. (I had both my D-Day Hedger and the DDI Turn routines open positions in the wrong direction the other day while I was trying to trade in the proper direction – and all of this happened right after the RSI2 Hedger wasn’t supposed to open a hedge.) Since my RSI2 mania hasn’t been subsiding for about an eternity, I decided to use the pig in the attic and the pig in the basement for a change of direction. Interestingly, the reversals down seem to overwhelmingly happen in the Bull Zone 1 – when the bulls cover and tip the scale – and the reversals up, you can guess after this. A pig would get called off upon a re-visit of its block, and in general the price has the first 30 minutes available for it to leave for good.

Among the filters I am looking for a wick that is larger than 5.5 pips and an RSI2 sharpie sequence.

The black, filled triangles are the primary entries, the black triangle outlines are the secondary entries, and the white admiral cross marks the exit condition. To better understand, primary means quality = put plenty of the fire, the secondary means to throw a log.

As for an additional deciding factor, I started plotting again a 12-sample choppiness oscillator – I intend to measure bull/bear strength with it.

I do realize that I may need to add further filters in the future, but this is not at all a bad start. See for yourself!

Advanced Automated Trading #2

In this piece I’ll show some examples that are some of the less obvious ways automated trading can chip in with correcting human errors.

Human can have a fixation of wanting to do this or that and override/ignore signs that would suggest otherwise.

With all the good intentions, the human has to learn to comply as well.

I, as a human being with all the possible flaws in the world failed to acknowledge a zillion signs:

  • the fake-out of Mr. Maroon (in Maroon, see “F”)
  • the failure at the Lower Guard Rail (chartreuse)
  • the wave count down to 1 – corresponding “# sell label”
  • the wave 4 warning (purple stripe below)
  • the BURN plot highlighting a starting move down
  • wasn’t acknowledging the navy slim line up as a wave 5 or B up
  • that the market made a thrust into the thrust box (image at bottom)
  • that the market spiked over the red line (image at bottom)
  • (not to mention the pause before the lower reversal zone at 1.1176)
  • and above all the Golfer on the RSI2

The computer did notice it, and it kept on cutting my longs.

(Buy adding a stop loss of other than 0, you are submitting the trade for a review by the croppers.)

This frustrated me, because my croppers should be programmed not to take a loss. These losses were miniscule, $4 and $9.

My first impression was that I would have to change this and implement a protection for cutting only after a pip of gain, so that I can have some chump change left after the commission.

…and I did change it… and then I realized that the program was right all along. You may not get the luxury of a full pip in your favor. So I had to revert it back.

Here is the golf cropper for a long, now the bid line (that was inserted on an implusive decision unnecessarily, commented back out)

////Exit Long (Golfer On Top)
    if( OrderType()==OP_BUY && OrderMagicNumber()!=48 && OrderMagicNumber()!=50 && OrderMagicNumber()!=51 && OrderMagicNumber()!=52 && OrderMagicNumber()!=53 && OrderMagicNumber()!=54 && OrderProfit()>0 &&
    //Bid>OrderOpenPrice+10*Point &&
    omegam[0]<0 && RSI2[0]<60 && RSI2[1]>75 && RSI2[2]<75  ) 
        {OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );
            Print("Golfer Cropper Closed LONG @ "+MarketInfo(OrderSymbol(), MODE_BID)+" for ", OrderProfit());} 

The second thing to talk about having to always update the system – which usually would come down to adding filters as problems arise.

The Slope Trader was most definitely missing a filter. You do not try to short near a fresh bottom.

There was a short opened on the spike low, and this was not the fault of the automated trading system, this was the fault of the designer not thinking things through.

 if (
      (Period()==30 && (trianglehigh[1] || trianglehigh[2] ||  trianglehigh[3] || trianglehigh[4] || trianglehigh[5] || trianglehigh[6]) && RSI2[0]>95 && Close[0]<iMA(NULL,240,207,0,MODE_EMA, PRICE_LOW,0))
    ||  (Period()==30 && (trianglelow[1] || trianglelow[2] ||  trianglelow[3] || trianglelow[4] ||  trianglelow[5] || trianglelow[6]) && RSI2[0]<5 && Close[0]<iMA(NULL,240,207,0,MODE_EMA, PRICE_LOW,0))
&&!(positive[10]==50 || positive[9]==50 ||  positive[9]==50 || positive[8]==50 || positive[7]==50 || positive[6]==50 || positive[5]==50 || positive[4]==50 || positive[3]==50 || positive[2]==50 || positive[1]==50 || positive[0]==50)
 && omegam[0]<0 && omegam[2]<0
 && DayOfWeek()!=0
///here comes the too close to the bottom filter 
 && Bid> iLow(symbol,30,iLowest(symbol,30,MODE_LOW,200,1))+FSize*10*Point

Correction was made, but I am still traveling with the surplus weight of the short.

This is an excuse for having longs of course, but is a head ache as well.

Gotta think forward: if there was a short already opened occupying the maximum lot size, this trade would not had been opened or merely with insignificant size.

So, as a further prevention measure, I must allow the new Porker routine to open trades even if there are no counter-directional trades open. This of course does change the identity from a hedger to a trader.

Edit 1: (now equal included)

if (overhedging_allowed &&  Close[0]<iMA(symbol,30,135,0,MODE_EMA, PRICE_LOW,0)&& overdrivecounter<1 && no53s==0) {  
//now 0 longs = 0 shorts is a legitimate opening condition   
if (nshorts<=nlongs && piginthesky  ) {

Shadings show a directional logic.

Edit 2: New orders now can be opened with the equity dependent Max Lots size

if (i < 0){
      if (nlongs>0) if (OrderSend(symbol, OP_SELL, NormalizeDouble((nlongs-nshorts)*1.25,2), open_price, 3, stop_loss_price, take_profit_price, magic_number4+" OVERHEDGE SELL 0/0", magic_number4,1) < 0)
        Print("Error: ", ErrorDescription(_LastError));
              if (nlongs==0) if (OrderSend(symbol, OP_SELL, NormalizeDouble(MaxLots-nshorts,2), open_price, 3, stop_loss_price, take_profit_price, magic_number4+" OVERHEDGE SELL 0/0", magic_number4,1) < 0)
        Print("Error: ", ErrorDescription(_LastError));
// Max Lots calculation for 1:200+ leverage
  extern int SLoss = 25;
extern double Leverage = 1.5;
extern double AF=1.3;
extern double LT=333;

double MaxLots = NormalizeDouble(LT/3000000*account*AF*Leverage/SLoss*260/2,2);     
  double comparison = AccountEquity()/AccountBalance();

Edit 3 and 4 are the counter part long overhedge lines.

One dilemma is reinstating the Rope trade at 15% equity draw down.

Lately I had only 50% hedge at 80% equity/balance ratio and 100% hedge at 70% ratio (for equity hedging, but there are plenty of other hedge warranting conditions), because it all may end up being a juggling act having to deal with too many hedge positions.

I recently added additional 2 hedges further down the equity line in case the human does bad things again.

image: thrust into the thrust box, spike over the red line

Advanced Automated Trading

Let’s see what this account did since last night’s open.

The 2S trader opened a long at midnight (server time), and a 4% cropper killed it 5.5 hours later. Pretty straightforward so far.

As for the other trade there is a whole lot to talk about. I cannot find any more which routine opened it, because the comment lines were overwritten by the system with to/from, and the magic number was lost. The experts history by now is littered with stop loss attempt entries, so the open has been pushed out from the log. The size is somewhat of a clue. It had to be a hedger routine with a which ever is larger logic or an overhedger. 5.63×1.25 = 7.0375. So this order was opened by the Porker Overhedger (that I coded yesterday), and the magic number was 54.

Since the sell order was opened two hours after the long, if may had been a hedge order. By this I mean, that the short possibly would had never gotten opened if there weren’t any longs on the books.

Lesson number one is an other is merely an excuse to make money. You should not be afraid from being in the market most of the time, and nor should you be afraid of leverage. In a sense you need to provoke yourself into making money. You need to think things through properly at the designing table is all. Remember that both trades were opened with codes instead of stop losses, that determined which kind of trail stop / crop can be applied. You must always think of the individual routines as a part of a well oiled system.

Lesson number two is the way the hedge trade was eliminated. The first close out had to be triggered by a cropper (doji cropper, golf cropper or star cropper), but these croppers were intelligent enough to leave 1 micro lot open from the full size upon closing. Why? Because of keeping the magic number in the order list would prevent the hedger from wanting to re-open the hedge in case the opening trigger is still valid. As you can see, the smart trail stop was entrusted with finishing off the micro lot that was left behind.

This was a well orchestrated effort from an automated trading system.