کتابخانه‌ی استاندارد · معاملات

متاتریدر metatrader

خواندن حساب، نمادها، کندل‌ها و تاریخچه و فرستادن معامله از طریق پل محلی متاتریدر ۵.

واردسازی متاتریدر

متاتریدر کارخواه یک پل محلی به ترمینال در حال اجرای متاتریدر ۵ است. این بسته با HTTP و JSON کار می‌کند: هر فراخوانی یک درخواست به پل می‌فرستد و پل داده یا معامله را از ترمینال می‌گیرد. هیچ DLL، COM یا افزونه‌ای داخل برنامه شما نیست، پس همان برنامه سلام تا وقتی پل در دسترس باشد روی لینوکس، مک و ویندوز اجرا می‌شود.

خود ترمینال باید در حال اجرا و واردشده باشد و پلی روی نشانی‌ای که می‌گذارید گوش بدهد. پیش‌فرض http://127.0.0.1:18812 است، یعنی مقدار DEFAULT_BRIDGE_URL. پل نقطه‌های پایانی زیر را پیاده می‌کند؛ بسته فقط آن‌ها را صدا می‌زند و JSON را می‌خواند.

نقطه پایانیمصرف‌کننده
POST /initialize، POST /login، POST /shutdownآغاز، ورود، پایان
GET /version، GET /account_info، GET /terminal_infoنسخه، دریافت اطلاعات حساب، دریافت اطلاعات ترمینال
GET /symbols_total، GET /symbols_get، GET /symbol_info، GET /symbol_info_tick، POST /symbol_selectفراخوانی‌های نماد
GET /copy_rates_from، GET /copy_rates_from_pos، GET /copy_rates_rangeکپی کندل‌ها
GET /copy_ticks_from، GET /copy_ticks_rangeکپی نوسانات
GET /orders_total، GET /orders_get، GET /positions_total، GET /positions_getخواندن سفارش و پوزیشن
GET /history_orders_*، GET /history_deals_*فراخوانی‌های تاریخچه
POST /order_calc_margin، POST /order_calc_profit، POST /order_check، POST /order_sendفراخوانی‌های معاملاتی
POST /market_book_add، GET /market_book_get، POST /market_book_releaseفراخوانی‌های عمق بازار

با حساب شروع کنید

نشانی پل را یک بار بگذارید، آغاز را صدا بزنید و حساب را بخوانید. هر فراخوانی حتی در خطا هم یک مقدار برمی‌گرداند، پس پس از فراخوانی‌های مهم موفق یا آخرین خطا را بررسی کنید و اگر پل نیست، کار را متوقف کنید.

metatrader-quickstart.salam
واردسازی متاتریدر

تابع ریشه:
    متاتریدر.تنظیم نشانی پل("http://127.0.0.1:18812")

    اگر وارونه متاتریدر.آغاز(""، 0 برگردان صحیح۶۴، ""، ""، 60000، نادرست):
        e := متاتریدر.آخرین خطا()
        نادرست‌سرچاپ "no bridge:"، e.کد، e.توضیح
        برگشت 1
    پایان

    a := متاتریدر.دریافت اطلاعات حساب()
    اگر وارونه متاتریدر.موفق():
        e := متاتریدر.آخرین خطا()
        نادرست‌سرچاپ "account failed:"، e.کد، e.توضیح
        متاتریدر.پایان()
        برگشت 1
    پایان
    سرچاپ a.شناسه ورود، a.نام، a.ارز
    سرچاپ "balance"، a.موجودی، "equity"، a.دارایی خالص
    سرچاپ "margin"، a.حاشیه، "free"، a.حاشیه آزاد

    t := متاتریدر.دریافت اطلاعات ترمینال()
    سرچاپ t.شرکت، t.نام، t.شماره ساخت، t.متصل

    متاتریدر.پایان()
    برگشت 0
پایان

آغاز و ورود فقط وقتی نشست را متصل می‌کنند که پل با وضعیت 2xx پاسخ دهد. متصل است همان پرچم را می‌گوید، نه یک سوکت زنده؛ وقتی باید بدانید ترمینال هنوز هست، نسخه یا دریافت اطلاعات ترمینال را صدا بزنید. پایان فقط از پل می‌خواهد ببندد؛ چیزی در برنامه شما آزاد نمی‌کند.

خطاها و کدهای نتیجه

فراخوانی ناموفق مقدار صفر نوعش، بردار خالی، ساختار خالی یا false برمی‌گرداند و دلیل را در آخرین خطا می‌گذارد. موفق دقیقاً وقتی درست است که کد آخر RES_S_OK باشد. پل برای خطاهای انتقال و پارامتر از ثابت‌های RES_E_* استفاده می‌کند و سرور معاملاتی در نتیجه OrderCheck و OrderSend از TRADE_RETCODE_*.

a := metatrader.GetAccountInfo()
if not metatrader.Ok():
    e := metatrader.LastError()
    printerrln "account failed:", e.code, e.description
    ret 1
end
println a.balance

خطای HTTP با معامله ردشده فرق دارد: اولی موفق را نادرست می‌کند، دومی یک پاسخ عادی با retcode است. پس از OrderSend همیشه retcode را بخوانید؛ موفق بودن HTTP یعنی معامله پذیرفته شده نیست.

نمادها، قیمت‌ها و نوسان‌ها

دریافت نمادها همه نمادها را با قواعد قرارداد و داده جلسه می‌دهد؛ شکل‌های گروهی با ماسکی مانند *USD* پالایش می‌کنند که در آن * با هر متنی تطبیق می‌کند. دریافت اطلاعات نماد یک نماد را می‌پرسد و نوسان نماد فراخوانی ارزان برای قیمت خرید و فروش کنونی است.

metatrader-symbols.salam
واردسازی متاتریدر

تابع ریشه:
    متاتریدر.تنظیم نشانی پل("http://127.0.0.1:18812")

    سرچاپ "symbols:"، متاتریدر.تعداد نمادها()
    هر s در متاتریدر.دریافت نمادها():
        سرچاپ s.نام، s.رقم اعشار، s.اسپرد، s.حالت معامله
    پایان

    majors := متاتریدر.دریافت نمادها با گروه("*USD*")
    سرچاپ "usd symbols:"، majors.طول()

    info := متاتریدر.دریافت اطلاعات نماد("EURUSD")
    سرچاپ info.قیمت خرید، info.قیمت فروش، info.اندازه پوینت، info.رقم اعشار
    سرچاپ info.حداقل حجم، info.گام حجم، info.حداکثر حجم
    سرچاپ info.سطح حد ضرر سود، info.اندازه قرارداد

    tick := متاتریدر.نوسان نماد("EURUSD")
    سرچاپ tick.زمان، tick.قیمت خرید، tick.قیمت فروش، tick.آخرین قیمت، tick.حجم

    اگر وارونه متاتریدر.انتخاب نماد("EURUSD"، درست):
        نادرست‌سرچاپ "cannot select EURUSD"
    پایان
    برگشت 0
پایان

digits و point می‌گویند قیمت را چگونه گرد کنید؛ volume_min، volume_max و volume_step می‌گویند سرور چه حجم‌هایی را می‌پذیرد؛ trade_stops_level کوتاه‌ترین فاصله به پوینت بین قیمت و حد ضرر یا حد سود است.

کندل‌ها و نوسان‌ها

کندل‌ها از قدیمی به جدید برمی‌گردند. کپی کندل‌ها از موقعیت از جدیدترین کندل می‌شمارد، پس موقعیت ۰ کندلی است که هنوز در حال ساخته شدن است، و کپی کندل‌ها از تاریخ از یک زمان شروع می‌کند. زمان‌ها ثانیه از مبدأ هستند، مانند time؛ زمان نوسان‌ها در time_msc میلی‌ثانیه است و CopyTicksRange همین را می‌خواهد.

metatrader-rates.salam
واردسازی متاتریدر

تابع ریشه:
    متاتریدر.تنظیم نشانی پل("http://127.0.0.1:18812")

    candles := متاتریدر.کپی کندل‌ها از تاریخ("EURUSD"، متاتریدر.بازه یک ساعت، 1700000000 برگردان صحیح۶۴، 10)
    هر r در candles:
        سرچاپ r.زمان، r.قیمت باز، r.بیشترین قیمت، r.کمترین قیمت، r.قیمت‌بسته، r.حجم تیک
    پایان

    recent := متاتریدر.کپی کندل‌ها از موقعیت("EURUSD"، متاتریدر.بازه پنج دقیقه، 0، 5)
    سرچاپ "recent:"، recent.طول()

    window := متاتریدر.کپی‌کندل‌ها‌در‌بازه("EURUSD"، متاتریدر.بازه یک روز، 1700000000 برگردان صحیح۶۴، 1700086400 برگردان صحیح۶۴)
    سرچاپ "daily:"، window.طول()

    ticks := متاتریدر.کپی نوسانات از تاریخ("EURUSD"، 1700000000 برگردان صحیح۶۴، 100، متاتریدر.تمام نوسانات قیمت)
    هر t در ticks:
        سرچاپ t.زمان به میلی‌ثانیه، t.قیمت خرید، t.قیمت فروش، t.آخرین قیمت، t.پرچم‌ها
    پایان

    trade_ticks := متاتریدر.کپی‌نوسانات‌در‌بازه("EURUSD"، 1700000000000 برگردان صحیح۶۴، 1700000600000 برگردان صحیح۶۴، متاتریدر.نوسانات قیمت معاملاتی)
    سرچاپ "trade ticks:"، trade_ticks.طول()
    برگشت 0
پایان

پالایه‌های نوسان حجم پاسخ را کم می‌کنند: COPY_TICKS_INFO تغییر خرید و فروش را نگه می‌دارد، COPY_TICKS_TRADE معامله‌ها را و COPY_TICKS_ALL هر دو را. وقتی باید بدانید کدام سمت تغییر کرده، flags هر نوسان را بررسی کنید.

بررسی و فرستادن سفارش

یک درخواست معامله پر کنید، بررسی سفارش را صدا بزنید و پیش از هر فرستادن، فیلدهای حاشیه آن را ببینید. سپس ارسال سفارش را صدا بزنید و retcode را بخوانید. بررسی با 0 یعنی درخواست معتبر است؛ ارسال برای سفارش انجام‌شده TRADE_RETCODE_DONE، برای سفارش معلق TRADE_RETCODE_PLACED و در غیر این صورت یک کد خطا برمی‌گرداند.

metatrader-trade.salam
واردسازی متاتریدر

تابع ریشه:
    متاتریدر.تنظیم نشانی پل("http://127.0.0.1:18812")

    سرچاپ "orders:"، متاتریدر.تعداد سفارش‌های فعال()
    هر o در متاتریدر.دریافت سفارش‌های فعال():
        سرچاپ o.شماره تیکت، o.نماد، o.نوع سفارش، o.وضعیت، o.حجم فعلی، o.قیمت ورود
    پایان
    هر p در متاتریدر.دریافت پوزیشن‌های باز():
        سرچاپ p.شماره تیکت، p.نماد، p.نوع پوزیشن، p.حجم، p.قیمت ورود، p.سود
    پایان

    ناپایا req := متاتریدر.درخواست معامله {}
    req.عملیات = متاتریدر.عملیات معامله فوری
    req.نماد = "EURUSD"
    req.حجم = 0.10
    req.قیمت = 1.0821
    req.نوع سفارش = متاتریدر.سفارش خرید
    req.نوع پرشدن = متاتریدر.پرشدن فوری
    req.نوع زمان = متاتریدر.اعتبار نامحدود
    req.انحراف مجاز = 10
    req.شناسه ربات = 2026
    req.یادداشت = "salam"

    check := متاتریدر.بررسی سفارش(req)
    سرچاپ "check:"، check.کد نتیجه، check.حاشیه، check.حاشیه آزاد، check.یادداشت
    اگر check.کد نتیجه نابرابر 0:
        برگشت 1
    پایان

    sent := متاتریدر.ارسال سفارش(req)
    سرچاپ "send:"، sent.کد نتیجه، sent.شماره سفارش، sent.شماره معامله، sent.قیمت
    اگر sent.کد نتیجه نابرابر متاتریدر.کد اجرای کامل و sent.کد نتیجه نابرابر متاتریدر.کد ثبت سفارش:
        نادرست‌سرچاپ "order rejected:"، sent.یادداشت
        برگشت 1
    پایان

    margin := متاتریدر.محاسبه حاشیه سفارش(متاتریدر.سفارش خرید، "EURUSD"، 0.10، 1.0821)
    profit := متاتریدر.محاسبه سود سفارش(متاتریدر.سفارش خرید، "EURUSD"، 0.10، 1.0821، 1.09)
    سرچاپ margin، profit
    برگشت 0
پایان

action کاری را انتخاب می‌کند که درخواست انجام می‌دهد: TRADE_ACTION_DEAL برای سفارش بازاری، TRADE_ACTION_PENDING برای سفارش معلق، TRADE_ACTION_SLTP برای تغییر حد ضرر و سود، TRADE_ACTION_MODIFY و TRADE_ACTION_REMOVE برای سفارش‌های معلق و TRADE_ACTION_CLOSE_BY برای بستن یک پوزیشن با پوزیشن دیگر. type_filling را روی حالتی بگذارید که نماد اجازه می‌دهد و magic را بگذارید تا بعداً سفارش‌های خودتان را پیدا کنید.

سفارش‌ها، پوزیشن‌ها و تاریخچه

دریافت سفارش‌های فعال سفارش‌های فعال را می‌دهد، دریافت پوزیشن‌های باز پوزیشن‌های باز را و فراخوانی‌های تاریخچه آنچه بسته شده است. هر پالایه یک شکل تعداد و یک شکل دریافت دارد؛ شکل دریافت حتی با شماره هم بردار برمی‌گرداند، چون پل برای همه پالایه‌ها یک شکل پاسخ نگه می‌دارد.

زمان‌های تاریخچه ثانیه از مبدأ هستند. هر دو سر بازه را بدهید؛ بازه خالی بردار خالی برمی‌گرداند، نه خطا.

metatrader-history.salam
واردسازی متاتریدر

تابع ریشه:
    متاتریدر.تنظیم نشانی پل("http://127.0.0.1:18812")

    date_from := 1700000000 برگردان صحیح۶۴
    date_to := 1700086400 برگردان صحیح۶۴

    سرچاپ "orders:"، متاتریدر.تعداد سفارش‌های تاریخچه(date_from، date_to)
    هر o در متاتریدر.دریافت سفارش‌های تاریخچه(date_from، date_to):
        سرچاپ o.شماره تیکت، o.نماد، o.وضعیت، o.حجم اولیه، o.قیمت ورود
    پایان

    سرچاپ "deals:"، متاتریدر.تعداد معامله‌های تاریخچه(date_from، date_to)
    هر d در متاتریدر.دریافت معامله‌های تاریخچه(date_from، date_to):
        سرچاپ d.شماره تیکت، d.شماره سفارش، d.شناسه پوزیشن، d.نوع معامله، d.نوع ورود، d.سود، d.کمیسیون، d.سواپ
    پایان

    اگر متاتریدر.افزودن دفتر سفارش("EURUSD"):
        هر b در متاتریدر.دریافت دفتر سفارش("EURUSD"):
            سرچاپ b.نوع سطح دفتر، b.قیمت، b.حجم
        پایان
        متاتریدر.آزادسازی دفتر سفارش("EURUSD")
    پایان
    برگشت 0
پایان

عمق بازار

عمق بازار یک اشتراک است. یک بار افزودن دفتر سفارش را صدا بزنید، هر چند بار که لازم است سطح‌ها را با دریافت دفتر سفارش بخوانید و وقتی تمام شد آزادسازی دفتر سفارش را صدا بزنید. تا وقتی ترمینال آن را ندارد و اشتراک فعال نیست، دفتر خالی می‌ماند.

نوع‌ها و واحدها

نوعچه دارد
AccountInfoموجودی، دارایی خالص، حاشیه، حاشیه آزاد، سطح حاشیه، ارز و محدودیت‌های حساب.
TerminalInfoاتصال، شماره ساخت، پوشه‌ها، زبان و دسترسی‌های ترمینال.
SymbolInfoقیمت‌ها، اسپرد، رقم اعشار، پوینت، اندازه قرارداد، محدودیت حجم، سواپ و داده جلسه.
Tick، Rateیک تغییر قیمت و یک کندل؛ زمان‌ها ثانیه هستند و زمان نوسان میلی‌ثانیه هم دارد.
TradeOrderیک سفارش با وضعیت، حجم، قیمت‌ها و پوزیشنی که به آن تعلق دارد.
TradePositionیک پوزیشن باز با حجم، سود، سواپ و قیمت حد ضرر و سود.
TradeDealیک معامله انجام‌شده با سود، کمیسیون، سواپ و هزینه.
TradeRequest، OrderCheckResult، OrderSendResultورودی و دو پاسخ ممکن فراخوانی‌های معاملاتی.

این بسته چه کاری نمی‌کند

  • ترمینال را بالا نمی‌آورد. پل باید در حال اجرا و ترمینال واردشده باشد؛ آغاز درخواستی به پل است، نه به فرایند ترمینال.
  • دوباره تلاش نمی‌کند. اتمام زمان، بسته شدن پل یا HTTP 5xx یک بار برگردانده می‌شود؛ خودتان تصمیم بگیرید که فراخوانی را تکرار کنید یا نه.
  • جای OrderCheck را با اعتبارسنجی محلی نمی‌گیرد. حرف آخر درباره حجم، حدها، پرشدن و ساعت بازار با کارگزار است.
  • حافظه پنهان ندارد. هر فراخوانی داده تازه از پل می‌خواهد، پس حلقه تنگ نوسان نماد کلی درخواست HTTP است؛ بین آن‌ها کمی صبر کنید.

گونه‌ها

اطلاعات آخرین خطا LastErrorInfo

ساختار اطلاعات آخرین خطا
آخرین نتیجه بسته: یک کد و یک توضیح.
نامانگلیسیگونهتوضیح
کدcodeصحیح = 1کد نتیجه؛ در موفقیت RES_S_OK.
توضیحdescriptionرشته = "ok"توضیح خوانا برای کد یا ابزار.

اطلاعات نسخه VersionInfo

ساختار اطلاعات نسخه
نسخه و شماره ساخت ترمینال متاتریدر.
نامانگلیسیگونهتوضیح
نسخه ترمینالterminal_versionصحیح = 0نسخه ترمینال.
شماره ساختbuildصحیح = 0شماره ساخت.
تاریخ انتشار ساختbuild_release_dateرشته = ""تاریخ انتشار آن ساخت.

اطلاعات حساب AccountInfo

ساختار اطلاعات حساب
وضعیت حساب معاملاتی: موجودی، دارایی خالص، حاشیه و محدودیت‌ها.
نامانگلیسیگونهتوضیح
شناسه ورودloginصحیح۶۴ = 0شماره حساب.
حالت معاملهtrade_modeصحیح = 0حالت معامله نماد یا حساب.
اهرمleverageصحیح۶۴ = 0اهرم حساب.
سقف سفارشlimit_ordersصحیح = 0بیشترین تعداد سفارش باز مجاز حساب.
حالت توقف اجباریmargin_so_modeصحیح = 0حالت توقف اجباری حساب.
معامله مجازtrade_allowedمنطقی = نادرستوقتی معامله مجاز باشد درست است.
ربات مجازtrade_expertمنطقی = نادرستوقتی معامله رباتی مجاز باشد درست است.
حالت حاشیهmargin_modeصحیح = 0حالت محاسبه حاشیه حساب.
رقم اعشار ارزcurrency_digitsصحیح = 0تعداد رقم اعشار ارز سپرده.
بستن به ترتیب ورودfifo_closeمنطقی = نادرستوقتی پوزیشن‌ها باید به ترتیب باز شدن بسته شوند درست است.
موجودیbalanceاعشار۶۴ = 0موجودی حساب به ارز سپرده.
اعتبارcreditاعشار۶۴ = 0اعتبار داده‌شده به حساب.
سودprofitاعشار۶۴ = 0سود شناور یا سود معامله.
دارایی خالصequityاعشار۶۴ = 0موجودی به‌علاوه سود شناور و اعتبار.
حاشیهmarginاعشار۶۴ = 0حاشیه در حال استفاده.
حاشیه آزادmargin_freeاعشار۶۴ = 0حاشیه آزاد برای پوزیشن‌های تازه.
سطح حاشیهmargin_levelاعشار۶۴ = 0دارایی خالص تقسیم بر حاشیه، به درصد.
سطح هشدار توقفmargin_so_callاعشار۶۴ = 0سطح حاشیه‌ای که هشدار توقف را فعال می‌کند، به درصد.
سطح توقف اجباریmargin_so_soاعشار۶۴ = 0سطح حاشیه‌ای که توقف اجباری را فعال می‌کند، به درصد.
حاشیه اولیهmargin_initialاعشار۶۴ = 0حاشیه اولیه یک لات.
حاشیه نگهداریmargin_maintenanceاعشار۶۴ = 0حاشیه نگهداری یک لات.
دارایی‌هاassetsاعشار۶۴ = 0کل دارایی‌های حساب.
تعهداتliabilitiesاعشار۶۴ = 0کل تعهدات حساب.
کمیسیون مسدودcommission_blockedاعشار۶۴ = 0کمیسیون مسدودشده در حساب.
نامnameرشته = ""نام صاحب حساب.
سرورserverرشته = ""سرور معاملاتی حساب.
ارزcurrencyرشته = ""ارز سپرده حساب.
شرکتcompanyرشته = ""شرکتی که حساب را ارائه می‌دهد.

اطلاعات ترمینال TerminalInfo

ساختار اطلاعات ترمینال
وضعیت ترمینال متاتریدر: اتصال، پوشه‌ها و دسترسی‌ها.
نامانگلیسیگونهتوضیح
حساب انجمنcommunity_accountمنطقی = نادرستوقتی حساب از نوع انجمن MQL5 باشد درست است.
اتصال انجمنcommunity_connectionمنطقی = نادرستوقتی ترمینال به انجمن MQL5 متصل باشد درست است.
متصلconnectedمنطقی = نادرستتا وقتی ترمینال به سرور معاملاتی متصل است درست است.
دی‌ال‌ال مجازdlls_allowedمنطقی = نادرستوقتی ترمینال فراخوانی DLL را مجاز کند درست است.
معامله مجازtrade_allowedمنطقی = نادرستوقتی معامله مجاز باشد درست است.
ای‌پی‌آی معاملاتی غیرفعالtradeapi_disabledمنطقی = نادرستوقتی ای‌پی‌آی معاملاتی در ترمینال غیرفعال باشد درست است.
ایمیل فعالemail_enabledمنطقی = نادرستوقتی ایمیل در ترمینال فعال باشد درست است.
اف‌تی‌پی فعالftp_enabledمنطقی = نادرستوقتی اف‌تی‌پی در ترمینال فعال باشد درست است.
اعلان فعالnotifications_enabledمنطقی = نادرستوقتی اعلان‌های فوری فعال باشند درست است.
شناسه متاکوئستmqidمنطقی = نادرستوقتی ترمینال شناسه متاکوئوتس داشته باشد درست است.
شماره ساختbuildصحیح = 0شماره ساخت.
حداکثر کندلmaxbarsصحیح = 0بیشترین تعداد کندلی که ترمینال نگه می‌دارد.
صفحه کدcodepageصحیح = 0صفحه کد ترمینال.
آخرین پینگping_lastصحیح = 0آخرین پینگ به سرور معاملاتی، به میلی‌ثانیه.
موجودی انجمنcommunity_balanceاعشار۶۴ = 0موجودی انجمن MQL5.
ارسال مجددretransmissionاعشار۶۴ = 0سهم داده‌های دوباره فرستاده‌شده، به درصد.
شرکتcompanyرشته = ""شرکتی که حساب را ارائه می‌دهد.
نامnameرشته = ""نام ترمینال.
زبان ترمینالlanguageرشته = ""زبان رابط ترمینال.
مسیرpathرشته = ""پوشه نصب ترمینال.
مسیر دادهdata_pathرشته = ""پوشه داده این ترمینال.
مسیر داده مشترکcommondata_pathرشته = ""پوشه داده مشترک همه ترمینال‌ها.

اطلاعات نماد SymbolInfo

ساختار اطلاعات نماد
هر آنچه ترمینال از یک نماد می‌داند، از قیمت‌ها تا قواعد قرارداد.
نامانگلیسیگونهتوضیح
سفارشیcustomمنطقی = نادرستوقتی نماد سفارشی و نه از سرور باشد درست است.
حالت نمودارchart_modeصحیح = 0نحوه نمایش نماد در دیده‌بان بازار.
انتخاب‌شدهselectمنطقی = نادرستوقتی نماد در دیده‌بان بازار انتخاب شده باشد درست است.
نمایانvisibleمنطقی = نادرستوقتی نماد در دیده‌بان بازار دیده شود درست است.
معامله‌های جلسهsession_dealsصحیح = 0معامله‌های انجام‌شده در جلسه.
سفارش‌های خرید جلسهsession_buy_ordersصحیح = 0سفارش‌های خرید ثبت‌شده در جلسه.
سفارش‌های فروش جلسهsession_sell_ordersصحیح = 0سفارش‌های فروش ثبت‌شده در جلسه.
حجمvolumeصحیح۶۴ = 0حجم تیک روز.
بیشترین حجمvolumehighصحیح۶۴ = 0بالاترین حجم روز.
کمترین حجمvolumelowصحیح۶۴ = 0پایین‌ترین حجم روز.
زمانtimeصحیح۶۴ = 0زمان به ثانیه از مبدأ.
رقم اعشارdigitsصحیح = 0تعداد رقم اعشار قیمت.
اسپردspreadصحیح = 0اسپرد به پوینت.
اسپرد شناورspread_floatمنطقی = نادرستوقتی اسپرد شناور باشد درست است.
عمق دفتر تیکticks_bookdepthصحیح = 0عمق دفتری که نوسان‌ها پوشش می‌دهند.
حالت محاسبه معاملهtrade_calc_modeصحیح = 0حالت محاسبه سود نماد.
حالت معاملهtrade_modeصحیح = 0حالت معامله نماد یا حساب.
زمان شروعstart_timeصحیح۶۴ = 0زمان شروع معامله نماد، به ثانیه از مبدأ.
زمان انقضای نمادexpiration_timeصحیح۶۴ = 0زمان انقضای نماد به ثانیه از مبدأ؛ ۰ وقتی منقضی نمی‌شود.
سطح حد ضرر سودtrade_stops_levelصحیح = 0کوتاه‌ترین فاصله مجاز حد ضرر و سود تا قیمت، به پوینت.
سطح انجماد معاملهtrade_freeze_levelصحیح = 0فاصله‌ای به پوینت که در آن سفارش قابل تغییر نیست.
حالت اجرای معاملهtrade_exemodeصحیح = 0حالت اجرای نماد.
حالت سواپswap_modeصحیح = 0حالت محاسبه سواپ نماد.
روز سه‌گانه سواپswap_rollover3daysصحیح = 0روز هفته با سواپ سه‌برابر: ۰ یکشنبه.
استفاده پایه حاشیه پوششmargin_hedged_use_legمنطقی = نادرستوقتی حاشیه پوشش از پایه بزرگ‌تر استفاده کند درست است.
حالت انقضاexpiration_modeصحیح = 0حالت‌های انقضایی که نماد اجازه می‌دهد.
حالت پرشدنfilling_modeصحیح = 0حالت‌های پرشدن مجاز نماد، به شکل ماسک بیتی.
حالت سفارشorder_modeصحیح = 0نوع‌های سفارش مجاز نماد، به شکل ماسک بیتی.
حالت دائمی سفارشorder_gtc_modeصحیح = 0حالت سفارش دائمی نماد.
حالت اختیار معاملهoption_modeصحیح = 0حالت اختیار معامله نماد.
حق اختیار معاملهoption_rightصحیح = 0حق اختیار معامله نماد.
قیمت خریدbidاعشار۶۴ = 0بهترین قیمت خرید.
بالاترین قیمت خریدbidhighاعشار۶۴ = 0بالاترین قیمت خرید جلسه.
پایین‌ترین قیمت خریدbidlowاعشار۶۴ = 0پایین‌ترین قیمت خرید جلسه.
قیمت فروشaskاعشار۶۴ = 0بهترین قیمت فروش.
بالاترین قیمت فروشaskhighاعشار۶۴ = 0بالاترین قیمت فروش جلسه.
پایین‌ترین قیمت فروشasklowاعشار۶۴ = 0پایین‌ترین قیمت فروش جلسه.
آخرین قیمتlastاعشار۶۴ = 0آخرین قیمت معامله‌شده.
بالاترین آخرین قیمتlasthighاعشار۶۴ = 0بالاترین آخرین قیمت جلسه.
پایین‌ترین آخرین قیمتlastlowاعشار۶۴ = 0پایین‌ترین آخرین قیمت جلسه.
حجم واقعیvolume_realاعشار۶۴ = 0حجم واقعی، به قرارداد یا واحد.
بیشترین حجم واقعیvolumehigh_realاعشار۶۴ = 0بالاترین حجم واقعی روز.
کمترین حجم واقعیvolumelow_realاعشار۶۴ = 0پایین‌ترین حجم واقعی روز.
قیمت اعمال اختیارoption_strikeاعشار۶۴ = 0قیمت اعمال اختیار معامله.
اندازه پوینتpointاعشار۶۴ = 0اندازه پوینت نماد.
ارزش تیک معاملهtrade_tick_valueاعشار۶۴ = 0ارزش یک تیک به ارز سپرده.
ارزش تیک سودtrade_tick_value_profitاعشار۶۴ = 0ارزش یک تیک در سود.
ارزش تیک زیانtrade_tick_value_lossاعشار۶۴ = 0ارزش یک تیک در زیان.
اندازه تیک معاملهtrade_tick_sizeاعشار۶۴ = 0اندازه تیک برای محاسبه سود.
اندازه قراردادtrade_contract_sizeاعشار۶۴ = 0اندازه یک قرارداد.
بهره انباشته معاملهtrade_accrued_interestاعشار۶۴ = 0بهره انباشته ابزار.
ارزش اسمی معاملهtrade_face_valueاعشار۶۴ = 0ارزش اسمی ابزار.
نرخ نقدشوندگی معاملهtrade_liquidity_rateاعشار۶۴ = 0نرخ نقدشوندگی ابزار.
حداقل حجمvolume_minاعشار۶۴ = 0کمترین حجم یک سفارش.
حداکثر حجمvolume_maxاعشار۶۴ = 0بیشترین حجم یک پوزیشن.
گام حجمvolume_stepاعشار۶۴ = 0گام بین حجم‌ها.
سقف حجمvolume_limitاعشار۶۴ = 0بیشترین حجم یک سفارش.
سواپ خریدswap_longاعشار۶۴ = 0سواپ پوزیشن خرید برای هر لات در روز.
سواپ فروشswap_shortاعشار۶۴ = 0سواپ پوزیشن فروش برای هر لات در روز.
حاشیه اولیهmargin_initialاعشار۶۴ = 0حاشیه اولیه یک لات.
حاشیه نگهداریmargin_maintenanceاعشار۶۴ = 0حاشیه نگهداری یک لات.
حجم جلسهsession_volumeاعشار۶۴ = 0حجم جلسه.
گردش مالی جلسهsession_turnoverاعشار۶۴ = 0گردش مالی جلسه.
بهره باز جلسهsession_interestاعشار۶۴ = 0بهره باز جلسه.
حجم سفارش‌های خرید جلسهsession_buy_orders_volumeاعشار۶۴ = 0حجم سفارش‌های خرید جلسه.
حجم سفارش‌های فروش جلسهsession_sell_orders_volumeاعشار۶۴ = 0حجم سفارش‌های فروش جلسه.
قیمت باز جلسهsession_openاعشار۶۴ = 0قیمت باز شدن جلسه.
قیمت‌بسته‌جلسهsession_closeاعشار۶۴ = 0قیمت بسته شدن جلسه.
میانگین موزون جلسهsession_awاعشار۶۴ = 0میانگین موزون قیمت جلسه.
قیمت تسویه جلسهsession_price_settlementاعشار۶۴ = 0قیمت تسویه جلسه.
کف قیمت جلسهsession_price_limit_minاعشار۶۴ = 0کف قیمت جلسه.
سقف قیمت جلسهsession_price_limit_maxاعشار۶۴ = 0سقف قیمت جلسه.
حاشیه پوشش‌داده‌شدهmargin_hedgedاعشار۶۴ = 0حاشیه یک پوزیشن پوشش‌داده‌شده.
تغییر قیمتprice_changeاعشار۶۴ = 0تغییر قیمت روز، به درصد.
نوسان قیمتprice_volatilityاعشار۶۴ = 0نوسان قیمت ابزار.
قیمت نظریprice_theoreticalاعشار۶۴ = 0قیمت نظری اختیار معامله.
دلتای قیمتprice_greeks_deltaاعشار۶۴ = 0دلتای اختیار معامله.
تتای قیمتprice_greeks_thetaاعشار۶۴ = 0تتای اختیار معامله.
گامای قیمتprice_greeks_gammaاعشار۶۴ = 0گامای اختیار معامله.
وگای قیمتprice_greeks_vegaاعشار۶۴ = 0وگای اختیار معامله.
روی قیمتprice_greeks_rhoاعشار۶۴ = 0روی اختیار معامله.
اومگای قیمتprice_greeks_omegaاعشار۶۴ = 0اومگای اختیار معامله.
حساسیت قیمتprice_sensitivityاعشار۶۴ = 0حساسیت قیمت ابزار.
مبناbasisرشته = ""مبنای ابزار.
دستهcategoryرشته = ""دسته ابزار.
ارز پایهcurrency_baseرشته = ""ارز پایه نماد.
ارز سودcurrency_profitرشته = ""ارز سود نماد.
ارز حاشیهcurrency_marginرشته = ""ارز حاشیه نماد.
بانکbankرشته = ""بانک ناشر ابزار، برای ابزارهای بورسی.
توضیحdescriptionرشته = ""توضیح خوانا برای کد یا ابزار.
بورسexchangeرشته = ""بورس ابزار.
فرمولformulaرشته = ""فرمول قیمت‌گذاری ابزار.
کد آیزینisinرشته = ""کد آیزین ابزار.
نامnameرشته = ""نام حساب، نماد یا ترمینال.
صفحه وبpageرشته = ""صفحه وب ابزار.
مسیرpathرشته = ""مسیر نماد در درخت نمادها.

نوسان قیمت Tick

ساختار نوسان قیمت
یک تغییر قیمت یک نماد.
نامانگلیسیگونهتوضیح
زمانtimeصحیح۶۴ = 0زمان به ثانیه از مبدأ.
قیمت خریدbidاعشار۶۴ = 0بهترین قیمت خرید.
قیمت فروشaskاعشار۶۴ = 0بهترین قیمت فروش.
آخرین قیمتlastاعشار۶۴ = 0آخرین قیمت معامله‌شده.
حجمvolumeصحیح۶۴ = 0حجم تیک.
زمان به میلی‌ثانیهtime_mscصحیح۶۴ = 0زمان به میلی‌ثانیه از مبدأ.
پرچم‌هاflagsصحیح = 0پرچم‌های نوسان، ترکیبی از TICK_FLAG_*.
حجم واقعیvolume_realاعشار۶۴ = 0حجم واقعی، به قرارداد یا واحد.

کندل قیمت Rate

ساختار کندل قیمت
یک کندل از یک نماد در یک بازه زمانی.
نامانگلیسیگونهتوضیح
زمانtimeصحیح۶۴ = 0زمان به ثانیه از مبدأ.
قیمت بازopenاعشار۶۴ = 0قیمت باز شدن کندل.
بیشترین قیمتhighاعشار۶۴ = 0بالاترین قیمت کندل.
کمترین قیمتlowاعشار۶۴ = 0پایین‌ترین قیمت کندل.
قیمت‌بستهcloseاعشار۶۴ = 0قیمت بسته شدن کندل.
حجم تیکtick_volumeصحیح۶۴ = 0حجم تیک کندل.
اسپردspreadصحیح = 0اسپرد به پوینت.
حجم واقعیreal_volumeصحیح۶۴ = 0حجم واقعی کندل یا نوسان، به قرارداد.

سطح دفتر سفارش BookInfo

ساختار سطح دفتر سفارش
یک سطح از عمق بازار، یک قیمت و حجم آن.
نامانگلیسیگونهتوضیح
نوع سطح دفترbook_typeصحیح = 0سمت سطح دفتر، BOOK_TYPE_SELL یا BOOK_TYPE_BUY.
قیمتpriceاعشار۶۴ = 0قیمت درخواست، سطح دفتر یا نتیجه.
حجمvolumeصحیح۶۴ = 0حجم سطح دفتر، به لات.
حجم اعشاریvolume_dblاعشار۶۴ = 0حجم سطح دفتر به شکل عدد اعشاری.

درخواست معامله TradeRequest

ساختار درخواست معامله
درخواست معامله برای OrderCheck و OrderSend.
نامانگلیسیگونهتوضیح
عملیاتactionصحیح = 0عملیات معاملاتی، یکی از مقدارهای TRADE_ACTION_*.
شناسه رباتmagicصحیح۶۴ = 0شماره جادویی که ربات را مشخص می‌کند.
شماره سفارشorderصحیح۶۴ = 0شماره سفارش.
نمادsymbolرشته = ""نماد معاملاتی.
حجمvolumeاعشار۶۴ = 0حجم معامله، به لات.
قیمتpriceاعشار۶۴ = 0قیمت درخواست؛ برای سفارش بازاری قیمت کنونی.
قیمت استاپ محدودstoplimitاعشار۶۴ = 0قیمت استاپ محدود، به پوینت از قیمت استاپ.
حد ضررslاعشار۶۴ = 0قیمت حد ضرر؛ ۰ وقتی ندارد.
حد سودtpاعشار۶۴ = 0قیمت حد سود؛ ۰ وقتی ندارد.
انحراف مجازdeviationصحیح = 0لغزش مجاز به پوینت.
نوع سفارشorder_typeصحیح = 0نوع سفارش، یکی از ORDER_TYPE_*.
نوع پرشدنtype_fillingصحیح = 0نوع پرشدن سفارش، یکی از ORDER_FILLING_*.
نوع زمانtype_timeصحیح = 0نوع زمان سفارش، یکی از ORDER_TIME_*.
زمان انقضاexpirationصحیح۶۴ = 0زمان انقضای درخواست، به ثانیه از مبدأ.
یادداشتcommentرشته = ""یادداشت ذخیره‌شده با رکورد.
شماره پوزیشنpositionصحیح۶۴ = 0شماره پوزیشنی که درخواست تغییر می‌دهد.
شماره پوزیشن مخالفposition_byصحیح۶۴ = 0شماره پوزیشن مخالف برای بستن با پوزیشن دیگر.

نتیجه بررسی سفارش OrderCheckResult

ساختار نتیجه بررسی سفارش
آنچه OrderCheck گزارش می‌دهد: کد نتیجه و حاشیه‌ای که سفارش مصرف می‌کند.
نامانگلیسیگونهتوضیح
کد نتیجهretcodeصحیح = 0کد نتیجه درخواست معامله.
موجودیbalanceاعشار۶۴ = 0موجودی پس از سفارش.
دارایی خالصequityاعشار۶۴ = 0دارایی خالص پس از سفارش.
سودprofitاعشار۶۴ = 0سودی که سفارش اضافه می‌کند.
حاشیهmarginاعشار۶۴ = 0حاشیه‌ای که سفارش مصرف می‌کند.
حاشیه آزادmargin_freeاعشار۶۴ = 0حاشیه آزاد پس از سفارش.
سطح حاشیهmargin_levelاعشار۶۴ = 0دارایی خالص تقسیم بر حاشیه، به درصد.
یادداشتcommentرشته = ""یادداشت ذخیره‌شده با رکورد.
درخواستrequestدرخواست معاملهدرخواستی که این نتیجه را ساخته است.

نتیجه ارسال سفارش OrderSendResult

ساختار نتیجه ارسال سفارش
آنچه OrderSend گزارش می‌دهد: کد نتیجه و شماره‌هایی که ساخته است.
نامانگلیسیگونهتوضیح
کد نتیجهretcodeصحیح = 0کد نتیجه درخواست معامله.
شماره معاملهdealصحیح۶۴ = 0شماره معامله‌ای که سرور ساخته است.
شماره سفارشorderصحیح۶۴ = 0شماره سفارشی که سرور ساخته است.
حجمvolumeاعشار۶۴ = 0حجم به لات.
قیمتpriceاعشار۶۴ = 0قیمت درخواست، سطح دفتر یا نتیجه.
قیمت خریدbidاعشار۶۴ = 0بهترین قیمت خرید.
قیمت فروشaskاعشار۶۴ = 0بهترین قیمت فروش.
یادداشتcommentرشته = ""یادداشت ذخیره‌شده با رکورد.
شناسه درخواستrequest_idصحیح = 0شناسه‌ای که سرور به درخواست داده است.
کد نتیجه خارجیretcode_externalصحیح = 0کد نتیجه سامانه بیرونی.
درخواستrequestدرخواست معاملهدرخواستی که این نتیجه را ساخته است.

سفارش معاملاتی TradeOrder

ساختار سفارش معاملاتی
یک سفارش فعال یا تاریخی.
نامانگلیسیگونهتوضیح
شماره تیکتticketصحیح۶۴ = 0شماره رکورد.
زمان ثبتtime_setupصحیح۶۴ = 0زمان ثبت سفارش، به ثانیه از مبدأ.
زمان ثبت به میلی‌ثانیهtime_setup_mscصحیح۶۴ = 0زمان ثبت سفارش، به میلی‌ثانیه از مبدأ.
زمان اتمامtime_doneصحیح۶۴ = 0زمان انجام سفارش، به ثانیه از مبدأ.
زمان اتمام به میلی‌ثانیهtime_done_mscصحیح۶۴ = 0زمان انجام سفارش، به میلی‌ثانیه از مبدأ.
زمان انقضاtime_expirationصحیح۶۴ = 0زمان انقضای سفارش، به ثانیه از مبدأ.
نوع سفارشorder_typeصحیح = 0نوع سفارش، یکی از ORDER_TYPE_*.
نوع زمانtype_timeصحیح = 0نوع زمان سفارش، یکی از ORDER_TIME_*.
نوع پرشدنtype_fillingصحیح = 0نوع پرشدن سفارش، یکی از ORDER_FILLING_*.
وضعیتstateصحیح = 0وضعیت سفارش، یکی از ORDER_STATE_*.
شناسه رباتmagicصحیح۶۴ = 0شماره جادویی که ربات را مشخص می‌کند.
شناسه پوزیشنposition_idصحیح۶۴ = 0شناسه پوزیشن.
شناسه پوزیشن مخالفposition_by_idصحیح۶۴ = 0شناسه پوزیشن مخالف.
دلیلreasonصحیح = 0دلیل ساخت رکورد، یکی از ثابت‌های دلیل.
حجم اولیهvolume_initialاعشار۶۴ = 0حجمی که سفارش با آن ثبت شده است.
حجم فعلیvolume_currentاعشار۶۴ = 0حجمی که هنوز روی سفارش باز است.
قیمت ورودprice_openاعشار۶۴ = 0قیمتی که سفارش با آن ثبت شده است.
حد ضررslاعشار۶۴ = 0قیمت حد ضرر؛ ۰ وقتی ندارد.
حد سودtpاعشار۶۴ = 0قیمت حد سود؛ ۰ وقتی ندارد.
قیمت فعلیprice_currentاعشار۶۴ = 0قیمت کنونی سفارش یا پوزیشن.
قیمت استاپ محدودprice_stoplimitاعشار۶۴ = 0قیمت استاپ محدود یک سفارش استاپ محدود.
نمادsymbolرشته = ""نماد معاملاتی.
یادداشتcommentرشته = ""یادداشت ذخیره‌شده با رکورد.
شناسه خارجیexternal_idرشته = ""شناسه بورسی سفارش، پوزیشن یا معامله.

پوزیشن معاملاتی TradePosition

ساختار پوزیشن معاملاتی
یک پوزیشن باز، با حجم، قیمت‌ها و سود.
نامانگلیسیگونهتوضیح
شماره تیکتticketصحیح۶۴ = 0شماره رکورد.
زمانtimeصحیح۶۴ = 0زمان به ثانیه از مبدأ.
زمان به میلی‌ثانیهtime_mscصحیح۶۴ = 0زمان به میلی‌ثانیه از مبدأ.
زمان به‌روزرسانیtime_updateصحیح۶۴ = 0زمان آخرین به‌روزرسانی، به ثانیه از مبدأ.
زمان به‌روزرسانی به میلی‌ثانیهtime_update_mscصحیح۶۴ = 0زمان آخرین به‌روزرسانی، به میلی‌ثانیه از مبدأ.
نوع پوزیشنposition_typeصحیح = 0نوع پوزیشن، POSITION_TYPE_BUY یا POSITION_TYPE_SELL.
شناسه رباتmagicصحیح۶۴ = 0شماره جادویی که ربات را مشخص می‌کند.
شناسهidentifierصحیح۶۴ = 0شناسه پوزیشن.
دلیلreasonصحیح = 0دلیل ساخت رکورد، یکی از ثابت‌های دلیل.
حجمvolumeاعشار۶۴ = 0حجم پوزیشن، به لات.
قیمت ورودprice_openاعشار۶۴ = 0قیمتی که پوزیشن با آن باز شده است.
حد ضررslاعشار۶۴ = 0قیمت حد ضرر؛ ۰ وقتی ندارد.
حد سودtpاعشار۶۴ = 0قیمت حد سود؛ ۰ وقتی ندارد.
قیمت فعلیprice_currentاعشار۶۴ = 0قیمت کنونی سفارش یا پوزیشن.
سواپswapاعشار۶۴ = 0سواپ گرفته‌شده از پوزیشن یا معامله.
سودprofitاعشار۶۴ = 0سود شناور یا سود معامله.
نمادsymbolرشته = ""نماد معاملاتی.
یادداشتcommentرشته = ""یادداشت ذخیره‌شده با رکورد.
شناسه خارجیexternal_idرشته = ""شناسه بورسی سفارش، پوزیشن یا معامله.

معامله انجام شده TradeDeal

ساختار معامله انجام شده
یک معامله انجام‌شده، با سود، کمیسیون و سواپ.
نامانگلیسیگونهتوضیح
شماره تیکتticketصحیح۶۴ = 0شماره رکورد.
شماره سفارشorderصحیح۶۴ = 0شماره سفارشی که معامله از آن آمده است.
زمانtimeصحیح۶۴ = 0زمان به ثانیه از مبدأ.
زمان به میلی‌ثانیهtime_mscصحیح۶۴ = 0زمان به میلی‌ثانیه از مبدأ.
نوع معاملهdeal_typeصحیح = 0نوع معامله، یکی از مقدارهای DEAL_TYPE_*.
نوع ورودentryصحیح = 0نحوه ورود یا خروج معامله از پوزیشن، یکی از DEAL_ENTRY_*.
شناسه رباتmagicصحیح۶۴ = 0شماره جادویی که ربات را مشخص می‌کند.
شناسه پوزیشنposition_idصحیح۶۴ = 0شناسه پوزیشن.
دلیلreasonصحیح = 0دلیل ساخت رکورد، یکی از ثابت‌های دلیل.
حجمvolumeاعشار۶۴ = 0حجم معامله، به لات.
قیمتpriceاعشار۶۴ = 0قیمت درخواست، سطح دفتر یا نتیجه.
کمیسیونcommissionاعشار۶۴ = 0کمیسیون گرفته‌شده برای معامله.
سواپswapاعشار۶۴ = 0سواپ گرفته‌شده از پوزیشن یا معامله.
سودprofitاعشار۶۴ = 0سود شناور یا سود معامله.
هزینهfeeاعشار۶۴ = 0هزینه گرفته‌شده برای معامله.
نمادsymbolرشته = ""نماد معاملاتی.
یادداشتcommentرشته = ""یادداشت ذخیره‌شده با رکورد.
شناسه خارجیexternal_idرشته = ""شناسه بورسی سفارش، پوزیشن یا معامله.

پایاها و متغیرها

نشانی پیش‌فرض پل DEFAULT_BRIDGE_URL

پایا نشانی پیش‌فرض پل: رشته = "http://127.0.0.1:18812"
نشانی پیش‌فرض پل.

زمان انتظار پیش‌فرض DEFAULT_TIMEOUT_MS

پایا زمان انتظار پیش‌فرض: صحیح۳۲ = 60000
زمان انتظار پیش‌فرض یک فراخوانی پل، به میلی‌ثانیه: ۶۰۰۰۰.

بازه‌های زمانی TIMEFRAME_…

بازه‌های نمودار، همان مقادیر ENUM_TIMEFRAMES در MQL5.
نامانگلیسیمقدار
بازه یک دقیقهTIMEFRAME_M11
بازه دو دقیقهTIMEFRAME_M22
بازه سه دقیقهTIMEFRAME_M33
بازه چهار دقیقهTIMEFRAME_M44
بازه پنج دقیقهTIMEFRAME_M55
بازه شش دقیقهTIMEFRAME_M66
بازه ده دقیقهTIMEFRAME_M1010
بازه دوازده دقیقهTIMEFRAME_M1212
بازه پانزده دقیقهTIMEFRAME_M1515
بازه بیست دقیقهTIMEFRAME_M2020
بازه سی دقیقهTIMEFRAME_M3030
بازه یک ساعتTIMEFRAME_H116385
بازه دو ساعتTIMEFRAME_H216386
بازه سه ساعتTIMEFRAME_H316387
بازه چهار ساعتTIMEFRAME_H416388
بازه شش ساعتTIMEFRAME_H616390
بازه هشت ساعتTIMEFRAME_H816392
بازه دوازده ساعتTIMEFRAME_H1216396
بازه یک روزTIMEFRAME_D116408
بازه یک هفتهTIMEFRAME_W132769
بازه یک ماهTIMEFRAME_MN149153

نوع سفارش ORDER_TYPE_…

نوع سفارش‌ها، همان مقادیر ENUM_ORDER_TYPE.
نامانگلیسیمقدار
سفارش خریدORDER_TYPE_BUY0
سفارش فروشORDER_TYPE_SELL1
سفارش خرید محدودORDER_TYPE_BUY_LIMIT2
سفارش فروش محدودORDER_TYPE_SELL_LIMIT3
سفارش خرید استاپORDER_TYPE_BUY_STOP4
سفارش فروش استاپORDER_TYPE_SELL_STOP5
سفارش خرید استاپ محدودORDER_TYPE_BUY_STOP_LIMIT6
سفارش فروش استاپ محدودORDER_TYPE_SELL_STOP_LIMIT7
سفارش بستن با سفارش دیگرORDER_TYPE_CLOSE_BY8

وضعیت سفارش ORDER_STATE_…

وضعیت سفارش‌ها، همان مقادیر ENUM_ORDER_STATE.
نامانگلیسیمقدار
وضعیت سفارش آغاز شدهORDER_STATE_STARTED0
وضعیت سفارش ثبت شدهORDER_STATE_PLACED1
وضعیت سفارش لغو شدهORDER_STATE_CANCELED2
وضعیت سفارش بخشی انجام شدهORDER_STATE_PARTIAL3
وضعیت سفارش انجام شدهORDER_STATE_FILLED4
وضعیت سفارش رد شدهORDER_STATE_REJECTED5
وضعیت سفارش منقضی شدهORDER_STATE_EXPIRED6
وضعیت درخواست افزودنORDER_STATE_REQUEST_ADD7
وضعیت درخواست ویرایشORDER_STATE_REQUEST_MODIFY8
وضعیت درخواست لغوORDER_STATE_REQUEST_CANCEL9

حالت پرشدن ORDER_FILLING_…

حالت‌های پرشدن سفارش، همان مقادیر ENUM_ORDER_TYPE_FILLING.
نامانگلیسیمقدار
پرشدن کامل اجباریORDER_FILLING_FOK0
پرشدن فوریORDER_FILLING_IOC1
پرشدن با بازگشت باقیماندهORDER_FILLING_RETURN2
ثبت فقط در دفترORDER_FILLING_BOC3

مدت اعتبار سفارش ORDER_TIME_…

نوع زمان سفارش‌ها، همان مقادیر ENUM_ORDER_TYPE_TIME.
نامانگلیسیمقدار
اعتبار نامحدودORDER_TIME_GTC0
اعتبار روزانهORDER_TIME_DAY1
اعتبار زمان معینORDER_TIME_SPECIFIED2
اعتبار روز معینORDER_TIME_SPECIFIED_DAY3

دلیل سفارش ORDER_REASON_…

دلیل ساخت سفارش در ترمینال، همان مقادیر ENUM_ORDER_REASON.
نامانگلیسیمقدار
دلیل سفارش کارخواه دسکتاپORDER_REASON_CLIENT0
دلیل سفارش کارخواه موبایلORDER_REASON_MOBILE1
دلیل سفارش کارخواه وبORDER_REASON_WEB2
دلیل سفارش ربات معامله‌گرORDER_REASON_EXPERT3
دلیل سفارش حد ضررORDER_REASON_SL4
دلیل سفارش حد سودORDER_REASON_TP5
دلیل سفارش توقف اجباریORDER_REASON_SO6

عملیات معاملاتی TRADE_ACTION_…

عملیات درخواست معامله، همان مقادیر ENUM_TRADE_REQUEST_ACTIONS.
نامانگلیسیمقدار
عملیات معامله فوریTRADE_ACTION_DEAL1
عملیات سفارش معلقTRADE_ACTION_PENDING5
عملیات تغییر حد ضرر سودTRADE_ACTION_SLTP6
عملیات ویرایش سفارشTRADE_ACTION_MODIFY7
عملیات حذف سفارشTRADE_ACTION_REMOVE8
عملیات بستن با پوزیشن مخالفTRADE_ACTION_CLOSE_BY10

نوع پوزیشن POSITION_TYPE_…

نوع پوزیشن‌ها، همان مقادیر ENUM_POSITION_TYPE.
نامانگلیسیمقدار
پوزیشن خریدPOSITION_TYPE_BUY0
پوزیشن فروشPOSITION_TYPE_SELL1

دلیل پوزیشن POSITION_REASON_…

دلیل باز شدن پوزیشن در ترمینال، همان مقادیر ENUM_POSITION_REASON.
نامانگلیسیمقدار
دلیل پوزیشن کارخواه دسکتاپPOSITION_REASON_CLIENT0
دلیل پوزیشن کارخواه موبایلPOSITION_REASON_MOBILE1
دلیل پوزیشن کارخواه وبPOSITION_REASON_WEB2
دلیل پوزیشن ربات معامله‌گرPOSITION_REASON_EXPERT3

نوع معامله DEAL_TYPE_…

نوع معامله‌ها، همان مقادیر ENUM_DEAL_TYPE.
نامانگلیسیمقدار
معامله خریدDEAL_TYPE_BUY0
معامله فروشDEAL_TYPE_SELL1
معامله واریز موجودیDEAL_TYPE_BALANCE2
معامله اعتبارDEAL_TYPE_CREDIT3
معامله کسر هزینهDEAL_TYPE_CHARGE4
معامله اصلاحیDEAL_TYPE_CORRECTION5
معامله پاداشDEAL_TYPE_BONUS6
معامله کمیسیونDEAL_TYPE_COMMISSION7
معامله کمیسیون روزانهDEAL_TYPE_COMMISSION_DAILY8
معامله کمیسیون ماهانهDEAL_TYPE_COMMISSION_MONTHLY9
معامله کمیسیون نماینده روزانهDEAL_TYPE_COMMISSION_AGENT_DAILY10
معامله کمیسیون نماینده ماهانهDEAL_TYPE_COMMISSION_AGENT_MONTHLY11
معامله سود سپردهDEAL_TYPE_INTEREST12
معامله خرید لغو شدهDEAL_TYPE_BUY_CANCELED13
معامله فروش لغو شدهDEAL_TYPE_SELL_CANCELED14

گونه معامله DEAL_…

گونه‌های معامله که خرید یا فروش نیستند، مانند سود سهام و مالیات.
نامانگلیسیمقدار
معامله سود سهامDEAL_DIVIDEND15
معامله سود سهام معاف از مالیاتDEAL_DIVIDEND_FRANKED16
معامله مالیاتDEAL_TAX17

نوع ورود معامله DEAL_ENTRY_…

نحوه تغییر پوزیشن با معامله، همان مقادیر ENUM_DEAL_ENTRY.
نامانگلیسیمقدار
ورود به بازارDEAL_ENTRY_IN0
خروج از بازارDEAL_ENTRY_OUT1
بازگشت پوزیشنDEAL_ENTRY_INOUT2
خروج با پوزیشن مخالفDEAL_ENTRY_OUT_BY3

دلیل معامله DEAL_REASON_…

دلیل انجام معامله در ترمینال، همان مقادیر ENUM_DEAL_REASON.
نامانگلیسیمقدار
دلیل معامله کارخواه دسکتاپDEAL_REASON_CLIENT0
دلیل معامله کارخواه موبایلDEAL_REASON_MOBILE1
دلیل معامله کارخواه وبDEAL_REASON_WEB2
دلیل معامله ربات معامله‌گرDEAL_REASON_EXPERT3
دلیل معامله حد ضررDEAL_REASON_SL4
دلیل معامله حد سودDEAL_REASON_TP5
دلیل معامله توقف اجباریDEAL_REASON_SO6
دلیل معامله شناوری شبانهDEAL_REASON_ROLLOVER7
دلیل معامله تغییر حاشیه سود متغیرDEAL_REASON_VMARGIN8
دلیل معامله تجزیه سهامDEAL_REASON_SPLIT9

کد نتیجه معامله TRADE_RETCODE_…

کدهای نتیجه‌ای که سرور معاملاتی در retcode برمی‌گرداند.
نامانگلیسیمقدار
کد نرخ جدیدTRADE_RETCODE_REQUOTE10004
کد رد درخواستTRADE_RETCODE_REJECT10006
کد لغو درخواستTRADE_RETCODE_CANCEL10007
کد ثبت سفارشTRADE_RETCODE_PLACED10008
کد اجرای کاملTRADE_RETCODE_DONE10009
کد اجرای بخشیTRADE_RETCODE_DONE_PARTIAL10010
کد خطای پردازشTRADE_RETCODE_ERROR10011
کد اتمام زمانTRADE_RETCODE_TIMEOUT10012
کد درخواست نامعتبرTRADE_RETCODE_INVALID10013
کد حجم نامعتبرTRADE_RETCODE_INVALID_VOLUME10014
کد قیمت نامعتبرTRADE_RETCODE_INVALID_PRICE10015
کد حد ضرر سود نامعتبرTRADE_RETCODE_INVALID_STOPS10016
کد غیرفعال بودن معاملهTRADE_RETCODE_TRADE_DISABLED10017
کد‌بسته‌بودن‌بازارTRADE_RETCODE_MARKET_CLOSED10018
کد کمبود وجهTRADE_RETCODE_NO_MONEY10019
کد تغییر قیمتTRADE_RETCODE_PRICE_CHANGED10020
کد نبود نرخTRADE_RETCODE_PRICE_OFF10021
کد انقضای نامعتبرTRADE_RETCODE_INVALID_EXPIRATION10022
کد تغییر وضعیت سفارشTRADE_RETCODE_ORDER_CHANGED10023
کد درخواست‌های بیش از حدTRADE_RETCODE_TOO_MANY_REQUESTS10024
کد بدون تغییرTRADE_RETCODE_NO_CHANGES10025
کد‌غیرفعال‌بودن‌معامله‌خودکار‌در‌سرورTRADE_RETCODE_SERVER_DISABLES_AT10026
کد‌غیرفعال‌بودن‌معامله‌خودکار‌در‌کارخواهTRADE_RETCODE_CLIENT_DISABLES_AT10027
کد قفل بودن درخواستTRADE_RETCODE_LOCKED10028
کد منجمد بودن سفارشTRADE_RETCODE_FROZEN10029
کد نوع پرشدن نامعتبرTRADE_RETCODE_INVALID_FILL10030
کد قطع ارتباطTRADE_RETCODE_CONNECTION10031
کد مخصوص حساب واقعیTRADE_RETCODE_ONLY_REAL10032
کد محدودیت تعداد سفارشTRADE_RETCODE_LIMIT_ORDERS10033
کد محدودیت حجمTRADE_RETCODE_LIMIT_VOLUME10034
کد سفارش نامعتبرTRADE_RETCODE_INVALID_ORDER10035
کد‌بسته‌بودن‌پوزیشنTRADE_RETCODE_POSITION_CLOSED10036
کد حجم بستن نامعتبرTRADE_RETCODE_INVALID_CLOSE_VOLUME10038
کد وجود سفارش بستنTRADE_RETCODE_CLOSE_ORDER_EXIST10039
کد محدودیت تعداد پوزیشنTRADE_RETCODE_LIMIT_POSITIONS10040
کد رد لغو سفارشTRADE_RETCODE_REJECT_CANCEL10041
کد مخصوص پوزیشن خریدTRADE_RETCODE_LONG_ONLY10042
کد مخصوص پوزیشن فروشTRADE_RETCODE_SHORT_ONLY10043
کد مخصوص بستن پوزیشنTRADE_RETCODE_CLOSE_ONLY10044
کد الزام بستن به ترتیب ورودTRADE_RETCODE_FIFO_CLOSE10045
کد ممنوعیت پوزیشن دوطرفهTRADE_RETCODE_HEDGE_PROHIBITED10046

سطح دفتر سفارش BOOK_TYPE_…

سمت هر سطح از عمق بازار، همان مقادیر ENUM_BOOK_TYPE.
نامانگلیسیمقدار
سطح دفتر فروشBOOK_TYPE_SELL0
سطح دفتر خریدBOOK_TYPE_BUY1
سطح دفتر فروش بازاریBOOK_TYPE_SELL_MARKET2
سطح دفتر خرید بازاریBOOK_TYPE_BUY_MARKET3

پالایه نوسان COPY_TICKS_…

خروجی CopyTicksFrom و CopyTicksRange، همان مقادیر ENUM_COPY_TICKS.
نامانگلیسیمقدار
تمام نوسانات قیمتCOPY_TICKS_ALL-1
نوسانات قیمت اطلاعاتیCOPY_TICKS_INFO1
نوسانات قیمت معاملاتیCOPY_TICKS_TRADE2

پرچم نوسان TICK_FLAG_…

آنچه یک نوسان قیمت دارد، به شکل ماسک بیتی در flags.
نامانگلیسیمقدار
پرچم نوسان قیمت پیشنهاد خریدTICK_FLAG_BID2
پرچم نوسان قیمت پیشنهاد فروشTICK_FLAG_ASK4
پرچم نوسان آخرین قیمتTICK_FLAG_LAST8
پرچم نوسان حجمTICK_FLAG_VOLUME16
پرچم نوسان ناشی از خریدTICK_FLAG_BUY32
پرچم نوسان ناشی از فروشTICK_FLAG_SELL64

حالت معامله نماد SYMBOL_TRADE_MODE_…

آنچه معامله یک نماد اجازه می‌دهد، همان مقادیر ENUM_SYMBOL_TRADE_MODE.
نامانگلیسیمقدار
معامله نماد غیرفعالSYMBOL_TRADE_MODE_DISABLED0
معامله نماد فقط خریدSYMBOL_TRADE_MODE_LONGONLY1
معامله نماد فقط فروشSYMBOL_TRADE_MODE_SHORTONLY2
معامله نماد فقط بستنSYMBOL_TRADE_MODE_CLOSEONLY3
معامله نماد کاملSYMBOL_TRADE_MODE_FULL4

حالت محاسبه نماد SYMBOL_CALC_MODE_…

نحوه محاسبه سود و حاشیه نماد در ترمینال، همان مقادیر ENUM_SYMBOL_CALC_MODE.
نامانگلیسیمقدار
محاسبه نماد فارکسSYMBOL_CALC_MODE_FOREX0
محاسبه نماد فارکس بدون اهرمSYMBOL_CALC_MODE_FOREX_NO_LEVERAGE1
محاسبه نماد آتیSYMBOL_CALC_MODE_FUTURES2
محاسبه نماد سی اف دیSYMBOL_CALC_MODE_CFD3
محاسبه نماد سی اف دی شاخصSYMBOL_CALC_MODE_CFDINDEX4
محاسبه نماد سی اف دی با اهرمSYMBOL_CALC_MODE_CFDLEVERAGE5
محاسبه نماد سهام بورسیSYMBOL_CALC_MODE_EXCH_STOCKS32
محاسبه نماد آتی بورسیSYMBOL_CALC_MODE_EXCH_FUTURES33
محاسبه نماد آتی فورتسSYMBOL_CALC_MODE_EXCH_FUTURES_FORTS34
محاسبه نماد اوراق بورسیSYMBOL_CALC_MODE_EXCH_BONDS35
محاسبه نماد سهام مسکوSYMBOL_CALC_MODE_EXCH_STOCKS_MOEX36
محاسبه نماد اوراق مسکوSYMBOL_CALC_MODE_EXCH_BONDS_MOEX37
محاسبه نماد وثیقهSYMBOL_CALC_MODE_SERV_COLLATERAL38

کد نتیجه پل RES_…

کدهای نتیجه‌ای که پل و این بسته در LastError به کار می‌برند.
نامانگلیسیمقدار
نتیجه موفقRES_S_OK1
نتیجه خطای عمومیRES_E_FAIL-1
نتیجه پارامتر نامعتبرRES_E_INVALID_PARAMS-2
نتیجه کمبود حافظهRES_E_NO_MEMORY-3
نتیجه یافت نشدRES_E_NOT_FOUND-4
نتیجه نسخه نامعتبرRES_E_INVALID_VERSION-5
نتیجه ورود ناموفقRES_E_AUTH_FAILED-6
نتیجه پشتیبانی نشدهRES_E_UNSUPPORTED-7
نتیجه غیرفعال بودن معامله خودکارRES_E_AUTO_TRADING_DISABLED-8
نتیجه خطای داخلیRES_E_INTERNAL_FAIL-10000
نتیجه خطای داخلی ارسالRES_E_INTERNAL_FAIL_SEND-10001
نتیجه خطای داخلی دریافتRES_E_INTERNAL_FAIL_RECEIVE-10002
نتیجه خطای داخلی آغازRES_E_INTERNAL_FAIL_INIT-10003
نتیجه خطای داخلی اتصالRES_E_INTERNAL_FAIL_CONNECT-10003
نتیجه خطای داخلی اتمام زمانRES_E_INTERNAL_FAIL_TIMEOUT-10005

تابع‌ها

کپی کندل‌ها از تاریخ CopyRatesFrom

تابع کپی کندل‌ها از تاریخ(symbol: رشته، timeframe: صحیح، date_from: صحیح۶۴، count: صحیح): وکتور<کندل قیمت>
کندل‌ها از یک زمان به بعد: قدیمی‌ترین کندل در یا پس از date_from و سپس حداکثر count کندل.
metatrader-Rates.salam
واردسازی متاتریدر

تابع ریشه:
    متاتریدر.تنظیم نشانی پل("http://127.0.0.1:18812")

    candles := متاتریدر.کپی کندل‌ها از تاریخ("EURUSD"، متاتریدر.بازه یک ساعت، 1700000000 برگردان صحیح۶۴، 10)
    هر r در candles:
        سرچاپ r.زمان، r.قیمت باز، r.بیشترین قیمت، r.کمترین قیمت، r.قیمت‌بسته، r.حجم تیک
    پایان

    recent := متاتریدر.کپی کندل‌ها از موقعیت("EURUSD"، متاتریدر.بازه پنج دقیقه، 0، 5)
    سرچاپ "recent:"، recent.طول()

    window := متاتریدر.کپی‌کندل‌ها‌در‌بازه("EURUSD"، متاتریدر.بازه یک روز، 1700000000 برگردان صحیح۶۴، 1700086400 برگردان صحیح۶۴)
    سرچاپ "daily:"، window.طول()

    ticks := متاتریدر.کپی نوسانات از تاریخ("EURUSD"، 1700000000 برگردان صحیح۶۴، 100، متاتریدر.تمام نوسانات قیمت)
    هر t در ticks:
        سرچاپ t.زمان به میلی‌ثانیه، t.قیمت خرید، t.قیمت فروش، t.آخرین قیمت، t.پرچم‌ها
    پایان

    trade_ticks := متاتریدر.کپی‌نوسانات‌در‌بازه("EURUSD"، 1700000000000 برگردان صحیح۶۴، 1700000600000 برگردان صحیح۶۴، متاتریدر.نوسانات قیمت معاملاتی)
    سرچاپ "trade ticks:"، trade_ticks.طول()
    برگشت 0
پایان

کپی کندل‌ها از موقعیت CopyRatesFromPos

تابع کپی کندل‌ها از موقعیت(symbol: رشته، timeframe: صحیح، start_pos: صحیح، count: صحیح): وکتور<کندل قیمت>
کندل‌ها بر پایه موقعیت: start_pos از کندل جاری شمرده می‌شود و ۰ جدیدترین است، پس ۰ و ۱۰ ده کندل آخر را می‌دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Rates.salam

کپی‌کندل‌ها‌در‌بازه CopyRatesRange

تابع کپی‌کندل‌ها‌در‌بازه(symbol: رشته، timeframe: صحیح، date_from: صحیح۶۴، date_to: صحیح۶۴): وکتور<کندل قیمت>
کندل‌های بین دو زمان، هر دو به ثانیه از مبدأ.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Rates.salam

تعداد نمادها SymbolsTotal

تابع تعداد نمادها(): صحیح
تعداد نمادهایی که ترمینال عرضه می‌کند. در خطا ۰ برمی‌گرداند.
metatrader-Symbols.salam
واردسازی متاتریدر

تابع ریشه:
    متاتریدر.تنظیم نشانی پل("http://127.0.0.1:18812")

    سرچاپ "symbols:"، متاتریدر.تعداد نمادها()
    هر s در متاتریدر.دریافت نمادها():
        سرچاپ s.نام، s.رقم اعشار، s.اسپرد، s.حالت معامله
    پایان

    majors := متاتریدر.دریافت نمادها با گروه("*USD*")
    سرچاپ "usd symbols:"، majors.طول()

    info := متاتریدر.دریافت اطلاعات نماد("EURUSD")
    سرچاپ info.قیمت خرید، info.قیمت فروش، info.اندازه پوینت، info.رقم اعشار
    سرچاپ info.حداقل حجم، info.گام حجم، info.حداکثر حجم
    سرچاپ info.سطح حد ضرر سود، info.اندازه قرارداد

    tick := متاتریدر.نوسان نماد("EURUSD")
    سرچاپ tick.زمان، tick.قیمت خرید، tick.قیمت فروش، tick.آخرین قیمت، tick.حجم

    اگر وارونه متاتریدر.انتخاب نماد("EURUSD"، درست):
        نادرست‌سرچاپ "cannot select EURUSD"
    پایان
    برگشت 0
پایان

دریافت نمادها SymbolsGet

تابع دریافت نمادها(): وکتور<اطلاعات نماد>
همه نمادهای ترمینال، با قیمت‌ها، قواعد قرارداد و داده جلسه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Symbols.salam

دریافت نمادها با گروه SymbolsGetGroup

تابع دریافت نمادها با گروه(group: رشته): وکتور<اطلاعات نماد>
نمادهایی که با ماسک گروهی مانند *USD* تطبیق می‌کنند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Symbols.salam

دریافت اطلاعات نماد GetSymbolInfo

تابع دریافت اطلاعات نماد(symbol: رشته): اطلاعات نماد
هر آنچه ترمینال از یک نماد می‌داند؛ در خطا ساختار خالی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Symbols.salam

نوسان نماد SymbolInfoTick

تابع نوسان نماد(symbol: رشته): نوسان قیمت
آخرین نوسان یک نماد: خرید، فروش، آخرین قیمت، حجم و پرچم‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Symbols.salam

انتخاب نماد SymbolSelect

تابع انتخاب نماد(symbol: رشته، enable: منطقی): منطقی
نماد را به دیده‌بان بازار اضافه یا از آن حذف می‌کند و وقتی ترمینال تغییر را بپذیرد true برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Symbols.salam

تنظیم نشانی پل SetBridgeUrl

تابع تنظیم نشانی پل(url: رشته)
نشانی پایه پل را می‌گذارد، برای نمونه http://127.0.0.1:18812. روی همه فراخوانی‌های بعدی اثر دارد.
metatrader-Connect.salam
واردسازی متاتریدر

تابع ریشه:
    متاتریدر.تنظیم نشانی پل("http://127.0.0.1:18812")
    سرچاپ متاتریدر.نشانی پل()

    اگر وارونه متاتریدر.آغاز(""، 12345678 برگردان صحیح۶۴، "secret"، "Broker-Demo"، 60000، نادرست):
        e := متاتریدر.آخرین خطا()
        نادرست‌سرچاپ "initialize failed:"، e.کد، e.توضیح
        برگشت 1
    پایان
    اگر وارونه متاتریدر.ورود(12345678 برگردان صحیح۶۴، "secret"، "Broker-Demo"، 60000):
        e := متاتریدر.آخرین خطا()
        نادرست‌سرچاپ "login failed:"، e.کد، e.توضیح
        برگشت 1
    پایان

    v := متاتریدر.نسخه()
    سرچاپ "connected:"، متاتریدر.متصل است()
    سرچاپ "terminal:"، v.نسخه ترمینال، "build"، v.شماره ساخت، v.تاریخ انتشار ساخت
    اگر وارونه متاتریدر.موفق():
        e := متاتریدر.آخرین خطا()
        نادرست‌سرچاپ e.کد، e.توضیح
    پایان

    متاتریدر.پایان()
    برگشت 0
پایان

نشانی پل BridgeUrl

تابع نشانی پل(): رشته
نشانی پل در حال استفاده، به طور پیش‌فرض DEFAULT_BRIDGE_URL.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Connect.salam

آغاز Initialize

تابع آغاز(path: رشته = ""، login: صحیح۶۴ = 0، password: رشته = ""، server: رشته = ""، timeout_ms: صحیح، portable: منطقی = نادرست): منطقی
نقطه پایانی /initialize را صدا می‌زند، در صورت نیاز نشانی پل را عوض می‌کند و وقتی پل پاسخ دهد نشست را متصل می‌کند. شناسه و گذرواژه برای پل‌هایی فرستاده می‌شوند که خودشان ترمینال را بالا می‌آورند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Connect.salam

ورود Login

تابع ورود(login: صحیح۶۴، password: رشته = ""، server: رشته = ""، timeout_ms: صحیح): منطقی
نقطه پایانی /login را با شماره حساب، گذرواژه، سرور و زمان انتظار صدا می‌زند و در موفقیت نشست را متصل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Connect.salam

پایان Shutdown

تابع پایان()
نقطه پایانی /shutdown را صدا می‌زند و نشست را قطع می‌کند. پیش از پایان برنامه آن را صدا بزنید تا پل ترمینال را درست ببندد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Connect.salam

متصل است IsConnected

تابع متصل است(): منطقی
پس از Initialize یا Login موفق و پیش از Shutdown درست است؛ نتیجه آخرین فراخوانی را می‌گوید، نه یک بررسی زنده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Connect.salam

نسخه Version

تابع نسخه(): اطلاعات نسخه
نسخه و شماره ساخت ترمینال، همراه تاریخ انتشار آن ساخت.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Connect.salam

آخرین خطا LastError

تابع آخرین خطا(): اطلاعات آخرین خطا
کد و توضیح آخرین عملیات، همان‌طور که بسته یا پل گذاشته است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Connect.salam

موفق Ok

تابع موفق(): منطقی
وقتی آخرین عملیات موفق بوده درست است، یعنی وقتی LastError برابر RES_S_OK باشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Connect.salam

تعداد سفارش‌های فعال OrdersTotal

تابع تعداد سفارش‌های فعال(): صحیح
تعداد سفارش‌های فعال، همان‌طور که ترمینال گزارش می‌دهد. در خطا ۰ برمی‌گرداند و LastError را می‌گذارد.
metatrader-Trade.salam
واردسازی متاتریدر

تابع ریشه:
    متاتریدر.تنظیم نشانی پل("http://127.0.0.1:18812")

    سرچاپ "orders:"، متاتریدر.تعداد سفارش‌های فعال()
    هر o در متاتریدر.دریافت سفارش‌های فعال():
        سرچاپ o.شماره تیکت، o.نماد، o.نوع سفارش، o.وضعیت، o.حجم فعلی، o.قیمت ورود
    پایان
    هر p در متاتریدر.دریافت پوزیشن‌های باز():
        سرچاپ p.شماره تیکت، p.نماد، p.نوع پوزیشن، p.حجم، p.قیمت ورود، p.سود
    پایان

    ناپایا req := متاتریدر.درخواست معامله {}
    req.عملیات = متاتریدر.عملیات معامله فوری
    req.نماد = "EURUSD"
    req.حجم = 0.10
    req.قیمت = 1.0821
    req.نوع سفارش = متاتریدر.سفارش خرید
    req.نوع پرشدن = متاتریدر.پرشدن فوری
    req.نوع زمان = متاتریدر.اعتبار نامحدود
    req.انحراف مجاز = 10
    req.شناسه ربات = 2026
    req.یادداشت = "salam"

    check := متاتریدر.بررسی سفارش(req)
    سرچاپ "check:"، check.کد نتیجه، check.حاشیه، check.حاشیه آزاد، check.یادداشت
    اگر check.کد نتیجه نابرابر 0:
        برگشت 1
    پایان

    sent := متاتریدر.ارسال سفارش(req)
    سرچاپ "send:"، sent.کد نتیجه، sent.شماره سفارش، sent.شماره معامله، sent.قیمت
    اگر sent.کد نتیجه نابرابر متاتریدر.کد اجرای کامل و sent.کد نتیجه نابرابر متاتریدر.کد ثبت سفارش:
        نادرست‌سرچاپ "order rejected:"، sent.یادداشت
        برگشت 1
    پایان

    margin := متاتریدر.محاسبه حاشیه سفارش(متاتریدر.سفارش خرید، "EURUSD"، 0.10، 1.0821)
    profit := متاتریدر.محاسبه سود سفارش(متاتریدر.سفارش خرید، "EURUSD"، 0.10، 1.0821، 1.09)
    سرچاپ margin، profit
    برگشت 0
پایان

دریافت سفارش‌های فعال OrdersGet

تابع دریافت سفارش‌های فعال(): وکتور<سفارش معاملاتی>
همه سفارش‌های فعال. در خطا بردار خالی برمی‌گرداند و LastError را می‌گذارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Trade.salam

دریافت سفارش‌های فعال با نماد OrdersGetSymbol

تابع دریافت سفارش‌های فعال با نماد(symbol: رشته): وکتور<سفارش معاملاتی>
سفارش‌های فعال یک نماد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Trade.salam

دریافت سفارش‌های فعال با گروه OrdersGetGroup

تابع دریافت سفارش‌های فعال با گروه(group: رشته): وکتور<سفارش معاملاتی>
سفارش‌های فعال نمادهایی که با ماسک گروهی مانند *USD* تطبیق می‌کنند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Trade.salam

دریافت سفارش فعال با شماره OrdersGetTicket

تابع دریافت سفارش فعال با شماره(ticket: صحیح۶۴): وکتور<سفارش معاملاتی>
سفارش فعال با این شماره، به شکل برداری با صفر یا یک عضو، چون پل برای همه پالایه‌ها یک شکل پاسخ می‌دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Trade.salam

محاسبه حاشیه سفارش OrderCalcMargin

تابع محاسبه حاشیه سفارش(action: صحیح، symbol: رشته، volume: اعشار۶۴، price: اعشار۶۴): اعشار۶۴
حاشیه‌ای که یک سفارش با این عملیات، نماد، حجم و قیمت مصرف می‌کند، به ارز سپرده. در خطا ۰ برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Trade.salam

محاسبه سود سفارش OrderCalcProfit

تابع محاسبه سود سفارش(action: صحیح، symbol: رشته، volume: اعشار۶۴، price_open: اعشار۶۴، price_close: اعشار۶۴): اعشار۶۴
سودی که سفارش بین دو قیمت می‌سازد. در خطا ۰ برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Trade.salam

بررسی سفارش OrderCheck

تابع بررسی سفارش(request: درخواست معامله): نتیجه بررسی سفارش
درخواست را بدون فرستادن بررسی می‌کند: کد نتیجه، حاشیه، حاشیه آزاد پس از سفارش و موجودی، دارایی و سود حساب پس از آن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Trade.salam

ارسال سفارش OrderSend

تابع ارسال سفارش(request: درخواست معامله): نتیجه ارسال سفارش
درخواست را به سرور معاملاتی می‌فرستد و کد نتیجه، شماره سفارش و معامله، حجم و قیمت اجراشده و یادداشت سرور را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Trade.salam

تعداد پوزیشن‌های باز PositionsTotal

تابع تعداد پوزیشن‌های باز(): صحیح
تعداد پوزیشن‌های باز. در خطا ۰ برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Trade.salam

دریافت پوزیشن‌های باز PositionsGet

تابع دریافت پوزیشن‌های باز(): وکتور<پوزیشن معاملاتی>
همه پوزیشن‌های باز.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Trade.salam

دریافت پوزیشن‌های باز با نماد PositionsGetSymbol

تابع دریافت پوزیشن‌های باز با نماد(symbol: رشته): وکتور<پوزیشن معاملاتی>
پوزیشن‌های باز یک نماد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Trade.salam

دریافت پوزیشن‌های باز با گروه PositionsGetGroup

تابع دریافت پوزیشن‌های باز با گروه(group: رشته): وکتور<پوزیشن معاملاتی>
پوزیشن‌های باز نمادهایی که با ماسک گروهی تطبیق می‌کنند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Trade.salam

دریافت پوزیشن باز با شماره PositionsGetTicket

تابع دریافت پوزیشن باز با شماره(ticket: صحیح۶۴): وکتور<پوزیشن معاملاتی>
پوزیشن باز با این شماره، به شکل برداری با صفر یا یک عضو.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Trade.salam

تعداد سفارش‌های تاریخچه HistoryOrdersTotal

تابع تعداد سفارش‌های تاریخچه(date_from: صحیح۶۴، date_to: صحیح۶۴): صحیح
تعداد سفارش‌های تاریخچه بین دو زمان، هر دو به ثانیه از مبدأ.
metatrader-History.salam
واردسازی متاتریدر

تابع ریشه:
    متاتریدر.تنظیم نشانی پل("http://127.0.0.1:18812")

    date_from := 1700000000 برگردان صحیح۶۴
    date_to := 1700086400 برگردان صحیح۶۴

    سرچاپ "orders:"، متاتریدر.تعداد سفارش‌های تاریخچه(date_from، date_to)
    هر o در متاتریدر.دریافت سفارش‌های تاریخچه(date_from، date_to):
        سرچاپ o.شماره تیکت، o.نماد، o.وضعیت، o.حجم اولیه، o.قیمت ورود
    پایان

    سرچاپ "deals:"، متاتریدر.تعداد معامله‌های تاریخچه(date_from، date_to)
    هر d در متاتریدر.دریافت معامله‌های تاریخچه(date_from، date_to):
        سرچاپ d.شماره تیکت، d.شماره سفارش، d.شناسه پوزیشن، d.نوع معامله، d.نوع ورود، d.سود، d.کمیسیون، d.سواپ
    پایان

    اگر متاتریدر.افزودن دفتر سفارش("EURUSD"):
        هر b در متاتریدر.دریافت دفتر سفارش("EURUSD"):
            سرچاپ b.نوع سطح دفتر، b.قیمت، b.حجم
        پایان
        متاتریدر.آزادسازی دفتر سفارش("EURUSD")
    پایان
    برگشت 0
پایان

دریافت سفارش‌های تاریخچه HistoryOrdersGet

تابع دریافت سفارش‌های تاریخچه(date_from: صحیح۶۴، date_to: صحیح۶۴): وکتور<سفارش معاملاتی>
سفارش‌های تاریخچه بین دو زمان.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-History.salam

دریافت سفارش‌های تاریخچه با گروه HistoryOrdersGetGroup

تابع دریافت سفارش‌های تاریخچه با گروه(date_from: صحیح۶۴، date_to: صحیح۶۴، group: رشته): وکتور<سفارش معاملاتی>
سفارش‌های تاریخی که نمادشان با ماسک گروهی تطبیق می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-History.salam

دریافت سفارش تاریخچه با شماره HistoryOrdersGetTicket

تابع دریافت سفارش تاریخچه با شماره(ticket: صحیح۶۴): وکتور<سفارش معاملاتی>
سفارش تاریخی با این شماره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-History.salam

دریافت سفارش‌های تاریخچه با پوزیشن HistoryOrdersGetPosition

تابع دریافت سفارش‌های تاریخچه با پوزیشن(position: صحیح۶۴): وکتور<سفارش معاملاتی>
سفارش‌های تاریخی یک پوزیشن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-History.salam

تعداد معامله‌های تاریخچه HistoryDealsTotal

تابع تعداد معامله‌های تاریخچه(date_from: صحیح۶۴، date_to: صحیح۶۴): صحیح
تعداد معامله‌های تاریخچه بین دو زمان.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-History.salam

دریافت معامله‌های تاریخچه HistoryDealsGet

تابع دریافت معامله‌های تاریخچه(date_from: صحیح۶۴، date_to: صحیح۶۴): وکتور<معامله انجام شده>
معامله‌های تاریخچه بین دو زمان.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-History.salam

دریافت معامله‌های تاریخچه با گروه HistoryDealsGetGroup

تابع دریافت معامله‌های تاریخچه با گروه(date_from: صحیح۶۴، date_to: صحیح۶۴، group: رشته): وکتور<معامله انجام شده>
معامله‌های تاریخی که نمادشان با ماسک گروهی تطبیق می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-History.salam

دریافت معامله تاریخچه با شماره HistoryDealsGetTicket

تابع دریافت معامله تاریخچه با شماره(ticket: صحیح۶۴): وکتور<معامله انجام شده>
معامله تاریخی با این شماره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-History.salam

دریافت معامله‌های تاریخچه با پوزیشن HistoryDealsGetPosition

تابع دریافت معامله‌های تاریخچه با پوزیشن(position: صحیح۶۴): وکتور<معامله انجام شده>
معامله‌های تاریخی یک پوزیشن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-History.salam

کپی نوسانات از تاریخ CopyTicksFrom

تابع کپی نوسانات از تاریخ(symbol: رشته، date_from: صحیح۶۴، count: صحیح، flags: صحیح): وکتور<نوسان قیمت>
نوسان‌ها از یک زمان به بعد، حداکثر count تا، پالایش‌شده با پرچم‌های COPY_TICKS_*.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Rates.salam

کپی‌نوسانات‌در‌بازه CopyTicksRange

تابع کپی‌نوسانات‌در‌بازه(symbol: رشته، date_from: صحیح۶۴، date_to: صحیح۶۴، flags: صحیح): وکتور<نوسان قیمت>
نوسان‌های بین دو زمان به میلی‌ثانیه از مبدأ، پالایش‌شده با پرچم‌های COPY_TICKS_*.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Rates.salam

دریافت اطلاعات حساب GetAccountInfo

تابع دریافت اطلاعات حساب(): اطلاعات حساب
وضعیت کنونی حساب: شناسه ورود، موجودی، دارایی خالص، حاشیه، ارز، سرور و شرکت.
metatrader-Account.salam
واردسازی متاتریدر

تابع ریشه:
    متاتریدر.تنظیم نشانی پل("http://127.0.0.1:18812")

    a := متاتریدر.دریافت اطلاعات حساب()
    اگر وارونه متاتریدر.موفق():
        e := متاتریدر.آخرین خطا()
        نادرست‌سرچاپ "account failed:"، e.کد، e.توضیح
        برگشت 1
    پایان
    سرچاپ a.شناسه ورود، a.نام، a.سرور، a.ارز
    سرچاپ "balance"، a.موجودی، "equity"، a.دارایی خالص
    سرچاپ "margin"، a.حاشیه، "free"، a.حاشیه آزاد، "level"، a.سطح حاشیه
    سرچاپ "leverage"، a.اهرم، "limit"، a.سقف سفارش
    اگر a.معامله مجاز:
        سرچاپ "trading is allowed"
    پایان

    t := متاتریدر.دریافت اطلاعات ترمینال()
    سرچاپ t.شرکت، t.نام، t.شماره ساخت، t.متصل
    سرچاپ t.مسیر
    سرچاپ t.مسیر داده
    برگشت 0
پایان

دریافت اطلاعات ترمینال GetTerminalInfo

تابع دریافت اطلاعات ترمینال(): اطلاعات ترمینال
وضعیت کنونی ترمینال: اتصال، شماره ساخت، پوشه‌ها، زبان و دسترسی‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-Account.salam

افزودن دفتر سفارش MarketBookAdd

تابع افزودن دفتر سفارش(symbol: رشته): منطقی
از ترمینال می‌خواهد عمق بازار یک نماد را نگه دارد و در صورت شروع true برمی‌گرداند. آن را با MarketBookGet بخوانید و با MarketBookRelease پایان دهید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-History.salam

دریافت دفتر سفارش MarketBookGet

تابع دریافت دفتر سفارش(symbol: رشته): وکتور<سطح دفتر سفارش>
عمق بازار کنونی یک نماد، یا بردار خالی وقتی اشتراک گرفته نشده یا در دسترس نیست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-History.salam

آزادسازی دفتر سفارش MarketBookRelease

تابع آزادسازی دفتر سفارش(symbol: رشته): منطقی
اشتراک عمق بازار یک نماد را پایان می‌دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: metatrader-History.salam