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.