Instead of the standard OrderSend() , use this template:
int SendFXOBOrder(int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment) int ticket = OrderSend(Symbol(), cmd, volume, price, slippage, stoploss, takeprofit, comment, magic, 0, clrNONE); if(ticket < 0) int error = GetLastError(); if(error == 138) // Requote - retry with new price RefreshRates(); return OrderSend(Symbol(), cmd, volume, Ask, slippage, stoploss, takeprofit, comment, magic, 0, clrNONE); return ticket; fxob ea
string server = AccountInfoString(ACCOUNT_SERVER); if(StringFind(server, "FXOpen") == -1) Print("Not an FXOB account. EA will not trade."); return; Instead of the standard OrderSend() , use this
double currentDD = (AccountBalance() - AccountEquity()) / AccountBalance() * 100; if(currentDD > MaxAllowedDD) CloseAllOrders(); return; use: FXOB refers to
extern int TickFilter = 5; // Process every 5th tick int tickCounter = 0; void OnTick() tickCounter++; if(tickCounter < TickFilter) return; tickCounter = 0; // EA logic here
FXOB supports partial fills. Your EA must track the OrderFilledVolume and adjust position management accordingly. 3.4 Tick Management To avoid overloading the CPU on FXOB’s high-tick environment, use:
FXOB refers to , a specialized technological setup that allows traders using the popular MetaTrader 4 (MT4) platform to connect directly to ECN (Electronic Communication Network) liquidity providers. An FXOB EA is an Expert Advisor specifically programmed—or optimized—to operate within this unique bridging environment.