MT5 error 10043: Only short positions are allowed (TRADE_RETCODE_SHORT_ONLY)

The symbol only allows sell positions right now. A buy was refused and nothing executed; sells and closes still work.

10043TRADE_RETCODE_SHORT_ONLY
NoSafe to retry?
NoCould it have executed?

What it means

You see this code in the retcode of a trade result, from OrderSend() in MQL5 or order_send() in Python.

The symbol is set to short only. New buys are refused with 10043; sells and closes still go through.

It is less common than long only, and usually temporary.

Common causes

  • A broker rule on a symbol under special conditions.
  • A temporary restriction ahead of an event.

How to fix it

  • Check symbol_info(name).trade_mode. 2 means short only.
  • Skip buy signals on that symbol until it changes.

Example in MQL5:

long mode = SymbolInfoInteger(_Symbol, SYMBOL_TRADE_MODE);
if(mode == SYMBOL_TRADE_MODE_SHORTONLY)
   Print(_Symbol, ": only sells are allowed, skipping the buy");

Is it safe to retry?

Not as a buy, while the rule applies.

Could the order have executed?

No. The buy was refused.

How Tickwire handles it

Tickwire checks the trade mode before sending, so a buy on a short only symbol is refused with 10043 and nothing is sent.

MT4 runtime error 4110 (longs not allowed) comes back as 10043.

All MetaTrader error codes

One API for MT4 and MT5

Clear trade outcomes, idempotent orders and an audit log. Read the error reference or the quickstart.