Audience
For MT4 EA builders whose code compiles but OrderSend fails with error 130, invalid stops, wrong SL/TP side, off-normalized prices, or broker stop-level restrictions.
MQL4 execution blocker
Fix MQL4 OrderSend error 130 by checking invalid stops, stop-level distance, Bid/Ask side, Digits, Point, NormalizeDouble, and broker spread before retesting.
Common error 130 evidence
OrderSend failed. Error: 130 ERR_INVALID_STOPS SL is above Bid for a buy order MODE_STOPLEVEL=50 Digits=5, Point=0.00001
These are price, distance, normalization, and broker-rule failures. Fix the order request before changing entry logic or weakening risk controls.
Audience
For MT4 EA builders whose code compiles but OrderSend fails with error 130, invalid stops, wrong SL/TP side, off-normalized prices, or broker stop-level restrictions.
Problem
OrderSend error 130 is usually an execution validation failure, not a signal-quality verdict. The EA can calculate SL/TP on the wrong side of Bid/Ask, ignore MODE_STOPLEVEL, mishandle five-digit symbols, or send unnormalized prices.
Outcome
Workfusionapp keeps the repair path narrow: validate stop direction, read broker stop levels, normalize prices, reject unsafe orders with logs, then route the MT4 order block into the free desk.
Support path
Start with the concrete blocker, keep the full EA context attached, then move to a reviewable output.
For buys, SL belongs below the market and TP above it. For sells, SL belongs above the market and TP below it. Check against the active Bid/Ask context before OrderSend.
Use MarketInfo with MODE_STOPLEVEL and, where relevant, MODE_FREEZELEVEL. Compare the requested SL/TP distance in points before sending the order.
Use NormalizeDouble with Digits, handle five-digit symbols, RefreshRates before price reads, and skip the order with a log when stops are invalid.
Workflow
The goal is not to force the EA to trade. The goal is to prove whether the requested SL/TP is valid for the current symbol, quote, stop level, spread, and order direction.
Step 1
Paste the failing OrderSend block
Step 2
Check SL/TP side and distance
Step 3
Normalize prices for Digits and Point
Step 4
Retest manually with rejection logs
OrderSend 130 handoff
Open the guide that matches the failed stop request, then run the free desk with Bid, Ask, SL, TP, Digits, Point, stop level, spread, and the exact OrderSend call.
Use this when MT4 rejects SL/TP because the price side, stop distance, digits, or normalization is wrong.
Use this when error 130 is part of a larger MQL4 repair: order loops, magic numbers, duplicate entries, or legacy EA structure.
Use this when the EA sends or modifies the wrong order because it does not filter by symbol and MagicNumber before managing stops.
Send me the OrderSend 130 repair workflow
Opt in only if your MQL4 EA is blocked by OrderSend error 130, invalid stops, stop-level distance, price normalization, or wrong-side SL/TP. This captures the OrderSend 130 source for conversion measurement.
Choose the workflow you want, then opt in only if you want Workfusionapp updates.
No. Fix the stop calculation, stop-level check, and normalization. Removing risk controls hides the software issue.
Brokers can have different stop levels, digits, spreads, symbols, and freeze-level behavior. Read the live symbol contract before sending orders.
No. It only makes one order request valid. Compile review, tester evidence, risk checks, and demo validation remain separate.