متاتریدر 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 | فراخوانیهای عمق بازار |
با حساب شروع کنید
نشانی پل را یک بار بگذارید، آغاز را صدا بزنید و حساب را بخوانید. هر فراخوانی حتی در خطا هم یک مقدار برمیگرداند، پس پس از فراخوانیهای مهم موفق یا آخرین خطا را بررسی کنید و اگر پل نیست، کار را متوقف کنید.
واردسازی متاتریدر
تابع ریشه:
متاتریدر.تنظیم نشانی پل("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* پالایش میکنند که در آن * با هر متنی تطبیق میکند. دریافت اطلاعات نماد یک نماد را میپرسد و نوسان نماد فراخوانی ارزان برای قیمت خرید و فروش کنونی است.
واردسازی متاتریدر
تابع ریشه:
متاتریدر.تنظیم نشانی پل("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 همین را میخواهد.
واردسازی متاتریدر
تابع ریشه:
متاتریدر.تنظیم نشانی پل("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 و در غیر این صورت یک کد خطا برمیگرداند.
واردسازی متاتریدر
تابع ریشه:
متاتریدر.تنظیم نشانی پل("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 را بگذارید تا بعداً سفارشهای خودتان را پیدا کنید.
سفارشها، پوزیشنها و تاریخچه
دریافت سفارشهای فعال سفارشهای فعال را میدهد، دریافت پوزیشنهای باز پوزیشنهای باز را و فراخوانیهای تاریخچه آنچه بسته شده است. هر پالایه یک شکل تعداد و یک شکل دریافت دارد؛ شکل دریافت حتی با شماره هم بردار برمیگرداند، چون پل برای همه پالایهها یک شکل پاسخ نگه میدارد.
زمانهای تاریخچه ثانیه از مبدأ هستند. هر دو سر بازه را بدهید؛ بازه خالی بردار خالی برمیگرداند، نه خطا.
واردسازی متاتریدر
تابع ریشه:
متاتریدر.تنظیم نشانی پل("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_M1 | 1 |
| بازه دو دقیقه | TIMEFRAME_M2 | 2 |
| بازه سه دقیقه | TIMEFRAME_M3 | 3 |
| بازه چهار دقیقه | TIMEFRAME_M4 | 4 |
| بازه پنج دقیقه | TIMEFRAME_M5 | 5 |
| بازه شش دقیقه | TIMEFRAME_M6 | 6 |
| بازه ده دقیقه | TIMEFRAME_M10 | 10 |
| بازه دوازده دقیقه | TIMEFRAME_M12 | 12 |
| بازه پانزده دقیقه | TIMEFRAME_M15 | 15 |
| بازه بیست دقیقه | TIMEFRAME_M20 | 20 |
| بازه سی دقیقه | TIMEFRAME_M30 | 30 |
| بازه یک ساعت | TIMEFRAME_H1 | 16385 |
| بازه دو ساعت | TIMEFRAME_H2 | 16386 |
| بازه سه ساعت | TIMEFRAME_H3 | 16387 |
| بازه چهار ساعت | TIMEFRAME_H4 | 16388 |
| بازه شش ساعت | TIMEFRAME_H6 | 16390 |
| بازه هشت ساعت | TIMEFRAME_H8 | 16392 |
| بازه دوازده ساعت | TIMEFRAME_H12 | 16396 |
| بازه یک روز | TIMEFRAME_D1 | 16408 |
| بازه یک هفته | TIMEFRAME_W1 | 32769 |
| بازه یک ماه | TIMEFRAME_MN1 | 49153 |
نوع سفارش ORDER_TYPE_…
ENUM_ORDER_TYPE.| نام | انگلیسی | مقدار |
|---|---|---|
| سفارش خرید | ORDER_TYPE_BUY | 0 |
| سفارش فروش | ORDER_TYPE_SELL | 1 |
| سفارش خرید محدود | ORDER_TYPE_BUY_LIMIT | 2 |
| سفارش فروش محدود | ORDER_TYPE_SELL_LIMIT | 3 |
| سفارش خرید استاپ | ORDER_TYPE_BUY_STOP | 4 |
| سفارش فروش استاپ | ORDER_TYPE_SELL_STOP | 5 |
| سفارش خرید استاپ محدود | ORDER_TYPE_BUY_STOP_LIMIT | 6 |
| سفارش فروش استاپ محدود | ORDER_TYPE_SELL_STOP_LIMIT | 7 |
| سفارش بستن با سفارش دیگر | ORDER_TYPE_CLOSE_BY | 8 |
وضعیت سفارش ORDER_STATE_…
ENUM_ORDER_STATE.| نام | انگلیسی | مقدار |
|---|---|---|
| وضعیت سفارش آغاز شده | ORDER_STATE_STARTED | 0 |
| وضعیت سفارش ثبت شده | ORDER_STATE_PLACED | 1 |
| وضعیت سفارش لغو شده | ORDER_STATE_CANCELED | 2 |
| وضعیت سفارش بخشی انجام شده | ORDER_STATE_PARTIAL | 3 |
| وضعیت سفارش انجام شده | ORDER_STATE_FILLED | 4 |
| وضعیت سفارش رد شده | ORDER_STATE_REJECTED | 5 |
| وضعیت سفارش منقضی شده | ORDER_STATE_EXPIRED | 6 |
| وضعیت درخواست افزودن | ORDER_STATE_REQUEST_ADD | 7 |
| وضعیت درخواست ویرایش | ORDER_STATE_REQUEST_MODIFY | 8 |
| وضعیت درخواست لغو | ORDER_STATE_REQUEST_CANCEL | 9 |
حالت پرشدن ORDER_FILLING_…
ENUM_ORDER_TYPE_FILLING.| نام | انگلیسی | مقدار |
|---|---|---|
| پرشدن کامل اجباری | ORDER_FILLING_FOK | 0 |
| پرشدن فوری | ORDER_FILLING_IOC | 1 |
| پرشدن با بازگشت باقیمانده | ORDER_FILLING_RETURN | 2 |
| ثبت فقط در دفتر | ORDER_FILLING_BOC | 3 |
مدت اعتبار سفارش ORDER_TIME_…
ENUM_ORDER_TYPE_TIME.| نام | انگلیسی | مقدار |
|---|---|---|
| اعتبار نامحدود | ORDER_TIME_GTC | 0 |
| اعتبار روزانه | ORDER_TIME_DAY | 1 |
| اعتبار زمان معین | ORDER_TIME_SPECIFIED | 2 |
| اعتبار روز معین | ORDER_TIME_SPECIFIED_DAY | 3 |
دلیل سفارش ORDER_REASON_…
ENUM_ORDER_REASON.| نام | انگلیسی | مقدار |
|---|---|---|
| دلیل سفارش کارخواه دسکتاپ | ORDER_REASON_CLIENT | 0 |
| دلیل سفارش کارخواه موبایل | ORDER_REASON_MOBILE | 1 |
| دلیل سفارش کارخواه وب | ORDER_REASON_WEB | 2 |
| دلیل سفارش ربات معاملهگر | ORDER_REASON_EXPERT | 3 |
| دلیل سفارش حد ضرر | ORDER_REASON_SL | 4 |
| دلیل سفارش حد سود | ORDER_REASON_TP | 5 |
| دلیل سفارش توقف اجباری | ORDER_REASON_SO | 6 |
عملیات معاملاتی TRADE_ACTION_…
ENUM_TRADE_REQUEST_ACTIONS.| نام | انگلیسی | مقدار |
|---|---|---|
| عملیات معامله فوری | TRADE_ACTION_DEAL | 1 |
| عملیات سفارش معلق | TRADE_ACTION_PENDING | 5 |
| عملیات تغییر حد ضرر سود | TRADE_ACTION_SLTP | 6 |
| عملیات ویرایش سفارش | TRADE_ACTION_MODIFY | 7 |
| عملیات حذف سفارش | TRADE_ACTION_REMOVE | 8 |
| عملیات بستن با پوزیشن مخالف | TRADE_ACTION_CLOSE_BY | 10 |
نوع پوزیشن POSITION_TYPE_…
ENUM_POSITION_TYPE.| نام | انگلیسی | مقدار |
|---|---|---|
| پوزیشن خرید | POSITION_TYPE_BUY | 0 |
| پوزیشن فروش | POSITION_TYPE_SELL | 1 |
دلیل پوزیشن POSITION_REASON_…
ENUM_POSITION_REASON.| نام | انگلیسی | مقدار |
|---|---|---|
| دلیل پوزیشن کارخواه دسکتاپ | POSITION_REASON_CLIENT | 0 |
| دلیل پوزیشن کارخواه موبایل | POSITION_REASON_MOBILE | 1 |
| دلیل پوزیشن کارخواه وب | POSITION_REASON_WEB | 2 |
| دلیل پوزیشن ربات معاملهگر | POSITION_REASON_EXPERT | 3 |
نوع معامله DEAL_TYPE_…
ENUM_DEAL_TYPE.| نام | انگلیسی | مقدار |
|---|---|---|
| معامله خرید | DEAL_TYPE_BUY | 0 |
| معامله فروش | DEAL_TYPE_SELL | 1 |
| معامله واریز موجودی | DEAL_TYPE_BALANCE | 2 |
| معامله اعتبار | DEAL_TYPE_CREDIT | 3 |
| معامله کسر هزینه | DEAL_TYPE_CHARGE | 4 |
| معامله اصلاحی | DEAL_TYPE_CORRECTION | 5 |
| معامله پاداش | DEAL_TYPE_BONUS | 6 |
| معامله کمیسیون | DEAL_TYPE_COMMISSION | 7 |
| معامله کمیسیون روزانه | DEAL_TYPE_COMMISSION_DAILY | 8 |
| معامله کمیسیون ماهانه | DEAL_TYPE_COMMISSION_MONTHLY | 9 |
| معامله کمیسیون نماینده روزانه | DEAL_TYPE_COMMISSION_AGENT_DAILY | 10 |
| معامله کمیسیون نماینده ماهانه | DEAL_TYPE_COMMISSION_AGENT_MONTHLY | 11 |
| معامله سود سپرده | DEAL_TYPE_INTEREST | 12 |
| معامله خرید لغو شده | DEAL_TYPE_BUY_CANCELED | 13 |
| معامله فروش لغو شده | DEAL_TYPE_SELL_CANCELED | 14 |
گونه معامله DEAL_…
| نام | انگلیسی | مقدار |
|---|---|---|
| معامله سود سهام | DEAL_DIVIDEND | 15 |
| معامله سود سهام معاف از مالیات | DEAL_DIVIDEND_FRANKED | 16 |
| معامله مالیات | DEAL_TAX | 17 |
نوع ورود معامله DEAL_ENTRY_…
ENUM_DEAL_ENTRY.| نام | انگلیسی | مقدار |
|---|---|---|
| ورود به بازار | DEAL_ENTRY_IN | 0 |
| خروج از بازار | DEAL_ENTRY_OUT | 1 |
| بازگشت پوزیشن | DEAL_ENTRY_INOUT | 2 |
| خروج با پوزیشن مخالف | DEAL_ENTRY_OUT_BY | 3 |
دلیل معامله DEAL_REASON_…
ENUM_DEAL_REASON.| نام | انگلیسی | مقدار |
|---|---|---|
| دلیل معامله کارخواه دسکتاپ | DEAL_REASON_CLIENT | 0 |
| دلیل معامله کارخواه موبایل | DEAL_REASON_MOBILE | 1 |
| دلیل معامله کارخواه وب | DEAL_REASON_WEB | 2 |
| دلیل معامله ربات معاملهگر | DEAL_REASON_EXPERT | 3 |
| دلیل معامله حد ضرر | DEAL_REASON_SL | 4 |
| دلیل معامله حد سود | DEAL_REASON_TP | 5 |
| دلیل معامله توقف اجباری | DEAL_REASON_SO | 6 |
| دلیل معامله شناوری شبانه | DEAL_REASON_ROLLOVER | 7 |
| دلیل معامله تغییر حاشیه سود متغیر | DEAL_REASON_VMARGIN | 8 |
| دلیل معامله تجزیه سهام | DEAL_REASON_SPLIT | 9 |
کد نتیجه معامله TRADE_RETCODE_…
retcode برمیگرداند.| نام | انگلیسی | مقدار |
|---|---|---|
| کد نرخ جدید | TRADE_RETCODE_REQUOTE | 10004 |
| کد رد درخواست | TRADE_RETCODE_REJECT | 10006 |
| کد لغو درخواست | TRADE_RETCODE_CANCEL | 10007 |
| کد ثبت سفارش | TRADE_RETCODE_PLACED | 10008 |
| کد اجرای کامل | TRADE_RETCODE_DONE | 10009 |
| کد اجرای بخشی | TRADE_RETCODE_DONE_PARTIAL | 10010 |
| کد خطای پردازش | TRADE_RETCODE_ERROR | 10011 |
| کد اتمام زمان | TRADE_RETCODE_TIMEOUT | 10012 |
| کد درخواست نامعتبر | TRADE_RETCODE_INVALID | 10013 |
| کد حجم نامعتبر | TRADE_RETCODE_INVALID_VOLUME | 10014 |
| کد قیمت نامعتبر | TRADE_RETCODE_INVALID_PRICE | 10015 |
| کد حد ضرر سود نامعتبر | TRADE_RETCODE_INVALID_STOPS | 10016 |
| کد غیرفعال بودن معامله | TRADE_RETCODE_TRADE_DISABLED | 10017 |
| کدبستهبودنبازار | TRADE_RETCODE_MARKET_CLOSED | 10018 |
| کد کمبود وجه | TRADE_RETCODE_NO_MONEY | 10019 |
| کد تغییر قیمت | TRADE_RETCODE_PRICE_CHANGED | 10020 |
| کد نبود نرخ | TRADE_RETCODE_PRICE_OFF | 10021 |
| کد انقضای نامعتبر | TRADE_RETCODE_INVALID_EXPIRATION | 10022 |
| کد تغییر وضعیت سفارش | TRADE_RETCODE_ORDER_CHANGED | 10023 |
| کد درخواستهای بیش از حد | TRADE_RETCODE_TOO_MANY_REQUESTS | 10024 |
| کد بدون تغییر | TRADE_RETCODE_NO_CHANGES | 10025 |
| کدغیرفعالبودنمعاملهخودکاردرسرور | TRADE_RETCODE_SERVER_DISABLES_AT | 10026 |
| کدغیرفعالبودنمعاملهخودکاردرکارخواه | TRADE_RETCODE_CLIENT_DISABLES_AT | 10027 |
| کد قفل بودن درخواست | TRADE_RETCODE_LOCKED | 10028 |
| کد منجمد بودن سفارش | TRADE_RETCODE_FROZEN | 10029 |
| کد نوع پرشدن نامعتبر | TRADE_RETCODE_INVALID_FILL | 10030 |
| کد قطع ارتباط | TRADE_RETCODE_CONNECTION | 10031 |
| کد مخصوص حساب واقعی | TRADE_RETCODE_ONLY_REAL | 10032 |
| کد محدودیت تعداد سفارش | TRADE_RETCODE_LIMIT_ORDERS | 10033 |
| کد محدودیت حجم | TRADE_RETCODE_LIMIT_VOLUME | 10034 |
| کد سفارش نامعتبر | TRADE_RETCODE_INVALID_ORDER | 10035 |
| کدبستهبودنپوزیشن | TRADE_RETCODE_POSITION_CLOSED | 10036 |
| کد حجم بستن نامعتبر | TRADE_RETCODE_INVALID_CLOSE_VOLUME | 10038 |
| کد وجود سفارش بستن | TRADE_RETCODE_CLOSE_ORDER_EXIST | 10039 |
| کد محدودیت تعداد پوزیشن | TRADE_RETCODE_LIMIT_POSITIONS | 10040 |
| کد رد لغو سفارش | TRADE_RETCODE_REJECT_CANCEL | 10041 |
| کد مخصوص پوزیشن خرید | TRADE_RETCODE_LONG_ONLY | 10042 |
| کد مخصوص پوزیشن فروش | TRADE_RETCODE_SHORT_ONLY | 10043 |
| کد مخصوص بستن پوزیشن | TRADE_RETCODE_CLOSE_ONLY | 10044 |
| کد الزام بستن به ترتیب ورود | TRADE_RETCODE_FIFO_CLOSE | 10045 |
| کد ممنوعیت پوزیشن دوطرفه | TRADE_RETCODE_HEDGE_PROHIBITED | 10046 |
سطح دفتر سفارش BOOK_TYPE_…
ENUM_BOOK_TYPE.| نام | انگلیسی | مقدار |
|---|---|---|
| سطح دفتر فروش | BOOK_TYPE_SELL | 0 |
| سطح دفتر خرید | BOOK_TYPE_BUY | 1 |
| سطح دفتر فروش بازاری | BOOK_TYPE_SELL_MARKET | 2 |
| سطح دفتر خرید بازاری | BOOK_TYPE_BUY_MARKET | 3 |
پالایه نوسان COPY_TICKS_…
CopyTicksFrom و CopyTicksRange، همان مقادیر ENUM_COPY_TICKS.| نام | انگلیسی | مقدار |
|---|---|---|
| تمام نوسانات قیمت | COPY_TICKS_ALL | -1 |
| نوسانات قیمت اطلاعاتی | COPY_TICKS_INFO | 1 |
| نوسانات قیمت معاملاتی | COPY_TICKS_TRADE | 2 |
پرچم نوسان TICK_FLAG_…
flags.| نام | انگلیسی | مقدار |
|---|---|---|
| پرچم نوسان قیمت پیشنهاد خرید | TICK_FLAG_BID | 2 |
| پرچم نوسان قیمت پیشنهاد فروش | TICK_FLAG_ASK | 4 |
| پرچم نوسان آخرین قیمت | TICK_FLAG_LAST | 8 |
| پرچم نوسان حجم | TICK_FLAG_VOLUME | 16 |
| پرچم نوسان ناشی از خرید | TICK_FLAG_BUY | 32 |
| پرچم نوسان ناشی از فروش | TICK_FLAG_SELL | 64 |
حالت معامله نماد SYMBOL_TRADE_MODE_…
ENUM_SYMBOL_TRADE_MODE.| نام | انگلیسی | مقدار |
|---|---|---|
| معامله نماد غیرفعال | SYMBOL_TRADE_MODE_DISABLED | 0 |
| معامله نماد فقط خرید | SYMBOL_TRADE_MODE_LONGONLY | 1 |
| معامله نماد فقط فروش | SYMBOL_TRADE_MODE_SHORTONLY | 2 |
| معامله نماد فقط بستن | SYMBOL_TRADE_MODE_CLOSEONLY | 3 |
| معامله نماد کامل | SYMBOL_TRADE_MODE_FULL | 4 |
حالت محاسبه نماد SYMBOL_CALC_MODE_…
ENUM_SYMBOL_CALC_MODE.| نام | انگلیسی | مقدار |
|---|---|---|
| محاسبه نماد فارکس | SYMBOL_CALC_MODE_FOREX | 0 |
| محاسبه نماد فارکس بدون اهرم | SYMBOL_CALC_MODE_FOREX_NO_LEVERAGE | 1 |
| محاسبه نماد آتی | SYMBOL_CALC_MODE_FUTURES | 2 |
| محاسبه نماد سی اف دی | SYMBOL_CALC_MODE_CFD | 3 |
| محاسبه نماد سی اف دی شاخص | SYMBOL_CALC_MODE_CFDINDEX | 4 |
| محاسبه نماد سی اف دی با اهرم | SYMBOL_CALC_MODE_CFDLEVERAGE | 5 |
| محاسبه نماد سهام بورسی | SYMBOL_CALC_MODE_EXCH_STOCKS | 32 |
| محاسبه نماد آتی بورسی | SYMBOL_CALC_MODE_EXCH_FUTURES | 33 |
| محاسبه نماد آتی فورتس | SYMBOL_CALC_MODE_EXCH_FUTURES_FORTS | 34 |
| محاسبه نماد اوراق بورسی | SYMBOL_CALC_MODE_EXCH_BONDS | 35 |
| محاسبه نماد سهام مسکو | SYMBOL_CALC_MODE_EXCH_STOCKS_MOEX | 36 |
| محاسبه نماد اوراق مسکو | SYMBOL_CALC_MODE_EXCH_BONDS_MOEX | 37 |
| محاسبه نماد وثیقه | SYMBOL_CALC_MODE_SERV_COLLATERAL | 38 |
کد نتیجه پل RES_…
LastError به کار میبرند.| نام | انگلیسی | مقدار |
|---|---|---|
| نتیجه موفق | RES_S_OK | 1 |
| نتیجه خطای عمومی | 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 کندل.واردسازی متاتریدر
تابع ریشه:
متاتریدر.تنظیم نشانی پل("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
تابع تعداد نمادها(): صحیحواردسازی متاتریدر
تابع ریشه:
متاتریدر.تنظیم نشانی پل("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: منطقی): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: metatrader-Symbols.salam
تنظیم نشانی پل SetBridgeUrl
تابع تنظیم نشانی پل(url: رشته)http://127.0.0.1:18812. روی همه فراخوانیهای بعدی اثر دارد.واردسازی متاتریدر
تابع ریشه:
متاتریدر.تنظیم نشانی پل("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 را میگذارد.واردسازی متاتریدر
تابع ریشه:
متاتریدر.تنظیم نشانی پل("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: صحیح۶۴): صحیحواردسازی متاتریدر
تابع ریشه:
متاتریدر.تنظیم نشانی پل("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
تابع دریافت اطلاعات حساب(): اطلاعات حسابواردسازی متاتریدر
تابع ریشه:
متاتریدر.تنظیم نشانی پل("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: رشته): منطقیMarketBookGet بخوانید و با MarketBookRelease پایان دهید.نمونهی این مورد همراه با موارد بالاتر آمده است: metatrader-History.salam
دریافت دفتر سفارش MarketBookGet
تابع دریافت دفتر سفارش(symbol: رشته): وکتور<سطح دفتر سفارش>نمونهی این مورد همراه با موارد بالاتر آمده است: metatrader-History.salam
آزادسازی دفتر سفارش MarketBookRelease
تابع آزادسازی دفتر سفارش(symbol: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: metatrader-History.salam