2026-06-12 16:32:35 +00:00
<!DOCTYPE html>
< html lang = "en" data-bs-theme = "light" >
< head >
< meta charset = "utf-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< meta name = "author" content = "dceoy" >
< link rel = "canonical" href = "https://github.com/dceoy/mt5cli/api/client/" >
< link rel = "shortcut icon" href = "../../img/favicon.ico" >
< title > Client - mt5cli API Documentation</ title >
< link href = "../../css/bootstrap.min.css" rel = "stylesheet" >
< link href = "../../css/fontawesome.min.css" rel = "stylesheet" >
< link href = "../../css/brands.min.css" rel = "stylesheet" >
< link href = "../../css/solid.min.css" rel = "stylesheet" >
< link href = "../../css/v4-font-face.min.css" rel = "stylesheet" >
< link href = "../../css/base.css" rel = "stylesheet" >
< link id = "hljs-light" rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" >
< link id = "hljs-dark" rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github-dark.min.css" disabled >
< link href = "../../assets/_mkdocstrings.css" rel = "stylesheet" >
< script src = "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js" ></ script >
< script > hljs . highlightAll ();</ script >
</ head >
< body >
< div class = "navbar fixed-top navbar-expand-lg navbar-dark bg-primary" >
< div class = "container" >
< a class = "navbar-brand" href = "../.." > mt5cli API Documentation</ a >
<!-- Expander button -->
< button type = "button" class = "navbar-toggler" data-bs-toggle = "collapse" data-bs-target = "#navbar-collapse" aria-controls = "navbar-collapse" aria-expanded = "false" aria-label = "Toggle navigation" >
< span class = "navbar-toggler-icon" ></ span >
</ button >
<!-- Expanded navigation -->
< div id = "navbar-collapse" class = "navbar-collapse collapse" >
<!-- Main navigation -->
< ul class = "nav navbar-nav" >
< li class = "nav-item" >
< a href = "../.." class = "nav-link" > Home</ a >
</ li >
< li class = "nav-item dropdown" >
< a href = "#" class = "nav-link dropdown-toggle active" aria-current = "page" role = "button" data-bs-toggle = "dropdown" aria-expanded = "false" > API Reference</ a >
< ul class = "dropdown-menu" >
< li >
< a href = "../" class = "dropdown-item" > Overview</ a >
</ li >
2026-06-18 10:12:55 +00:00
< li >
< a href = "../public-contract/" class = "dropdown-item" > Public API Contract</ a >
</ li >
2026-06-12 16:32:35 +00:00
< li >
< a href = "./" class = "dropdown-item active" aria-current = "page" > Client</ a >
</ li >
< li >
< a href = "../schemas/" class = "dropdown-item" > Schemas</ a >
</ li >
< li >
< a href = "../storage/" class = "dropdown-item" > Storage</ a >
</ li >
< li >
< a href = "../converters/" class = "dropdown-item" > Converters</ a >
</ li >
< li >
< a href = "../exceptions/" class = "dropdown-item" > Exceptions</ a >
</ li >
< li >
< a href = "../cli/" class = "dropdown-item" > CLI</ a >
</ li >
< li >
< a href = "../sdk/" class = "dropdown-item" > SDK</ a >
</ li >
< li >
< a href = "../trading/" class = "dropdown-item" > Trading</ a >
</ li >
< li >
< a href = "../history/" class = "dropdown-item" > History Collection (SQLite)</ a >
</ li >
< li >
< a href = "../utils/" class = "dropdown-item" > Utils</ a >
</ li >
</ ul >
</ li >
</ ul >
< ul class = "nav navbar-nav ms-md-auto" >
< li class = "nav-item" >
< a href = "#" class = "nav-link" data-bs-toggle = "modal" data-bs-target = "#mkdocs_search_modal" >
< i class = "fa fa-search" ></ i > Search
</ a >
</ li >
< li class = "nav-item" >
2026-06-18 10:12:55 +00:00
< a rel = "prev" href = "../public-contract/" class = "nav-link" >
2026-06-12 16:32:35 +00:00
< i class = "fa fa-arrow-left" ></ i > Previous
</ a >
</ li >
< li class = "nav-item" >
< a rel = "next" href = "../schemas/" class = "nav-link" >
Next < i class = "fa fa-arrow-right" ></ i >
</ a >
</ li >
< li class = "nav-item" >
< a href = "https://github.com/dceoy/mt5cli/edit/master/docs/api/client.md" class = "nav-link" > Edit on dceoy/mt5cli
</ a >
</ li >
</ ul >
</ div >
</ div >
</ div >
< div class = "container" >
< div class = "row" >
< div class = "col-md-3" >< div class = "navbar-expand-md bs-sidebar hidden-print affix" role = "complementary" >
< div class = "navbar-header" >
< button type = "button" class = "navbar-toggler collapsed" data-bs-toggle = "collapse" data-bs-target = "#toc-collapse" title = "Table of Contents" >
< span class = "fa fa-angle-down" ></ span >
</ button >
</ div >
< div id = "toc-collapse" class = "navbar-collapse collapse card bg-body-tertiary" >
< ul class = "nav flex-column" >
< li class = "nav-item" data-bs-level = "1" >< a href = "#client" class = "nav-link" > Client</ a >
< ul class = "nav flex-column" >
< li class = "nav-item" data-bs-level = "2" >< a href = "#mt5cli.client" class = "nav-link" > client</ a >
< ul class = "nav flex-column" >
</ ul >
</ li >
</ ul >
</ li >
</ ul >
</ div >
</ div ></ div >
< div class = "col-md-9" role = "main" >
< h1 id = "client" > Client< a class = "headerlink" href = "#client" title = "Permanent link" > ¶ </ a ></ h1 >
< div class = "doc doc-object doc-module" >
< h2 id = "mt5cli.client" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-module-name" > mt5cli.client</ span >
< a href = "#mt5cli.client" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h2 >
< div class = "doc doc-contents first" >
< p > Stable public client abstraction for MT5 data and execution operations.</ p >
< div class = "doc doc-children" >
< div class = "doc doc-object doc-attribute" >
< h3 id = "mt5cli.client.__all__" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > __all__</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-module-attribute" >< code > module-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.client.__all__" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h3 >
< div class = "doc-signature highlight" >< pre >< span ></ span >< code >< a id = "__codelineno-0-1" name = "__codelineno-0-1" href = "#__codelineno-0-1" ></ a >< span class = "n" > __all__</ span > < span class = "o" > =</ span > < span class = "p" > [</ span >< span class = "s1" > ' MT5Client' </ span >< span class = "p" > ,</ span > < span class = "s1" > ' build_config' </ span >< span class = "p" > ,</ span > < span class = "s1" > ' mt5_session' </ span >< span class = "p" > ]</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-class" >
< h3 id = "mt5cli.client.MT5Client" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-class-name" > MT5Client</ span >
< a href = "#mt5cli.client.MT5Client" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h3 >
< div class = "doc-signature highlight" >< pre >< span ></ span >< code >< a id = "__codelineno-0-1" name = "__codelineno-0-1" href = "#__codelineno-0-1" ></ a >< span class = "nf" > MT5Client</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > path</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > login</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > password</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "n" > server</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a > < span class = "n" > timeout</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ a > < span class = "n" > retry_count</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > =</ span > < span class = "mi" > 3</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-9" name = "__codelineno-0-9" href = "#__codelineno-0-9" ></ a > < span class = "n" > config</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "pdmt5.Mt5Config" > Mt5Config</ span ></ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-10" name = "__codelineno-0-10" href = "#__codelineno-0-10" ></ a > < span class = "n" > client</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "pdmt5.Mt5DataClient" > Mt5DataClient</ span ></ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-11" name = "__codelineno-0-11" href = "#__codelineno-0-11" ></ a >< span class = "p" > )</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p class = "doc doc-class-bases" >
Bases: < code >< a class = "autorefs autorefs-internal" title = "Mt5CliClient (mt5cli.sdk.Mt5CliClient)" href = "../sdk/#mt5cli.sdk.Mt5CliClient" > Mt5CliClient</ a ></ code ></ p >
< p > Public client for generic MT5 data access and order primitives.</ p >
< p > Extends the read-only SDK client with optional order check/send helpers and
exposes the same connection lifecycle as :class:< code > ~mt5cli.sdk.Mt5CliClient</ code > .
Downstream applications such as private trading packages should prefer this
type over the legacy < code > Mt5CliClient</ code > name.</ p >
< p > mt5cli intentionally exposes minimal execution primitives only. Trading
decisions, signals, strategies, backtests, and optimization remain the
responsibility of downstream applications.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-22 13:53:09 +00:00
< div class = "highlight" >< table class = "highlighttable" >< tr >< td class = "linenos" >< div class = "linenodiv" >< pre >< span ></ span >< span class = "normal" >< a href = "#__codelineno-0-406" > 406</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-407" > 407</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-408" > 408</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-409" > 409</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-410" > 410</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-411" > 411</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-412" > 412</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-413" > 413</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-414" > 414</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-415" > 415</ a ></ span >
2026-06-14 17:47:52 +00:00
< span class = "normal" >< a href = "#__codelineno-0-416" > 416</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-417" > 417</ a ></ span >
2026-06-18 13:58:54 +00:00
< span class = "normal" >< a href = "#__codelineno-0-418" > 418</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-419" > 419</ a ></ span >
2026-06-22 13:53:09 +00:00
< span class = "normal" >< a href = "#__codelineno-0-420" > 420</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-421" > 421</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-422" > 422</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-423" > 423</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-424" > 424</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-425" > 425</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-426" > 426</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-427" > 427</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-428" > 428</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-429" > 429</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-430" > 430</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-431" > 431</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-432" > 432</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-433" > 433</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-434" > 434</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-435" > 435</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-436" > 436</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-437" > 437</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-438" > 438</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-439" > 439</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-440" > 440</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-441" > 441</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-406" name = "__codelineno-0-406" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "fm" > __init__</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-407" name = "__codelineno-0-407" ></ a > < span class = "bp" > self</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-408" name = "__codelineno-0-408" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-409" name = "__codelineno-0-409" ></ a > < span class = "n" > path</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-410" name = "__codelineno-0-410" ></ a > < span class = "n" > login</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-411" name = "__codelineno-0-411" ></ a > < span class = "n" > password</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-412" name = "__codelineno-0-412" ></ a > < span class = "n" > server</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-413" name = "__codelineno-0-413" ></ a > < span class = "n" > timeout</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-414" name = "__codelineno-0-414" ></ a > < span class = "n" > retry_count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > =</ span > < span class = "mi" > 3</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-415" name = "__codelineno-0-415" ></ a > < span class = "n" > config</ span >< span class = "p" > :</ span > < span class = "n" > Mt5Config</ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-416" name = "__codelineno-0-416" ></ a > < span class = "n" > client</ span >< span class = "p" > :</ span > < span class = "n" > Mt5DataClient</ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-417" name = "__codelineno-0-417" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "kc" > None</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-418" name = "__codelineno-0-418" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Initialize the SDK client.</ span >
< a id = "__codelineno-0-419" name = "__codelineno-0-419" ></ a >
< a id = "__codelineno-0-420" name = "__codelineno-0-420" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-421" name = "__codelineno-0-421" ></ a >< span class = "sd" > path: Path to MetaTrader5 terminal EXE file.</ span >
< a id = "__codelineno-0-422" name = "__codelineno-0-422" ></ a >< span class = "sd" > login: Trading account login.</ span >
< a id = "__codelineno-0-423" name = "__codelineno-0-423" ></ a >< span class = "sd" > password: Trading account password.</ span >
< a id = "__codelineno-0-424" name = "__codelineno-0-424" ></ a >< span class = "sd" > server: Trading server name.</ span >
< a id = "__codelineno-0-425" name = "__codelineno-0-425" ></ a >< span class = "sd" > timeout: Connection timeout in milliseconds.</ span >
< a id = "__codelineno-0-426" name = "__codelineno-0-426" ></ a >< span class = "sd" > retry_count: Number of MT5 initialization retries for sessions</ span >
< a id = "__codelineno-0-427" name = "__codelineno-0-427" ></ a >< span class = "sd" > opened by this client.</ span >
< a id = "__codelineno-0-428" name = "__codelineno-0-428" ></ a >< span class = "sd" > config: Optional pre-built ``Mt5Config`` (overrides other args).</ span >
< a id = "__codelineno-0-429" name = "__codelineno-0-429" ></ a >< span class = "sd" > client: Optional already-connected ``Mt5DataClient``. Injected</ span >
< a id = "__codelineno-0-430" name = "__codelineno-0-430" ></ a >< span class = "sd" > clients are reused as-is and are not initialized or shut down.</ span >
< a id = "__codelineno-0-431" name = "__codelineno-0-431" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-432" name = "__codelineno-0-432" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _config</ span > < span class = "o" > =</ span > < span class = "n" > config</ span > < span class = "ow" > or</ span > < span class = "n" > build_config</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-433" name = "__codelineno-0-433" ></ a > < span class = "n" > path</ span >< span class = "o" > =</ span >< span class = "n" > path</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-434" name = "__codelineno-0-434" ></ a > < span class = "n" > login</ span >< span class = "o" > =</ span >< span class = "n" > login</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-435" name = "__codelineno-0-435" ></ a > < span class = "n" > password</ span >< span class = "o" > =</ span >< span class = "n" > password</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-436" name = "__codelineno-0-436" ></ a > < span class = "n" > server</ span >< span class = "o" > =</ span >< span class = "n" > server</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-437" name = "__codelineno-0-437" ></ a > < span class = "n" > timeout</ span >< span class = "o" > =</ span >< span class = "n" > timeout</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-438" name = "__codelineno-0-438" ></ a > < span class = "p" > )</ span >
< a id = "__codelineno-0-439" name = "__codelineno-0-439" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _retry_count</ span > < span class = "o" > =</ span > < span class = "n" > retry_count</ span >
< a id = "__codelineno-0-440" name = "__codelineno-0-440" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _client</ span > < span class = "o" > =</ span > < span class = "n" > client</ span >
< a id = "__codelineno-0-441" name = "__codelineno-0-441" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _owns_client</ span > < span class = "o" > =</ span > < span class = "n" > client</ span > < span class = "ow" > is</ span > < span class = "kc" > None</ span >
2026-06-12 16:32:35 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
< div class = "doc doc-children" >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.client.MT5Client.from_connected_client" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > from_connected_client</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-classmethod" >< code > classmethod</ code ></ small >
</ span >
< a href = "#mt5cli.client.MT5Client.from_connected_client" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h4 >
< div class = "doc-signature highlight" >< pre >< span ></ span >< code >< a id = "__codelineno-0-1" name = "__codelineno-0-1" href = "#__codelineno-0-1" ></ a >< span class = "nf" > from_connected_client</ span >< span class = "p" > (</ span >< span class = "n" > client</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "pdmt5.Mt5DataClient" > Mt5DataClient</ span ></ span >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "typing.Self" > Self</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Bind to an already-connected < code > Mt5DataClient</ code > without owning it.</ p >
< p >< span class = "doc-section-title" > Returns:</ span ></ p >
< table >
< thead >
< tr >
< th > Type</ th >
< th > Description</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code >< span title = "typing.Self" > Self</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Client wrapper bound to the injected connection.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/client.py</ code ></ summary >
< div class = "highlight" >< table class = "highlighttable" >< tr >< td class = "linenos" >< div class = "linenodiv" >< pre >< span ></ span >< span class = "normal" >< a href = "#__codelineno-0-65" > 65</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-66" > 66</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-67" > 67</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-68" > 68</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-69" > 69</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-70" > 70</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-71" > 71</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-72" > 72</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-65" name = "__codelineno-0-65" ></ a >< span class = "nd" > @classmethod</ span >
< a id = "__codelineno-0-66" name = "__codelineno-0-66" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > from_connected_client</ span >< span class = "p" > (</ span >< span class = "bp" > cls</ span >< span class = "p" > ,</ span > < span class = "n" > client</ span >< span class = "p" > :</ span > < span class = "n" > Mt5DataClient</ span >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" > Self</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-67" name = "__codelineno-0-67" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Bind to an already-connected ``Mt5DataClient`` without owning it.</ span >
< a id = "__codelineno-0-68" name = "__codelineno-0-68" ></ a >
< a id = "__codelineno-0-69" name = "__codelineno-0-69" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-70" name = "__codelineno-0-70" ></ a >< span class = "sd" > Client wrapper bound to the injected connection.</ span >
< a id = "__codelineno-0-71" name = "__codelineno-0-71" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-72" name = "__codelineno-0-72" ></ a > < span class = "k" > return</ span > < span class = "bp" > cls</ span >< span class = "p" > (</ span >< span class = "n" > client</ span >< span class = "o" > =</ span >< span class = "n" > client</ span >< span class = "p" > )</ span >
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.client.MT5Client.order_check" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > order_check</ span >
< a href = "#mt5cli.client.MT5Client.order_check" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h4 >
< div class = "doc-signature highlight" >< pre >< span ></ span >< code >< a id = "__codelineno-0-1" name = "__codelineno-0-1" href = "#__codelineno-0-1" ></ a >< span class = "nf" > order_check</ span >< span class = "p" > (</ span >< span class = "n" > request</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "dict" > dict</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span > < span class = "n" >< span title = "typing.Any" > Any</ span ></ span >< span class = "p" > ])</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "pandas.DataFrame" > DataFrame</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Check funds sufficiency for a trade request.</ p >
< p >< span class = "doc-section-title" > Parameters:</ span ></ p >
< table >
< thead >
< tr >
< th > Name</ th >
< th > Type</ th >
< th > Description</ th >
< th > Default</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code > request</ code >
</ td >
< td >
< code >< span title = "dict" > dict</ span > [< span title = "str" > str</ span > , < span title = "typing.Any" > Any</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > MT5 order request dictionary.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
</ tbody >
</ table >
< p >< span class = "doc-section-title" > Returns:</ span ></ p >
< table >
< thead >
< tr >
< th > Type</ th >
< th > Description</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code >< span title = "pandas.DataFrame" > DataFrame</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > One-row DataFrame with the order-check result.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/client.py</ code ></ summary >
< div class = "highlight" >< table class = "highlighttable" >< tr >< td class = "linenos" >< div class = "linenodiv" >< pre >< span ></ span >< span class = "normal" >< a href = "#__codelineno-0-36" > 36</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-37" > 37</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-38" > 38</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-39" > 39</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-40" > 40</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-41" > 41</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-42" > 42</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-43" > 43</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-44" > 44</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-45" > 45</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-36" name = "__codelineno-0-36" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > order_check</ span >< span class = "p" > (</ span >< span class = "bp" > self</ span >< span class = "p" > ,</ span > < span class = "n" > request</ span >< span class = "p" > :</ span > < span class = "nb" > dict</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ,</ span > < span class = "n" > Any</ span >< span class = "p" > ])</ span > < span class = "o" > -> </ span > < span class = "n" > pd</ span >< span class = "o" > .</ span >< span class = "n" > DataFrame</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-37" name = "__codelineno-0-37" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Check funds sufficiency for a trade request.</ span >
< a id = "__codelineno-0-38" name = "__codelineno-0-38" ></ a >
< a id = "__codelineno-0-39" name = "__codelineno-0-39" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-40" name = "__codelineno-0-40" ></ a >< span class = "sd" > request: MT5 order request dictionary.</ span >
< a id = "__codelineno-0-41" name = "__codelineno-0-41" ></ a >
< a id = "__codelineno-0-42" name = "__codelineno-0-42" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-43" name = "__codelineno-0-43" ></ a >< span class = "sd" > One-row DataFrame with the order-check result.</ span >
< a id = "__codelineno-0-44" name = "__codelineno-0-44" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-45" name = "__codelineno-0-45" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _fetch</ span >< span class = "p" > (</ span >< span class = "k" > lambda</ span > < span class = "n" > client</ span >< span class = "p" > :</ span > < span class = "n" > client</ span >< span class = "o" > .</ span >< span class = "n" > order_check_as_df</ span >< span class = "p" > (</ span >< span class = "n" > request</ span >< span class = "o" > =</ span >< span class = "n" > request</ span >< span class = "p" > ))</ span >
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.client.MT5Client.order_send" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > order_send</ span >
< a href = "#mt5cli.client.MT5Client.order_send" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h4 >
< div class = "doc-signature highlight" >< pre >< span ></ span >< code >< a id = "__codelineno-0-1" name = "__codelineno-0-1" href = "#__codelineno-0-1" ></ a >< span class = "nf" > order_send</ span >< span class = "p" > (</ span >< span class = "n" > request</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "dict" > dict</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span > < span class = "n" >< span title = "typing.Any" > Any</ span ></ span >< span class = "p" > ])</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "pandas.DataFrame" > DataFrame</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Send a live trade request to the MT5 trade server.</ p >
< details class = "warning" open >
< summary > Warning</ summary >
< p > This is a live execution primitive. A successful call can place,
modify, or close real trades on the connected account. Downstream
applications must gate usage explicitly (for example behind manual
confirmation or application-specific risk controls). mt5cli does
not implement strategy logic, signal generation, or trade sizing.</ p >
</ details >
< p >< span class = "doc-section-title" > Parameters:</ span ></ p >
< table >
< thead >
< tr >
< th > Name</ th >
< th > Type</ th >
< th > Description</ th >
< th > Default</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code > request</ code >
</ td >
< td >
< code >< span title = "dict" > dict</ span > [< span title = "str" > str</ span > , < span title = "typing.Any" > Any</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > MT5 order request dictionary.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
</ tbody >
</ table >
< p >< span class = "doc-section-title" > Returns:</ span ></ p >
< table >
< thead >
< tr >
< th > Type</ th >
< th > Description</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code >< span title = "pandas.DataFrame" > DataFrame</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > One-row DataFrame with the order-send result.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/client.py</ code ></ summary >
< div class = "highlight" >< table class = "highlighttable" >< tr >< td class = "linenos" >< div class = "linenodiv" >< pre >< span ></ span >< span class = "normal" >< a href = "#__codelineno-0-47" > 47</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-48" > 48</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-49" > 49</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-50" > 50</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-51" > 51</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-52" > 52</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-53" > 53</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-54" > 54</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-55" > 55</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-56" > 56</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-57" > 57</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-58" > 58</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-59" > 59</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-60" > 60</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-61" > 61</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-62" > 62</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-63" > 63</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-47" name = "__codelineno-0-47" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > order_send</ span >< span class = "p" > (</ span >< span class = "bp" > self</ span >< span class = "p" > ,</ span > < span class = "n" > request</ span >< span class = "p" > :</ span > < span class = "nb" > dict</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ,</ span > < span class = "n" > Any</ span >< span class = "p" > ])</ span > < span class = "o" > -> </ span > < span class = "n" > pd</ span >< span class = "o" > .</ span >< span class = "n" > DataFrame</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-48" name = "__codelineno-0-48" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Send a live trade request to the MT5 trade server.</ span >
< a id = "__codelineno-0-49" name = "__codelineno-0-49" ></ a >
< a id = "__codelineno-0-50" name = "__codelineno-0-50" ></ a >< span class = "sd" > Warning:</ span >
< a id = "__codelineno-0-51" name = "__codelineno-0-51" ></ a >< span class = "sd" > This is a live execution primitive. A successful call can place,</ span >
< a id = "__codelineno-0-52" name = "__codelineno-0-52" ></ a >< span class = "sd" > modify, or close real trades on the connected account. Downstream</ span >
< a id = "__codelineno-0-53" name = "__codelineno-0-53" ></ a >< span class = "sd" > applications must gate usage explicitly (for example behind manual</ span >
< a id = "__codelineno-0-54" name = "__codelineno-0-54" ></ a >< span class = "sd" > confirmation or application-specific risk controls). mt5cli does</ span >
< a id = "__codelineno-0-55" name = "__codelineno-0-55" ></ a >< span class = "sd" > not implement strategy logic, signal generation, or trade sizing.</ span >
< a id = "__codelineno-0-56" name = "__codelineno-0-56" ></ a >
< a id = "__codelineno-0-57" name = "__codelineno-0-57" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-58" name = "__codelineno-0-58" ></ a >< span class = "sd" > request: MT5 order request dictionary.</ span >
< a id = "__codelineno-0-59" name = "__codelineno-0-59" ></ a >
< a id = "__codelineno-0-60" name = "__codelineno-0-60" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-61" name = "__codelineno-0-61" ></ a >< span class = "sd" > One-row DataFrame with the order-send result.</ span >
< a id = "__codelineno-0-62" name = "__codelineno-0-62" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-63" name = "__codelineno-0-63" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _fetch</ span >< span class = "p" > (</ span >< span class = "k" > lambda</ span > < span class = "n" > client</ span >< span class = "p" > :</ span > < span class = "n" > client</ span >< span class = "o" > .</ span >< span class = "n" > order_send_as_df</ span >< span class = "p" > (</ span >< span class = "n" > request</ span >< span class = "o" > =</ span >< span class = "n" > request</ span >< span class = "p" > ))</ span >
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
</ div >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.client.build_config" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > build_config</ span >
< a href = "#mt5cli.client.build_config" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h3 >
< div class = "doc-signature highlight" >< pre >< span ></ span >< code >< a id = "__codelineno-0-1" name = "__codelineno-0-1" href = "#__codelineno-0-1" ></ a >< span class = "nf" > build_config</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > path</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > login</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > password</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "n" > server</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a > < span class = "n" > timeout</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
2026-06-22 13:53:09 +00:00
< a id = "__codelineno-0-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ a > < span class = "n" > allow_whole_dollar_env</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "bool" > bool</ span ></ span > < span class = "o" > =</ span > < span class = "kc" > False</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-9" name = "__codelineno-0-9" href = "#__codelineno-0-9" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "pdmt5.Mt5Config" > Mt5Config</ span ></ span >
2026-06-12 16:32:35 +00:00
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Build an < code > Mt5Config</ code > from optional connection parameters.</ p >
2026-06-22 13:53:09 +00:00
< p >< span class = "doc-section-title" > Parameters:</ span ></ p >
< table >
< thead >
< tr >
< th > Name</ th >
< th > Type</ th >
< th > Description</ th >
< th > Default</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code > path</ code >
</ td >
< td >
< code >< span title = "str" > str</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Optional terminal executable path.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > login</ code >
</ td >
< td >
< code >< span title = "int" > int</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Optional trading account login.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > password</ code >
</ td >
< td >
< code >< span title = "str" > str</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Optional trading account password.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > server</ code >
</ td >
< td >
< code >< span title = "str" > str</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Optional trading server name.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > timeout</ code >
</ td >
< td >
< code >< span title = "int" > int</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Optional connection timeout in milliseconds.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > allow_whole_dollar_env</ code >
</ td >
< td >
< code >< span title = "bool" > bool</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > When < code > True</ code > , string parameters that are
exactly < code > $ENV_NAME</ code > are expanded from the environment. Applies
to < code > path</ code > , < code > password</ code > , and < code > server</ code > . Default < code > False</ code >
preserves existing behavior.</ p >
</ div >
</ td >
< td >
< code > False</ code >
</ td >
</ tr >
</ tbody >
</ table >
2026-06-12 16:32:35 +00:00
< p >< span class = "doc-section-title" > Returns:</ span ></ p >
< table >
< thead >
< tr >
< th > Type</ th >
< th > Description</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code >< span title = "pdmt5.Mt5Config" > Mt5Config</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Configured < code > Mt5Config</ code > instance.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-18 13:58:54 +00:00
< div class = "highlight" >< table class = "highlighttable" >< tr >< td class = "linenos" >< div class = "linenodiv" >< pre >< span ></ span >< span class = "normal" >< a href = "#__codelineno-0-305" > 305</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-306" > 306</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-307" > 307</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-308" > 308</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-309" > 309</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-310" > 310</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-311" > 311</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-312" > 312</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-313" > 313</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-314" > 314</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-315" > 315</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-316" > 316</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-317" > 317</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-318" > 318</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-319" > 319</ a ></ span >
2026-06-14 17:47:52 +00:00
< span class = "normal" >< a href = "#__codelineno-0-320" > 320</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-321" > 321</ a ></ span >
2026-06-18 13:58:54 +00:00
< span class = "normal" >< a href = "#__codelineno-0-322" > 322</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-323" > 323</ a ></ span >
2026-06-22 13:53:09 +00:00
< span class = "normal" >< a href = "#__codelineno-0-324" > 324</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-325" > 325</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-326" > 326</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-327" > 327</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-328" > 328</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-329" > 329</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-330" > 330</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-331" > 331</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-332" > 332</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-333" > 333</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-334" > 334</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-335" > 335</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-336" > 336</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-337" > 337</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-338" > 338</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-339" > 339</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-340" > 340</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-341" > 341</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-342" > 342</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-343" > 343</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-344" > 344</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-345" > 345</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-305" name = "__codelineno-0-305" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > build_config</ span >< span class = "p" > (</ span >
2026-06-18 13:58:54 +00:00
< a id = "__codelineno-0-306" name = "__codelineno-0-306" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-307" name = "__codelineno-0-307" ></ a > < span class = "n" > path</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-308" name = "__codelineno-0-308" ></ a > < span class = "n" > login</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-309" name = "__codelineno-0-309" ></ a > < span class = "n" > password</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-310" name = "__codelineno-0-310" ></ a > < span class = "n" > server</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-311" name = "__codelineno-0-311" ></ a > < span class = "n" > timeout</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
2026-06-22 13:53:09 +00:00
< a id = "__codelineno-0-312" name = "__codelineno-0-312" ></ a > < span class = "n" > allow_whole_dollar_env</ span >< span class = "p" > :</ span > < span class = "nb" > bool</ span > < span class = "o" > =</ span > < span class = "kc" > False</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-313" name = "__codelineno-0-313" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" > Mt5Config</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-314" name = "__codelineno-0-314" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Build an ``Mt5Config`` from optional connection parameters.</ span >
< a id = "__codelineno-0-315" name = "__codelineno-0-315" ></ a >
< a id = "__codelineno-0-316" name = "__codelineno-0-316" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-317" name = "__codelineno-0-317" ></ a >< span class = "sd" > path: Optional terminal executable path.</ span >
< a id = "__codelineno-0-318" name = "__codelineno-0-318" ></ a >< span class = "sd" > login: Optional trading account login.</ span >
< a id = "__codelineno-0-319" name = "__codelineno-0-319" ></ a >< span class = "sd" > password: Optional trading account password.</ span >
< a id = "__codelineno-0-320" name = "__codelineno-0-320" ></ a >< span class = "sd" > server: Optional trading server name.</ span >
< a id = "__codelineno-0-321" name = "__codelineno-0-321" ></ a >< span class = "sd" > timeout: Optional connection timeout in milliseconds.</ span >
< a id = "__codelineno-0-322" name = "__codelineno-0-322" ></ a >< span class = "sd" > allow_whole_dollar_env: When ``True``, string parameters that are</ span >
< a id = "__codelineno-0-323" name = "__codelineno-0-323" ></ a >< span class = "sd" > exactly ``$ENV_NAME`` are expanded from the environment. Applies</ span >
< a id = "__codelineno-0-324" name = "__codelineno-0-324" ></ a >< span class = "sd" > to ``path``, ``password``, and ``server``. Default ``False``</ span >
< a id = "__codelineno-0-325" name = "__codelineno-0-325" ></ a >< span class = "sd" > preserves existing behavior.</ span >
< a id = "__codelineno-0-326" name = "__codelineno-0-326" ></ a >
< a id = "__codelineno-0-327" name = "__codelineno-0-327" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-328" name = "__codelineno-0-328" ></ a >< span class = "sd" > Configured ``Mt5Config`` instance.</ span >
< a id = "__codelineno-0-329" name = "__codelineno-0-329" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-330" name = "__codelineno-0-330" ></ a > < span class = "k" > if</ span > < span class = "n" > allow_whole_dollar_env</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-331" name = "__codelineno-0-331" ></ a > < span class = "k" > if</ span > < span class = "n" > path</ span > < span class = "ow" > is</ span > < span class = "ow" > not</ span > < span class = "kc" > None</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-332" name = "__codelineno-0-332" ></ a > < span class = "n" > path</ span > < span class = "o" > =</ span > < span class = "n" > substitute_env_placeholders</ span >< span class = "p" > (</ span >< span class = "n" > path</ span >< span class = "p" > ,</ span > < span class = "n" > allow_whole_dollar_env</ span >< span class = "o" > =</ span >< span class = "kc" > True</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-333" name = "__codelineno-0-333" ></ a > < span class = "k" > if</ span > < span class = "n" > password</ span > < span class = "ow" > is</ span > < span class = "ow" > not</ span > < span class = "kc" > None</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-334" name = "__codelineno-0-334" ></ a > < span class = "n" > password</ span > < span class = "o" > =</ span > < span class = "n" > substitute_env_placeholders</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-335" name = "__codelineno-0-335" ></ a > < span class = "n" > password</ span >< span class = "p" > ,</ span > < span class = "n" > allow_whole_dollar_env</ span >< span class = "o" > =</ span >< span class = "kc" > True</ span >
< a id = "__codelineno-0-336" name = "__codelineno-0-336" ></ a > < span class = "p" > )</ span >
< a id = "__codelineno-0-337" name = "__codelineno-0-337" ></ a > < span class = "k" > if</ span > < span class = "n" > server</ span > < span class = "ow" > is</ span > < span class = "ow" > not</ span > < span class = "kc" > None</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-338" name = "__codelineno-0-338" ></ a > < span class = "n" > server</ span > < span class = "o" > =</ span > < span class = "n" > substitute_env_placeholders</ span >< span class = "p" > (</ span >< span class = "n" > server</ span >< span class = "p" > ,</ span > < span class = "n" > allow_whole_dollar_env</ span >< span class = "o" > =</ span >< span class = "kc" > True</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-339" name = "__codelineno-0-339" ></ a > < span class = "k" > return</ span > < span class = "n" > Mt5Config</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-340" name = "__codelineno-0-340" ></ a > < span class = "n" > path</ span >< span class = "o" > =</ span >< span class = "n" > path</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-341" name = "__codelineno-0-341" ></ a > < span class = "n" > login</ span >< span class = "o" > =</ span >< span class = "n" > login</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-342" name = "__codelineno-0-342" ></ a > < span class = "n" > password</ span >< span class = "o" > =</ span >< span class = "n" > password</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-343" name = "__codelineno-0-343" ></ a > < span class = "n" > server</ span >< span class = "o" > =</ span >< span class = "n" > server</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-344" name = "__codelineno-0-344" ></ a > < span class = "n" > timeout</ span >< span class = "o" > =</ span >< span class = "n" > timeout</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-345" name = "__codelineno-0-345" ></ a > < span class = "p" > )</ span >
2026-06-12 16:32:35 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.client.mt5_session" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > mt5_session</ span >
< a href = "#mt5cli.client.mt5_session" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h3 >
< div class = "doc-signature highlight" >< pre >< span ></ span >< code >< a id = "__codelineno-0-1" name = "__codelineno-0-1" href = "#__codelineno-0-1" ></ a >< span class = "nf" > mt5_session</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > config</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "pdmt5.Mt5Config" > Mt5Config</ span ></ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "collections.abc.Iterator" > Iterator</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< a class = "autorefs autorefs-internal" title = "MT5Client (mt5cli.client.MT5Client)" href = "#mt5cli.client.MT5Client" > MT5Client</ a ></ span >< span class = "p" > ]</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Open an MT5 terminal session and yield a connected :class:< code > MT5Client</ code > .</ p >
< p >< span class = "doc-section-title" > Parameters:</ span ></ p >
< table >
< thead >
< tr >
< th > Name</ th >
< th > Type</ th >
< th > Description</ th >
< th > Default</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code > config</ code >
</ td >
< td >
< code >< span title = "pdmt5.Mt5Config" > Mt5Config</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > MT5 connection configuration. Defaults to an empty config that
attaches to a running terminal.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
</ tbody >
</ table >
< p >< span class = "doc-section-title" > Yields:</ span ></ p >
< table >
< thead >
< tr >
< th > Name</ th > < th > Type</ th >
< th > Description</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >< code > Connected</ code ></ td > < td >
< code >< a class = "autorefs autorefs-internal" title = "MT5Client (mt5cli.client.MT5Client)" href = "#mt5cli.client.MT5Client" > MT5Client</ a ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > class:< code > MT5Client</ code > bound to the session.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/client.py</ code ></ summary >
< div class = "highlight" >< table class = "highlighttable" >< tr >< td class = "linenos" >< div class = "linenodiv" >< pre >< span ></ span >< span class = "normal" >< a href = "#__codelineno-0-75" > 75</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-76" > 76</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-77" > 77</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-78" > 78</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-79" > 79</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-80" > 80</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-81" > 81</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-82" > 82</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-83" > 83</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-84" > 84</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-85" > 85</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-86" > 86</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-87" > 87</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-88" > 88</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-75" name = "__codelineno-0-75" ></ a >< span class = "nd" > @contextmanager</ span >
< a id = "__codelineno-0-76" name = "__codelineno-0-76" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > mt5_session</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "p" > :</ span > < span class = "n" > Mt5Config</ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" > Iterator</ span >< span class = "p" > [</ span >< span class = "n" > MT5Client</ span >< span class = "p" > ]:</ span >
< a id = "__codelineno-0-77" name = "__codelineno-0-77" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Open an MT5 terminal session and yield a connected :class:`MT5Client`.</ span >
< a id = "__codelineno-0-78" name = "__codelineno-0-78" ></ a >
< a id = "__codelineno-0-79" name = "__codelineno-0-79" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-80" name = "__codelineno-0-80" ></ a >< span class = "sd" > config: MT5 connection configuration. Defaults to an empty config that</ span >
< a id = "__codelineno-0-81" name = "__codelineno-0-81" ></ a >< span class = "sd" > attaches to a running terminal.</ span >
< a id = "__codelineno-0-82" name = "__codelineno-0-82" ></ a >
< a id = "__codelineno-0-83" name = "__codelineno-0-83" ></ a >< span class = "sd" > Yields:</ span >
< a id = "__codelineno-0-84" name = "__codelineno-0-84" ></ a >< span class = "sd" > Connected :class:`MT5Client` bound to the session.</ span >
< a id = "__codelineno-0-85" name = "__codelineno-0-85" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-86" name = "__codelineno-0-86" ></ a > < span class = "n" > mt5_config</ span > < span class = "o" > =</ span > < span class = "n" > config</ span > < span class = "ow" > or</ span > < span class = "n" > build_config</ span >< span class = "p" > ()</ span >
< a id = "__codelineno-0-87" name = "__codelineno-0-87" ></ a > < span class = "k" > with</ span > < span class = "n" > connected_client</ span >< span class = "p" > (</ span >< span class = "n" > mt5_config</ span >< span class = "p" > )</ span > < span class = "k" > as</ span > < span class = "n" > client</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-88" name = "__codelineno-0-88" ></ a > < span class = "k" > yield</ span > < span class = "n" > MT5Client</ span >< span class = "o" > .</ span >< span class = "n" > from_connected_client</ span >< span class = "p" > (</ span >< span class = "n" > client</ span >< span class = "p" > )</ span >
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
</ div >
</ div >
</ div ></ div >
</ div >
</ div >
< footer class = "col-md-12" >
< hr >
< p > Documentation built with < a href = "https://www.mkdocs.org/" > MkDocs</ a > .</ p >
</ footer >
< script src = "../../js/bootstrap.bundle.min.js" ></ script >
< script >
var base_url = "../.." ,
shortcuts = { "help" : 191 , "next" : 78 , "previous" : 80 , "search" : 83 };
</ script >
< script src = "../../js/base.js" ></ script >
< script src = "../../search/main.js" ></ script >
< div class = "modal" id = "mkdocs_search_modal" tabindex = "-1" role = "dialog" aria-labelledby = "searchModalLabel" aria-hidden = "true" >
< div class = "modal-dialog modal-lg" >
< div class = "modal-content" >
< div class = "modal-header" >
< h4 class = "modal-title" id = "searchModalLabel" > Search</ h4 >
< button type = "button" class = "btn-close" data-bs-dismiss = "modal" aria-label = "Close" ></ button >
</ div >
< div class = "modal-body" >
< p > From here you can search these documents. Enter your search terms below.</ p >
< form >
< div class = "form-group" >
< input type = "search" class = "form-control" placeholder = "Search..." id = "mkdocs-search-query" title = "Type search term here" >
</ div >
</ form >
< div id = "mkdocs-search-results" data-no-results-text = "No results found" ></ div >
</ div >
< div class = "modal-footer" >
</ div >
</ div >
</ div >
</ div >< div class = "modal" id = "mkdocs_keyboard_modal" tabindex = "-1" role = "dialog" aria-labelledby = "keyboardModalLabel" aria-hidden = "true" >
< div class = "modal-dialog" >
< div class = "modal-content" >
< div class = "modal-header" >
< h4 class = "modal-title" id = "keyboardModalLabel" > Keyboard Shortcuts</ h4 >
< button type = "button" class = "btn-close" data-bs-dismiss = "modal" aria-label = "Close" ></ button >
</ div >
< div class = "modal-body" >
< table class = "table" >
< thead >
< tr >
< th style = "width: 20%;" > Keys</ th >
< th > Action</ th >
</ tr >
</ thead >
< tbody >
< tr >
< td class = "help shortcut" >< kbd > ?</ kbd ></ td >
< td > Open this help</ td >
</ tr >
< tr >
< td class = "next shortcut" >< kbd > n</ kbd ></ td >
< td > Next page</ td >
</ tr >
< tr >
< td class = "prev shortcut" >< kbd > p</ kbd ></ td >
< td > Previous page</ td >
</ tr >
< tr >
< td class = "search shortcut" >< kbd > s</ kbd ></ td >
< td > Search</ td >
</ tr >
</ tbody >
</ table >
</ div >
< div class = "modal-footer" >
</ div >
</ div >
</ div >
</ div >
</ body >
</ html >