Code Library / Breakout

MQL5 London Breakout

London breakout capturing Asian range.

Language: MQL5 · Category: Breakout · Tags: London breakout, session breakout, MQL5, Asian range, strategy

Source code

#include <Trade/Trade.mqh>
CTrade trade; input double Lots=0.1;
double aH=0,aL=999999; bool ready=false,traded=false;
void OnTick() {
   MqlDateTime dt; TimeCurrent(dt);
   if(dt.hour==0&&dt.min==0){aH=0;aL=999999;ready=false;traded=false;}
   if(dt.hour>=0&&dt.hour<7) {
      double b=SymbolInfoDouble(_Symbol,SYMBOL_BID);
      if(b>aH) aH=b; if(b<aL) aL=b;
   }
   if(dt.hour==7) ready=true;
   if(ready&&!traded&&dt.hour>=7&&dt.hour<16) {
      double ask=SymbolInfoDouble(_Symbol,SYMBOL_ASK),bid=SymbolInfoDouble(_Symbol,SYMBOL_BID);
      double r=aH-aL;
      if(ask>aH){trade.Buy(Lots,_Symbol,ask,aL,aH+r);traded=true;}
      if(bid<aL){trade.Sell(Lots,_Symbol,bid,aH,aL-r);traded=true;}
   }
}

How to use this snippet

This is a building block, not a finished trading system. Paste it into your own MQL5 project, compile it, and test it on a demo account with your broker's real spreads before relying on it. If MetaEditor reports errors, the compilation error fixer can help.

Related snippets