Most OneLeg problems come from five causes: trading is not allowed (Long/Short, time window, MaxDD), a filter blocks the signal, the entry level does not match the broker, the broker rejects or slips orders, or an exit is delayed by a spread filter or holding time. Find your symptom below; the strategy log usually shows which one it is.
OneLeg does not open trades
| Cause | How to recognise it | What to do |
|---|---|---|
| Long / Short not ticked | Quotes and gap move, no signals in the log. | Tick Long and/or Short, then STOP and START. |
| Settings changed but not applied | The strategy behaves as before the change. | New settings apply only after STOP and START. |
| Gap never reaches the threshold | Peaks on the Gap chart stay below MinLevelOpen + slow spread + Commission. | Check the levels against the chart: see first setup, stage 2. Check that Point is correct and whether AutoSettings multiplies the level by the spread. |
| Outside the trading window | Signals start or stop at fixed times. | StartTime / StopTime are in UTC, not your local or broker time. |
| MaxDD reached | “Equity drawdown reached. Trading stopped.” in the log. | Review why equity fell before trading on. MaxDD is counted from the peak equity since start. |
| Spread filter | No signals while the spread is high or low. | Check MinSpread, MaxSpread, MinSpreadSlow, MaxSpreadSlow against the current spreads; 0 = off. |
| Other entry filters | Big gaps appear but are not taken. | Check Minimum TPS, MinGapForOpen, MaxGapForOpen and MinFastCoef. On a first run set them to 0 (off). |
| A position is already open | No new trade until the current one closes. | OneLeg keeps one position at a time per Magic and symbol and waits at least 1.5 s after any open or close: see built-in entry rules. |
| A feed has frozen | The Time field of one provider stops changing. | Trading pauses if a feed has not updated for 200 seconds. Check the connection of that provider. |
| Execution Control blocked trading | Trading stopped after several slow executions. | See the Execution Control dialog. In own-trades mode the block lasts until restart; in external-provider mode trading resumes when test trades are fast again. |
Orders fail or fill badly
| Symptom | Likely cause | What to do |
|---|---|---|
| BUY FAILED / SELL FAILED | Wrong symbol name, lot below the broker’s minimum or not a multiple of the lot step, trading disabled, not enough margin, requote. | Read the red error line just above the FAILED line. Check the symbol, MinLot and LotStep in the SLOW panel and the account in the broker’s terminal. |
| Requotes on an instant-execution account | The allowed price deviation is 0. | Set Slippage (maximum deviation in points). Read about requotes. |
| Large negative slippage on entries | The fill comes after the broker’s price has already moved: latency, last look or a slow server. | Move the VPS closer to the broker, raise MinLevelOpen, turn on Smart close. Compare entry and exit slippage: see slippage and last look. |
| Slow execution (tens or hundreds of ms) | VPS far from the broker, overloaded connection or broker delay. | Check the Execution field in the log; use the Execution Control dialog to pause trading during slow periods. See execution latency. |
Losses and exits
| Symptom | Likely cause | What to do |
|---|---|---|
| Many trades close by SL | The entry level is too low for this broker or slippage takes most of the gap. | Raise MinLevelOpen, check slippage in the log, consider Smart close. Change one setting at a time. |
| Many trades close by TIMER | The gap does not close within CloseTimer. | Check on the Gap chart how long gaps last at this broker; adjust CloseTimer or use FixTP/FixSL instead. |
| A position does not close | A spread filter blocks all exits, including FixSL, while the spread is out of range. | Check the four spread filters and MaxSpreadSlow (close). Use Real SL to keep a stop loss at the broker. |
| Close happens later than expected | MinOrderTime or Randomized Closure delays every exit, including the manual Close button. | Check AllowedCloseTime in the “Close time initialized” line of the log. |
| CLOSE FAILED in the log | The broker rejected the close. | Read the error line above; the strategy keeps trying while the exit rule is true. If it repeats, check the position in the broker’s terminal. |
| Live results worse than the gap chart suggested | A peak on the Gap chart does not show live slippage, execution delays or the broker’s reaction to your orders. | Read Slippage and Execution in the log, then raise MinLevelOpen or FixTP so that a trade still pays after typical slippage. |
The broker complains or restricts the account
- Very short holding times: trades that close within a second are what a broker’s risk team notices first. Use MinOrderTime and Randomized Closure to vary holding times.
- Visible strategy identifier: a non-zero Magic is visible to the broker; with 0 orders look like manual trades.
- Rules first: read the client agreement before trading. If the broker does not allow latency arbitrage, choose another broker: see brokers that allow arbitrage and toxic flow.
Still stuck? Ask on the support forum or contact Westernpips support 24/7 on Telegram @westernpips. Attach a copy of the strategy log (the C button next to the log copies it).
Related OneLeg guides
Risk warning. Trading Forex, CFDs and cryptocurrencies with leverage carries a high risk of losing money. Results depend on the broker, its execution and rules, latency and settings; no profit is guaranteed. Test on a demo account first. Read the full risk warning.