main_sugar.py¶
What this file is¶
Demonstration script showcasing high-level sugar methods that wrap low-level MT4 RPC calls. It’s meant for quick onboarding: readable calls, sane defaults, and concise examples.
Methods used here (with low‑level links)¶
ensure_connected(...)→ low‑level: n/a (in-memory helper or connectivity check)ping(...)→ low‑level: n/a (in-memory helper or connectivity check)ensure_symbol(...)→ low‑level: symbols.mddigits(...)→ low‑level: symbol_params_many.mdpoint(...)→ low‑level: symbol_params_many.mdpip_size(...)→ low‑level: tick_value_with_size.mdspread_pips(...)→ low‑level: quote.mdmid_price(...)→ low‑level: quote.mdlast_quote(...)→ low‑level: quote.mdcalc_lot_by_risk(...)→ low‑level: tick_value_with_size.mdcalc_cash_risk(...)→ low‑level: tick_value_with_size.mdbuy_market(...)→ low‑level: order_send.mdmodify_sl_tp_by_pips(...)→ low‑level: order_modify.mdclose(...)→ low‑level: order_close_delete.mdbuy_limit(...)→ low‑level: order_send.mdsell_market(...)→ low‑level: order_send.mdmodify_sl_tp_by_price(...)→ low‑level: order_modify.mdclose_all(...)→ low‑level: order_close_delete.md
Tips for working with this demo¶
- Set defaults first. Call
set_defaults(...)for symbol/magic/pip settings to reduce noise. - Ensure connectivity. Use
await ensure_connected()and occasionalawait ping()in loops. - Normalize before send. Normalize
priceandlots; convert pips↔price with helpers. - Use context overrides.
with_defaults(...)for temporary symbol/magic in a scoped block. - Log outcomes. Print compact results (ticket, price, sl/tp) rather than raw objects.
Output¶
You should see readable prints for each sugar call (quotes, placements, modifications, etc.).