2026-06-08 13:55:22 +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/sdk/" >
< link rel = "shortcut icon" href = "../../img/favicon.ico" >
< title > SDK - 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-12 16:32:35 +00:00
< li >
< a href = "../client/" class = "dropdown-item" > 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 >
2026-06-08 13:55:22 +00:00
< li >
< a href = "../cli/" class = "dropdown-item" > CLI</ a >
</ li >
< li >
< a href = "./" class = "dropdown-item active" aria-current = "page" > SDK</ a >
</ li >
2026-06-11 10:33:27 +00:00
< li >
< a href = "../trading/" class = "dropdown-item" > Trading</ a >
</ li >
2026-06-08 16:28:50 +00:00
< li >
2026-06-08 17:40:53 +00:00
< a href = "../history/" class = "dropdown-item" > History Collection (SQLite)</ a >
2026-06-08 16:28:50 +00:00
</ li >
2026-06-08 13:55:22 +00:00
< 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" >
< a rel = "prev" href = "../cli/" class = "nav-link" >
< i class = "fa fa-arrow-left" ></ i > Previous
</ a >
</ li >
< li class = "nav-item" >
2026-06-11 10:33:27 +00:00
< a rel = "next" href = "../trading/" class = "nav-link" >
2026-06-08 13:55:22 +00:00
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/sdk.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 = "#sdk-module" class = "nav-link" > SDK Module</ a >
< ul class = "nav flex-column" >
< li class = "nav-item" data-bs-level = "2" >< a href = "#mt5cli.sdk" class = "nav-link" > sdk</ a >
< ul class = "nav flex-column" >
</ ul >
2026-06-09 15:15:52 +00:00
</ li >
< li class = "nav-item" data-bs-level = "2" >< a href = "#resilient-multi-account-orchestration" class = "nav-link" > Resilient multi-account orchestration</ a >
< ul class = "nav flex-column" >
</ ul >
2026-06-11 10:33:27 +00:00
</ li >
< li class = "nav-item" data-bs-level = "2" >< a href = "#trading-capable-sessions" class = "nav-link" > Trading-capable sessions</ a >
< ul class = "nav flex-column" >
</ ul >
2026-06-08 13:55:22 +00:00
</ li >
</ ul >
</ li >
</ ul >
</ div >
</ div ></ div >
< div class = "col-md-9" role = "main" >
< h1 id = "sdk-module" > SDK Module< a class = "headerlink" href = "#sdk-module" title = "Permanent link" > ¶ </ a ></ h1 >
< div class = "doc doc-object doc-module" >
< h2 id = "mt5cli.sdk" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-module-name" > mt5cli.sdk</ span >
< a href = "#mt5cli.sdk" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h2 >
< div class = "doc doc-contents first" >
< p > Programmatic SDK for MetaTrader 5 data collection.</ p >
< div class = "doc doc-children" >
< div class = "doc doc-object doc-attribute" >
< h3 id = "mt5cli.sdk.T" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > T</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-module-attribute" >< code > module-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.T" 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" > T</ span > < span class = "o" > =</ span > < span class = "n" >< span title = "typing.TypeVar" > TypeVar</ span ></ span >< span class = "p" > (</ span >< span class = "s1" > ' T' </ span >< span class = "p" > )</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-attribute" >
< h3 id = "mt5cli.sdk.__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.sdk.__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 >
2026-06-09 06:37:58 +00:00
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "s2" > " AccountSpec" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "s2" > " Mt5CliClient" </ span >< span class = "p" > ,</ span >
2026-06-09 15:15:52 +00:00
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "s2" > " ThrottledHistoryUpdater" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "s2" > " account_info" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "s2" > " build_config" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a > < span class = "s2" > " collect_history" </ span >< span class = "p" > ,</ span >
2026-06-10 17:31:32 +00:00
< a id = "__codelineno-0-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ a > < span class = "s2" > " collect_latest_closed_rates_by_granularity" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-9" name = "__codelineno-0-9" href = "#__codelineno-0-9" ></ a > < span class = "s2" > " collect_latest_closed_rates_for_accounts" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-10" name = "__codelineno-0-10" href = "#__codelineno-0-10" ></ a > < span class = "s2" > " collect_latest_rates" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-11" name = "__codelineno-0-11" href = "#__codelineno-0-11" ></ a > < span class = "s2" > " collect_latest_rates_for_accounts" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-12" name = "__codelineno-0-12" href = "#__codelineno-0-12" ></ a > < span class = "s2" > " collect_latest_rates_for_accounts_with_retries" </ span >< span class = "p" > ,</ span >
2026-06-12 16:32:35 +00:00
< a id = "__codelineno-0-13" name = "__codelineno-0-13" href = "#__codelineno-0-13" ></ a > < span class = "s2" > " connected_client" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-14" name = "__codelineno-0-14" href = "#__codelineno-0-14" ></ a > < span class = "s2" > " copy_rates_from" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-15" name = "__codelineno-0-15" href = "#__codelineno-0-15" ></ a > < span class = "s2" > " copy_rates_from_pos" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-16" name = "__codelineno-0-16" href = "#__codelineno-0-16" ></ a > < span class = "s2" > " copy_rates_range" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-17" name = "__codelineno-0-17" href = "#__codelineno-0-17" ></ a > < span class = "s2" > " copy_ticks_from" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-18" name = "__codelineno-0-18" href = "#__codelineno-0-18" ></ a > < span class = "s2" > " copy_ticks_range" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-19" name = "__codelineno-0-19" href = "#__codelineno-0-19" ></ a > < span class = "s2" > " history_deals" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-20" name = "__codelineno-0-20" href = "#__codelineno-0-20" ></ a > < span class = "s2" > " history_orders" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-21" name = "__codelineno-0-21" href = "#__codelineno-0-21" ></ a > < span class = "s2" > " last_error" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-22" name = "__codelineno-0-22" href = "#__codelineno-0-22" ></ a > < span class = "s2" > " latest_rates" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-23" name = "__codelineno-0-23" href = "#__codelineno-0-23" ></ a > < span class = "s2" > " market_book" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-24" name = "__codelineno-0-24" href = "#__codelineno-0-24" ></ a > < span class = "s2" > " minimum_margins" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-25" name = "__codelineno-0-25" href = "#__codelineno-0-25" ></ a > < span class = "s2" > " mt5_session" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-26" name = "__codelineno-0-26" href = "#__codelineno-0-26" ></ a > < span class = "s2" > " mt5_summary" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-27" name = "__codelineno-0-27" href = "#__codelineno-0-27" ></ a > < span class = "s2" > " mt5_summary_as_df" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-28" name = "__codelineno-0-28" href = "#__codelineno-0-28" ></ a > < span class = "s2" > " orders" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-29" name = "__codelineno-0-29" href = "#__codelineno-0-29" ></ a > < span class = "s2" > " positions" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-30" name = "__codelineno-0-30" href = "#__codelineno-0-30" ></ a > < span class = "s2" > " recent_history_deals" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-31" name = "__codelineno-0-31" href = "#__codelineno-0-31" ></ a > < span class = "s2" > " recent_ticks" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-32" name = "__codelineno-0-32" href = "#__codelineno-0-32" ></ a > < span class = "s2" > " resolve_account_spec" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-33" name = "__codelineno-0-33" href = "#__codelineno-0-33" ></ a > < span class = "s2" > " resolve_account_specs" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-34" name = "__codelineno-0-34" href = "#__codelineno-0-34" ></ a > < span class = "s2" > " substitute_env_placeholders" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-35" name = "__codelineno-0-35" href = "#__codelineno-0-35" ></ a > < span class = "s2" > " symbol_info" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-36" name = "__codelineno-0-36" href = "#__codelineno-0-36" ></ a > < span class = "s2" > " symbol_info_tick" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-37" name = "__codelineno-0-37" href = "#__codelineno-0-37" ></ a > < span class = "s2" > " symbols" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-38" name = "__codelineno-0-38" href = "#__codelineno-0-38" ></ a > < span class = "s2" > " terminal_info" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-39" name = "__codelineno-0-39" href = "#__codelineno-0-39" ></ a > < span class = "s2" > " update_history" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-40" name = "__codelineno-0-40" href = "#__codelineno-0-40" ></ a > < span class = "s2" > " update_history_with_config" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-41" name = "__codelineno-0-41" href = "#__codelineno-0-41" ></ a > < span class = "s2" > " version" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-42" name = "__codelineno-0-42" href = "#__codelineno-0-42" ></ a >< span class = "p" > ]</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-attribute" >
< h3 id = "mt5cli.sdk.logger" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > logger</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-module-attribute" >< code > module-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.logger" 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" > logger</ span > < span class = "o" > =</ span > < span class = "n" >< span title = "logging.getLogger" > getLogger</ span ></ span >< span class = "p" > (</ span >< span class = "n" >< span title = "__name__" > __name__</ span ></ span >< span class = "p" > )</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-class" >
2026-06-09 06:37:58 +00:00
< h3 id = "mt5cli.sdk.AccountSpec" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-class-name" > AccountSpec</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-dataclass" >< code > dataclass</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.AccountSpec" 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" > AccountSpec</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbols</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ 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 = "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" > 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-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ 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-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ 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-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 = "p" > )</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Connection parameters and symbols for one MT5 account group.</ p >
< p >< span class = "doc-section-title" > Attributes:</ span ></ p >
< table >
< thead >
< tr >
< th > Name</ th >
< th > Type</ th >
< th > Description</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >< code >< a class = "autorefs autorefs-internal" title = "symbols
instance-attribute
(mt5cli.sdk.AccountSpec.symbols)" href = "#mt5cli.sdk.AccountSpec.symbols" > symbols</ a ></ code ></ td >
< td >
< code >< span title = "collections.abc.Sequence" > Sequence</ span > [< span title = "str" > str</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Symbols to load latest rates for under this account.</ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >< code >< a class = "autorefs autorefs-internal" title = "login
class-attribute
instance-attribute
(mt5cli.sdk.AccountSpec.login)" href = "#mt5cli.sdk.AccountSpec.login" > login</ a ></ code ></ td >
< td >
< code >< span title = "int" > int</ span > | < span title = "str" > str</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Trading account login. String values are coerced to int when
non-empty.</ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >< code >< a class = "autorefs autorefs-internal" title = "password
class-attribute
instance-attribute
(mt5cli.sdk.AccountSpec.password)" href = "#mt5cli.sdk.AccountSpec.password" > password</ a ></ code ></ td >
< td >
< code >< span title = "str" > str</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Trading account password.</ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >< code >< a class = "autorefs autorefs-internal" title = "server
class-attribute
instance-attribute
(mt5cli.sdk.AccountSpec.server)" href = "#mt5cli.sdk.AccountSpec.server" > server</ a ></ code ></ td >
< td >
< code >< span title = "str" > str</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Trading server name.</ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >< code >< a class = "autorefs autorefs-internal" title = "path
class-attribute
instance-attribute
(mt5cli.sdk.AccountSpec.path)" href = "#mt5cli.sdk.AccountSpec.path" > path</ a ></ code ></ td >
< td >
< code >< span title = "str" > str</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Path to the MetaTrader5 terminal EXE file.</ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >< code >< a class = "autorefs autorefs-internal" title = "timeout
class-attribute
instance-attribute
(mt5cli.sdk.AccountSpec.timeout)" href = "#mt5cli.sdk.AccountSpec.timeout" > timeout</ a ></ code ></ td >
< td >
< code >< span title = "int" > int</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Connection timeout in milliseconds.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< div class = "doc doc-children" >
< div class = "doc doc-object doc-attribute" >
< h4 id = "mt5cli.sdk.AccountSpec.login" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > login</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-class-attribute" >< code > class-attribute</ code ></ small >
< small class = "doc doc-label doc-label-instance-attribute" >< code > instance-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.AccountSpec.login" class = "headerlink" title = "Permanent link" > ¶ </ a ></ h4 >
2026-06-09 15:15:52 +00:00
< 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" > login</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ 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 = "n" >< span title = "dataclasses.field" > field</ span ></ span >< span class = "p" > (</ span >< span class = "n" >< span title = "dataclasses.field(default)" > default</ span ></ span >< span class = "o" > =</ span >< span class = "kc" > None</ span >< span class = "p" > ,</ span > < span class = "n" >< span title = "dataclasses.field(repr)" > repr</ span ></ span >< span class = "o" > =</ span >< span class = "kc" > False</ span >< span class = "p" > )</ span >
2026-06-09 06:37:58 +00:00
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-attribute" >
< h4 id = "mt5cli.sdk.AccountSpec.password" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > password</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-class-attribute" >< code > class-attribute</ code ></ small >
< small class = "doc doc-label doc-label-instance-attribute" >< code > instance-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.AccountSpec.password" 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 = "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 = "n" >< span title = "dataclasses.field" > field</ span ></ span >< span class = "p" > (</ span >< span class = "n" >< span title = "dataclasses.field(default)" > default</ span ></ span >< span class = "o" > =</ span >< span class = "kc" > None</ span >< span class = "p" > ,</ span > < span class = "n" >< span title = "dataclasses.field(repr)" > repr</ span ></ span >< span class = "o" > =</ span >< span class = "kc" > False</ span >< span class = "p" > )</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-attribute" >
< h4 id = "mt5cli.sdk.AccountSpec.path" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > path</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-class-attribute" >< code > class-attribute</ code ></ small >
< small class = "doc doc-label doc-label-instance-attribute" >< code > instance-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.AccountSpec.path" 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 = "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 >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-attribute" >
< h4 id = "mt5cli.sdk.AccountSpec.server" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > server</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-class-attribute" >< code > class-attribute</ code ></ small >
< small class = "doc doc-label doc-label-instance-attribute" >< code > instance-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.AccountSpec.server" 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 = "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 >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-attribute" >
< h4 id = "mt5cli.sdk.AccountSpec.symbols" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > symbols</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-instance-attribute" >< code > instance-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.AccountSpec.symbols" 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 = "n" > symbols</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ]</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-attribute" >
< h4 id = "mt5cli.sdk.AccountSpec.timeout" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > timeout</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-class-attribute" >< code > class-attribute</ code ></ small >
< small class = "doc doc-label doc-label-instance-attribute" >< code > instance-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.AccountSpec.timeout" 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 = "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 >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
</ div >
</ div >
</ div >
< div class = "doc doc-object doc-class" >
2026-06-08 13:55:22 +00:00
< h3 id = "mt5cli.sdk.Mt5CliClient" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-class-name" > Mt5CliClient</ span >
< a href = "#mt5cli.sdk.Mt5CliClient" 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" > Mt5CliClient</ 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-12 16:32:35 +00:00
< 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 >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Programmatic client for read-only MetaTrader 5 data access.</ p >
< p > Initialize the SDK client.</ 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 > path</ code >
</ td >
< td >
< code >< span title = "str" > str</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Path to MetaTrader5 terminal EXE file.</ 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 > 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 > 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 > 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 > Connection timeout in milliseconds.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
2026-06-12 16:32:35 +00:00
< tr class = "doc-section-item" >
< td >
< code > retry_count</ code >
</ td >
< td >
< code >< span title = "int" > int</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Number of MT5 initialization retries for sessions
opened by this client.</ p >
</ div >
</ td >
< td >
< code > 3</ code >
</ td >
</ tr >
2026-06-08 13:55:22 +00:00
< 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 > Optional pre-built < code > Mt5Config</ code > (overrides other args).</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
2026-06-09 02:27:54 +00:00
< tr class = "doc-section-item" >
< td >
< code > client</ code >
</ td >
< td >
< code >< span title = "pdmt5.Mt5DataClient" > Mt5DataClient</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Optional already-connected < code > Mt5DataClient</ code > . Injected
clients are reused as-is and are not initialized or shut down.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
2026-06-08 13:55:22 +00:00
</ tbody >
</ table >
2026-06-09 06:37:58 +00:00
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-381" > 381</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-382" > 382</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-383" > 383</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-384" > 384</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-385" > 385</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-386" > 386</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-387" > 387</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-388" > 388</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-389" > 389</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-390" > 390</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-391" > 391</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-392" > 392</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-393" > 393</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-394" > 394</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-395" > 395</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-396" > 396</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-397" > 397</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-398" > 398</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-399" > 399</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-400" > 400</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-401" > 401</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-402" > 402</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-403" > 403</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-404" > 404</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-405" > 405</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-406" > 406</ a ></ span >
2026-06-12 14:15:10 +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 >
2026-06-12 16:32:35 +00:00
< 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 >
< span class = "normal" >< a href = "#__codelineno-0-416" > 416</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-381" name = "__codelineno-0-381" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "fm" > __init__</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-382" name = "__codelineno-0-382" ></ a > < span class = "bp" > self</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-383" name = "__codelineno-0-383" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-384" name = "__codelineno-0-384" ></ 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-385" name = "__codelineno-0-385" ></ 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-386" name = "__codelineno-0-386" ></ 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-387" name = "__codelineno-0-387" ></ 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-388" name = "__codelineno-0-388" ></ 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-389" name = "__codelineno-0-389" ></ 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-390" name = "__codelineno-0-390" ></ 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-391" name = "__codelineno-0-391" ></ 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-392" name = "__codelineno-0-392" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "kc" > None</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-393" name = "__codelineno-0-393" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Initialize the SDK client.</ span >
< a id = "__codelineno-0-394" name = "__codelineno-0-394" ></ a >
< a id = "__codelineno-0-395" name = "__codelineno-0-395" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-396" name = "__codelineno-0-396" ></ a >< span class = "sd" > path: Path to MetaTrader5 terminal EXE file.</ span >
< a id = "__codelineno-0-397" name = "__codelineno-0-397" ></ a >< span class = "sd" > login: Trading account login.</ span >
< a id = "__codelineno-0-398" name = "__codelineno-0-398" ></ a >< span class = "sd" > password: Trading account password.</ span >
< a id = "__codelineno-0-399" name = "__codelineno-0-399" ></ a >< span class = "sd" > server: Trading server name.</ span >
< a id = "__codelineno-0-400" name = "__codelineno-0-400" ></ a >< span class = "sd" > timeout: Connection timeout in milliseconds.</ span >
< a id = "__codelineno-0-401" name = "__codelineno-0-401" ></ a >< span class = "sd" > retry_count: Number of MT5 initialization retries for sessions</ span >
< a id = "__codelineno-0-402" name = "__codelineno-0-402" ></ a >< span class = "sd" > opened by this client.</ span >
< a id = "__codelineno-0-403" name = "__codelineno-0-403" ></ a >< span class = "sd" > config: Optional pre-built ``Mt5Config`` (overrides other args).</ span >
< a id = "__codelineno-0-404" name = "__codelineno-0-404" ></ a >< span class = "sd" > client: Optional already-connected ``Mt5DataClient``. Injected</ span >
< a id = "__codelineno-0-405" name = "__codelineno-0-405" ></ a >< span class = "sd" > clients are reused as-is and are not initialized or shut down.</ span >
< a id = "__codelineno-0-406" name = "__codelineno-0-406" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-407" name = "__codelineno-0-407" ></ 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-408" name = "__codelineno-0-408" ></ a > < span class = "n" > path</ span >< span class = "o" > =</ span >< span class = "n" > path</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-409" name = "__codelineno-0-409" ></ a > < span class = "n" > login</ span >< span class = "o" > =</ span >< span class = "n" > login</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-410" name = "__codelineno-0-410" ></ a > < span class = "n" > password</ span >< span class = "o" > =</ span >< span class = "n" > password</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-411" name = "__codelineno-0-411" ></ a > < span class = "n" > server</ span >< span class = "o" > =</ span >< span class = "n" > server</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-412" name = "__codelineno-0-412" ></ a > < span class = "n" > timeout</ span >< span class = "o" > =</ span >< span class = "n" > timeout</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-413" name = "__codelineno-0-413" ></ a > < span class = "p" > )</ span >
< a id = "__codelineno-0-414" name = "__codelineno-0-414" ></ 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-415" name = "__codelineno-0-415" ></ 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-416" name = "__codelineno-0-416" ></ 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-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
< div class = "doc doc-children" >
< div class = "doc doc-object doc-attribute" >
< h4 id = "mt5cli.sdk.Mt5CliClient.config" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > config</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-property" >< code > property</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.config" 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 = "n" > config</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "pdmt5.Mt5Config" > Mt5Config</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Return the underlying MT5 configuration.</ p >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.__enter__" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > __enter__</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.__enter__" 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" > __enter__</ 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 > Open a persistent MT5 connection for multiple calls.</ 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 > This client instance.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-435" > 435</ a ></ span >
2026-06-11 10:33:27 +00:00
< 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 >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-442" > 442</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-443" > 443</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-444" > 444</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-445" > 445</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-446" > 446</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-447" > 447</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-448" > 448</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-449" > 449</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-450" > 450</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-451" > 451</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-435" name = "__codelineno-0-435" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "fm" > __enter__</ span >< span class = "p" > (</ span >< span class = "bp" > self</ span >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" > Self</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-436" name = "__codelineno-0-436" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Open a persistent MT5 connection for multiple calls.</ span >
< a id = "__codelineno-0-437" name = "__codelineno-0-437" ></ a >
< a id = "__codelineno-0-438" name = "__codelineno-0-438" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-439" name = "__codelineno-0-439" ></ a >< span class = "sd" > This client instance.</ span >
< a id = "__codelineno-0-440" name = "__codelineno-0-440" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-441" name = "__codelineno-0-441" ></ a > < span class = "k" > if</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _client</ span > < span class = "ow" > is</ span > < span class = "ow" > not</ span > < span class = "kc" > None</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-442" name = "__codelineno-0-442" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >
< a id = "__codelineno-0-443" name = "__codelineno-0-443" ></ a > < span class = "n" > client</ span > < span class = "o" > =</ span > < span class = "n" > Mt5DataClient</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _config</ span >< span class = "p" > ,</ span > < span class = "n" > retry_count</ span >< span class = "o" > =</ span >< span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _retry_count</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-444" name = "__codelineno-0-444" ></ a > < span class = "k" > try</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-445" name = "__codelineno-0-445" ></ a > < span class = "n" > client</ span >< span class = "o" > .</ span >< span class = "n" > initialize_and_login_mt5</ span >< span class = "p" > ()</ span >
< a id = "__codelineno-0-446" name = "__codelineno-0-446" ></ a > < span class = "k" > except</ span > < span class = "ne" > Exception</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-447" name = "__codelineno-0-447" ></ a > < span class = "n" > client</ span >< span class = "o" > .</ span >< span class = "n" > shutdown</ span >< span class = "p" > ()</ span >
< a id = "__codelineno-0-448" name = "__codelineno-0-448" ></ a > < span class = "k" > raise</ span >
< a id = "__codelineno-0-449" name = "__codelineno-0-449" ></ 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-450" name = "__codelineno-0-450" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _owns_client</ span > < span class = "o" > =</ span > < span class = "kc" > True</ span > < span class = "c1" > # only set when this method created the client</ span >
< a id = "__codelineno-0-451" name = "__codelineno-0-451" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.__exit__" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > __exit__</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.__exit__" 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" > __exit__</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > exc_type</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "type" > type</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "BaseException" > BaseException</ span ></ span >< span class = "p" > ]</ 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 = "n" > exc</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "BaseException" > BaseException</ span ></ 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" > tb</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "object" > object</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "kc" > None</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Shut down the persistent MT5 connection.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-453" > 453</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-454" > 454</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-455" > 455</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-456" > 456</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-457" > 457</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-458" > 458</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-459" > 459</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-460" > 460</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-461" > 461</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-462" > 462</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-453" name = "__codelineno-0-453" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "fm" > __exit__</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-454" name = "__codelineno-0-454" ></ a > < span class = "bp" > self</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-455" name = "__codelineno-0-455" ></ a > < span class = "n" > exc_type</ span >< span class = "p" > :</ span > < span class = "nb" > type</ span >< span class = "p" > [</ span >< span class = "ne" > BaseException</ span >< span class = "p" > ]</ span > < span class = "o" > |</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-456" name = "__codelineno-0-456" ></ a > < span class = "n" > exc</ span >< span class = "p" > :</ span > < span class = "ne" > BaseException</ span > < span class = "o" > |</ span > < span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-457" name = "__codelineno-0-457" ></ a > < span class = "n" > tb</ span >< span class = "p" > :</ span > < span class = "nb" > object</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-458" name = "__codelineno-0-458" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "kc" > None</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-459" name = "__codelineno-0-459" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Shut down the persistent MT5 connection.""" </ span >
< a id = "__codelineno-0-460" name = "__codelineno-0-460" ></ a > < span class = "k" > if</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _client</ span > < span class = "ow" > is</ span > < span class = "ow" > not</ span > < span class = "kc" > None</ span > < span class = "ow" > and</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _owns_client</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-461" name = "__codelineno-0-461" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _client</ span >< span class = "o" > .</ span >< span class = "n" > shutdown</ span >< span class = "p" > ()</ span >
< a id = "__codelineno-0-462" name = "__codelineno-0-462" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _client</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.account_info" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > account_info</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.account_info" 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" > account_info</ 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 > Return account information.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-616" > 616</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-617" > 617</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-618" > 618</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-616" name = "__codelineno-0-616" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > account_info</ span >< span class = "p" > (</ span >< span class = "bp" > self</ 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-617" name = "__codelineno-0-617" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return account information.""" </ span >
< a id = "__codelineno-0-618" name = "__codelineno-0-618" ></ 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" > c</ span >< span class = "p" > :</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > account_info_as_df</ span >< span class = "p" > ())</ span >
2026-06-09 02:27:54 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.collect_latest_rates" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > collect_latest_rates</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.collect_latest_rates" 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" > collect_latest_rates</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbols</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > timeframes</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "dict" > dict</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "tuple" > tuple</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ],</ span > < span class = "n" >< span title = "pandas.DataFrame" > DataFrame</ span ></ span >< span class = "p" > ]</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Return latest rates for each symbol/timeframe pair.</ 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 = "dict" > dict</ span > [< span title = "tuple" > tuple</ span > [< span title = "str" > str</ span > , < span title = "int" > int</ span > ], < span title = "pandas.DataFrame" > DataFrame</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Mapping keyed by < code > (symbol, timeframe_int)</ code > .</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< p >< span class = "doc-section-title" > Raises:</ span ></ p >
< table >
< thead >
< tr >
< th > Type</ th >
< th > Description</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code >< span title = "ValueError" > ValueError</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > If < code > count</ code > is not positive or inputs are empty.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-520" > 520</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-521" > 521</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-522" > 522</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-523" > 523</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-524" > 524</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-525" > 525</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-526" > 526</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-527" > 527</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-528" > 528</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-529" > 529</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-530" > 530</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-531" > 531</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-532" > 532</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-533" > 533</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-534" > 534</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-535" > 535</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-536" > 536</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-537" > 537</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-538" > 538</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-539" > 539</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-540" > 540</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-541" > 541</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-542" > 542</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-543" > 543</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-544" > 544</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-545" > 545</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-546" > 546</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-547" > 547</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-548" > 548</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-549" > 549</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-550" > 550</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-551" > 551</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-552" > 552</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-553" > 553</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-554" > 554</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-555" > 555</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-520" name = "__codelineno-0-520" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > collect_latest_rates</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-521" name = "__codelineno-0-521" ></ a > < span class = "bp" > self</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-522" name = "__codelineno-0-522" ></ a > < span class = "n" > symbols</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-523" name = "__codelineno-0-523" ></ a > < span class = "n" > timeframes</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-524" name = "__codelineno-0-524" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-525" name = "__codelineno-0-525" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-526" name = "__codelineno-0-526" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-527" name = "__codelineno-0-527" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "nb" > dict</ span >< span class = "p" > [</ span >< span class = "nb" > tuple</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ,</ span > < span class = "nb" > int</ span >< span class = "p" > ],</ span > < span class = "n" > pd</ span >< span class = "o" > .</ span >< span class = "n" > DataFrame</ span >< span class = "p" > ]:</ span >
< a id = "__codelineno-0-528" name = "__codelineno-0-528" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return latest rates for each symbol/timeframe pair.</ span >
< a id = "__codelineno-0-529" name = "__codelineno-0-529" ></ a >
< a id = "__codelineno-0-530" name = "__codelineno-0-530" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-531" name = "__codelineno-0-531" ></ a >< span class = "sd" > Mapping keyed by ``(symbol, timeframe_int)``.</ span >
< a id = "__codelineno-0-532" name = "__codelineno-0-532" ></ a >
< a id = "__codelineno-0-533" name = "__codelineno-0-533" ></ a >< span class = "sd" > Raises:</ span >
< a id = "__codelineno-0-534" name = "__codelineno-0-534" ></ a >< span class = "sd" > ValueError: If ``count`` is not positive or inputs are empty.</ span >
< a id = "__codelineno-0-535" name = "__codelineno-0-535" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-536" name = "__codelineno-0-536" ></ a > < span class = "n" > _require_positive</ span >< span class = "p" > (</ span >< span class = "n" > count</ span >< span class = "p" > ,</ span > < span class = "s2" > " count" </ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-537" name = "__codelineno-0-537" ></ a > < span class = "k" > if</ span > < span class = "ow" > not</ span > < span class = "n" > symbols</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-538" name = "__codelineno-0-538" ></ a > < span class = "n" > msg</ span > < span class = "o" > =</ span > < span class = "s2" > " At least one symbol is required." </ span >
< a id = "__codelineno-0-539" name = "__codelineno-0-539" ></ a > < span class = "k" > raise</ span > < span class = "ne" > ValueError</ span >< span class = "p" > (</ span >< span class = "n" > msg</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-540" name = "__codelineno-0-540" ></ a > < span class = "k" > if</ span > < span class = "ow" > not</ span > < span class = "n" > timeframes</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-541" name = "__codelineno-0-541" ></ a > < span class = "n" > msg</ span > < span class = "o" > =</ span > < span class = "s2" > " At least one timeframe is required." </ span >
< a id = "__codelineno-0-542" name = "__codelineno-0-542" ></ a > < span class = "k" > raise</ span > < span class = "ne" > ValueError</ span >< span class = "p" > (</ span >< span class = "n" > msg</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-543" name = "__codelineno-0-543" ></ a > < span class = "n" > resolved_timeframes</ span > < span class = "o" > =</ span > < span class = "p" > [</ span >< span class = "n" > _coerce_timeframe</ span >< span class = "p" > (</ span >< span class = "n" > timeframe</ span >< span class = "p" > )</ span > < span class = "k" > for</ span > < span class = "n" > timeframe</ span > < span class = "ow" > in</ span > < span class = "n" > timeframes</ span >< span class = "p" > ]</ span >
< a id = "__codelineno-0-544" name = "__codelineno-0-544" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _fetch_value</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-545" name = "__codelineno-0-545" ></ a > < span class = "k" > lambda</ span > < span class = "n" > c</ span >< span class = "p" > :</ span > < span class = "p" > {</ span >
< a id = "__codelineno-0-546" name = "__codelineno-0-546" ></ a > < span class = "p" > (</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span > < span class = "n" > timeframe</ span >< span class = "p" > ):</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > copy_rates_from_pos_as_df</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-547" name = "__codelineno-0-547" ></ a > < span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-548" name = "__codelineno-0-548" ></ a > < span class = "n" > timeframe</ span >< span class = "o" > =</ span >< span class = "n" > timeframe</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-549" name = "__codelineno-0-549" ></ a > < span class = "n" > start_pos</ span >< span class = "o" > =</ span >< span class = "n" > start_pos</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-550" name = "__codelineno-0-550" ></ a > < span class = "n" > count</ span >< span class = "o" > =</ span >< span class = "n" > count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-551" name = "__codelineno-0-551" ></ a > < span class = "p" > )</ span >
< a id = "__codelineno-0-552" name = "__codelineno-0-552" ></ a > < span class = "k" > for</ span > < span class = "n" > symbol</ span > < span class = "ow" > in</ span > < span class = "n" > symbols</ span >
< a id = "__codelineno-0-553" name = "__codelineno-0-553" ></ a > < span class = "k" > for</ span > < span class = "n" > timeframe</ span > < span class = "ow" > in</ span > < span class = "n" > resolved_timeframes</ span >
< a id = "__codelineno-0-554" name = "__codelineno-0-554" ></ a > < span class = "p" > },</ span >
< a id = "__codelineno-0-555" name = "__codelineno-0-555" ></ a > < span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.copy_rates_from" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > copy_rates_from</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.copy_rates_from" 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" > copy_rates_from</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a >< 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 > Return rates starting from a date.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-472" > 472</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-473" > 473</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-474" > 474</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-475" > 475</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-476" > 476</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-477" > 477</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-478" > 478</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-479" > 479</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-480" > 480</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-481" > 481</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-482" > 482</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-483" > 483</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-484" > 484</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-485" > 485</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-486" > 486</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-487" > 487</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-488" > 488</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-489" > 489</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-472" name = "__codelineno-0-472" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > copy_rates_from</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-473" name = "__codelineno-0-473" ></ a > < span class = "bp" > self</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-474" name = "__codelineno-0-474" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-475" name = "__codelineno-0-475" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-476" name = "__codelineno-0-476" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-477" name = "__codelineno-0-477" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-478" name = "__codelineno-0-478" ></ a >< 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-479" name = "__codelineno-0-479" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return rates starting from a date.""" </ span >
< a id = "__codelineno-0-480" name = "__codelineno-0-480" ></ a > < span class = "n" > tf</ span > < span class = "o" > =</ span > < span class = "n" > _coerce_timeframe</ span >< span class = "p" > (</ span >< span class = "n" > timeframe</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-481" name = "__codelineno-0-481" ></ a > < span class = "n" > start</ span > < span class = "o" > =</ span > < span class = "n" > _require_datetime</ span >< span class = "p" > (</ span >< span class = "n" > date_from</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-482" name = "__codelineno-0-482" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _fetch</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-483" name = "__codelineno-0-483" ></ a > < span class = "k" > lambda</ span > < span class = "n" > c</ span >< span class = "p" > :</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > copy_rates_from_as_df</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-484" name = "__codelineno-0-484" ></ a > < span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-485" name = "__codelineno-0-485" ></ a > < span class = "n" > timeframe</ span >< span class = "o" > =</ span >< span class = "n" > tf</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-486" name = "__codelineno-0-486" ></ a > < span class = "n" > date_from</ span >< span class = "o" > =</ span >< span class = "n" > start</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-487" name = "__codelineno-0-487" ></ a > < span class = "n" > count</ span >< span class = "o" > =</ span >< span class = "n" > count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-488" name = "__codelineno-0-488" ></ a > < span class = "p" > ),</ span >
< a id = "__codelineno-0-489" name = "__codelineno-0-489" ></ a > < span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.copy_rates_from_pos" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > copy_rates_from_pos</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.copy_rates_from_pos" 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" > copy_rates_from_pos</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a >< 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 > Return rates starting from a bar position.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-491" > 491</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-492" > 492</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-493" > 493</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-494" > 494</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-495" > 495</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-496" > 496</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-497" > 497</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-498" > 498</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-499" > 499</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-500" > 500</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-501" > 501</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-502" > 502</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-503" > 503</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-504" > 504</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-505" > 505</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-506" > 506</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-507" > 507</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-491" name = "__codelineno-0-491" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > copy_rates_from_pos</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-492" name = "__codelineno-0-492" ></ a > < span class = "bp" > self</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-493" name = "__codelineno-0-493" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-494" name = "__codelineno-0-494" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-495" name = "__codelineno-0-495" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-496" name = "__codelineno-0-496" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-497" name = "__codelineno-0-497" ></ a >< 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-498" name = "__codelineno-0-498" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return rates starting from a bar position.""" </ span >
< a id = "__codelineno-0-499" name = "__codelineno-0-499" ></ a > < span class = "n" > tf</ span > < span class = "o" > =</ span > < span class = "n" > _coerce_timeframe</ span >< span class = "p" > (</ span >< span class = "n" > timeframe</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-500" name = "__codelineno-0-500" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _fetch</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-501" name = "__codelineno-0-501" ></ a > < span class = "k" > lambda</ span > < span class = "n" > c</ span >< span class = "p" > :</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > copy_rates_from_pos_as_df</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-502" name = "__codelineno-0-502" ></ a > < span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-503" name = "__codelineno-0-503" ></ a > < span class = "n" > timeframe</ span >< span class = "o" > =</ span >< span class = "n" > tf</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-504" name = "__codelineno-0-504" ></ a > < span class = "n" > start_pos</ span >< span class = "o" > =</ span >< span class = "n" > start_pos</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-505" name = "__codelineno-0-505" ></ a > < span class = "n" > count</ span >< span class = "o" > =</ span >< span class = "n" > count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-506" name = "__codelineno-0-506" ></ a > < span class = "p" > ),</ span >
< a id = "__codelineno-0-507" name = "__codelineno-0-507" ></ a > < span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.copy_rates_range" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > copy_rates_range</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.copy_rates_range" 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" > copy_rates_range</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a >< 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 > Return rates for a date range.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-557" > 557</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-558" > 558</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-559" > 559</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-560" > 560</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-561" > 561</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-562" > 562</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-563" > 563</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-564" > 564</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-565" > 565</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-566" > 566</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-567" > 567</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-568" > 568</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-569" > 569</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-570" > 570</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-571" > 571</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-572" > 572</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-573" > 573</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-574" > 574</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-575" > 575</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-557" name = "__codelineno-0-557" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > copy_rates_range</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-558" name = "__codelineno-0-558" ></ a > < span class = "bp" > self</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-559" name = "__codelineno-0-559" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-560" name = "__codelineno-0-560" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-561" name = "__codelineno-0-561" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-562" name = "__codelineno-0-562" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-563" name = "__codelineno-0-563" ></ a >< 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-564" name = "__codelineno-0-564" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return rates for a date range.""" </ span >
< a id = "__codelineno-0-565" name = "__codelineno-0-565" ></ a > < span class = "n" > tf</ span > < span class = "o" > =</ span > < span class = "n" > _coerce_timeframe</ span >< span class = "p" > (</ span >< span class = "n" > timeframe</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-566" name = "__codelineno-0-566" ></ a > < span class = "n" > start</ span > < span class = "o" > =</ span > < span class = "n" > _require_datetime</ span >< span class = "p" > (</ span >< span class = "n" > date_from</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-567" name = "__codelineno-0-567" ></ a > < span class = "n" > end</ span > < span class = "o" > =</ span > < span class = "n" > _require_datetime</ span >< span class = "p" > (</ span >< span class = "n" > date_to</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-568" name = "__codelineno-0-568" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _fetch</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-569" name = "__codelineno-0-569" ></ a > < span class = "k" > lambda</ span > < span class = "n" > c</ span >< span class = "p" > :</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > copy_rates_range_as_df</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-570" name = "__codelineno-0-570" ></ a > < span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-571" name = "__codelineno-0-571" ></ a > < span class = "n" > timeframe</ span >< span class = "o" > =</ span >< span class = "n" > tf</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-572" name = "__codelineno-0-572" ></ a > < span class = "n" > date_from</ span >< span class = "o" > =</ span >< span class = "n" > start</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-573" name = "__codelineno-0-573" ></ a > < span class = "n" > date_to</ span >< span class = "o" > =</ span >< span class = "n" > end</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-574" name = "__codelineno-0-574" ></ a > < span class = "p" > ),</ span >
< a id = "__codelineno-0-575" name = "__codelineno-0-575" ></ a > < span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.copy_ticks_from" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > copy_ticks_from</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.copy_ticks_from" 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" > copy_ticks_from</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > flags</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a >< 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 > Return ticks starting from a date.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-577" > 577</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-578" > 578</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-579" > 579</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-580" > 580</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-581" > 581</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-582" > 582</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-583" > 583</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-584" > 584</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-585" > 585</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-586" > 586</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-587" > 587</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-588" > 588</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-589" > 589</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-590" > 590</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-591" > 591</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-592" > 592</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-593" > 593</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-594" > 594</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-577" name = "__codelineno-0-577" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > copy_ticks_from</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-578" name = "__codelineno-0-578" ></ a > < span class = "bp" > self</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-579" name = "__codelineno-0-579" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-580" name = "__codelineno-0-580" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-581" name = "__codelineno-0-581" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-582" name = "__codelineno-0-582" ></ a > < span class = "n" > flags</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-583" name = "__codelineno-0-583" ></ a >< 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-584" name = "__codelineno-0-584" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return ticks starting from a date.""" </ span >
< a id = "__codelineno-0-585" name = "__codelineno-0-585" ></ a > < span class = "n" > start</ span > < span class = "o" > =</ span > < span class = "n" > _require_datetime</ span >< span class = "p" > (</ span >< span class = "n" > date_from</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-586" name = "__codelineno-0-586" ></ a > < span class = "n" > tick_flags</ span > < span class = "o" > =</ span > < span class = "n" > _coerce_tick_flags</ span >< span class = "p" > (</ span >< span class = "n" > flags</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-587" name = "__codelineno-0-587" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _fetch</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-588" name = "__codelineno-0-588" ></ a > < span class = "k" > lambda</ span > < span class = "n" > c</ span >< span class = "p" > :</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > copy_ticks_from_as_df</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-589" name = "__codelineno-0-589" ></ a > < span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-590" name = "__codelineno-0-590" ></ a > < span class = "n" > date_from</ span >< span class = "o" > =</ span >< span class = "n" > start</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-591" name = "__codelineno-0-591" ></ a > < span class = "n" > count</ span >< span class = "o" > =</ span >< span class = "n" > count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-592" name = "__codelineno-0-592" ></ a > < span class = "n" > flags</ span >< span class = "o" > =</ span >< span class = "n" > tick_flags</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-593" name = "__codelineno-0-593" ></ a > < span class = "p" > ),</ span >
< a id = "__codelineno-0-594" name = "__codelineno-0-594" ></ a > < span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.copy_ticks_range" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > copy_ticks_range</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.copy_ticks_range" 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" > copy_ticks_range</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > flags</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a >< 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 > Return ticks for a date range.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-596" > 596</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-597" > 597</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-598" > 598</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-599" > 599</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-600" > 600</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-601" > 601</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-602" > 602</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-603" > 603</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-604" > 604</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-605" > 605</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-606" > 606</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-607" > 607</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-608" > 608</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-609" > 609</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-610" > 610</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-611" > 611</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-612" > 612</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-613" > 613</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-614" > 614</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-596" name = "__codelineno-0-596" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > copy_ticks_range</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-597" name = "__codelineno-0-597" ></ a > < span class = "bp" > self</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-598" name = "__codelineno-0-598" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-599" name = "__codelineno-0-599" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-600" name = "__codelineno-0-600" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-601" name = "__codelineno-0-601" ></ a > < span class = "n" > flags</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-602" name = "__codelineno-0-602" ></ a >< 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-603" name = "__codelineno-0-603" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return ticks for a date range.""" </ span >
< a id = "__codelineno-0-604" name = "__codelineno-0-604" ></ a > < span class = "n" > start</ span > < span class = "o" > =</ span > < span class = "n" > _require_datetime</ span >< span class = "p" > (</ span >< span class = "n" > date_from</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-605" name = "__codelineno-0-605" ></ a > < span class = "n" > end</ span > < span class = "o" > =</ span > < span class = "n" > _require_datetime</ span >< span class = "p" > (</ span >< span class = "n" > date_to</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-606" name = "__codelineno-0-606" ></ a > < span class = "n" > tick_flags</ span > < span class = "o" > =</ span > < span class = "n" > _coerce_tick_flags</ span >< span class = "p" > (</ span >< span class = "n" > flags</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-607" name = "__codelineno-0-607" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _fetch</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-608" name = "__codelineno-0-608" ></ a > < span class = "k" > lambda</ span > < span class = "n" > c</ span >< span class = "p" > :</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > copy_ticks_range_as_df</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-609" name = "__codelineno-0-609" ></ a > < span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-610" name = "__codelineno-0-610" ></ a > < span class = "n" > date_from</ span >< span class = "o" > =</ span >< span class = "n" > start</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-611" name = "__codelineno-0-611" ></ a > < span class = "n" > date_to</ span >< span class = "o" > =</ span >< span class = "n" > end</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-612" name = "__codelineno-0-612" ></ a > < span class = "n" > flags</ span >< span class = "o" > =</ span >< span class = "n" > tick_flags</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-613" name = "__codelineno-0-613" ></ a > < span class = "p" > ),</ span >
< a id = "__codelineno-0-614" name = "__codelineno-0-614" ></ a > < span class = "p" > )</ span >
2026-06-09 02:27:54 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.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.sdk.Mt5CliClient.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 > The returned < code > Mt5CliClient</ code > never initializes or shuts down the
injected client, including when used as a context manager.</ p >
2026-06-09 06:37:58 +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 = "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/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-418" > 418</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-419" > 419</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-420" > 420</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-421" > 421</ a ></ span >
2026-06-12 16:32:35 +00:00
< 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 ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-418" name = "__codelineno-0-418" ></ a >< span class = "nd" > @classmethod</ span >
< a id = "__codelineno-0-419" name = "__codelineno-0-419" ></ 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-420" name = "__codelineno-0-420" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Bind to an already-connected ``Mt5DataClient`` without owning it.</ span >
< a id = "__codelineno-0-421" name = "__codelineno-0-421" ></ a >
< a id = "__codelineno-0-422" name = "__codelineno-0-422" ></ a >< span class = "sd" > The returned ``Mt5CliClient`` never initializes or shuts down the</ span >
< a id = "__codelineno-0-423" name = "__codelineno-0-423" ></ a >< span class = "sd" > injected client, including when used as a context manager.</ span >
< a id = "__codelineno-0-424" name = "__codelineno-0-424" ></ a >
< a id = "__codelineno-0-425" name = "__codelineno-0-425" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-426" name = "__codelineno-0-426" ></ a >< span class = "sd" > Client wrapper bound to the injected connection.</ span >
< a id = "__codelineno-0-427" name = "__codelineno-0-427" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-428" name = "__codelineno-0-428" ></ 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 >
2026-06-09 06:37:58 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.history_deals" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > history_deals</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.history_deals" 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" > history_deals</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ 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-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ 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" > group</ 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-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > symbol</ 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" > ticket</ 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-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a > < span class = "n" > position</ 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 = "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 > Return historical deals.</ p >
2026-06-09 02:27:54 +00:00
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-685" > 685</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-686" > 686</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-687" > 687</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-688" > 688</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-689" > 689</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-690" > 690</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-691" > 691</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-692" > 692</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-693" > 693</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-694" > 694</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-695" > 695</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-696" > 696</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-697" > 697</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-698" > 698</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-699" > 699</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-700" > 700</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-701" > 701</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-702" > 702</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-703" > 703</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-704" > 704</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-705" > 705</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-706" > 706</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-685" name = "__codelineno-0-685" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > history_deals</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-686" name = "__codelineno-0-686" ></ a > < span class = "bp" > self</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-687" name = "__codelineno-0-687" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ 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-688" name = "__codelineno-0-688" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ 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-689" name = "__codelineno-0-689" ></ a > < span class = "n" > group</ 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-690" name = "__codelineno-0-690" ></ a > < span class = "n" > symbol</ 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-691" name = "__codelineno-0-691" ></ a > < span class = "n" > ticket</ 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-692" name = "__codelineno-0-692" ></ a > < span class = "n" > position</ 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-693" name = "__codelineno-0-693" ></ a >< 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-694" name = "__codelineno-0-694" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return historical deals.""" </ span >
< a id = "__codelineno-0-695" name = "__codelineno-0-695" ></ a > < span class = "n" > start</ span > < span class = "o" > =</ span > < span class = "n" > _coerce_datetime</ span >< span class = "p" > (</ span >< span class = "n" > date_from</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-696" name = "__codelineno-0-696" ></ a > < span class = "n" > end</ span > < span class = "o" > =</ span > < span class = "n" > _coerce_datetime</ span >< span class = "p" > (</ span >< span class = "n" > date_to</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-697" name = "__codelineno-0-697" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _fetch</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-698" name = "__codelineno-0-698" ></ a > < span class = "k" > lambda</ span > < span class = "n" > c</ span >< span class = "p" > :</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > history_deals_get_as_df</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-699" name = "__codelineno-0-699" ></ a > < span class = "n" > date_from</ span >< span class = "o" > =</ span >< span class = "n" > start</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-700" name = "__codelineno-0-700" ></ a > < span class = "n" > date_to</ span >< span class = "o" > =</ span >< span class = "n" > end</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-701" name = "__codelineno-0-701" ></ a > < span class = "n" > group</ span >< span class = "o" > =</ span >< span class = "n" > group</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-702" name = "__codelineno-0-702" ></ a > < span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-703" name = "__codelineno-0-703" ></ a > < span class = "n" > ticket</ span >< span class = "o" > =</ span >< span class = "n" > ticket</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-704" name = "__codelineno-0-704" ></ a > < span class = "n" > position</ span >< span class = "o" > =</ span >< span class = "n" > position</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-705" name = "__codelineno-0-705" ></ a > < span class = "p" > ),</ span >
< a id = "__codelineno-0-706" name = "__codelineno-0-706" ></ a > < span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
2026-06-09 06:37:58 +00:00
< h4 id = "mt5cli.sdk.Mt5CliClient.history_orders" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > history_orders</ span >
2026-06-08 13:55:22 +00:00
2026-06-09 06:37:58 +00:00
< a href = "#mt5cli.sdk.Mt5CliClient.history_orders" 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" > history_orders</ span >< span class = "p" > (</ span >
2026-06-08 13:55:22 +00:00
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ 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-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ 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" > group</ 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-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > symbol</ 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" > ticket</ 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-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a > < span class = "n" > position</ 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 = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "pandas.DataFrame" > DataFrame</ span ></ span >
</ code ></ pre ></ div >
2026-06-09 02:27:54 +00:00
< div class = "doc doc-contents " >
2026-06-09 06:37:58 +00:00
< p > Return historical orders.</ p >
2026-06-09 02:27:54 +00:00
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-662" > 662</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-663" > 663</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-664" > 664</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-665" > 665</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-666" > 666</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-667" > 667</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-668" > 668</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-669" > 669</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-670" > 670</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-671" > 671</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-672" > 672</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-673" > 673</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-674" > 674</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-675" > 675</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-676" > 676</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-677" > 677</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-678" > 678</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-679" > 679</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-680" > 680</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-681" > 681</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-682" > 682</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-683" > 683</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-662" name = "__codelineno-0-662" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > history_orders</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-663" name = "__codelineno-0-663" ></ a > < span class = "bp" > self</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-664" name = "__codelineno-0-664" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ 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-665" name = "__codelineno-0-665" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ 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-666" name = "__codelineno-0-666" ></ a > < span class = "n" > group</ 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-667" name = "__codelineno-0-667" ></ a > < span class = "n" > symbol</ 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-668" name = "__codelineno-0-668" ></ a > < span class = "n" > ticket</ 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-669" name = "__codelineno-0-669" ></ a > < span class = "n" > position</ 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-670" name = "__codelineno-0-670" ></ a >< 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-671" name = "__codelineno-0-671" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return historical orders.""" </ span >
< a id = "__codelineno-0-672" name = "__codelineno-0-672" ></ a > < span class = "n" > start</ span > < span class = "o" > =</ span > < span class = "n" > _coerce_datetime</ span >< span class = "p" > (</ span >< span class = "n" > date_from</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-673" name = "__codelineno-0-673" ></ a > < span class = "n" > end</ span > < span class = "o" > =</ span > < span class = "n" > _coerce_datetime</ span >< span class = "p" > (</ span >< span class = "n" > date_to</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-674" name = "__codelineno-0-674" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _fetch</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-675" name = "__codelineno-0-675" ></ a > < span class = "k" > lambda</ span > < span class = "n" > c</ span >< span class = "p" > :</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > history_orders_get_as_df</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-676" name = "__codelineno-0-676" ></ a > < span class = "n" > date_from</ span >< span class = "o" > =</ span >< span class = "n" > start</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-677" name = "__codelineno-0-677" ></ a > < span class = "n" > date_to</ span >< span class = "o" > =</ span >< span class = "n" > end</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-678" name = "__codelineno-0-678" ></ a > < span class = "n" > group</ span >< span class = "o" > =</ span >< span class = "n" > group</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-679" name = "__codelineno-0-679" ></ a > < span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-680" name = "__codelineno-0-680" ></ a > < span class = "n" > ticket</ span >< span class = "o" > =</ span >< span class = "n" > ticket</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-681" name = "__codelineno-0-681" ></ a > < span class = "n" > position</ span >< span class = "o" > =</ span >< span class = "n" > position</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-682" name = "__codelineno-0-682" ></ a > < span class = "p" > ),</ span >
< a id = "__codelineno-0-683" name = "__codelineno-0-683" ></ a > < span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.last_error" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > last_error</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.last_error" 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" > last_error</ 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 > Return the last error information.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-730" > 730</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-731" > 731</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-732" > 732</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-730" name = "__codelineno-0-730" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > last_error</ span >< span class = "p" > (</ span >< span class = "bp" > self</ 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-731" name = "__codelineno-0-731" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return the last error information.""" </ span >
< a id = "__codelineno-0-732" name = "__codelineno-0-732" ></ 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" > c</ span >< span class = "p" > :</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > last_error_as_df</ span >< span class = "p" > ())</ span >
2026-06-09 02:27:54 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.latest_rates" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > latest_rates</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.latest_rates" 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" > latest_rates</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a >< 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 > Return the latest rates from a bar position.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-509" > 509</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-510" > 510</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-511" > 511</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-512" > 512</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-513" > 513</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-514" > 514</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-515" > 515</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-516" > 516</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-517" > 517</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-518" > 518</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-509" name = "__codelineno-0-509" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > latest_rates</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-510" name = "__codelineno-0-510" ></ a > < span class = "bp" > self</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-511" name = "__codelineno-0-511" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-512" name = "__codelineno-0-512" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-513" name = "__codelineno-0-513" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-514" name = "__codelineno-0-514" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-515" name = "__codelineno-0-515" ></ a >< 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-516" name = "__codelineno-0-516" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return the latest rates from a bar position.""" </ span >
< a id = "__codelineno-0-517" name = "__codelineno-0-517" ></ a > < span class = "n" > _require_positive</ span >< span class = "p" > (</ span >< span class = "n" > count</ span >< span class = "p" > ,</ span > < span class = "s2" > " count" </ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-518" name = "__codelineno-0-518" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > copy_rates_from_pos</ span >< span class = "p" > (</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span > < span class = "n" > timeframe</ span >< span class = "p" > ,</ span > < span class = "n" > start_pos</ span >< span class = "p" > ,</ span > < span class = "n" > count</ span >< span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.market_book" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > market_book</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.market_book" 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" > market_book</ span >< span class = "p" > (</ span >< span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ 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 > Return market depth for a symbol.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-738" > 738</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-739" > 739</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-740" > 740</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-738" name = "__codelineno-0-738" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > market_book</ span >< span class = "p" > (</ span >< span class = "bp" > self</ span >< span class = "p" > ,</ span > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ 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-739" name = "__codelineno-0-739" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return market depth for a symbol.""" </ span >
< a id = "__codelineno-0-740" name = "__codelineno-0-740" ></ 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" > c</ span >< span class = "p" > :</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > market_book_get_as_df</ span >< span class = "p" > (</ span >< span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ))</ span >
2026-06-08 18:29:32 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.minimum_margins" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > minimum_margins</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.minimum_margins" 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" > minimum_margins</ span >< span class = "p" > (</ span >< span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ 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 > Return minimum-volume buy and sell margin requirements.</ 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 > symbol</ code >
</ td >
< td >
< code >< span title = "str" > str</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Symbol name.</ 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 columns < code > symbol</ code > , < code > account_currency</ code > ,</ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code >< span title = "pandas.DataFrame" > DataFrame</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p >< code > volume_min</ code > , < code > buy_margin</ code > , and < code > sell_margin</ code > .</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-781" > 781</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-782" > 782</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-783" > 783</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-784" > 784</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-785" > 785</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-786" > 786</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-787" > 787</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-788" > 788</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-789" > 789</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-790" > 790</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-791" > 791</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-781" name = "__codelineno-0-781" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > minimum_margins</ span >< span class = "p" > (</ span >< span class = "bp" > self</ span >< span class = "p" > ,</ span > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ 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-782" name = "__codelineno-0-782" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return minimum-volume buy and sell margin requirements.</ span >
< a id = "__codelineno-0-783" name = "__codelineno-0-783" ></ a >
< a id = "__codelineno-0-784" name = "__codelineno-0-784" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-785" name = "__codelineno-0-785" ></ a >< span class = "sd" > symbol: Symbol name.</ span >
< a id = "__codelineno-0-786" name = "__codelineno-0-786" ></ a >
< a id = "__codelineno-0-787" name = "__codelineno-0-787" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-788" name = "__codelineno-0-788" ></ a >< span class = "sd" > One-row DataFrame with columns ``symbol``, ``account_currency``,</ span >
< a id = "__codelineno-0-789" name = "__codelineno-0-789" ></ a >< span class = "sd" > ``volume_min``, ``buy_margin``, and ``sell_margin``.</ span >
< a id = "__codelineno-0-790" name = "__codelineno-0-790" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-791" name = "__codelineno-0-791" ></ 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" > c</ span >< span class = "p" > :</ span > < span class = "n" > _fetch_minimum_margins</ span >< span class = "p" > (</ span >< span class = "n" > c</ span >< span class = "p" > ,</ span > < span class = "n" > symbol</ span >< span class = "p" > ))</ span >
2026-06-09 02:27:54 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.mt5_summary" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > mt5_summary</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.mt5_summary" 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" > mt5_summary</ span >< span class = "p" > ()</ span > < span class = "o" > -> </ 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 = "object" > object</ span ></ span >< span class = "p" > ]</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Return a compact terminal/account status summary.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-793" > 793</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-794" > 794</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-795" > 795</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-796" > 796</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-797" > 797</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-798" > 798</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-799" > 799</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-800" > 800</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-801" > 801</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-802" > 802</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-803" > 803</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-804" > 804</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-805" > 805</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-806" > 806</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-807" > 807</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-808" > 808</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-809" > 809</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-810" > 810</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-811" > 811</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-812" > 812</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-793" name = "__codelineno-0-793" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > mt5_summary</ span >< span class = "p" > (</ span >< span class = "bp" > self</ span >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "nb" > dict</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ,</ span > < span class = "nb" > object</ span >< span class = "p" > ]:</ span >
< a id = "__codelineno-0-794" name = "__codelineno-0-794" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return a compact terminal/account status summary.""" </ span >
< a id = "__codelineno-0-795" name = "__codelineno-0-795" ></ a >
< a id = "__codelineno-0-796" name = "__codelineno-0-796" ></ a > < span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > _summary</ 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 = "nb" > dict</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ,</ span > < span class = "nb" > object</ span >< span class = "p" > ]:</ span >
< a id = "__codelineno-0-797" name = "__codelineno-0-797" ></ a > < span class = "k" > return</ span > < span class = "p" > {</ span >
< a id = "__codelineno-0-798" name = "__codelineno-0-798" ></ a > < span class = "s2" > " version" </ span >< span class = "p" > :</ span > < span class = "n" > _plain_mt5_value</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-799" name = "__codelineno-0-799" ></ a > < span class = "n" > _call_required_client_method</ span >< span class = "p" > (</ span >< span class = "n" > client</ span >< span class = "p" > ,</ span > < span class = "s2" > " version" </ span >< span class = "p" > ),</ span >
2026-06-11 14:23:26 +00:00
< a id = "__codelineno-0-800" name = "__codelineno-0-800" ></ a > < span class = "p" > ),</ span >
2026-06-12 16:32:35 +00:00
< a id = "__codelineno-0-801" name = "__codelineno-0-801" ></ a > < span class = "s2" > " terminal_info" </ span >< span class = "p" > :</ span > < span class = "n" > _plain_mt5_value</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-802" name = "__codelineno-0-802" ></ a > < span class = "n" > _call_required_client_method</ span >< span class = "p" > (</ span >< span class = "n" > client</ span >< span class = "p" > ,</ span > < span class = "s2" > " terminal_info" </ span >< span class = "p" > ),</ span >
2026-06-12 14:15:10 +00:00
< a id = "__codelineno-0-803" name = "__codelineno-0-803" ></ a > < span class = "p" > ),</ span >
2026-06-12 16:32:35 +00:00
< a id = "__codelineno-0-804" name = "__codelineno-0-804" ></ a > < span class = "s2" > " account_info" </ span >< span class = "p" > :</ span > < span class = "n" > _plain_mt5_value</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-805" name = "__codelineno-0-805" ></ a > < span class = "n" > _call_required_client_method</ span >< span class = "p" > (</ span >< span class = "n" > client</ span >< span class = "p" > ,</ span > < span class = "s2" > " account_info" </ span >< span class = "p" > ),</ span >
< a id = "__codelineno-0-806" name = "__codelineno-0-806" ></ a > < span class = "p" > ),</ span >
< a id = "__codelineno-0-807" name = "__codelineno-0-807" ></ a > < span class = "s2" > " symbols_total" </ span >< span class = "p" > :</ span > < span class = "n" > _plain_mt5_value</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-808" name = "__codelineno-0-808" ></ a > < span class = "n" > _call_required_client_method</ span >< span class = "p" > (</ span >< span class = "n" > client</ span >< span class = "p" > ,</ span > < span class = "s2" > " symbols_total" </ span >< span class = "p" > ),</ span >
< a id = "__codelineno-0-809" name = "__codelineno-0-809" ></ a > < span class = "p" > ),</ span >
< a id = "__codelineno-0-810" name = "__codelineno-0-810" ></ a > < span class = "p" > }</ span >
< a id = "__codelineno-0-811" name = "__codelineno-0-811" ></ a >
< a id = "__codelineno-0-812" name = "__codelineno-0-812" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _fetch_value</ span >< span class = "p" > (</ span >< span class = "n" > _summary</ span >< span class = "p" > )</ span >
2026-06-09 02:27:54 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.mt5_summary_as_df" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > mt5_summary_as_df</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.mt5_summary_as_df" 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" > mt5_summary_as_df</ 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 > Return an export-safe one-row terminal/account summary DataFrame.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-814" > 814</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-815" > 815</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-816" > 816</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-817" > 817</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-818" > 818</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-819" > 819</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-820" > 820</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-821" > 821</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-822" > 822</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-823" > 823</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-824" > 824</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-814" name = "__codelineno-0-814" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > mt5_summary_as_df</ span >< span class = "p" > (</ span >< span class = "bp" > self</ 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-815" name = "__codelineno-0-815" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return an export-safe one-row terminal/account summary DataFrame.""" </ span >
< a id = "__codelineno-0-816" name = "__codelineno-0-816" ></ a > < span class = "n" > summary</ span > < span class = "o" > =</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > mt5_summary</ span >< span class = "p" > ()</ span >
< a id = "__codelineno-0-817" name = "__codelineno-0-817" ></ a > < span class = "k" > return</ span > < span class = "n" > pd</ span >< span class = "o" > .</ span >< span class = "n" > DataFrame</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-818" name = "__codelineno-0-818" ></ a > < span class = "p" > [</ span >
< a id = "__codelineno-0-819" name = "__codelineno-0-819" ></ a > < span class = "p" > {</ span >
< a id = "__codelineno-0-820" name = "__codelineno-0-820" ></ a > < span class = "n" > key</ span >< span class = "p" > :</ span > < span class = "n" > _mt5_summary_export_value</ span >< span class = "p" > (</ span >< span class = "n" > value</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-821" name = "__codelineno-0-821" ></ a > < span class = "k" > for</ span > < span class = "n" > key</ span >< span class = "p" > ,</ span > < span class = "n" > value</ span > < span class = "ow" > in</ span > < span class = "n" > summary</ span >< span class = "o" > .</ span >< span class = "n" > items</ span >< span class = "p" > ()</ span >
< a id = "__codelineno-0-822" name = "__codelineno-0-822" ></ a > < span class = "p" > },</ span >
< a id = "__codelineno-0-823" name = "__codelineno-0-823" ></ a > < span class = "p" > ],</ span >
< a id = "__codelineno-0-824" name = "__codelineno-0-824" ></ a > < span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.orders" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > orders</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.orders" 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" > orders</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ 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-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > group</ 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" > ticket</ 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 = "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 > Return active orders.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-632" > 632</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-633" > 633</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-634" > 634</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-635" > 635</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-636" > 636</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-637" > 637</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-638" > 638</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-639" > 639</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-640" > 640</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-641" > 641</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-642" > 642</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-643" > 643</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-644" > 644</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-645" > 645</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-632" name = "__codelineno-0-632" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > orders</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-633" name = "__codelineno-0-633" ></ a > < span class = "bp" > self</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-634" name = "__codelineno-0-634" ></ a > < span class = "n" > symbol</ 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-635" name = "__codelineno-0-635" ></ a > < span class = "n" > group</ 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-636" name = "__codelineno-0-636" ></ a > < span class = "n" > ticket</ 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-637" name = "__codelineno-0-637" ></ a >< 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-638" name = "__codelineno-0-638" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return active orders.""" </ span >
< a id = "__codelineno-0-639" name = "__codelineno-0-639" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _fetch</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-640" name = "__codelineno-0-640" ></ a > < span class = "k" > lambda</ span > < span class = "n" > c</ span >< span class = "p" > :</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > orders_get_as_df</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-641" name = "__codelineno-0-641" ></ a > < span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-642" name = "__codelineno-0-642" ></ a > < span class = "n" > group</ span >< span class = "o" > =</ span >< span class = "n" > group</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-643" name = "__codelineno-0-643" ></ a > < span class = "n" > ticket</ span >< span class = "o" > =</ span >< span class = "n" > ticket</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-644" name = "__codelineno-0-644" ></ a > < span class = "p" > ),</ span >
< a id = "__codelineno-0-645" name = "__codelineno-0-645" ></ a > < span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.positions" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > positions</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.positions" 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" > positions</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ 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-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > group</ 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" > ticket</ 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 = "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 > Return open positions.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-647" > 647</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-648" > 648</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-649" > 649</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-650" > 650</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-651" > 651</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-652" > 652</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-653" > 653</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-654" > 654</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-655" > 655</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-656" > 656</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-657" > 657</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-658" > 658</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-659" > 659</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-660" > 660</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-647" name = "__codelineno-0-647" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > positions</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-648" name = "__codelineno-0-648" ></ a > < span class = "bp" > self</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-649" name = "__codelineno-0-649" ></ a > < span class = "n" > symbol</ 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-650" name = "__codelineno-0-650" ></ a > < span class = "n" > group</ 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-651" name = "__codelineno-0-651" ></ a > < span class = "n" > ticket</ 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-652" name = "__codelineno-0-652" ></ a >< 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-653" name = "__codelineno-0-653" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return open positions.""" </ span >
< a id = "__codelineno-0-654" name = "__codelineno-0-654" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _fetch</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-655" name = "__codelineno-0-655" ></ a > < span class = "k" > lambda</ span > < span class = "n" > c</ span >< span class = "p" > :</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > positions_get_as_df</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-656" name = "__codelineno-0-656" ></ a > < span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-657" name = "__codelineno-0-657" ></ a > < span class = "n" > group</ span >< span class = "o" > =</ span >< span class = "n" > group</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-658" name = "__codelineno-0-658" ></ a > < span class = "n" > ticket</ span >< span class = "o" > =</ span >< span class = "n" > ticket</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-659" name = "__codelineno-0-659" ></ a > < span class = "p" > ),</ span >
< a id = "__codelineno-0-660" name = "__codelineno-0-660" ></ a > < span class = "p" > )</ span >
2026-06-09 02:27:54 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.recent_history_deals" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > recent_history_deals</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.recent_history_deals" 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" > recent_history_deals</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > hours</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "float" > float</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ 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" > group</ 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-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > symbol</ 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 = "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 > Return historical deals from a recent trailing window.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-708" > 708</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-709" > 709</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-710" > 710</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-711" > 711</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-712" > 712</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-713" > 713</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-714" > 714</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-715" > 715</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-716" > 716</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-717" > 717</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-718" > 718</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-719" > 719</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-720" > 720</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-721" > 721</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-722" > 722</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-723" > 723</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-724" > 724</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-708" name = "__codelineno-0-708" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > recent_history_deals</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-709" name = "__codelineno-0-709" ></ a > < span class = "bp" > self</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-710" name = "__codelineno-0-710" ></ a > < span class = "n" > hours</ span >< span class = "p" > :</ span > < span class = "nb" > float</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-711" name = "__codelineno-0-711" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ 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-712" name = "__codelineno-0-712" ></ a > < span class = "n" > group</ 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-713" name = "__codelineno-0-713" ></ a > < span class = "n" > symbol</ 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-714" name = "__codelineno-0-714" ></ a >< 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-715" name = "__codelineno-0-715" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return historical deals from a recent trailing window.""" </ span >
< a id = "__codelineno-0-716" name = "__codelineno-0-716" ></ a > < span class = "n" > _require_positive</ span >< span class = "p" > (</ span >< span class = "n" > hours</ span >< span class = "p" > ,</ span > < span class = "s2" > " hours" </ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-717" name = "__codelineno-0-717" ></ a > < span class = "n" > end</ span > < span class = "o" > =</ span > < span class = "n" > _require_datetime</ span >< span class = "p" > (</ span >< span class = "n" > date_to</ span >< span class = "p" > )</ span > < span class = "k" > if</ span > < span class = "n" > date_to</ span > < span class = "ow" > is</ span > < span class = "ow" > not</ span > < span class = "kc" > None</ span > < span class = "k" > else</ span > < span class = "n" > datetime</ span >< span class = "o" > .</ span >< span class = "n" > now</ span >< span class = "p" > (</ span >< span class = "n" > UTC</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-718" name = "__codelineno-0-718" ></ a > < span class = "n" > start</ span > < span class = "o" > =</ span > < span class = "n" > end</ span > < span class = "o" > -</ span > < span class = "n" > timedelta</ span >< span class = "p" > (</ span >< span class = "n" > hours</ span >< span class = "o" > =</ span >< span class = "n" > hours</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-719" name = "__codelineno-0-719" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > history_deals</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-720" name = "__codelineno-0-720" ></ a > < span class = "n" > date_from</ span >< span class = "o" > =</ span >< span class = "n" > start</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-721" name = "__codelineno-0-721" ></ a > < span class = "n" > date_to</ span >< span class = "o" > =</ span >< span class = "n" > end</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-722" name = "__codelineno-0-722" ></ a > < span class = "n" > group</ span >< span class = "o" > =</ span >< span class = "n" > group</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-723" name = "__codelineno-0-723" ></ a > < span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-724" name = "__codelineno-0-724" ></ a > < span class = "p" > )</ span >
2026-06-08 18:29:32 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.recent_ticks" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > recent_ticks</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.recent_ticks" 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" > recent_ticks</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > seconds</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "float" > float</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ 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" > count</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > =</ span > < span class = "mi" > 10000</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a > < span class = "n" > flags</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span > < span class = "o" > =</ span > < span class = "s2" > " ALL" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ a >< 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 > Return ticks from a recent time window.</ 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 > symbol</ code >
</ td >
< td >
< code >< span title = "str" > str</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Symbol name.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > seconds</ code >
</ td >
< td >
< code >< span title = "float" > float</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Lookback window in seconds ending at < code > date_to</ code > .</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > date_to</ code >
</ td >
< td >
< code >< span title = "datetime.datetime" > datetime</ span > | < span title = "str" > str</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Window end time. When < code > None</ code > , uses the latest
< code > symbol_info_tick().time</ code > rather than wall-clock now.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > count</ code >
</ td >
< td >
< code >< span title = "int" > int</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Maximum ticks to return. Values < code > < = 0</ code > return the full
window without trimming. Positive values keep the most recent
ticks; when the window is sparse, < code > copy_ticks_from</ code > avoids
fetching the entire range.</ p >
</ div >
</ td >
< td >
< code > 10000</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > flags</ code >
</ td >
< td >
< code >< span title = "int" > int</ span > | < span title = "str" > str</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Tick flags as < code > ALL</ code > , < code > INFO</ code > , < code > TRADE</ code > , or an integer.</ p >
</ div >
</ td >
< td >
< code > ' ALL' </ code >
</ 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 > Tick DataFrame with MT5 tick columns such as < code > time</ code > , < code > bid</ code > ,</ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code >< span title = "pandas.DataFrame" > DataFrame</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p >< code > ask</ code > , < code > last</ code > , and < code > volume</ code > .</ p >
</ div >
</ td >
</ tr >
</ tbody >
2026-06-09 06:37:58 +00:00
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-742" > 742</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-743" > 743</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-744" > 744</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-745" > 745</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-746" > 746</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-747" > 747</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-748" > 748</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-749" > 749</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-750" > 750</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-751" > 751</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-752" > 752</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-753" > 753</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-754" > 754</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-755" > 755</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-756" > 756</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-757" > 757</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-758" > 758</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-759" > 759</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-760" > 760</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-761" > 761</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-762" > 762</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-763" > 763</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-764" > 764</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-765" > 765</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-766" > 766</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-767" > 767</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-768" > 768</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-769" > 769</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-770" > 770</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-771" > 771</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-772" > 772</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-773" > 773</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-774" > 774</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-775" > 775</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-776" > 776</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-777" > 777</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-778" > 778</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-779" > 779</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-742" name = "__codelineno-0-742" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > recent_ticks</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-743" name = "__codelineno-0-743" ></ a > < span class = "bp" > self</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-744" name = "__codelineno-0-744" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-745" name = "__codelineno-0-745" ></ a > < span class = "n" > seconds</ span >< span class = "p" > :</ span > < span class = "nb" > float</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-746" name = "__codelineno-0-746" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-747" name = "__codelineno-0-747" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ 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-748" name = "__codelineno-0-748" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > =</ span > < span class = "mi" > 10000</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-749" name = "__codelineno-0-749" ></ a > < span class = "n" > flags</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span > < span class = "o" > =</ span > < span class = "s2" > " ALL" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-750" name = "__codelineno-0-750" ></ a >< 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-751" name = "__codelineno-0-751" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return ticks from a recent time window.</ span >
< a id = "__codelineno-0-752" name = "__codelineno-0-752" ></ a >
< a id = "__codelineno-0-753" name = "__codelineno-0-753" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-754" name = "__codelineno-0-754" ></ a >< span class = "sd" > symbol: Symbol name.</ span >
< a id = "__codelineno-0-755" name = "__codelineno-0-755" ></ a >< span class = "sd" > seconds: Lookback window in seconds ending at ``date_to``.</ span >
< a id = "__codelineno-0-756" name = "__codelineno-0-756" ></ a >< span class = "sd" > date_to: Window end time. When ``None``, uses the latest</ span >
< a id = "__codelineno-0-757" name = "__codelineno-0-757" ></ a >< span class = "sd" > ``symbol_info_tick().time`` rather than wall-clock now.</ span >
< a id = "__codelineno-0-758" name = "__codelineno-0-758" ></ a >< span class = "sd" > count: Maximum ticks to return. Values ``< = 0`` return the full</ span >
< a id = "__codelineno-0-759" name = "__codelineno-0-759" ></ a >< span class = "sd" > window without trimming. Positive values keep the most recent</ span >
< a id = "__codelineno-0-760" name = "__codelineno-0-760" ></ a >< span class = "sd" > ticks; when the window is sparse, ``copy_ticks_from`` avoids</ span >
< a id = "__codelineno-0-761" name = "__codelineno-0-761" ></ a >< span class = "sd" > fetching the entire range.</ span >
< a id = "__codelineno-0-762" name = "__codelineno-0-762" ></ a >< span class = "sd" > flags: Tick flags as ``ALL``, ``INFO``, ``TRADE``, or an integer.</ span >
< a id = "__codelineno-0-763" name = "__codelineno-0-763" ></ a >
< a id = "__codelineno-0-764" name = "__codelineno-0-764" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-765" name = "__codelineno-0-765" ></ a >< span class = "sd" > Tick DataFrame with MT5 tick columns such as ``time``, ``bid``,</ span >
< a id = "__codelineno-0-766" name = "__codelineno-0-766" ></ a >< span class = "sd" > ``ask``, ``last``, and ``volume``.</ span >
< a id = "__codelineno-0-767" name = "__codelineno-0-767" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-768" name = "__codelineno-0-768" ></ a > < span class = "n" > tick_flags</ span > < span class = "o" > =</ span > < span class = "n" > _coerce_tick_flags</ span >< span class = "p" > (</ span >< span class = "n" > flags</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-769" name = "__codelineno-0-769" ></ a > < span class = "n" > end</ span > < span class = "o" > =</ span > < span class = "n" > _coerce_datetime</ span >< span class = "p" > (</ span >< span class = "n" > date_to</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-770" name = "__codelineno-0-770" ></ a > < span class = "k" > return</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _fetch</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-771" name = "__codelineno-0-771" ></ a > < span class = "k" > lambda</ span > < span class = "n" > c</ span >< span class = "p" > :</ span > < span class = "n" > _fetch_recent_ticks</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-772" name = "__codelineno-0-772" ></ a > < span class = "n" > c</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-773" name = "__codelineno-0-773" ></ a > < span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-774" name = "__codelineno-0-774" ></ a > < span class = "n" > seconds</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-775" name = "__codelineno-0-775" ></ a > < span class = "n" > end</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-776" name = "__codelineno-0-776" ></ a > < span class = "n" > count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-777" name = "__codelineno-0-777" ></ a > < span class = "n" > tick_flags</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-778" name = "__codelineno-0-778" ></ a > < span class = "p" > ),</ span >
< a id = "__codelineno-0-779" name = "__codelineno-0-779" ></ a > < span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.symbol_info" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > symbol_info</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.symbol_info" 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" > symbol_info</ span >< span class = "p" > (</ span >< span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ 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 > Return details for one symbol.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-628" > 628</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-629" > 629</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-630" > 630</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-628" name = "__codelineno-0-628" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > symbol_info</ span >< span class = "p" > (</ span >< span class = "bp" > self</ span >< span class = "p" > ,</ span > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ 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-629" name = "__codelineno-0-629" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return details for one symbol.""" </ span >
< a id = "__codelineno-0-630" name = "__codelineno-0-630" ></ 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" > c</ span >< span class = "p" > :</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > symbol_info_as_df</ span >< span class = "p" > (</ span >< span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ))</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.symbol_info_tick" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > symbol_info_tick</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.symbol_info_tick" 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" > symbol_info_tick</ span >< span class = "p" > (</ span >< span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ 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 > Return the last tick for a symbol.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-734" > 734</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-735" > 735</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-736" > 736</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-734" name = "__codelineno-0-734" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > symbol_info_tick</ span >< span class = "p" > (</ span >< span class = "bp" > self</ span >< span class = "p" > ,</ span > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ 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-735" name = "__codelineno-0-735" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return the last tick for a symbol.""" </ span >
< a id = "__codelineno-0-736" name = "__codelineno-0-736" ></ 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" > c</ span >< span class = "p" > :</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > symbol_info_tick_as_df</ span >< span class = "p" > (</ span >< span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ))</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.symbols" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > symbols</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.symbols" 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" > symbols</ span >< span class = "p" > (</ span >< span class = "n" > group</ 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 > < span class = "o" > -> </ span > < span class = "n" >< span title = "pandas.DataFrame" > DataFrame</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Return the symbol list.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-624" > 624</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-625" > 625</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-626" > 626</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-624" name = "__codelineno-0-624" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > symbols</ span >< span class = "p" > (</ span >< span class = "bp" > self</ span >< span class = "p" > ,</ span > < span class = "n" > group</ 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 > < 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-625" name = "__codelineno-0-625" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return the symbol list.""" </ span >
< a id = "__codelineno-0-626" name = "__codelineno-0-626" ></ 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" > c</ span >< span class = "p" > :</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > symbols_get_as_df</ span >< span class = "p" > (</ span >< span class = "n" > group</ span >< span class = "o" > =</ span >< span class = "n" > group</ span >< span class = "p" > ))</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.terminal_info" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > terminal_info</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.terminal_info" 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" > terminal_info</ 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 > Return terminal information.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-620" > 620</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-621" > 621</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-622" > 622</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-620" name = "__codelineno-0-620" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > terminal_info</ span >< span class = "p" > (</ span >< span class = "bp" > self</ 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-621" name = "__codelineno-0-621" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return terminal information.""" </ span >
< a id = "__codelineno-0-622" name = "__codelineno-0-622" ></ 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" > c</ span >< span class = "p" > :</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > terminal_info_as_df</ span >< span class = "p" > ())</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.Mt5CliClient.version" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > version</ span >
< a href = "#mt5cli.sdk.Mt5CliClient.version" 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" > version</ 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 > Return MetaTrader5 version information.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-726" > 726</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-727" > 727</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-728" > 728</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-726" name = "__codelineno-0-726" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > version</ span >< span class = "p" > (</ span >< span class = "bp" > self</ 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-727" name = "__codelineno-0-727" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return MetaTrader5 version information.""" </ span >
< a id = "__codelineno-0-728" name = "__codelineno-0-728" ></ 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" > c</ span >< span class = "p" > :</ span > < span class = "n" > c</ span >< span class = "o" > .</ span >< span class = "n" > version_as_df</ span >< span class = "p" > ())</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
</ div >
</ div >
</ div >
2026-06-09 15:15:52 +00:00
< div class = "doc doc-object doc-class" >
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +00:00
< h3 id = "mt5cli.sdk.ThrottledHistoryUpdater" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-class-name" > ThrottledHistoryUpdater</ span >
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +00:00
< a href = "#mt5cli.sdk.ThrottledHistoryUpdater" 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" > ThrottledHistoryUpdater</ 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" > output</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "pathlib.Path" > Path</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > datasets</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "set" > set</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< a class = "autorefs autorefs-internal" title = "Dataset (mt5cli.utils.Dataset)" href = "../utils/#mt5cli.utils.Dataset" > Dataset</ a ></ span >< span class = "p" > ]</ 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" > timeframes</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ]</ 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" > flags</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span > < span class = "o" > =</ span > < span class = "s2" > " ALL" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a > < span class = "n" > lookback_hours</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "float" > float</ span ></ span > < span class = "o" > =</ span > < span class = "mf" > 24.0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ a > < span class = "n" > with_views</ 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 = "n" > include_account_events</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "bool" > bool</ span ></ span > < span class = "o" > =</ span > < span class = "kc" > True</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-10" name = "__codelineno-0-10" href = "#__codelineno-0-10" ></ a > < span class = "n" > interval_seconds</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "float" > float</ span ></ span > < span class = "o" > =</ span > < span class = "mf" > 0.0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-11" name = "__codelineno-0-11" href = "#__codelineno-0-11" ></ a > < span class = "n" > suppress_errors</ 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-12" name = "__codelineno-0-12" href = "#__codelineno-0-12" ></ a >< span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
2026-06-09 15:15:52 +00:00
< p > Throttled incremental SQLite history updater for long-running apps.</ p >
< p > Wraps :func:< code > update_history</ code > with a minimum interval between successful
updates, so a tight application loop can call :meth:< code > update</ code > every
iteration without re-fetching MT5 history more often than desired. Timing
uses a monotonic clock, so it is unaffected by wall-clock changes.</ p >
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +00:00
< p > Initialize the throttled updater.</ p >
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +00:00
< p >< span class = "doc-section-title" > Parameters:</ span ></ p >
2026-06-08 13:55:22 +00:00
< table >
< thead >
< tr >
2026-06-09 15:15:52 +00:00
< th > Name</ th >
2026-06-08 13:55:22 +00:00
< th > Type</ th >
< th > Description</ th >
2026-06-09 15:15:52 +00:00
< th > Default</ th >
2026-06-08 13:55:22 +00:00
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
2026-06-09 15:15:52 +00:00
< code > output</ code >
</ td >
< td >
< code >< span title = "pathlib.Path" > Path</ span > | < span title = "str" > str</ span ></ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-09 15:15:52 +00:00
< p > SQLite database path.</ p >
2026-06-08 13:55:22 +00:00
</ div >
</ td >
2026-06-09 15:15:52 +00:00
< td >
< em > required</ em >
</ td >
2026-06-08 13:55:22 +00:00
</ tr >
< tr class = "doc-section-item" >
< td >
2026-06-09 15:15:52 +00:00
< code > datasets</ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
2026-06-09 15:15:52 +00:00
< code >< span title = "set" > set</ span > [< a class = "autorefs autorefs-internal" title = "Dataset (mt5cli.utils.Dataset)" href = "../utils/#mt5cli.utils.Dataset" > Dataset</ a > ] | None</ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-09 15:15:52 +00:00
< p > Datasets to include (defaults to all).</ p >
2026-06-08 13:55:22 +00:00
</ div >
</ td >
< td >
2026-06-09 15:15:52 +00:00
< code > None</ code >
2026-06-08 13:55:22 +00:00
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
2026-06-09 15:15:52 +00:00
< code > timeframes</ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
2026-06-09 15:15:52 +00:00
< code >< span title = "collections.abc.Sequence" > Sequence</ span > [< span title = "int" > int</ span > | < span title = "str" > str</ span > ] | None</ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-09 15:15:52 +00:00
< p > Rate timeframes to update (defaults to all fixed MT5
timeframes).</ p >
2026-06-08 13:55:22 +00:00
</ div >
</ td >
< td >
2026-06-09 15:15:52 +00:00
< code > None</ code >
2026-06-08 13:55:22 +00:00
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
2026-06-09 15:15:52 +00:00
< code > flags</ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
2026-06-09 15:15:52 +00:00
< code >< span title = "int" > int</ span > | < span title = "str" > str</ span ></ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-09 15:15:52 +00:00
< p > Tick copy flags as integer or name (e.g. < code > ALL</ code > ).</ p >
2026-06-08 13:55:22 +00:00
</ div >
</ td >
< td >
2026-06-09 15:15:52 +00:00
< code > ' ALL' </ code >
2026-06-08 13:55:22 +00:00
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
2026-06-09 15:15:52 +00:00
< code > lookback_hours</ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
2026-06-09 15:15:52 +00:00
< code >< span title = "float" > float</ span ></ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-09 15:15:52 +00:00
< p > First-run lookback when a table has no prior rows.</ p >
2026-06-08 13:55:22 +00:00
</ div >
</ td >
< td >
2026-06-09 15:15:52 +00:00
< code > 24.0</ code >
2026-06-08 13:55:22 +00:00
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
2026-06-09 15:15:52 +00:00
< code > with_views</ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
2026-06-09 15:15:52 +00:00
< code >< span title = "bool" > bool</ span ></ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-09 15:15:52 +00:00
< p > Create < code > cash_events</ code > and < code > positions_reconstructed</ code >
views.</ p >
2026-06-08 13:55:22 +00:00
</ div >
</ td >
< td >
2026-06-09 15:15:52 +00:00
< code > False</ code >
2026-06-08 13:55:22 +00:00
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
2026-06-09 15:15:52 +00:00
< code > include_account_events</ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
2026-06-09 15:15:52 +00:00
< code >< span title = "bool" > bool</ span ></ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-09 15:15:52 +00:00
< p > Include account-level cash events.</ p >
2026-06-09 06:37:58 +00:00
</ div >
</ td >
< td >
2026-06-09 15:15:52 +00:00
< code > True</ code >
2026-06-09 06:37:58 +00:00
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
2026-06-09 15:15:52 +00:00
< code > interval_seconds</ code >
2026-06-09 06:37:58 +00:00
</ td >
< td >
2026-06-09 15:15:52 +00:00
< code >< span title = "float" > float</ span ></ code >
2026-06-09 06:37:58 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-09 15:15:52 +00:00
< p > Minimum seconds between successful updates. Values
< code > < = 0</ code > update on every call.</ p >
2026-06-09 06:37:58 +00:00
</ div >
</ td >
< td >
2026-06-09 15:15:52 +00:00
< code > 0.0</ code >
2026-06-09 06:37:58 +00:00
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
2026-06-09 15:15:52 +00:00
< code > suppress_errors</ code >
2026-06-09 06:37:58 +00:00
</ td >
< td >
< code >< span title = "bool" > bool</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
2026-06-11 10:33:27 +00:00
< p > When True, recoverable errors (< code > Mt5TradingError</ code > ,
< code > Mt5RuntimeError</ code > , < code > sqlite3.Error</ code > , < code > ValueError</ code > ,
< code > OSError</ code > , and MT5 client capability < code > AttributeError</ code > /
< code > TypeError</ code > for history API methods) raised during an update
are swallowed and :meth:< code > update</ code > returns False without advancing
the throttle. Other < code > AttributeError</ code > / < code > TypeError</ code > values
always propagate. When False (default), recoverable errors
propagate so callers control logging.</ p >
2026-06-09 06:37:58 +00:00
</ div >
</ td >
< td >
< code > False</ code >
</ td >
</ tr >
</ tbody >
</ table >
2026-06-09 15:15:52 +00:00
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1051" > 1051</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1052" > 1052</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1053" > 1053</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1054" > 1054</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1055" > 1055</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1056" > 1056</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1057" > 1057</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1058" > 1058</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1059" > 1059</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1060" > 1060</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1061" > 1061</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1062" > 1062</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1063" > 1063</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1064" > 1064</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1065" > 1065</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1066" > 1066</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1067" > 1067</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1068" > 1068</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1069" > 1069</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1070" > 1070</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1071" > 1071</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1072" > 1072</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1073" > 1073</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1074" > 1074</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1075" > 1075</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1076" > 1076</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1077" > 1077</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1078" > 1078</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1079" > 1079</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1080" > 1080</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1081" > 1081</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1082" > 1082</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1083" > 1083</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1084" > 1084</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1085" > 1085</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1086" > 1086</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1087" > 1087</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1088" > 1088</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1089" > 1089</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1090" > 1090</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1091" > 1091</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1092" > 1092</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1093" > 1093</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1094" > 1094</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1095" > 1095</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1096" > 1096</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1051" name = "__codelineno-0-1051" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "fm" > __init__</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1052" name = "__codelineno-0-1052" ></ a > < span class = "bp" > self</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1053" name = "__codelineno-0-1053" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1054" name = "__codelineno-0-1054" ></ a > < span class = "n" > output</ span >< span class = "p" > :</ span > < span class = "n" > Path</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1055" name = "__codelineno-0-1055" ></ a > < span class = "n" > datasets</ span >< span class = "p" > :</ span > < span class = "nb" > set</ span >< span class = "p" > [</ span >< span class = "n" > Dataset</ span >< span class = "p" > ]</ 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-1056" name = "__codelineno-0-1056" ></ a > < span class = "n" > timeframes</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ]</ 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-1057" name = "__codelineno-0-1057" ></ a > < span class = "n" > flags</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span > < span class = "o" > =</ span > < span class = "s2" > " ALL" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1058" name = "__codelineno-0-1058" ></ a > < span class = "n" > lookback_hours</ span >< span class = "p" > :</ span > < span class = "nb" > float</ span > < span class = "o" > =</ span > < span class = "mf" > 24.0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1059" name = "__codelineno-0-1059" ></ a > < span class = "n" > with_views</ 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-1060" name = "__codelineno-0-1060" ></ a > < span class = "n" > include_account_events</ span >< span class = "p" > :</ span > < span class = "nb" > bool</ span > < span class = "o" > =</ span > < span class = "kc" > True</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1061" name = "__codelineno-0-1061" ></ a > < span class = "n" > interval_seconds</ span >< span class = "p" > :</ span > < span class = "nb" > float</ span > < span class = "o" > =</ span > < span class = "mf" > 0.0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1062" name = "__codelineno-0-1062" ></ a > < span class = "n" > suppress_errors</ 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-1063" name = "__codelineno-0-1063" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "kc" > None</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1064" name = "__codelineno-0-1064" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Initialize the throttled updater.</ span >
< a id = "__codelineno-0-1065" name = "__codelineno-0-1065" ></ a >
< a id = "__codelineno-0-1066" name = "__codelineno-0-1066" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-1067" name = "__codelineno-0-1067" ></ a >< span class = "sd" > output: SQLite database path.</ span >
< a id = "__codelineno-0-1068" name = "__codelineno-0-1068" ></ a >< span class = "sd" > datasets: Datasets to include (defaults to all).</ span >
< a id = "__codelineno-0-1069" name = "__codelineno-0-1069" ></ a >< span class = "sd" > timeframes: Rate timeframes to update (defaults to all fixed MT5</ span >
< a id = "__codelineno-0-1070" name = "__codelineno-0-1070" ></ a >< span class = "sd" > timeframes).</ span >
< a id = "__codelineno-0-1071" name = "__codelineno-0-1071" ></ a >< span class = "sd" > flags: Tick copy flags as integer or name (e.g. ``ALL``).</ span >
< a id = "__codelineno-0-1072" name = "__codelineno-0-1072" ></ a >< span class = "sd" > lookback_hours: First-run lookback when a table has no prior rows.</ span >
< a id = "__codelineno-0-1073" name = "__codelineno-0-1073" ></ a >< span class = "sd" > with_views: Create ``cash_events`` and ``positions_reconstructed``</ span >
< a id = "__codelineno-0-1074" name = "__codelineno-0-1074" ></ a >< span class = "sd" > views.</ span >
< a id = "__codelineno-0-1075" name = "__codelineno-0-1075" ></ a >< span class = "sd" > include_account_events: Include account-level cash events.</ span >
< a id = "__codelineno-0-1076" name = "__codelineno-0-1076" ></ a >< span class = "sd" > interval_seconds: Minimum seconds between successful updates. Values</ span >
< a id = "__codelineno-0-1077" name = "__codelineno-0-1077" ></ a >< span class = "sd" > ``< = 0`` update on every call.</ span >
< a id = "__codelineno-0-1078" name = "__codelineno-0-1078" ></ a >< span class = "sd" > suppress_errors: When True, recoverable errors (``Mt5TradingError``,</ span >
< a id = "__codelineno-0-1079" name = "__codelineno-0-1079" ></ a >< span class = "sd" > ``Mt5RuntimeError``, ``sqlite3.Error``, ``ValueError``,</ span >
< a id = "__codelineno-0-1080" name = "__codelineno-0-1080" ></ a >< span class = "sd" > ``OSError``, and MT5 client capability ``AttributeError`` /</ span >
< a id = "__codelineno-0-1081" name = "__codelineno-0-1081" ></ a >< span class = "sd" > ``TypeError`` for history API methods) raised during an update</ span >
< a id = "__codelineno-0-1082" name = "__codelineno-0-1082" ></ a >< span class = "sd" > are swallowed and :meth:`update` returns False without advancing</ span >
< a id = "__codelineno-0-1083" name = "__codelineno-0-1083" ></ a >< span class = "sd" > the throttle. Other ``AttributeError`` / ``TypeError`` values</ span >
< a id = "__codelineno-0-1084" name = "__codelineno-0-1084" ></ a >< span class = "sd" > always propagate. When False (default), recoverable errors</ span >
< a id = "__codelineno-0-1085" name = "__codelineno-0-1085" ></ a >< span class = "sd" > propagate so callers control logging.</ span >
< a id = "__codelineno-0-1086" name = "__codelineno-0-1086" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-1087" name = "__codelineno-0-1087" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > output</ span > < span class = "o" > =</ span > < span class = "n" > output</ span >
< a id = "__codelineno-0-1088" name = "__codelineno-0-1088" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > datasets</ span > < span class = "o" > =</ span > < span class = "n" > datasets</ span >
< a id = "__codelineno-0-1089" name = "__codelineno-0-1089" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > timeframes</ span > < span class = "o" > =</ span > < span class = "n" > timeframes</ span >
< a id = "__codelineno-0-1090" name = "__codelineno-0-1090" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > flags</ span > < span class = "o" > =</ span > < span class = "n" > flags</ span >
< a id = "__codelineno-0-1091" name = "__codelineno-0-1091" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > lookback_hours</ span > < span class = "o" > =</ span > < span class = "n" > lookback_hours</ span >
< a id = "__codelineno-0-1092" name = "__codelineno-0-1092" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > with_views</ span > < span class = "o" > =</ span > < span class = "n" > with_views</ span >
< a id = "__codelineno-0-1093" name = "__codelineno-0-1093" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > include_account_events</ span > < span class = "o" > =</ span > < span class = "n" > include_account_events</ span >
< a id = "__codelineno-0-1094" name = "__codelineno-0-1094" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > interval_seconds</ span > < span class = "o" > =</ span > < span class = "n" > interval_seconds</ span >
< a id = "__codelineno-0-1095" name = "__codelineno-0-1095" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > suppress_errors</ span > < span class = "o" > =</ span > < span class = "n" > suppress_errors</ span >
< a id = "__codelineno-0-1096" name = "__codelineno-0-1096" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _last_update_monotonic</ span >< span class = "p" > :</ span > < span class = "nb" > float</ span > < span class = "o" > |</ span > < span class = "kc" > None</ span > < span class = "o" > =</ span > < span class = "kc" > None</ span >
2026-06-09 06:37:58 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
2026-06-09 15:15:52 +00:00
</ details >
2026-06-09 06:37:58 +00:00
2026-06-09 15:15:52 +00:00
< div class = "doc doc-children" >
2026-06-09 06:37:58 +00:00
2026-06-09 15:15:52 +00:00
< div class = "doc doc-object doc-attribute" >
< h4 id = "mt5cli.sdk.ThrottledHistoryUpdater.datasets" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > datasets</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-instance-attribute" >< code > instance-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.ThrottledHistoryUpdater.datasets" 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 = "n" > datasets</ span > < span class = "o" > =</ span > < span class = "n" >< span title = "mt5cli.sdk.ThrottledHistoryUpdater(datasets)" > datasets</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
2026-06-09 06:37:58 +00:00
</ div >
</ div >
2026-06-09 15:15:52 +00:00
< div class = "doc doc-object doc-attribute" >
2026-06-09 06:37:58 +00:00
2026-06-09 15:15:52 +00:00
< h4 id = "mt5cli.sdk.ThrottledHistoryUpdater.flags" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > flags</ span >
2026-06-09 06:37:58 +00:00
2026-06-09 15:15:52 +00:00
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-instance-attribute" >< code > instance-attribute</ code ></ small >
</ span >
2026-06-09 06:37:58 +00:00
2026-06-09 15:15:52 +00:00
< a href = "#mt5cli.sdk.ThrottledHistoryUpdater.flags" 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 = "n" > flags</ span > < span class = "o" > =</ span > < span class = "n" >< span title = "mt5cli.sdk.ThrottledHistoryUpdater(flags)" > flags</ span ></ span >
2026-06-09 06:37:58 +00:00
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
2026-06-09 15:15:52 +00:00
</ div >
2026-06-09 06:37:58 +00:00
2026-06-09 15:15:52 +00:00
</ div >
2026-06-09 06:37:58 +00:00
2026-06-09 15:15:52 +00:00
< div class = "doc doc-object doc-attribute" >
2026-06-09 06:37:58 +00:00
2026-06-09 15:15:52 +00:00
< h4 id = "mt5cli.sdk.ThrottledHistoryUpdater.include_account_events" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > include_account_events</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-instance-attribute" >< code > instance-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.ThrottledHistoryUpdater.include_account_events" 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 = "n" > include_account_events</ span > < span class = "o" > =</ span > < span class = "n" >< span title = "mt5cli.sdk.ThrottledHistoryUpdater(include_account_events)" > include_account_events</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-attribute" >
< h4 id = "mt5cli.sdk.ThrottledHistoryUpdater.interval_seconds" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > interval_seconds</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-instance-attribute" >< code > instance-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.ThrottledHistoryUpdater.interval_seconds" 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 = "n" > interval_seconds</ span > < span class = "o" > =</ span > < span class = "n" >< span title = "mt5cli.sdk.ThrottledHistoryUpdater(interval_seconds)" > interval_seconds</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-attribute" >
< h4 id = "mt5cli.sdk.ThrottledHistoryUpdater.last_update_monotonic" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > last_update_monotonic</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-property" >< code > property</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.ThrottledHistoryUpdater.last_update_monotonic" 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 = "n" > last_update_monotonic</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "float" > float</ span ></ span > < span class = "o" > |</ span > < span class = "kc" > None</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Return the monotonic timestamp of the last successful update.</ p >
</ div >
</ div >
< div class = "doc doc-object doc-attribute" >
< h4 id = "mt5cli.sdk.ThrottledHistoryUpdater.lookback_hours" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > lookback_hours</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-instance-attribute" >< code > instance-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.ThrottledHistoryUpdater.lookback_hours" 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 = "n" > lookback_hours</ span > < span class = "o" > =</ span > < span class = "n" >< span title = "mt5cli.sdk.ThrottledHistoryUpdater(lookback_hours)" > lookback_hours</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-attribute" >
< h4 id = "mt5cli.sdk.ThrottledHistoryUpdater.output" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > output</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-instance-attribute" >< code > instance-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.ThrottledHistoryUpdater.output" 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 = "n" > output</ span > < span class = "o" > =</ span > < span class = "n" >< span title = "mt5cli.sdk.ThrottledHistoryUpdater(output)" > output</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-attribute" >
< h4 id = "mt5cli.sdk.ThrottledHistoryUpdater.suppress_errors" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > suppress_errors</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-instance-attribute" >< code > instance-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.ThrottledHistoryUpdater.suppress_errors" 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 = "n" > suppress_errors</ span > < span class = "o" > =</ span > < span class = "n" >< span title = "mt5cli.sdk.ThrottledHistoryUpdater(suppress_errors)" > suppress_errors</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-attribute" >
< h4 id = "mt5cli.sdk.ThrottledHistoryUpdater.timeframes" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > timeframes</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-instance-attribute" >< code > instance-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.ThrottledHistoryUpdater.timeframes" 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 = "n" > timeframes</ span > < span class = "o" > =</ span > < span class = "n" >< span title = "mt5cli.sdk.ThrottledHistoryUpdater(timeframes)" > timeframes</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-attribute" >
< h4 id = "mt5cli.sdk.ThrottledHistoryUpdater.with_views" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-attribute-name" > with_views</ span >
< span class = "doc doc-labels" >
< small class = "doc doc-label doc-label-instance-attribute" >< code > instance-attribute</ code ></ small >
</ span >
< a href = "#mt5cli.sdk.ThrottledHistoryUpdater.with_views" 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 = "n" > with_views</ span > < span class = "o" > =</ span > < span class = "n" >< span title = "mt5cli.sdk.ThrottledHistoryUpdater(with_views)" > with_views</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.ThrottledHistoryUpdater.should_update" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > should_update</ span >
< a href = "#mt5cli.sdk.ThrottledHistoryUpdater.should_update" 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" > should_update</ span >< span class = "p" > ()</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "bool" > bool</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Return whether enough time has elapsed to run another update.</ 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 = "bool" > bool</ span ></ code >
2026-06-09 06:37:58 +00:00
</ td >
< td >
2026-06-09 15:15:52 +00:00
< div class = "doc-md-description" >
< p > True when < code > interval_seconds < = 0</ code > , when no update has succeeded</ p >
</ div >
2026-06-09 06:37:58 +00:00
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
2026-06-09 15:15:52 +00:00
< code >< span title = "bool" > bool</ span ></ code >
2026-06-09 06:37:58 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-09 15:15:52 +00:00
< p > yet, or when at least < code > interval_seconds</ code > have elapsed since the</ p >
2026-06-08 13:55:22 +00:00
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
2026-06-09 15:15:52 +00:00
< code >< span title = "bool" > bool</ span ></ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-09 15:15:52 +00:00
< p > last successful update.</ p >
2026-06-08 13:55:22 +00:00
</ div >
</ td >
</ tr >
2026-06-09 15:15:52 +00:00
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1103" > 1103</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1104" > 1104</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1105" > 1105</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1106" > 1106</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1107" > 1107</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1108" > 1108</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1109" > 1109</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1110" > 1110</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1111" > 1111</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1112" > 1112</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1113" > 1113</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1103" name = "__codelineno-0-1103" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > should_update</ span >< span class = "p" > (</ span >< span class = "bp" > self</ span >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "nb" > bool</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1104" name = "__codelineno-0-1104" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return whether enough time has elapsed to run another update.</ span >
< a id = "__codelineno-0-1105" name = "__codelineno-0-1105" ></ a >
< a id = "__codelineno-0-1106" name = "__codelineno-0-1106" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-1107" name = "__codelineno-0-1107" ></ a >< span class = "sd" > True when ``interval_seconds < = 0``, when no update has succeeded</ span >
< a id = "__codelineno-0-1108" name = "__codelineno-0-1108" ></ a >< span class = "sd" > yet, or when at least ``interval_seconds`` have elapsed since the</ span >
< a id = "__codelineno-0-1109" name = "__codelineno-0-1109" ></ a >< span class = "sd" > last successful update.</ span >
< a id = "__codelineno-0-1110" name = "__codelineno-0-1110" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-1111" name = "__codelineno-0-1111" ></ a > < span class = "k" > if</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > interval_seconds</ span > < span class = "o" > < =</ span > < span class = "mi" > 0</ span > < span class = "ow" > or</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _last_update_monotonic</ span > < span class = "ow" > is</ span > < span class = "kc" > None</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1112" name = "__codelineno-0-1112" ></ a > < span class = "k" > return</ span > < span class = "kc" > True</ span >
< a id = "__codelineno-0-1113" name = "__codelineno-0-1113" ></ a > < span class = "k" > return</ span > < span class = "p" > (</ span >< span class = "n" > time</ span >< span class = "o" > .</ span >< span class = "n" > monotonic</ span >< span class = "p" > ()</ span > < span class = "o" > -</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _last_update_monotonic</ span >< span class = "p" > )</ span > < span class = "o" > > =</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > interval_seconds</ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h4 id = "mt5cli.sdk.ThrottledHistoryUpdater.update" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > update</ span >
< a href = "#mt5cli.sdk.ThrottledHistoryUpdater.update" 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" > update</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < 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 = "n" > symbols</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "str" > str</ span ></ 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 = "bool" > bool</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Run a throttled incremental history update.</ 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 >
2026-06-08 13:55:22 +00:00
< tr class = "doc-section-item" >
< td >
2026-06-09 15:15:52 +00:00
< code > client</ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
2026-06-09 15:15:52 +00:00
< code >< span title = "pdmt5.Mt5DataClient" > Mt5DataClient</ span ></ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-09 15:15:52 +00:00
< p > Connected MT5 data client.</ p >
2026-06-08 13:55:22 +00:00
</ div >
</ td >
< td >
2026-06-09 15:15:52 +00:00
< em > required</ em >
2026-06-08 13:55:22 +00:00
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
2026-06-09 15:15:52 +00:00
< code > symbols</ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
2026-06-09 15:15:52 +00:00
< code >< span title = "collections.abc.Sequence" > Sequence</ span > [< span title = "str" > str</ span > ]</ code >
2026-06-08 13:55:22 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-09 15:15:52 +00:00
< p > Symbols to update.</ p >
2026-06-08 13:55:22 +00:00
</ div >
</ td >
< td >
2026-06-09 15:15:52 +00:00
< em > required</ em >
2026-06-08 13:55:22 +00:00
</ td >
</ tr >
</ tbody >
</ table >
2026-06-09 06:37:58 +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 >
2026-06-09 15:15:52 +00:00
< code >< span title = "bool" > bool</ span ></ code >
2026-06-09 06:37:58 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-09 15:15:52 +00:00
< p > True if an update ran successfully, False if it was throttled or</ p >
2026-06-09 06:37:58 +00:00
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
2026-06-09 15:15:52 +00:00
< code >< span title = "bool" > bool</ span ></ code >
2026-06-09 06:37:58 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-09 15:15:52 +00:00
< p > (when < code > suppress_errors</ code > is True) failed with a recoverable error.</ p >
2026-06-09 06:37:58 +00:00
</ div >
</ td >
</ tr >
2026-06-11 10:33:27 +00:00
< tr class = "doc-section-item" >
< td >
< code >< span title = "bool" > bool</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > When < code > suppress_errors</ code > is False, recoverable update failures</ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code >< span title = "bool" > bool</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > propagate to the caller.</ p >
</ div >
</ td >
</ tr >
2026-06-09 06:37:58 +00:00
</ tbody >
</ table >
2026-06-09 02:27:54 +00:00
2026-06-09 06:37:58 +00:00
< p >< span class = "doc-section-title" > Raises:</ span ></ p >
< table >
< thead >
< tr >
< th > Type</ th >
< th > Description</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
2026-06-11 10:33:27 +00:00
< code >< span title = "AttributeError" > AttributeError</ span ></ code >
2026-06-09 15:15:52 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-11 10:33:27 +00:00
< p > MT5 client capability mismatch when
< code > suppress_errors</ code > is False, or any other attribute error.</ p >
2026-06-09 15:15:52 +00:00
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
2026-06-11 10:33:27 +00:00
< code >< span title = "TypeError" > TypeError</ span ></ code >
2026-06-09 15:15:52 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-11 10:33:27 +00:00
< p > MT5 client capability mismatch when < code > suppress_errors</ code >
is False, or any other type error.</ p >
2026-06-09 15:15:52 +00:00
</ div >
</ td >
</ tr >
</ tbody >
</ table >
2026-06-08 13:55:22 +00:00
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1115" > 1115</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1116" > 1116</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1117" > 1117</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1118" > 1118</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1119" > 1119</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1120" > 1120</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1121" > 1121</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1122" > 1122</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1123" > 1123</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1124" > 1124</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1125" > 1125</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1126" > 1126</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1127" > 1127</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1128" > 1128</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1129" > 1129</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1130" > 1130</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1131" > 1131</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1132" > 1132</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1133" > 1133</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1134" > 1134</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1135" > 1135</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1136" > 1136</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1137" > 1137</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1138" > 1138</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1139" > 1139</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1140" > 1140</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1141" > 1141</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1142" > 1142</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1143" > 1143</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1144" > 1144</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1145" > 1145</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1146" > 1146</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1147" > 1147</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1148" > 1148</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1149" > 1149</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1150" > 1150</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1151" > 1151</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1152" > 1152</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1153" > 1153</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1154" > 1154</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1155" > 1155</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1156" > 1156</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1157" > 1157</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1158" > 1158</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1159" > 1159</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1160" > 1160</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1161" > 1161</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1162" > 1162</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1163" > 1163</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1164" > 1164</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1165" > 1165</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1166" > 1166</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1167" > 1167</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1168" > 1168</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1115" name = "__codelineno-0-1115" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > update</ span >< span class = "p" > (</ span >< span class = "bp" > self</ 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 = "n" > symbols</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ])</ span > < span class = "o" > -> </ span > < span class = "nb" > bool</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1116" name = "__codelineno-0-1116" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Run a throttled incremental history update.</ span >
< a id = "__codelineno-0-1117" name = "__codelineno-0-1117" ></ a >
< a id = "__codelineno-0-1118" name = "__codelineno-0-1118" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-1119" name = "__codelineno-0-1119" ></ a >< span class = "sd" > client: Connected MT5 data client.</ span >
< a id = "__codelineno-0-1120" name = "__codelineno-0-1120" ></ a >< span class = "sd" > symbols: Symbols to update.</ span >
2026-06-12 14:15:10 +00:00
< a id = "__codelineno-0-1121" name = "__codelineno-0-1121" ></ a >
2026-06-12 16:32:35 +00:00
< a id = "__codelineno-0-1122" name = "__codelineno-0-1122" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-1123" name = "__codelineno-0-1123" ></ a >< span class = "sd" > True if an update ran successfully, False if it was throttled or</ span >
< a id = "__codelineno-0-1124" name = "__codelineno-0-1124" ></ a >< span class = "sd" > (when ``suppress_errors`` is True) failed with a recoverable error.</ span >
< a id = "__codelineno-0-1125" name = "__codelineno-0-1125" ></ a >< span class = "sd" > When ``suppress_errors`` is False, recoverable update failures</ span >
< a id = "__codelineno-0-1126" name = "__codelineno-0-1126" ></ a >< span class = "sd" > propagate to the caller.</ span >
< a id = "__codelineno-0-1127" name = "__codelineno-0-1127" ></ a >
< a id = "__codelineno-0-1128" name = "__codelineno-0-1128" ></ a >< span class = "sd" > Raises:</ span >
< a id = "__codelineno-0-1129" name = "__codelineno-0-1129" ></ a >< span class = "sd" > AttributeError: MT5 client capability mismatch when</ span >
< a id = "__codelineno-0-1130" name = "__codelineno-0-1130" ></ a >< span class = "sd" > ``suppress_errors`` is False, or any other attribute error.</ span >
< a id = "__codelineno-0-1131" name = "__codelineno-0-1131" ></ a >< span class = "sd" > TypeError: MT5 client capability mismatch when ``suppress_errors``</ span >
< a id = "__codelineno-0-1132" name = "__codelineno-0-1132" ></ a >< span class = "sd" > is False, or any other type error.</ span >
< a id = "__codelineno-0-1133" name = "__codelineno-0-1133" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-1134" name = "__codelineno-0-1134" ></ a > < span class = "k" > if</ span > < span class = "ow" > not</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > should_update</ span >< span class = "p" > ():</ span >
< a id = "__codelineno-0-1135" name = "__codelineno-0-1135" ></ a > < span class = "k" > return</ span > < span class = "kc" > False</ span >
< a id = "__codelineno-0-1136" name = "__codelineno-0-1136" ></ a > < span class = "k" > try</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1137" name = "__codelineno-0-1137" ></ a > < span class = "n" > _resolve_update_history_request</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1138" name = "__codelineno-0-1138" ></ a > < span class = "n" > output</ span >< span class = "o" > =</ span >< span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > output</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1139" name = "__codelineno-0-1139" ></ a > < span class = "n" > symbols</ span >< span class = "o" > =</ span >< span class = "n" > symbols</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1140" name = "__codelineno-0-1140" ></ a > < span class = "n" > datasets</ span >< span class = "o" > =</ span >< span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > datasets</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1141" name = "__codelineno-0-1141" ></ a > < span class = "n" > timeframes</ span >< span class = "o" > =</ span >< span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > timeframes</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1142" name = "__codelineno-0-1142" ></ a > < span class = "n" > flags</ span >< span class = "o" > =</ span >< span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > flags</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1143" name = "__codelineno-0-1143" ></ a > < span class = "n" > lookback_hours</ span >< span class = "o" > =</ span >< span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > lookback_hours</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1144" name = "__codelineno-0-1144" ></ a > < span class = "n" > date_to</ span >< span class = "o" > =</ span >< span class = "kc" > None</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1145" name = "__codelineno-0-1145" ></ a > < span class = "p" > )</ span >
< a id = "__codelineno-0-1146" name = "__codelineno-0-1146" ></ a > < span class = "n" > update_history</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1147" name = "__codelineno-0-1147" ></ a > < span class = "n" > client</ span >< span class = "o" > =</ span >< span class = "n" > client</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1148" name = "__codelineno-0-1148" ></ a > < span class = "n" > output</ span >< span class = "o" > =</ span >< span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > output</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1149" name = "__codelineno-0-1149" ></ a > < span class = "n" > symbols</ span >< span class = "o" > =</ span >< span class = "n" > symbols</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1150" name = "__codelineno-0-1150" ></ a > < span class = "n" > datasets</ span >< span class = "o" > =</ span >< span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > datasets</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1151" name = "__codelineno-0-1151" ></ a > < span class = "n" > timeframes</ span >< span class = "o" > =</ span >< span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > timeframes</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1152" name = "__codelineno-0-1152" ></ a > < span class = "n" > flags</ span >< span class = "o" > =</ span >< span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > flags</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1153" name = "__codelineno-0-1153" ></ a > < span class = "n" > lookback_hours</ span >< span class = "o" > =</ span >< span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > lookback_hours</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1154" name = "__codelineno-0-1154" ></ a > < span class = "n" > with_views</ span >< span class = "o" > =</ span >< span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > with_views</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1155" name = "__codelineno-0-1155" ></ a > < span class = "n" > include_account_events</ span >< span class = "o" > =</ span >< span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > include_account_events</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1156" name = "__codelineno-0-1156" ></ a > < span class = "p" > )</ span >
< a id = "__codelineno-0-1157" name = "__codelineno-0-1157" ></ a > < span class = "k" > except</ span > < span class = "n" > _RECOVERABLE_HISTORY_UPDATE_ERRORS</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1158" name = "__codelineno-0-1158" ></ a > < span class = "k" > if</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > suppress_errors</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1159" name = "__codelineno-0-1159" ></ a > < span class = "n" > logger</ span >< span class = "o" > .</ span >< span class = "n" > warning</ span >< span class = "p" > (</ span >< span class = "s2" > " Suppressed history update error" </ span >< span class = "p" > ,</ span > < span class = "n" > exc_info</ span >< span class = "o" > =</ span >< span class = "kc" > True</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1160" name = "__codelineno-0-1160" ></ a > < span class = "k" > return</ span > < span class = "kc" > False</ span >
< a id = "__codelineno-0-1161" name = "__codelineno-0-1161" ></ a > < span class = "k" > raise</ span >
< a id = "__codelineno-0-1162" name = "__codelineno-0-1162" ></ a > < span class = "k" > except</ span > < span class = "p" > (</ span >< span class = "ne" > AttributeError</ span >< span class = "p" > ,</ span > < span class = "ne" > TypeError</ span >< span class = "p" > )</ span > < span class = "k" > as</ span > < span class = "n" > exc</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1163" name = "__codelineno-0-1163" ></ a > < span class = "k" > if</ span > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > suppress_errors</ span > < span class = "ow" > and</ span > < span class = "n" > _is_mt5_client_capability_error</ span >< span class = "p" > (</ span >< span class = "n" > exc</ span >< span class = "p" > ):</ span >
< a id = "__codelineno-0-1164" name = "__codelineno-0-1164" ></ a > < span class = "n" > logger</ span >< span class = "o" > .</ span >< span class = "n" > warning</ span >< span class = "p" > (</ span >< span class = "s2" > " Suppressed history update error" </ span >< span class = "p" > ,</ span > < span class = "n" > exc_info</ span >< span class = "o" > =</ span >< span class = "kc" > True</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1165" name = "__codelineno-0-1165" ></ a > < span class = "k" > return</ span > < span class = "kc" > False</ span >
< a id = "__codelineno-0-1166" name = "__codelineno-0-1166" ></ a > < span class = "k" > raise</ span >
< a id = "__codelineno-0-1167" name = "__codelineno-0-1167" ></ a > < span class = "bp" > self</ span >< span class = "o" > .</ span >< span class = "n" > _last_update_monotonic</ span > < span class = "o" > =</ span > < span class = "n" > time</ span >< span class = "o" > .</ span >< span class = "n" > monotonic</ span >< span class = "p" > ()</ span >
< a id = "__codelineno-0-1168" name = "__codelineno-0-1168" ></ a > < span class = "k" > return</ span > < span class = "kc" > True</ span >
2026-06-10 17:31:32 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +00:00
</ div >
2026-06-08 13:55:22 +00:00
</ div >
</ div >
2026-06-09 15:15:52 +00:00
2026-06-08 13:55:22 +00:00
< div class = "doc doc-object doc-function" >
2026-06-09 15:15:52 +00:00
< h3 id = "mt5cli.sdk.account_info" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > account_info</ span >
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +00:00
< a href = "#mt5cli.sdk.account_info" 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" > account_info</ 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 > < 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 >
< 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 = "pandas.DataFrame" > DataFrame</ span ></ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
2026-06-09 15:15:52 +00:00
< p > Return account information.</ p >
2026-06-08 13:55:22 +00:00
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1778" > 1778</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1779" > 1779</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1780" > 1780</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1778" name = "__codelineno-0-1778" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > account_info</ span >< span class = "p" > (</ span >< span class = "o" > *</ 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" > pd</ span >< span class = "o" > .</ span >< span class = "n" > DataFrame</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1779" name = "__codelineno-0-1779" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return account information.""" </ span >
< a id = "__codelineno-0-1780" name = "__codelineno-0-1780" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > account_info</ span >< span class = "p" > ()</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
2026-06-09 15:15:52 +00:00
< h3 id = "mt5cli.sdk.build_config" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > build_config</ span >
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +00:00
< a href = "#mt5cli.sdk.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 >
< a id = "__codelineno-0-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "pdmt5.Mt5Config" > Mt5Config</ span ></ span >
2026-06-08 18:29:32 +00:00
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
2026-06-09 15:15:52 +00:00
< p > Build an < code > Mt5Config</ code > from optional connection parameters.</ 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 = "pdmt5.Mt5Config" > Mt5Config</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Configured < code > Mt5Config</ code > instance.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
2026-06-08 18:29:32 +00:00
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-301" > 301</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-302" > 302</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-303" > 303</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-304" > 304</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-305" > 305</ a ></ span >
< 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 >
2026-06-12 14:15:10 +00:00
< 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 >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-318" > 318</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-319" > 319</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-320" > 320</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-301" name = "__codelineno-0-301" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > build_config</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-302" name = "__codelineno-0-302" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-303" name = "__codelineno-0-303" ></ 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-304" name = "__codelineno-0-304" ></ 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-305" name = "__codelineno-0-305" ></ 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-306" name = "__codelineno-0-306" ></ 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-307" name = "__codelineno-0-307" ></ 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-308" name = "__codelineno-0-308" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" > Mt5Config</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-309" name = "__codelineno-0-309" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Build an ``Mt5Config`` from optional connection parameters.</ span >
< a id = "__codelineno-0-310" name = "__codelineno-0-310" ></ a >
< a id = "__codelineno-0-311" name = "__codelineno-0-311" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-312" name = "__codelineno-0-312" ></ a >< span class = "sd" > Configured ``Mt5Config`` instance.</ span >
< a id = "__codelineno-0-313" name = "__codelineno-0-313" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-314" name = "__codelineno-0-314" ></ a > < span class = "k" > return</ span > < span class = "n" > Mt5Config</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-315" name = "__codelineno-0-315" ></ a > < span class = "n" > path</ span >< span class = "o" > =</ span >< span class = "n" > path</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-316" name = "__codelineno-0-316" ></ a > < span class = "n" > login</ span >< span class = "o" > =</ span >< span class = "n" > login</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-317" name = "__codelineno-0-317" ></ a > < span class = "n" > password</ span >< span class = "o" > =</ span >< span class = "n" > password</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-318" name = "__codelineno-0-318" ></ a > < span class = "n" > server</ span >< span class = "o" > =</ span >< span class = "n" > server</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-319" name = "__codelineno-0-319" ></ a > < span class = "n" > timeout</ span >< span class = "o" > =</ span >< span class = "n" > timeout</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-320" name = "__codelineno-0-320" ></ a > < span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
2026-06-09 15:15:52 +00:00
< h3 id = "mt5cli.sdk.collect_history" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > collect_history</ span >
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +00:00
< a href = "#mt5cli.sdk.collect_history" 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" > collect_history</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > output</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "pathlib.Path" > Path</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > symbols</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "list" > list</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a > < span class = "n" > datasets</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "set" > set</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< a class = "autorefs autorefs-internal" title = "Dataset (mt5cli.utils.Dataset)" href = "../utils/#mt5cli.utils.Dataset" > Dataset</ a ></ span >< span class = "p" > ]</ 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" > timeframe</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span > < span class = "o" > =</ span > < span class = "mi" > 1</ span >< span class = "p" > ,</ span >
2026-06-11 14:23:26 +00:00
< a id = "__codelineno-0-9" name = "__codelineno-0-9" href = "#__codelineno-0-9" ></ a > < span class = "n" > flags</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span > < span class = "o" > =</ span > < span class = "s2" > " ALL" </ span >< span class = "p" > ,</ span >
2026-06-09 15:15:52 +00:00
< a id = "__codelineno-0-10" name = "__codelineno-0-10" href = "#__codelineno-0-10" ></ a > < span class = "n" > if_exists</ span >< span class = "p" > :</ span > < span class = "n" >< a class = "autorefs autorefs-internal" title = "IfExists (mt5cli.utils.IfExists)" href = "../utils/#mt5cli.utils.IfExists" > IfExists</ a ></ span > < span class = "o" > =</ span > < span class = "n" >< a class = "autorefs autorefs-internal" title = "FAIL
class-attribute
instance-attribute
(mt5cli.utils.IfExists.FAIL)" href = "../utils/#mt5cli.utils.IfExists.FAIL" > FAIL</ a ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-11" name = "__codelineno-0-11" href = "#__codelineno-0-11" ></ a > < span class = "n" > with_views</ 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-12" name = "__codelineno-0-12" href = "#__codelineno-0-12" ></ 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-13" name = "__codelineno-0-13" href = "#__codelineno-0-13" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "kc" > None</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Collect historical datasets into a single SQLite database.</ 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 > output</ code >
</ td >
< td >
< code >< span title = "pathlib.Path" > Path</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > SQLite database path.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > symbols</ code >
</ td >
< td >
< code >< span title = "list" > list</ span > [< span title = "str" > str</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Symbols to collect.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > date_from</ code >
</ td >
< td >
< code >< span title = "datetime.datetime" > datetime</ span > | < span title = "str" > str</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Start date.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > date_to</ code >
</ td >
< td >
< code >< span title = "datetime.datetime" > datetime</ span > | < span title = "str" > str</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > End date.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > datasets</ code >
</ td >
< td >
< code >< span title = "set" > set</ span > [< a class = "autorefs autorefs-internal" title = "Dataset (mt5cli.utils.Dataset)" href = "../utils/#mt5cli.utils.Dataset" > Dataset</ a > ] | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Datasets to include (defaults to all).</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > timeframe</ code >
</ td >
< td >
< code >< span title = "int" > int</ span > | < span title = "str" > str</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Rates timeframe as integer or name (e.g. < code > M1</ code > ).</ p >
</ div >
</ td >
< td >
< code > 1</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > flags</ code >
</ td >
< td >
< code >< span title = "int" > int</ span > | < span title = "str" > str</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Tick copy flags as integer or name (e.g. < code > ALL</ code > ).</ p >
</ div >
</ td >
< td >
2026-06-11 14:23:26 +00:00
< code > ' ALL' </ code >
2026-06-09 15:15:52 +00:00
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > if_exists</ code >
</ td >
< td >
< code >< a class = "autorefs autorefs-internal" title = "IfExists (mt5cli.utils.IfExists)" href = "../utils/#mt5cli.utils.IfExists" > IfExists</ a ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Behavior when a target table already exists.</ p >
</ div >
</ td >
< td >
< code >< a class = "autorefs autorefs-internal" title = "FAIL
class-attribute
instance-attribute
(mt5cli.utils.IfExists.FAIL)" href = "../utils/#mt5cli.utils.IfExists.FAIL" > FAIL</ a ></ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > with_views</ code >
</ td >
< td >
< code >< span title = "bool" > bool</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Create < code > cash_events</ code > and < code > positions_reconstructed</ code > views.</ p >
</ div >
</ td >
< td >
< code > False</ code >
</ td >
</ tr >
< 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.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1171" > 1171</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1172" > 1172</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1173" > 1173</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1174" > 1174</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1175" > 1175</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1176" > 1176</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1177" > 1177</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1178" > 1178</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1179" > 1179</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1180" > 1180</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1181" > 1181</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1182" > 1182</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1183" > 1183</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1184" > 1184</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1185" > 1185</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1186" > 1186</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1187" > 1187</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1188" > 1188</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1189" > 1189</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1190" > 1190</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1191" > 1191</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1192" > 1192</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1193" > 1193</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1194" > 1194</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1195" > 1195</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1196" > 1196</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1197" > 1197</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1198" > 1198</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1199" > 1199</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1200" > 1200</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1201" > 1201</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1202" > 1202</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1203" > 1203</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1204" > 1204</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1205" > 1205</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1206" > 1206</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1207" > 1207</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1208" > 1208</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1209" > 1209</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1210" > 1210</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1211" > 1211</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1212" > 1212</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1213" > 1213</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1214" > 1214</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1215" > 1215</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1216" > 1216</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1217" > 1217</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1218" > 1218</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1219" > 1219</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1220" > 1220</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1221" > 1221</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1222" > 1222</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1223" > 1223</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1224" > 1224</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1225" > 1225</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1226" > 1226</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1227" > 1227</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1228" > 1228</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1229" > 1229</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1230" > 1230</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1231" > 1231</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1232" > 1232</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1233" > 1233</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1234" > 1234</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1171" name = "__codelineno-0-1171" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > collect_history</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1172" name = "__codelineno-0-1172" ></ a > < span class = "n" > output</ span >< span class = "p" > :</ span > < span class = "n" > Path</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1173" name = "__codelineno-0-1173" ></ a > < span class = "n" > symbols</ span >< span class = "p" > :</ span > < span class = "nb" > list</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-1174" name = "__codelineno-0-1174" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1175" name = "__codelineno-0-1175" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1176" name = "__codelineno-0-1176" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1177" name = "__codelineno-0-1177" ></ a > < span class = "n" > datasets</ span >< span class = "p" > :</ span > < span class = "nb" > set</ span >< span class = "p" > [</ span >< span class = "n" > Dataset</ span >< span class = "p" > ]</ 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-1178" name = "__codelineno-0-1178" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span > < span class = "o" > =</ span > < span class = "mi" > 1</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1179" name = "__codelineno-0-1179" ></ a > < span class = "n" > flags</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span > < span class = "o" > =</ span > < span class = "s2" > " ALL" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1180" name = "__codelineno-0-1180" ></ a > < span class = "n" > if_exists</ span >< span class = "p" > :</ span > < span class = "n" > IfExists</ span > < span class = "o" > =</ span > < span class = "n" > IfExists</ span >< span class = "o" > .</ span >< span class = "n" > FAIL</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1181" name = "__codelineno-0-1181" ></ a > < span class = "n" > with_views</ 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-1182" name = "__codelineno-0-1182" ></ 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-1183" name = "__codelineno-0-1183" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "kc" > None</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1184" name = "__codelineno-0-1184" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Collect historical datasets into a single SQLite database.</ span >
< a id = "__codelineno-0-1185" name = "__codelineno-0-1185" ></ a >
< a id = "__codelineno-0-1186" name = "__codelineno-0-1186" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-1187" name = "__codelineno-0-1187" ></ a >< span class = "sd" > output: SQLite database path.</ span >
< a id = "__codelineno-0-1188" name = "__codelineno-0-1188" ></ a >< span class = "sd" > symbols: Symbols to collect.</ span >
< a id = "__codelineno-0-1189" name = "__codelineno-0-1189" ></ a >< span class = "sd" > date_from: Start date.</ span >
< a id = "__codelineno-0-1190" name = "__codelineno-0-1190" ></ a >< span class = "sd" > date_to: End date.</ span >
< a id = "__codelineno-0-1191" name = "__codelineno-0-1191" ></ a >< span class = "sd" > datasets: Datasets to include (defaults to all).</ span >
< a id = "__codelineno-0-1192" name = "__codelineno-0-1192" ></ a >< span class = "sd" > timeframe: Rates timeframe as integer or name (e.g. ``M1``).</ span >
< a id = "__codelineno-0-1193" name = "__codelineno-0-1193" ></ a >< span class = "sd" > flags: Tick copy flags as integer or name (e.g. ``ALL``).</ span >
< a id = "__codelineno-0-1194" name = "__codelineno-0-1194" ></ a >< span class = "sd" > if_exists: Behavior when a target table already exists.</ span >
< a id = "__codelineno-0-1195" name = "__codelineno-0-1195" ></ a >< span class = "sd" > with_views: Create ``cash_events`` and ``positions_reconstructed`` views.</ span >
< a id = "__codelineno-0-1196" name = "__codelineno-0-1196" ></ a >< span class = "sd" > config: MT5 connection configuration.</ span >
< a id = "__codelineno-0-1197" name = "__codelineno-0-1197" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-1198" name = "__codelineno-0-1198" ></ a > < span class = "n" > start</ span > < span class = "o" > =</ span > < span class = "n" > _require_datetime</ span >< span class = "p" > (</ span >< span class = "n" > date_from</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1199" name = "__codelineno-0-1199" ></ a > < span class = "n" > end</ span > < span class = "o" > =</ span > < span class = "n" > _require_datetime</ span >< span class = "p" > (</ span >< span class = "n" > date_to</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1200" name = "__codelineno-0-1200" ></ a > < span class = "n" > selected</ span > < span class = "o" > =</ span > < span class = "n" > datasets</ span > < span class = "k" > if</ span > < span class = "n" > datasets</ span > < span class = "ow" > is</ span > < span class = "ow" > not</ span > < span class = "kc" > None</ span > < span class = "k" > else</ span > < span class = "nb" > set</ span >< span class = "p" > (</ span >< span class = "n" > Dataset</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1201" name = "__codelineno-0-1201" ></ a > < span class = "n" > tf</ span > < span class = "o" > =</ span > < span class = "n" > _coerce_timeframe</ span >< span class = "p" > (</ span >< span class = "n" > timeframe</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1202" name = "__codelineno-0-1202" ></ a > < span class = "n" > tick_flags</ span > < span class = "o" > =</ span > < span class = "n" > _coerce_tick_flags</ span >< span class = "p" > (</ span >< span class = "n" > flags</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1203" name = "__codelineno-0-1203" ></ 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-1204" name = "__codelineno-0-1204" ></ 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 > < span class = "n" > sqlite3</ span >< span class = "o" > .</ span >< span class = "n" > connect</ span >< span class = "p" > (</ span >< span class = "n" > output</ span >< span class = "p" > )</ span > < span class = "k" > as</ span > < span class = "n" > conn</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1205" name = "__codelineno-0-1205" ></ a > < span class = "n" > conn</ span >< span class = "o" > .</ span >< span class = "n" > execute</ span >< span class = "p" > (</ span >< span class = "s2" > " PRAGMA journal_mode=WAL" </ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1206" name = "__codelineno-0-1206" ></ a > < span class = "n" > conn</ span >< span class = "o" > .</ span >< span class = "n" > execute</ span >< span class = "p" > (</ span >< span class = "s2" > " PRAGMA synchronous=NORMAL" </ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1207" name = "__codelineno-0-1207" ></ a > < span class = "n" > written_tables</ span >< span class = "p" > ,</ span > < span class = "n" > written_columns</ span > < span class = "o" > =</ span > < span class = "n" > write_collected_datasets</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1208" name = "__codelineno-0-1208" ></ a > < span class = "n" > conn</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1209" name = "__codelineno-0-1209" ></ a > < span class = "n" > client</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1210" name = "__codelineno-0-1210" ></ a > < span class = "n" > symbols</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1211" name = "__codelineno-0-1211" ></ a > < span class = "n" > selected</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1212" name = "__codelineno-0-1212" ></ a > < span class = "n" > tf</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1213" name = "__codelineno-0-1213" ></ a > < span class = "n" > tick_flags</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1214" name = "__codelineno-0-1214" ></ a > < span class = "n" > start</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1215" name = "__codelineno-0-1215" ></ a > < span class = "n" > end</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1216" name = "__codelineno-0-1216" ></ a > < span class = "n" > if_exists</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1217" name = "__codelineno-0-1217" ></ a > < span class = "p" > )</ span >
< a id = "__codelineno-0-1218" name = "__codelineno-0-1218" ></ a > < span class = "n" > create_history_indexes</ span >< span class = "p" > (</ span >< span class = "n" > conn</ span >< span class = "p" > ,</ span > < span class = "n" > written_columns</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1219" name = "__codelineno-0-1219" ></ a > < span class = "k" > if</ span > < span class = "n" > with_views</ span > < span class = "ow" > and</ span > < span class = "n" > Dataset</ span >< span class = "o" > .</ span >< span class = "n" > history_deals</ span > < span class = "ow" > in</ span > < span class = "n" > written_tables</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1220" name = "__codelineno-0-1220" ></ a > < span class = "n" > create_cash_events_view</ span >< span class = "p" > (</ span >< span class = "n" > conn</ span >< span class = "p" > ,</ span > < span class = "n" > written_columns</ span >< span class = "p" > [</ span >< span class = "n" > Dataset</ span >< span class = "o" > .</ span >< span class = "n" > history_deals</ span >< span class = "p" > ])</ span >
< a id = "__codelineno-0-1221" name = "__codelineno-0-1221" ></ a > < span class = "n" > create_positions_reconstructed_view</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1222" name = "__codelineno-0-1222" ></ a > < span class = "n" > conn</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1223" name = "__codelineno-0-1223" ></ a > < span class = "n" > written_columns</ span >< span class = "p" > [</ span >< span class = "n" > Dataset</ span >< span class = "o" > .</ span >< span class = "n" > history_deals</ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-1224" name = "__codelineno-0-1224" ></ a > < span class = "p" > )</ span >
< a id = "__codelineno-0-1225" name = "__codelineno-0-1225" ></ a > < span class = "k" > elif</ span > < span class = "n" > with_views</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1226" name = "__codelineno-0-1226" ></ a > < span class = "n" > logger</ span >< span class = "o" > .</ span >< span class = "n" > warning</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1227" name = "__codelineno-0-1227" ></ a > < span class = "s2" > " --with-views ignored: history_deals table was not written" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1228" name = "__codelineno-0-1228" ></ a > < span class = "p" > )</ span >
< a id = "__codelineno-0-1229" name = "__codelineno-0-1229" ></ a > < span class = "n" > logger</ span >< span class = "o" > .</ span >< span class = "n" > info</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1230" name = "__codelineno-0-1230" ></ a > < span class = "s2" > " Collected </ span >< span class = "si" > %s</ span >< span class = "s2" > for </ span >< span class = "si" > %d</ span >< span class = "s2" > symbol(s) into </ span >< span class = "si" > %s</ span >< span class = "s2" > " </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1231" name = "__codelineno-0-1231" ></ a > < span class = "s2" > " , " </ span >< span class = "o" > .</ span >< span class = "n" > join</ span >< span class = "p" > (</ span >< span class = "nb" > sorted</ span >< span class = "p" > (</ span >< span class = "n" > ds</ span >< span class = "o" > .</ span >< span class = "n" > value</ span > < span class = "k" > for</ span > < span class = "n" > ds</ span > < span class = "ow" > in</ span > < span class = "n" > selected</ span >< span class = "p" > )),</ span >
< a id = "__codelineno-0-1232" name = "__codelineno-0-1232" ></ a > < span class = "nb" > len</ span >< span class = "p" > (</ span >< span class = "n" > symbols</ span >< span class = "p" > ),</ span >
< a id = "__codelineno-0-1233" name = "__codelineno-0-1233" ></ a > < span class = "n" > output</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1234" name = "__codelineno-0-1234" ></ a > < span class = "p" > )</ span >
2026-06-10 17:31:32 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.collect_latest_closed_rates_by_granularity" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > collect_latest_closed_rates_by_granularity</ span >
< a href = "#mt5cli.sdk.collect_latest_closed_rates_by_granularity" 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" > collect_latest_closed_rates_by_granularity</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > accounts</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< a class = "autorefs autorefs-internal" title = "AccountSpec
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a ></ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > granularities</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a > < span class = "n" > base_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-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" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-9" name = "__codelineno-0-9" href = "#__codelineno-0-9" ></ a > < span class = "n" > backoff_base</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "float" > float</ span ></ span > < span class = "o" > =</ span > < span class = "mf" > 2.0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-10" name = "__codelineno-0-10" href = "#__codelineno-0-10" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "dict" > dict</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "tuple" > tuple</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ],</ span > < span class = "n" >< span title = "pandas.DataFrame" > DataFrame</ span ></ span >< span class = "p" > ]</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Collect latest closed rate bars keyed by symbol and granularity name.</ p >
< p > Thin wrapper around :func:< code > collect_latest_closed_rates_for_accounts</ code > that
rekeys the result by granularity name (for example < code > M1</ code > ) instead of the
integer timeframe.</ 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 > accounts</ code >
</ td >
< td >
< code >< span title = "collections.abc.Sequence" > Sequence</ span > [< a class = "autorefs autorefs-internal" title = "AccountSpec
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Account groups to read. Each must define at least one symbol.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > granularities</ code >
</ td >
< td >
< code >< span title = "collections.abc.Sequence" > Sequence</ span > [< span title = "int" > int</ span > | < span title = "str" > str</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > MT5 timeframes as integers or names (for example < code > M1</ code > ).</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > count</ code >
</ td >
< td >
< code >< span title = "int" > int</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Number of closed bars to return per symbol/timeframe.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > start_pos</ code >
</ td >
< td >
< code >< span title = "int" > int</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Initial bar position offset passed to the underlying collector.</ p >
</ div >
</ td >
< td >
< code > 0</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > base_config</ code >
</ td >
< td >
< code >< span title = "pdmt5.Mt5Config" > Mt5Config</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Optional base configuration whose fields fill any value not
set on an individual account.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > retry_count</ code >
</ td >
< td >
< code >< span title = "int" > int</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Maximum number of retries after the first attempt. < code > 0</ code >
disables retries.</ p >
</ div >
</ td >
< td >
< code > 0</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > backoff_base</ code >
</ td >
< td >
< code >< span title = "float" > float</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Base for exponential backoff between retry attempts.</ p >
</ div >
</ td >
< td >
< code > 2.0</ code >
</ 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 = "dict" > dict</ span > [< span title = "tuple" > tuple</ span > [< span title = "str" > str</ span > , < span title = "str" > str</ span > ], < span title = "pandas.DataFrame" > DataFrame</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Mapping keyed by < code > (symbol, granularity_name)</ code > . Propagates</ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code >< span title = "dict" > dict</ span > [< span title = "tuple" > tuple</ span > [< span title = "str" > str</ span > , < span title = "str" > str</ span > ], < span title = "pandas.DataFrame" > DataFrame</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p >< code > ValueError</ code > from :func:< code > collect_latest_closed_rates_for_accounts</ code > .</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1681" > 1681</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1682" > 1682</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1683" > 1683</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1684" > 1684</ a ></ span >
2026-06-11 14:23:26 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1685" > 1685</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1686" > 1686</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1687" > 1687</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1688" > 1688</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1689" > 1689</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1690" > 1690</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1691" > 1691</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1692" > 1692</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1693" > 1693</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1694" > 1694</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1695" > 1695</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1696" > 1696</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1697" > 1697</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1698" > 1698</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1699" > 1699</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1700" > 1700</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1701" > 1701</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1702" > 1702</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1703" > 1703</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1704" > 1704</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1705" > 1705</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1706" > 1706</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1707" > 1707</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1708" > 1708</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1709" > 1709</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1710" > 1710</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1711" > 1711</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1712" > 1712</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1713" > 1713</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1714" > 1714</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1715" > 1715</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1716" > 1716</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1717" > 1717</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1718" > 1718</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1719" > 1719</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1720" > 1720</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1721" > 1721</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1722" > 1722</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1723" > 1723</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1724" > 1724</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1681" name = "__codelineno-0-1681" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > collect_latest_closed_rates_by_granularity</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1682" name = "__codelineno-0-1682" ></ a > < span class = "n" > accounts</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "n" > AccountSpec</ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-1683" name = "__codelineno-0-1683" ></ a > < span class = "n" > granularities</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-1684" name = "__codelineno-0-1684" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1685" name = "__codelineno-0-1685" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1686" name = "__codelineno-0-1686" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1687" name = "__codelineno-0-1687" ></ a > < span class = "n" > base_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-1688" name = "__codelineno-0-1688" ></ a > < span class = "n" > retry_count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1689" name = "__codelineno-0-1689" ></ a > < span class = "n" > backoff_base</ span >< span class = "p" > :</ span > < span class = "nb" > float</ span > < span class = "o" > =</ span > < span class = "mf" > 2.0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1690" name = "__codelineno-0-1690" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "nb" > dict</ span >< span class = "p" > [</ span >< span class = "nb" > tuple</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ,</ span > < span class = "nb" > str</ span >< span class = "p" > ],</ span > < span class = "n" > pd</ span >< span class = "o" > .</ span >< span class = "n" > DataFrame</ span >< span class = "p" > ]:</ span >
< a id = "__codelineno-0-1691" name = "__codelineno-0-1691" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Collect latest closed rate bars keyed by symbol and granularity name.</ span >
< a id = "__codelineno-0-1692" name = "__codelineno-0-1692" ></ a >
< a id = "__codelineno-0-1693" name = "__codelineno-0-1693" ></ a >< span class = "sd" > Thin wrapper around :func:`collect_latest_closed_rates_for_accounts` that</ span >
< a id = "__codelineno-0-1694" name = "__codelineno-0-1694" ></ a >< span class = "sd" > rekeys the result by granularity name (for example ``M1``) instead of the</ span >
< a id = "__codelineno-0-1695" name = "__codelineno-0-1695" ></ a >< span class = "sd" > integer timeframe.</ span >
< a id = "__codelineno-0-1696" name = "__codelineno-0-1696" ></ a >
< a id = "__codelineno-0-1697" name = "__codelineno-0-1697" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-1698" name = "__codelineno-0-1698" ></ a >< span class = "sd" > accounts: Account groups to read. Each must define at least one symbol.</ span >
< a id = "__codelineno-0-1699" name = "__codelineno-0-1699" ></ a >< span class = "sd" > granularities: MT5 timeframes as integers or names (for example ``M1``).</ span >
< a id = "__codelineno-0-1700" name = "__codelineno-0-1700" ></ a >< span class = "sd" > count: Number of closed bars to return per symbol/timeframe.</ span >
< a id = "__codelineno-0-1701" name = "__codelineno-0-1701" ></ a >< span class = "sd" > start_pos: Initial bar position offset passed to the underlying collector.</ span >
< a id = "__codelineno-0-1702" name = "__codelineno-0-1702" ></ a >< span class = "sd" > base_config: Optional base configuration whose fields fill any value not</ span >
< a id = "__codelineno-0-1703" name = "__codelineno-0-1703" ></ a >< span class = "sd" > set on an individual account.</ span >
< a id = "__codelineno-0-1704" name = "__codelineno-0-1704" ></ a >< span class = "sd" > retry_count: Maximum number of retries after the first attempt. ``0``</ span >
< a id = "__codelineno-0-1705" name = "__codelineno-0-1705" ></ a >< span class = "sd" > disables retries.</ span >
< a id = "__codelineno-0-1706" name = "__codelineno-0-1706" ></ a >< span class = "sd" > backoff_base: Base for exponential backoff between retry attempts.</ span >
< a id = "__codelineno-0-1707" name = "__codelineno-0-1707" ></ a >
< a id = "__codelineno-0-1708" name = "__codelineno-0-1708" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-1709" name = "__codelineno-0-1709" ></ a >< span class = "sd" > Mapping keyed by ``(symbol, granularity_name)``. Propagates</ span >
< a id = "__codelineno-0-1710" name = "__codelineno-0-1710" ></ a >< span class = "sd" > ``ValueError`` from :func:`collect_latest_closed_rates_for_accounts`.</ span >
< a id = "__codelineno-0-1711" name = "__codelineno-0-1711" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-1712" name = "__codelineno-0-1712" ></ a > < span class = "n" > loaded</ span > < span class = "o" > =</ span > < span class = "n" > collect_latest_closed_rates_for_accounts</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1713" name = "__codelineno-0-1713" ></ a > < span class = "n" > accounts</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1714" name = "__codelineno-0-1714" ></ a > < span class = "n" > granularities</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1715" name = "__codelineno-0-1715" ></ a > < span class = "n" > count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1716" name = "__codelineno-0-1716" ></ a > < span class = "n" > start_pos</ span >< span class = "o" > =</ span >< span class = "n" > start_pos</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1717" name = "__codelineno-0-1717" ></ a > < span class = "n" > base_config</ span >< span class = "o" > =</ span >< span class = "n" > base_config</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1718" name = "__codelineno-0-1718" ></ a > < span class = "n" > retry_count</ span >< span class = "o" > =</ span >< span class = "n" > retry_count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1719" name = "__codelineno-0-1719" ></ a > < span class = "n" > backoff_base</ span >< span class = "o" > =</ span >< span class = "n" > backoff_base</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1720" name = "__codelineno-0-1720" ></ a > < span class = "p" > )</ span >
< a id = "__codelineno-0-1721" name = "__codelineno-0-1721" ></ a > < span class = "k" > return</ span > < span class = "p" > {</ span >
< a id = "__codelineno-0-1722" name = "__codelineno-0-1722" ></ a > < span class = "p" > (</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span > < span class = "n" > resolve_granularity_name</ span >< span class = "p" > (</ span >< span class = "n" > timeframe</ span >< span class = "p" > )):</ span > < span class = "n" > frame</ span >
< a id = "__codelineno-0-1723" name = "__codelineno-0-1723" ></ a > < span class = "k" > for</ span > < span class = "p" > (</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span > < span class = "n" > timeframe</ span >< span class = "p" > ),</ span > < span class = "n" > frame</ span > < span class = "ow" > in</ span > < span class = "n" > loaded</ span >< span class = "o" > .</ span >< span class = "n" > items</ span >< span class = "p" > ()</ span >
< a id = "__codelineno-0-1724" name = "__codelineno-0-1724" ></ a > < span class = "p" > }</ span >
2026-06-10 17:31:32 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.collect_latest_closed_rates_for_accounts" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > collect_latest_closed_rates_for_accounts</ span >
< a href = "#mt5cli.sdk.collect_latest_closed_rates_for_accounts" 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" > collect_latest_closed_rates_for_accounts</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > accounts</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< a class = "autorefs autorefs-internal" title = "AccountSpec
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a ></ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > timeframes</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a > < span class = "n" > base_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-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" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-9" name = "__codelineno-0-9" href = "#__codelineno-0-9" ></ a > < span class = "n" > backoff_base</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "float" > float</ span ></ span > < span class = "o" > =</ span > < span class = "mf" > 2.0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-10" name = "__codelineno-0-10" href = "#__codelineno-0-10" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "dict" > dict</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "tuple" > tuple</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ],</ span > < span class = "n" >< span title = "pandas.DataFrame" > DataFrame</ span ></ span >< span class = "p" > ]</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Collect latest closed rate bars across multiple MT5 account groups.</ p >
< p > When < code > start_pos</ code > is < code > 0</ code > (the default), MetaTrader 5 includes the
still-forming current bar as the last row. This helper fetches
< code > count + 1</ code > bars, drops that bar with :func:< code > drop_forming_rate_bar</ code > , and
validates that each resulting frame is non-empty. When < code > start_pos</ code > is
greater than zero the forming bar is not in range, so only < code > count</ code > bars
are fetched and no row is dropped.</ p >
< p > Wraps :func:< code > collect_latest_rates_for_accounts_with_retries</ code > for transient
MT5 error handling.</ 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 > accounts</ code >
</ td >
< td >
< code >< span title = "collections.abc.Sequence" > Sequence</ span > [< a class = "autorefs autorefs-internal" title = "AccountSpec
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Account groups to read. Each must define at least one symbol.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > timeframes</ code >
</ td >
< td >
< code >< span title = "collections.abc.Sequence" > Sequence</ span > [< span title = "int" > int</ span > | < span title = "str" > str</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > MT5 timeframes as integers or names (for example < code > M1</ code > ).</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > count</ code >
</ td >
< td >
< code >< span title = "int" > int</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Number of closed bars to return per symbol/timeframe.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > start_pos</ code >
</ td >
< td >
< code >< span title = "int" > int</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Initial bar position offset passed to the underlying collector.</ p >
</ div >
</ td >
< td >
< code > 0</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > base_config</ code >
</ td >
< td >
< code >< span title = "pdmt5.Mt5Config" > Mt5Config</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Optional base configuration whose fields fill any value not
set on an individual account.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > retry_count</ code >
</ td >
< td >
< code >< span title = "int" > int</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Maximum number of retries after the first attempt. < code > 0</ code >
disables retries.</ p >
</ div >
</ td >
< td >
< code > 0</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > backoff_base</ code >
</ td >
< td >
< code >< span title = "float" > float</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Base for exponential backoff between retry attempts.</ p >
</ div >
</ td >
< td >
< code > 2.0</ code >
</ 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 = "dict" > dict</ span > [< span title = "tuple" > tuple</ span > [< span title = "str" > str</ span > , < span title = "int" > int</ span > ], < span title = "pandas.DataFrame" > DataFrame</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Mapping keyed by < code > (symbol, timeframe_int)</ code > .</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< p >< span class = "doc-section-title" > Raises:</ span ></ p >
< table >
< thead >
< tr >
< th > Type</ th >
< th > Description</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code >< span title = "ValueError" > ValueError</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > If inputs are invalid, or any series is empty (after
dropping the still-forming bar when < code > start_pos</ code > is < code > 0</ code > ).</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1618" > 1618</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1619" > 1619</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1620" > 1620</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1621" > 1621</ a ></ span >
2026-06-11 14:23:26 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1622" > 1622</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1623" > 1623</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1624" > 1624</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1625" > 1625</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1626" > 1626</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1627" > 1627</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1628" > 1628</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1629" > 1629</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1630" > 1630</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1631" > 1631</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1632" > 1632</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1633" > 1633</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1634" > 1634</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1635" > 1635</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1636" > 1636</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1637" > 1637</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1638" > 1638</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1639" > 1639</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1640" > 1640</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1641" > 1641</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1642" > 1642</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1643" > 1643</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1644" > 1644</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1645" > 1645</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1646" > 1646</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1647" > 1647</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1648" > 1648</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1649" > 1649</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1650" > 1650</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1651" > 1651</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1652" > 1652</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1653" > 1653</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1654" > 1654</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1655" > 1655</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1656" > 1656</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1657" > 1657</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1658" > 1658</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1659" > 1659</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1660" > 1660</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1661" > 1661</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1662" > 1662</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1663" > 1663</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1664" > 1664</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1665" > 1665</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1666" > 1666</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1667" > 1667</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1668" > 1668</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1669" > 1669</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1670" > 1670</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1671" > 1671</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1672" > 1672</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1673" > 1673</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1674" > 1674</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1675" > 1675</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1676" > 1676</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1677" > 1677</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1678" > 1678</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1618" name = "__codelineno-0-1618" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > collect_latest_closed_rates_for_accounts</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1619" name = "__codelineno-0-1619" ></ a > < span class = "n" > accounts</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "n" > AccountSpec</ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-1620" name = "__codelineno-0-1620" ></ a > < span class = "n" > timeframes</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-1621" name = "__codelineno-0-1621" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1622" name = "__codelineno-0-1622" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1623" name = "__codelineno-0-1623" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1624" name = "__codelineno-0-1624" ></ a > < span class = "n" > base_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-1625" name = "__codelineno-0-1625" ></ a > < span class = "n" > retry_count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1626" name = "__codelineno-0-1626" ></ a > < span class = "n" > backoff_base</ span >< span class = "p" > :</ span > < span class = "nb" > float</ span > < span class = "o" > =</ span > < span class = "mf" > 2.0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1627" name = "__codelineno-0-1627" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "nb" > dict</ span >< span class = "p" > [</ span >< span class = "nb" > tuple</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ,</ span > < span class = "nb" > int</ span >< span class = "p" > ],</ span > < span class = "n" > pd</ span >< span class = "o" > .</ span >< span class = "n" > DataFrame</ span >< span class = "p" > ]:</ span >
< a id = "__codelineno-0-1628" name = "__codelineno-0-1628" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Collect latest closed rate bars across multiple MT5 account groups.</ span >
< a id = "__codelineno-0-1629" name = "__codelineno-0-1629" ></ a >
< a id = "__codelineno-0-1630" name = "__codelineno-0-1630" ></ a >< span class = "sd" > When ``start_pos`` is ``0`` (the default), MetaTrader 5 includes the</ span >
< a id = "__codelineno-0-1631" name = "__codelineno-0-1631" ></ a >< span class = "sd" > still-forming current bar as the last row. This helper fetches</ span >
< a id = "__codelineno-0-1632" name = "__codelineno-0-1632" ></ a >< span class = "sd" > ``count + 1`` bars, drops that bar with :func:`drop_forming_rate_bar`, and</ span >
< a id = "__codelineno-0-1633" name = "__codelineno-0-1633" ></ a >< span class = "sd" > validates that each resulting frame is non-empty. When ``start_pos`` is</ span >
< a id = "__codelineno-0-1634" name = "__codelineno-0-1634" ></ a >< span class = "sd" > greater than zero the forming bar is not in range, so only ``count`` bars</ span >
< a id = "__codelineno-0-1635" name = "__codelineno-0-1635" ></ a >< span class = "sd" > are fetched and no row is dropped.</ span >
< a id = "__codelineno-0-1636" name = "__codelineno-0-1636" ></ a >
< a id = "__codelineno-0-1637" name = "__codelineno-0-1637" ></ a >< span class = "sd" > Wraps :func:`collect_latest_rates_for_accounts_with_retries` for transient</ span >
< a id = "__codelineno-0-1638" name = "__codelineno-0-1638" ></ a >< span class = "sd" > MT5 error handling.</ span >
2026-06-11 14:23:26 +00:00
< a id = "__codelineno-0-1639" name = "__codelineno-0-1639" ></ a >
2026-06-12 16:32:35 +00:00
< a id = "__codelineno-0-1640" name = "__codelineno-0-1640" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-1641" name = "__codelineno-0-1641" ></ a >< span class = "sd" > accounts: Account groups to read. Each must define at least one symbol.</ span >
< a id = "__codelineno-0-1642" name = "__codelineno-0-1642" ></ a >< span class = "sd" > timeframes: MT5 timeframes as integers or names (for example ``M1``).</ span >
< a id = "__codelineno-0-1643" name = "__codelineno-0-1643" ></ a >< span class = "sd" > count: Number of closed bars to return per symbol/timeframe.</ span >
< a id = "__codelineno-0-1644" name = "__codelineno-0-1644" ></ a >< span class = "sd" > start_pos: Initial bar position offset passed to the underlying collector.</ span >
< a id = "__codelineno-0-1645" name = "__codelineno-0-1645" ></ a >< span class = "sd" > base_config: Optional base configuration whose fields fill any value not</ span >
< a id = "__codelineno-0-1646" name = "__codelineno-0-1646" ></ a >< span class = "sd" > set on an individual account.</ span >
< a id = "__codelineno-0-1647" name = "__codelineno-0-1647" ></ a >< span class = "sd" > retry_count: Maximum number of retries after the first attempt. ``0``</ span >
< a id = "__codelineno-0-1648" name = "__codelineno-0-1648" ></ a >< span class = "sd" > disables retries.</ span >
< a id = "__codelineno-0-1649" name = "__codelineno-0-1649" ></ a >< span class = "sd" > backoff_base: Base for exponential backoff between retry attempts.</ span >
< a id = "__codelineno-0-1650" name = "__codelineno-0-1650" ></ a >
< a id = "__codelineno-0-1651" name = "__codelineno-0-1651" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-1652" name = "__codelineno-0-1652" ></ a >< span class = "sd" > Mapping keyed by ``(symbol, timeframe_int)``.</ span >
2026-06-11 14:23:26 +00:00
< a id = "__codelineno-0-1653" name = "__codelineno-0-1653" ></ a >
2026-06-12 16:32:35 +00:00
< a id = "__codelineno-0-1654" name = "__codelineno-0-1654" ></ a >< span class = "sd" > Raises:</ span >
< a id = "__codelineno-0-1655" name = "__codelineno-0-1655" ></ a >< span class = "sd" > ValueError: If inputs are invalid, or any series is empty (after</ span >
< a id = "__codelineno-0-1656" name = "__codelineno-0-1656" ></ a >< span class = "sd" > dropping the still-forming bar when ``start_pos`` is ``0``).</ span >
< a id = "__codelineno-0-1657" name = "__codelineno-0-1657" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-1658" name = "__codelineno-0-1658" ></ a > < span class = "n" > _require_positive</ span >< span class = "p" > (</ span >< span class = "n" > count</ span >< span class = "p" > ,</ span > < span class = "s2" > " count" </ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1659" name = "__codelineno-0-1659" ></ a > < span class = "n" > _require_non_negative</ span >< span class = "p" > (</ span >< span class = "n" > start_pos</ span >< span class = "p" > ,</ span > < span class = "s2" > " start_pos" </ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1660" name = "__codelineno-0-1660" ></ a > < span class = "n" > fetch_count</ span > < span class = "o" > =</ span > < span class = "n" > count</ span > < span class = "o" > +</ span > < span class = "mi" > 1</ span > < span class = "k" > if</ span > < span class = "n" > start_pos</ span > < span class = "o" > ==</ span > < span class = "mi" > 0</ span > < span class = "k" > else</ span > < span class = "n" > count</ span >
< a id = "__codelineno-0-1661" name = "__codelineno-0-1661" ></ a > < span class = "n" > loaded</ span > < span class = "o" > =</ span > < span class = "n" > collect_latest_rates_for_accounts_with_retries</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1662" name = "__codelineno-0-1662" ></ a > < span class = "n" > accounts</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1663" name = "__codelineno-0-1663" ></ a > < span class = "n" > timeframes</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1664" name = "__codelineno-0-1664" ></ a > < span class = "n" > fetch_count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1665" name = "__codelineno-0-1665" ></ a > < span class = "n" > start_pos</ span >< span class = "o" > =</ span >< span class = "n" > start_pos</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1666" name = "__codelineno-0-1666" ></ a > < span class = "n" > base_config</ span >< span class = "o" > =</ span >< span class = "n" > base_config</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1667" name = "__codelineno-0-1667" ></ a > < span class = "n" > retry_count</ span >< span class = "o" > =</ span >< span class = "n" > retry_count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1668" name = "__codelineno-0-1668" ></ a > < span class = "n" > backoff_base</ span >< span class = "o" > =</ span >< span class = "n" > backoff_base</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1669" name = "__codelineno-0-1669" ></ a > < span class = "p" > )</ span >
< a id = "__codelineno-0-1670" name = "__codelineno-0-1670" ></ a > < span class = "n" > result</ span >< span class = "p" > :</ span > < span class = "nb" > dict</ span >< span class = "p" > [</ span >< span class = "nb" > tuple</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ,</ span > < span class = "nb" > int</ span >< span class = "p" > ],</ span > < span class = "n" > pd</ span >< span class = "o" > .</ span >< span class = "n" > DataFrame</ span >< span class = "p" > ]</ span > < span class = "o" > =</ span > < span class = "p" > {}</ span >
< a id = "__codelineno-0-1671" name = "__codelineno-0-1671" ></ a > < span class = "k" > for</ span > < span class = "n" > key</ span >< span class = "p" > ,</ span > < span class = "n" > df_rate</ span > < span class = "ow" > in</ span > < span class = "n" > loaded</ span >< span class = "o" > .</ span >< span class = "n" > items</ span >< span class = "p" > ():</ span >
< a id = "__codelineno-0-1672" name = "__codelineno-0-1672" ></ a > < span class = "n" > closed</ span > < span class = "o" > =</ span > < span class = "n" > drop_forming_rate_bar</ span >< span class = "p" > (</ span >< span class = "n" > df_rate</ span >< span class = "p" > )</ span > < span class = "k" > if</ span > < span class = "n" > start_pos</ span > < span class = "o" > ==</ span > < span class = "mi" > 0</ span > < span class = "k" > else</ span > < span class = "n" > df_rate</ span >
< a id = "__codelineno-0-1673" name = "__codelineno-0-1673" ></ a > < span class = "k" > if</ span > < span class = "n" > closed</ span >< span class = "o" > .</ span >< span class = "n" > empty</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1674" name = "__codelineno-0-1674" ></ a > < span class = "n" > symbol</ span >< span class = "p" > ,</ span > < span class = "n" > timeframe</ span > < span class = "o" > =</ span > < span class = "n" > key</ span >
< a id = "__codelineno-0-1675" name = "__codelineno-0-1675" ></ a > < span class = "n" > msg</ span > < span class = "o" > =</ span > < span class = "sa" > f</ span >< span class = "s2" > " Rate data is empty for </ span >< span class = "si" > {</ span >< span class = "n" > symbol</ span >< span class = "si" > !r}</ span >< span class = "s2" > at timeframe </ span >< span class = "si" > {</ span >< span class = "n" > timeframe</ span >< span class = "si" > }</ span >< span class = "s2" > ." </ span >
< a id = "__codelineno-0-1676" name = "__codelineno-0-1676" ></ a > < span class = "k" > raise</ span > < span class = "ne" > ValueError</ span >< span class = "p" > (</ span >< span class = "n" > msg</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1677" name = "__codelineno-0-1677" ></ a > < span class = "n" > result</ span >< span class = "p" > [</ span >< span class = "n" > key</ span >< span class = "p" > ]</ span > < span class = "o" > =</ span > < span class = "n" > closed</ span >
< a id = "__codelineno-0-1678" name = "__codelineno-0-1678" ></ a > < span class = "k" > return</ span > < span class = "n" > result</ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.collect_latest_rates" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > collect_latest_rates</ span >
< a href = "#mt5cli.sdk.collect_latest_rates" 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" > collect_latest_rates</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbols</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > timeframes</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ 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-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "dict" > dict</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "tuple" > tuple</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ],</ span > < span class = "n" >< span title = "pandas.DataFrame" > DataFrame</ span ></ span >< span class = "p" > ]</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Return latest rates for each symbol/timeframe pair.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1292" > 1292</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1293" > 1293</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1294" > 1294</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1295" > 1295</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1296" > 1296</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1297" > 1297</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1298" > 1298</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1299" > 1299</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1300" > 1300</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1301" > 1301</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1302" > 1302</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1303" > 1303</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1304" > 1304</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1305" > 1305</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1306" > 1306</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1292" name = "__codelineno-0-1292" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > collect_latest_rates</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1293" name = "__codelineno-0-1293" ></ a > < span class = "n" > symbols</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-1294" name = "__codelineno-0-1294" ></ a > < span class = "n" > timeframes</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-1295" name = "__codelineno-0-1295" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1296" name = "__codelineno-0-1296" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1297" name = "__codelineno-0-1297" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1298" name = "__codelineno-0-1298" ></ 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-1299" name = "__codelineno-0-1299" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "nb" > dict</ span >< span class = "p" > [</ span >< span class = "nb" > tuple</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ,</ span > < span class = "nb" > int</ span >< span class = "p" > ],</ span > < span class = "n" > pd</ span >< span class = "o" > .</ span >< span class = "n" > DataFrame</ span >< span class = "p" > ]:</ span >
< a id = "__codelineno-0-1300" name = "__codelineno-0-1300" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return latest rates for each symbol/timeframe pair.""" </ span >
< a id = "__codelineno-0-1301" name = "__codelineno-0-1301" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > collect_latest_rates</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1302" name = "__codelineno-0-1302" ></ a > < span class = "n" > symbols</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1303" name = "__codelineno-0-1303" ></ a > < span class = "n" > timeframes</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1304" name = "__codelineno-0-1304" ></ a > < span class = "n" > count</ span >< span class = "o" > =</ span >< span class = "n" > count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1305" name = "__codelineno-0-1305" ></ a > < span class = "n" > start_pos</ span >< span class = "o" > =</ span >< span class = "n" > start_pos</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1306" name = "__codelineno-0-1306" ></ a > < span class = "p" > )</ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.collect_latest_rates_for_accounts" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > collect_latest_rates_for_accounts</ span >
< a href = "#mt5cli.sdk.collect_latest_rates_for_accounts" 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" > collect_latest_rates_for_accounts</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > accounts</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< a class = "autorefs autorefs-internal" title = "AccountSpec
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a ></ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > timeframes</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a > < span class = "n" > base_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-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "dict" > dict</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "tuple" > tuple</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ],</ span > < span class = "n" >< span title = "pandas.DataFrame" > DataFrame</ span ></ span >< span class = "p" > ]</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Collect latest rates across multiple MT5 account groups.</ p >
< p > Each account is connected in turn, its symbols are read for every
timeframe, and the resulting frames are merged into a single mapping.</ 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 > accounts</ code >
</ td >
< td >
< code >< span title = "collections.abc.Sequence" > Sequence</ span > [< a class = "autorefs autorefs-internal" title = "AccountSpec
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Account groups to read. Each must define at least one symbol.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > timeframes</ code >
</ td >
< td >
< code >< span title = "collections.abc.Sequence" > Sequence</ span > [< span title = "int" > int</ span > | < span title = "str" > str</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > MT5 timeframes as integers or names (for example < code > M1</ code > ).</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > count</ code >
</ td >
< td >
< code >< span title = "int" > int</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Number of most recent bars to read per symbol/timeframe.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > start_pos</ code >
</ td >
< td >
< code >< span title = "int" > int</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Initial bar position offset.</ p >
</ div >
</ td >
< td >
< code > 0</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > base_config</ code >
</ td >
< td >
< code >< span title = "pdmt5.Mt5Config" > Mt5Config</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Optional base configuration whose fields fill any value not
set on an individual account.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ 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 = "dict" > dict</ span > [< span title = "tuple" > tuple</ span > [< span title = "str" > str</ span > , < span title = "int" > int</ span > ], < span title = "pandas.DataFrame" > DataFrame</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Mapping keyed by < code > (symbol, timeframe_int)</ code > . When accounts share a</ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code >< span title = "dict" > dict</ span > [< span title = "tuple" > tuple</ span > [< span title = "str" > str</ span > , < span title = "int" > int</ span > ], < span title = "pandas.DataFrame" > DataFrame</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > symbol/timeframe pair, the last account processed wins.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< p >< span class = "doc-section-title" > Raises:</ span ></ p >
< table >
< thead >
< tr >
< th > Type</ th >
< th > Description</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code >< span title = "ValueError" > ValueError</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > If < code > accounts</ code > , < code > timeframes</ code > , or any account's symbols are
empty, or < code > count</ code > is not positive.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1510" > 1510</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1511" > 1511</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1512" > 1512</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1513" > 1513</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1514" > 1514</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1515" > 1515</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1516" > 1516</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1517" > 1517</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1518" > 1518</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1519" > 1519</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1520" > 1520</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1521" > 1521</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1522" > 1522</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1523" > 1523</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1524" > 1524</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1525" > 1525</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1526" > 1526</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1527" > 1527</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1528" > 1528</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1529" > 1529</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1530" > 1530</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1531" > 1531</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1532" > 1532</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1533" > 1533</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1534" > 1534</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1535" > 1535</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1536" > 1536</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1537" > 1537</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1538" > 1538</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1539" > 1539</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1540" > 1540</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1541" > 1541</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1542" > 1542</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1543" > 1543</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1544" > 1544</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1545" > 1545</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1546" > 1546</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1547" > 1547</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1548" > 1548</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1549" > 1549</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1550" > 1550</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1551" > 1551</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1552" > 1552</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1553" > 1553</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1554" > 1554</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1555" > 1555</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1556" > 1556</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1557" > 1557</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1558" > 1558</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1559" > 1559</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1560" > 1560</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1561" > 1561</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1562" > 1562</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1510" name = "__codelineno-0-1510" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > collect_latest_rates_for_accounts</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1511" name = "__codelineno-0-1511" ></ a > < span class = "n" > accounts</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "n" > AccountSpec</ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-1512" name = "__codelineno-0-1512" ></ a > < span class = "n" > timeframes</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-1513" name = "__codelineno-0-1513" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1514" name = "__codelineno-0-1514" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1515" name = "__codelineno-0-1515" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1516" name = "__codelineno-0-1516" ></ a > < span class = "n" > base_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-1517" name = "__codelineno-0-1517" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "nb" > dict</ span >< span class = "p" > [</ span >< span class = "nb" > tuple</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ,</ span > < span class = "nb" > int</ span >< span class = "p" > ],</ span > < span class = "n" > pd</ span >< span class = "o" > .</ span >< span class = "n" > DataFrame</ span >< span class = "p" > ]:</ span >
< a id = "__codelineno-0-1518" name = "__codelineno-0-1518" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Collect latest rates across multiple MT5 account groups.</ span >
< a id = "__codelineno-0-1519" name = "__codelineno-0-1519" ></ a >
< a id = "__codelineno-0-1520" name = "__codelineno-0-1520" ></ a >< span class = "sd" > Each account is connected in turn, its symbols are read for every</ span >
< a id = "__codelineno-0-1521" name = "__codelineno-0-1521" ></ a >< span class = "sd" > timeframe, and the resulting frames are merged into a single mapping.</ span >
< a id = "__codelineno-0-1522" name = "__codelineno-0-1522" ></ a >
< a id = "__codelineno-0-1523" name = "__codelineno-0-1523" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-1524" name = "__codelineno-0-1524" ></ a >< span class = "sd" > accounts: Account groups to read. Each must define at least one symbol.</ span >
< a id = "__codelineno-0-1525" name = "__codelineno-0-1525" ></ a >< span class = "sd" > timeframes: MT5 timeframes as integers or names (for example ``M1``).</ span >
< a id = "__codelineno-0-1526" name = "__codelineno-0-1526" ></ a >< span class = "sd" > count: Number of most recent bars to read per symbol/timeframe.</ span >
< a id = "__codelineno-0-1527" name = "__codelineno-0-1527" ></ a >< span class = "sd" > start_pos: Initial bar position offset.</ span >
< a id = "__codelineno-0-1528" name = "__codelineno-0-1528" ></ a >< span class = "sd" > base_config: Optional base configuration whose fields fill any value not</ span >
< a id = "__codelineno-0-1529" name = "__codelineno-0-1529" ></ a >< span class = "sd" > set on an individual account.</ span >
< a id = "__codelineno-0-1530" name = "__codelineno-0-1530" ></ a >
< a id = "__codelineno-0-1531" name = "__codelineno-0-1531" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-1532" name = "__codelineno-0-1532" ></ a >< span class = "sd" > Mapping keyed by ``(symbol, timeframe_int)``. When accounts share a</ span >
< a id = "__codelineno-0-1533" name = "__codelineno-0-1533" ></ a >< span class = "sd" > symbol/timeframe pair, the last account processed wins.</ span >
< a id = "__codelineno-0-1534" name = "__codelineno-0-1534" ></ a >
< a id = "__codelineno-0-1535" name = "__codelineno-0-1535" ></ a >< span class = "sd" > Raises:</ span >
< a id = "__codelineno-0-1536" name = "__codelineno-0-1536" ></ a >< span class = "sd" > ValueError: If ``accounts``, ``timeframes``, or any account' s symbols are</ span >
< a id = "__codelineno-0-1537" name = "__codelineno-0-1537" ></ a >< span class = "sd" > empty, or ``count`` is not positive.</ span >
< a id = "__codelineno-0-1538" name = "__codelineno-0-1538" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-1539" name = "__codelineno-0-1539" ></ a > < span class = "n" > account_list</ span > < span class = "o" > =</ span > < span class = "nb" > list</ span >< span class = "p" > (</ span >< span class = "n" > accounts</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1540" name = "__codelineno-0-1540" ></ a > < span class = "k" > if</ span > < span class = "ow" > not</ span > < span class = "n" > account_list</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1541" name = "__codelineno-0-1541" ></ a > < span class = "n" > msg</ span > < span class = "o" > =</ span > < span class = "s2" > " At least one account is required." </ span >
2026-06-12 14:15:10 +00:00
< a id = "__codelineno-0-1542" name = "__codelineno-0-1542" ></ a > < span class = "k" > raise</ span > < span class = "ne" > ValueError</ span >< span class = "p" > (</ span >< span class = "n" > msg</ span >< span class = "p" > )</ span >
2026-06-12 16:32:35 +00:00
< a id = "__codelineno-0-1543" name = "__codelineno-0-1543" ></ a > < span class = "k" > if</ span > < span class = "ow" > not</ span > < span class = "n" > timeframes</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1544" name = "__codelineno-0-1544" ></ a > < span class = "n" > msg</ span > < span class = "o" > =</ span > < span class = "s2" > " At least one timeframe is required." </ span >
< a id = "__codelineno-0-1545" name = "__codelineno-0-1545" ></ a > < span class = "k" > raise</ span > < span class = "ne" > ValueError</ span >< span class = "p" > (</ span >< span class = "n" > msg</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1546" name = "__codelineno-0-1546" ></ a > < span class = "k" > if</ span > < span class = "nb" > any</ span >< span class = "p" > (</ span >< span class = "ow" > not</ span > < span class = "n" > account</ span >< span class = "o" > .</ span >< span class = "n" > symbols</ span > < span class = "k" > for</ span > < span class = "n" > account</ span > < span class = "ow" > in</ span > < span class = "n" > account_list</ span >< span class = "p" > ):</ span >
< a id = "__codelineno-0-1547" name = "__codelineno-0-1547" ></ a > < span class = "n" > msg</ span > < span class = "o" > =</ span > < span class = "s2" > " Each account requires at least one symbol." </ span >
< a id = "__codelineno-0-1548" name = "__codelineno-0-1548" ></ a > < span class = "k" > raise</ span > < span class = "ne" > ValueError</ span >< span class = "p" > (</ span >< span class = "n" > msg</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1549" name = "__codelineno-0-1549" ></ a > < span class = "n" > _require_positive</ span >< span class = "p" > (</ span >< span class = "n" > count</ span >< span class = "p" > ,</ span > < span class = "s2" > " count" </ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1550" name = "__codelineno-0-1550" ></ a > < span class = "n" > result</ span >< span class = "p" > :</ span > < span class = "nb" > dict</ span >< span class = "p" > [</ span >< span class = "nb" > tuple</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ,</ span > < span class = "nb" > int</ span >< span class = "p" > ],</ span > < span class = "n" > pd</ span >< span class = "o" > .</ span >< span class = "n" > DataFrame</ span >< span class = "p" > ]</ span > < span class = "o" > =</ span > < span class = "p" > {}</ span >
< a id = "__codelineno-0-1551" name = "__codelineno-0-1551" ></ a > < span class = "k" > for</ span > < span class = "n" > account</ span > < span class = "ow" > in</ span > < span class = "n" > account_list</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1552" name = "__codelineno-0-1552" ></ a > < span class = "n" > config</ span > < span class = "o" > =</ span > < span class = "n" > _build_account_config</ span >< span class = "p" > (</ span >< span class = "n" > account</ span >< span class = "p" > ,</ span > < span class = "n" > base_config</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1553" name = "__codelineno-0-1553" ></ a > < span class = "k" > with</ span > < span class = "n" > Mt5CliClient</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span > < span class = "k" > as</ span > < span class = "n" > client</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1554" name = "__codelineno-0-1554" ></ a > < span class = "n" > result</ span >< span class = "o" > .</ span >< span class = "n" > update</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1555" name = "__codelineno-0-1555" ></ a > < span class = "n" > client</ span >< span class = "o" > .</ span >< span class = "n" > collect_latest_rates</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1556" name = "__codelineno-0-1556" ></ a > < span class = "n" > account</ span >< span class = "o" > .</ span >< span class = "n" > symbols</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1557" name = "__codelineno-0-1557" ></ a > < span class = "n" > timeframes</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1558" name = "__codelineno-0-1558" ></ a > < span class = "n" > count</ span >< span class = "o" > =</ span >< span class = "n" > count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1559" name = "__codelineno-0-1559" ></ a > < span class = "n" > start_pos</ span >< span class = "o" > =</ span >< span class = "n" > start_pos</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1560" name = "__codelineno-0-1560" ></ a > < span class = "p" > ),</ span >
< a id = "__codelineno-0-1561" name = "__codelineno-0-1561" ></ a > < span class = "p" > )</ span >
< a id = "__codelineno-0-1562" name = "__codelineno-0-1562" ></ a > < span class = "k" > return</ span > < span class = "n" > result</ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.collect_latest_rates_for_accounts_with_retries" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > collect_latest_rates_for_accounts_with_retries</ span >
< a href = "#mt5cli.sdk.collect_latest_rates_for_accounts_with_retries" 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" > collect_latest_rates_for_accounts_with_retries</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > accounts</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< a class = "autorefs autorefs-internal" title = "AccountSpec
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a ></ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > timeframes</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a > < span class = "n" > base_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-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" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-9" name = "__codelineno-0-9" href = "#__codelineno-0-9" ></ a > < span class = "n" > backoff_base</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "float" > float</ span ></ span > < span class = "o" > =</ span > < span class = "mf" > 2.0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-10" name = "__codelineno-0-10" href = "#__codelineno-0-10" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "dict" > dict</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "tuple" > tuple</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ],</ span > < span class = "n" >< span title = "pandas.DataFrame" > DataFrame</ span ></ span >< span class = "p" > ]</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Collect latest rates across accounts, retrying transient MT5 failures.</ p >
< p > Wraps :func:< code > collect_latest_rates_for_accounts</ code > with bounded exponential
backoff. Only < code > pdmt5.Mt5TradingError</ code > and < code > pdmt5.Mt5RuntimeError</ code > are
retried; other exceptions propagate immediately. The final failure is
re-raised once retries are exhausted.</ 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 > accounts</ code >
</ td >
< td >
< code >< span title = "collections.abc.Sequence" > Sequence</ span > [< a class = "autorefs autorefs-internal" title = "AccountSpec
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Account groups to read. Each must define at least one symbol.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > timeframes</ code >
</ td >
< td >
< code >< span title = "collections.abc.Sequence" > Sequence</ span > [< span title = "int" > int</ span > | < span title = "str" > str</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > MT5 timeframes as integers or names (for example < code > M1</ code > ).</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > count</ code >
</ td >
< td >
< code >< span title = "int" > int</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Number of most recent bars to read per symbol/timeframe.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > start_pos</ code >
</ td >
< td >
< code >< span title = "int" > int</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Initial bar position offset.</ p >
</ div >
</ td >
< td >
< code > 0</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > base_config</ code >
</ td >
< td >
< code >< span title = "pdmt5.Mt5Config" > Mt5Config</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Optional base configuration whose fields fill any value not
set on an individual account.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > retry_count</ code >
</ td >
< td >
< code >< span title = "int" > int</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Maximum number of retries after the first attempt. < code > 0</ code >
disables retries.</ p >
</ div >
</ td >
< td >
< code > 0</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > backoff_base</ code >
</ td >
< td >
< code >< span title = "float" > float</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Base for exponential backoff. The delay before retry
attempt < code > n</ code > (1-indexed) is < code > backoff_base ** n</ code > seconds.</ p >
</ div >
</ td >
< td >
< code > 2.0</ code >
</ 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 = "dict" > dict</ span > [< span title = "tuple" > tuple</ span > [< span title = "str" > str</ span > , < span title = "int" > int</ span > ], < span title = "pandas.DataFrame" > DataFrame</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Mapping keyed by < code > (symbol, timeframe_int)</ code > . Propagates < code > ValueError</ code ></ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code >< span title = "dict" > dict</ span > [< span title = "tuple" > tuple</ span > [< span title = "str" > str</ span > , < span title = "int" > int</ span > ], < span title = "pandas.DataFrame" > DataFrame</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > for invalid inputs (see :func:< code > collect_latest_rates_for_accounts</ code > ) and</ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code >< span title = "dict" > dict</ span > [< span title = "tuple" > tuple</ span > [< span title = "str" > str</ span > , < span title = "int" > int</ span > ], < span title = "pandas.DataFrame" > DataFrame</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > re-raises the last < code > pdmt5.Mt5TradingError</ code > or < code > pdmt5.Mt5RuntimeError</ code ></ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code >< span title = "dict" > dict</ span > [< span title = "tuple" > tuple</ span > [< span title = "str" > str</ span > , < span title = "int" > int</ span > ], < span title = "pandas.DataFrame" > DataFrame</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > once retries are exhausted.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1565" > 1565</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1566" > 1566</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1567" > 1567</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1568" > 1568</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1569" > 1569</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1570" > 1570</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1571" > 1571</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1572" > 1572</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1573" > 1573</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1574" > 1574</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1575" > 1575</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1576" > 1576</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1577" > 1577</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1578" > 1578</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1579" > 1579</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1580" > 1580</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1581" > 1581</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1582" > 1582</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1583" > 1583</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1584" > 1584</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1585" > 1585</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1586" > 1586</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1587" > 1587</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1588" > 1588</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1589" > 1589</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1590" > 1590</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1591" > 1591</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1592" > 1592</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1593" > 1593</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1594" > 1594</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1595" > 1595</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1596" > 1596</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1597" > 1597</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1598" > 1598</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1599" > 1599</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1600" > 1600</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1601" > 1601</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1602" > 1602</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1603" > 1603</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1604" > 1604</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1605" > 1605</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1606" > 1606</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1607" > 1607</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1608" > 1608</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1609" > 1609</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1610" > 1610</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1611" > 1611</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1612" > 1612</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1613" > 1613</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1614" > 1614</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1615" > 1615</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1565" name = "__codelineno-0-1565" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > collect_latest_rates_for_accounts_with_retries</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1566" name = "__codelineno-0-1566" ></ a > < span class = "n" > accounts</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "n" > AccountSpec</ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-1567" name = "__codelineno-0-1567" ></ a > < span class = "n" > timeframes</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-1568" name = "__codelineno-0-1568" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1569" name = "__codelineno-0-1569" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1570" name = "__codelineno-0-1570" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1571" name = "__codelineno-0-1571" ></ a > < span class = "n" > base_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-1572" name = "__codelineno-0-1572" ></ a > < span class = "n" > retry_count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1573" name = "__codelineno-0-1573" ></ a > < span class = "n" > backoff_base</ span >< span class = "p" > :</ span > < span class = "nb" > float</ span > < span class = "o" > =</ span > < span class = "mf" > 2.0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1574" name = "__codelineno-0-1574" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "nb" > dict</ span >< span class = "p" > [</ span >< span class = "nb" > tuple</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ,</ span > < span class = "nb" > int</ span >< span class = "p" > ],</ span > < span class = "n" > pd</ span >< span class = "o" > .</ span >< span class = "n" > DataFrame</ span >< span class = "p" > ]:</ span >
< a id = "__codelineno-0-1575" name = "__codelineno-0-1575" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Collect latest rates across accounts, retrying transient MT5 failures.</ span >
< a id = "__codelineno-0-1576" name = "__codelineno-0-1576" ></ a >
< a id = "__codelineno-0-1577" name = "__codelineno-0-1577" ></ a >< span class = "sd" > Wraps :func:`collect_latest_rates_for_accounts` with bounded exponential</ span >
< a id = "__codelineno-0-1578" name = "__codelineno-0-1578" ></ a >< span class = "sd" > backoff. Only ``pdmt5.Mt5TradingError`` and ``pdmt5.Mt5RuntimeError`` are</ span >
< a id = "__codelineno-0-1579" name = "__codelineno-0-1579" ></ a >< span class = "sd" > retried; other exceptions propagate immediately. The final failure is</ span >
< a id = "__codelineno-0-1580" name = "__codelineno-0-1580" ></ a >< span class = "sd" > re-raised once retries are exhausted.</ span >
< a id = "__codelineno-0-1581" name = "__codelineno-0-1581" ></ a >
< a id = "__codelineno-0-1582" name = "__codelineno-0-1582" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-1583" name = "__codelineno-0-1583" ></ a >< span class = "sd" > accounts: Account groups to read. Each must define at least one symbol.</ span >
< a id = "__codelineno-0-1584" name = "__codelineno-0-1584" ></ a >< span class = "sd" > timeframes: MT5 timeframes as integers or names (for example ``M1``).</ span >
< a id = "__codelineno-0-1585" name = "__codelineno-0-1585" ></ a >< span class = "sd" > count: Number of most recent bars to read per symbol/timeframe.</ span >
< a id = "__codelineno-0-1586" name = "__codelineno-0-1586" ></ a >< span class = "sd" > start_pos: Initial bar position offset.</ span >
< a id = "__codelineno-0-1587" name = "__codelineno-0-1587" ></ a >< span class = "sd" > base_config: Optional base configuration whose fields fill any value not</ span >
< a id = "__codelineno-0-1588" name = "__codelineno-0-1588" ></ a >< span class = "sd" > set on an individual account.</ span >
< a id = "__codelineno-0-1589" name = "__codelineno-0-1589" ></ a >< span class = "sd" > retry_count: Maximum number of retries after the first attempt. ``0``</ span >
< a id = "__codelineno-0-1590" name = "__codelineno-0-1590" ></ a >< span class = "sd" > disables retries.</ span >
< a id = "__codelineno-0-1591" name = "__codelineno-0-1591" ></ a >< span class = "sd" > backoff_base: Base for exponential backoff. The delay before retry</ span >
< a id = "__codelineno-0-1592" name = "__codelineno-0-1592" ></ a >< span class = "sd" > attempt ``n`` (1-indexed) is ``backoff_base ** n`` seconds.</ span >
< a id = "__codelineno-0-1593" name = "__codelineno-0-1593" ></ a >
< a id = "__codelineno-0-1594" name = "__codelineno-0-1594" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-1595" name = "__codelineno-0-1595" ></ a >< span class = "sd" > Mapping keyed by ``(symbol, timeframe_int)``. Propagates ``ValueError``</ span >
< a id = "__codelineno-0-1596" name = "__codelineno-0-1596" ></ a >< span class = "sd" > for invalid inputs (see :func:`collect_latest_rates_for_accounts`) and</ span >
< a id = "__codelineno-0-1597" name = "__codelineno-0-1597" ></ a >< span class = "sd" > re-raises the last ``pdmt5.Mt5TradingError`` or ``pdmt5.Mt5RuntimeError``</ span >
< a id = "__codelineno-0-1598" name = "__codelineno-0-1598" ></ a >< span class = "sd" > once retries are exhausted.</ span >
< a id = "__codelineno-0-1599" name = "__codelineno-0-1599" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-1600" name = "__codelineno-0-1600" ></ a >
< a id = "__codelineno-0-1601" name = "__codelineno-0-1601" ></ a > < span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > _collect</ span >< span class = "p" > ()</ span > < span class = "o" > -> </ span > < span class = "nb" > dict</ span >< span class = "p" > [</ span >< span class = "nb" > tuple</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ,</ span > < span class = "nb" > int</ span >< span class = "p" > ],</ span > < span class = "n" > pd</ span >< span class = "o" > .</ span >< span class = "n" > DataFrame</ span >< span class = "p" > ]:</ span >
< a id = "__codelineno-0-1602" name = "__codelineno-0-1602" ></ a > < span class = "k" > return</ span > < span class = "n" > collect_latest_rates_for_accounts</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1603" name = "__codelineno-0-1603" ></ a > < span class = "n" > accounts</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1604" name = "__codelineno-0-1604" ></ a > < span class = "n" > timeframes</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1605" name = "__codelineno-0-1605" ></ a > < span class = "n" > count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1606" name = "__codelineno-0-1606" ></ a > < span class = "n" > start_pos</ span >< span class = "o" > =</ span >< span class = "n" > start_pos</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1607" name = "__codelineno-0-1607" ></ a > < span class = "n" > base_config</ span >< span class = "o" > =</ span >< span class = "n" > base_config</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1608" name = "__codelineno-0-1608" ></ a > < span class = "p" > )</ span >
< a id = "__codelineno-0-1609" name = "__codelineno-0-1609" ></ a >
< a id = "__codelineno-0-1610" name = "__codelineno-0-1610" ></ a > < span class = "k" > return</ span > < span class = "n" > retry_with_backoff</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1611" name = "__codelineno-0-1611" ></ a > < span class = "n" > _collect</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1612" name = "__codelineno-0-1612" ></ a > < span class = "n" > retry_count</ span >< span class = "o" > =</ span >< span class = "n" > retry_count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1613" name = "__codelineno-0-1613" ></ a > < span class = "n" > backoff_base</ span >< span class = "o" > =</ span >< span class = "n" > backoff_base</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1614" name = "__codelineno-0-1614" ></ a > < span class = "n" > operation</ span >< span class = "o" > =</ span >< span class = "s2" > " Rate collection" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1615" name = "__codelineno-0-1615" ></ a > < span class = "p" > )</ span >
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.connected_client" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > connected_client</ span >
< a href = "#mt5cli.sdk.connected_client" 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" > connected_client</ 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 = "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" >< span title = "pdmt5.Mt5DataClient" > Mt5DataClient</ span ></ span >< span class = "p" > ]</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Initialize MT5, yield a connected client, and always shut down.</ 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 ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > MT5 connection configuration.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
</ tbody >
</ table >
< p >< span class = "doc-section-title" > Yields:</ span ></ p >
< table >
< thead >
< tr >
< th > Type</ th >
< th > Description</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code >< span title = "pdmt5.Mt5DataClient" > Mt5DataClient</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Connected < code > Mt5DataClient</ code > instance.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.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-323" > 323</ a ></ span >
< 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 ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-323" name = "__codelineno-0-323" ></ a >< span class = "nd" > @contextmanager</ span >
< a id = "__codelineno-0-324" name = "__codelineno-0-324" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > connected_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "p" > :</ span > < span class = "n" > Mt5Config</ span >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" > Iterator</ span >< span class = "p" > [</ span >< span class = "n" > Mt5DataClient</ span >< span class = "p" > ]:</ span >
< a id = "__codelineno-0-325" name = "__codelineno-0-325" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Initialize MT5, yield a connected client, and always shut down.</ span >
< a id = "__codelineno-0-326" name = "__codelineno-0-326" ></ a >
< a id = "__codelineno-0-327" name = "__codelineno-0-327" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-328" name = "__codelineno-0-328" ></ a >< span class = "sd" > config: MT5 connection configuration.</ span >
< a id = "__codelineno-0-329" name = "__codelineno-0-329" ></ a >
< a id = "__codelineno-0-330" name = "__codelineno-0-330" ></ a >< span class = "sd" > Yields:</ span >
< a id = "__codelineno-0-331" name = "__codelineno-0-331" ></ a >< span class = "sd" > Connected ``Mt5DataClient`` instance.</ span >
< a id = "__codelineno-0-332" name = "__codelineno-0-332" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-333" name = "__codelineno-0-333" ></ a > < span class = "n" > client</ span > < span class = "o" > =</ span > < span class = "n" > Mt5DataClient</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-334" name = "__codelineno-0-334" ></ a > < span class = "k" > try</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-335" name = "__codelineno-0-335" ></ a > < span class = "n" > client</ span >< span class = "o" > .</ span >< span class = "n" > initialize_and_login_mt5</ span >< span class = "p" > ()</ span >
< a id = "__codelineno-0-336" name = "__codelineno-0-336" ></ a > < span class = "k" > yield</ span > < span class = "n" > client</ span >
< a id = "__codelineno-0-337" name = "__codelineno-0-337" ></ a > < span class = "k" > finally</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-338" name = "__codelineno-0-338" ></ a > < span class = "n" > client</ span >< span class = "o" > .</ span >< span class = "n" > shutdown</ span >< span class = "p" > ()</ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.copy_rates_from" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > copy_rates_from</ span >
< a href = "#mt5cli.sdk.copy_rates_from" 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" > copy_rates_from</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ 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-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ a >< 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 > Return rates starting from a date.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1241" > 1241</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1242" > 1242</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1243" > 1243</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1244" > 1244</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1245" > 1245</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1246" > 1246</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1247" > 1247</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1248" > 1248</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1249" > 1249</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1250" > 1250</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1251" > 1251</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1252" > 1252</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1253" > 1253</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1254" > 1254</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1255" > 1255</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1241" name = "__codelineno-0-1241" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > copy_rates_from</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1242" name = "__codelineno-0-1242" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1243" name = "__codelineno-0-1243" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1244" name = "__codelineno-0-1244" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1245" name = "__codelineno-0-1245" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1246" name = "__codelineno-0-1246" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1247" name = "__codelineno-0-1247" ></ 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-1248" name = "__codelineno-0-1248" ></ a >< 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-1249" name = "__codelineno-0-1249" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return rates starting from a date.""" </ span >
< a id = "__codelineno-0-1250" name = "__codelineno-0-1250" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > copy_rates_from</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1251" name = "__codelineno-0-1251" ></ a > < span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1252" name = "__codelineno-0-1252" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1253" name = "__codelineno-0-1253" ></ a > < span class = "n" > date_from</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1254" name = "__codelineno-0-1254" ></ a > < span class = "n" > count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1255" name = "__codelineno-0-1255" ></ a > < span class = "p" > )</ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.copy_rates_from_pos" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > copy_rates_from_pos</ span >
< a href = "#mt5cli.sdk.copy_rates_from_pos" 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" > copy_rates_from_pos</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ 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-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ a >< 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 > Return rates starting from a bar position.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1258" > 1258</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1259" > 1259</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1260" > 1260</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1261" > 1261</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1262" > 1262</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1263" > 1263</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1264" > 1264</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1265" > 1265</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1266" > 1266</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1267" > 1267</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1268" > 1268</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1269" > 1269</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1270" > 1270</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1271" > 1271</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1272" > 1272</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1258" name = "__codelineno-0-1258" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > copy_rates_from_pos</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1259" name = "__codelineno-0-1259" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1260" name = "__codelineno-0-1260" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1261" name = "__codelineno-0-1261" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1262" name = "__codelineno-0-1262" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1263" name = "__codelineno-0-1263" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1264" name = "__codelineno-0-1264" ></ 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-1265" name = "__codelineno-0-1265" ></ a >< 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-1266" name = "__codelineno-0-1266" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return rates starting from a bar position.""" </ span >
< a id = "__codelineno-0-1267" name = "__codelineno-0-1267" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > copy_rates_from_pos</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1268" name = "__codelineno-0-1268" ></ a > < span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1269" name = "__codelineno-0-1269" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1270" name = "__codelineno-0-1270" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1271" name = "__codelineno-0-1271" ></ a > < span class = "n" > count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1272" name = "__codelineno-0-1272" ></ a > < span class = "p" > )</ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.copy_rates_range" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > copy_rates_range</ span >
< a href = "#mt5cli.sdk.copy_rates_range" 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" > copy_rates_range</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ 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-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ a >< 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 > Return rates for a date range.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1727" > 1727</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1728" > 1728</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1729" > 1729</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1730" > 1730</ a ></ span >
2026-06-11 14:23:26 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1731" > 1731</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1732" > 1732</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1733" > 1733</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1734" > 1734</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1735" > 1735</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1736" > 1736</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1737" > 1737</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1738" > 1738</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1739" > 1739</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1740" > 1740</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1741" > 1741</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1727" name = "__codelineno-0-1727" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > copy_rates_range</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1728" name = "__codelineno-0-1728" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1729" name = "__codelineno-0-1729" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1730" name = "__codelineno-0-1730" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1731" name = "__codelineno-0-1731" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1732" name = "__codelineno-0-1732" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1733" name = "__codelineno-0-1733" ></ 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-1734" name = "__codelineno-0-1734" ></ a >< 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-1735" name = "__codelineno-0-1735" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return rates for a date range.""" </ span >
< a id = "__codelineno-0-1736" name = "__codelineno-0-1736" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > copy_rates_range</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1737" name = "__codelineno-0-1737" ></ a > < span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1738" name = "__codelineno-0-1738" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1739" name = "__codelineno-0-1739" ></ a > < span class = "n" > date_from</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1740" name = "__codelineno-0-1740" ></ a > < span class = "n" > date_to</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1741" name = "__codelineno-0-1741" ></ a > < span class = "p" > )</ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.copy_ticks_from" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > copy_ticks_from</ span >
< a href = "#mt5cli.sdk.copy_ticks_from" 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" > copy_ticks_from</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > flags</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ 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-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ a >< 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 > Return ticks starting from a date.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1744" > 1744</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1745" > 1745</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1746" > 1746</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1747" > 1747</ a ></ span >
2026-06-11 14:23:26 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1748" > 1748</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1749" > 1749</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1750" > 1750</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1751" > 1751</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1752" > 1752</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1753" > 1753</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1754" > 1754</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1755" > 1755</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1756" > 1756</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1757" > 1757</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1758" > 1758</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1744" name = "__codelineno-0-1744" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > copy_ticks_from</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1745" name = "__codelineno-0-1745" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1746" name = "__codelineno-0-1746" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1747" name = "__codelineno-0-1747" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1748" name = "__codelineno-0-1748" ></ a > < span class = "n" > flags</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1749" name = "__codelineno-0-1749" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1750" name = "__codelineno-0-1750" ></ 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-1751" name = "__codelineno-0-1751" ></ a >< 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-1752" name = "__codelineno-0-1752" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return ticks starting from a date.""" </ span >
< a id = "__codelineno-0-1753" name = "__codelineno-0-1753" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > copy_ticks_from</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1754" name = "__codelineno-0-1754" ></ a > < span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1755" name = "__codelineno-0-1755" ></ a > < span class = "n" > date_from</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1756" name = "__codelineno-0-1756" ></ a > < span class = "n" > count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1757" name = "__codelineno-0-1757" ></ a > < span class = "n" > flags</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1758" name = "__codelineno-0-1758" ></ a > < span class = "p" > )</ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.copy_ticks_range" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > copy_ticks_range</ span >
< a href = "#mt5cli.sdk.copy_ticks_range" 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" > copy_ticks_range</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > flags</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ 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-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ a >< 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 > Return ticks for a date range.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1761" > 1761</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1762" > 1762</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1763" > 1763</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1764" > 1764</ a ></ span >
2026-06-11 14:23:26 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1765" > 1765</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1766" > 1766</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1767" > 1767</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1768" > 1768</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1769" > 1769</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1770" > 1770</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1771" > 1771</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1772" > 1772</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1773" > 1773</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1774" > 1774</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1775" > 1775</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1761" name = "__codelineno-0-1761" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > copy_ticks_range</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1762" name = "__codelineno-0-1762" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1763" name = "__codelineno-0-1763" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1764" name = "__codelineno-0-1764" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1765" name = "__codelineno-0-1765" ></ a > < span class = "n" > flags</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1766" name = "__codelineno-0-1766" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1767" name = "__codelineno-0-1767" ></ 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-1768" name = "__codelineno-0-1768" ></ a >< 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-1769" name = "__codelineno-0-1769" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return ticks for a date range.""" </ span >
< a id = "__codelineno-0-1770" name = "__codelineno-0-1770" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > copy_ticks_range</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1771" name = "__codelineno-0-1771" ></ a > < span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1772" name = "__codelineno-0-1772" ></ a > < span class = "n" > date_from</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1773" name = "__codelineno-0-1773" ></ a > < span class = "n" > date_to</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1774" name = "__codelineno-0-1774" ></ a > < span class = "n" > flags</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1775" name = "__codelineno-0-1775" ></ a > < span class = "p" > )</ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.history_deals" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > history_deals</ span >
< a href = "#mt5cli.sdk.history_deals" 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" > history_deals</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ 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-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ 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" > group</ 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-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > symbol</ 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" > ticket</ 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-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a > < span class = "n" > position</ 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 = "o" > *</ 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 = "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 > Return historical deals.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1857" > 1857</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1858" > 1858</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1859" > 1859</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1860" > 1860</ a ></ span >
2026-06-11 14:23:26 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1861" > 1861</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1862" > 1862</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1863" > 1863</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1864" > 1864</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1865" > 1865</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1866" > 1866</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1867" > 1867</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1868" > 1868</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1869" > 1869</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1870" > 1870</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1871" > 1871</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1872" > 1872</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1873" > 1873</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1874" > 1874</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1875" > 1875</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1857" name = "__codelineno-0-1857" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > history_deals</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1858" name = "__codelineno-0-1858" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ 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-1859" name = "__codelineno-0-1859" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ 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-1860" name = "__codelineno-0-1860" ></ a > < span class = "n" > group</ 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-1861" name = "__codelineno-0-1861" ></ a > < span class = "n" > symbol</ 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-1862" name = "__codelineno-0-1862" ></ a > < span class = "n" > ticket</ 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-1863" name = "__codelineno-0-1863" ></ a > < span class = "n" > position</ 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-1864" name = "__codelineno-0-1864" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1865" name = "__codelineno-0-1865" ></ 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-1866" name = "__codelineno-0-1866" ></ a >< 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-1867" name = "__codelineno-0-1867" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return historical deals.""" </ span >
< a id = "__codelineno-0-1868" name = "__codelineno-0-1868" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > history_deals</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1869" name = "__codelineno-0-1869" ></ a > < span class = "n" > date_from</ span >< span class = "o" > =</ span >< span class = "n" > date_from</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1870" name = "__codelineno-0-1870" ></ a > < span class = "n" > date_to</ span >< span class = "o" > =</ span >< span class = "n" > date_to</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1871" name = "__codelineno-0-1871" ></ a > < span class = "n" > group</ span >< span class = "o" > =</ span >< span class = "n" > group</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1872" name = "__codelineno-0-1872" ></ a > < span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1873" name = "__codelineno-0-1873" ></ a > < span class = "n" > ticket</ span >< span class = "o" > =</ span >< span class = "n" > ticket</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1874" name = "__codelineno-0-1874" ></ a > < span class = "n" > position</ span >< span class = "o" > =</ span >< span class = "n" > position</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1875" name = "__codelineno-0-1875" ></ a > < span class = "p" > )</ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.history_orders" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > history_orders</ span >
< a href = "#mt5cli.sdk.history_orders" 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" > history_orders</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ 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-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ 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 >
2026-06-08 13:55:22 +00:00
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > group</ 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-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > symbol</ 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" > ticket</ 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-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a > < span class = "n" > position</ 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 = "o" > *</ 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 = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "pandas.DataFrame" > DataFrame</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
2026-06-09 15:15:52 +00:00
< p > Return historical orders.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1836" > 1836</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1837" > 1837</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1838" > 1838</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1839" > 1839</ a ></ span >
2026-06-11 14:23:26 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1840" > 1840</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1841" > 1841</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1842" > 1842</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1843" > 1843</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1844" > 1844</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1845" > 1845</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1846" > 1846</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1847" > 1847</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1848" > 1848</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1849" > 1849</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1850" > 1850</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1851" > 1851</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1852" > 1852</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1853" > 1853</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1854" > 1854</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1836" name = "__codelineno-0-1836" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > history_orders</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1837" name = "__codelineno-0-1837" ></ a > < span class = "n" > date_from</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ 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-1838" name = "__codelineno-0-1838" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ 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-1839" name = "__codelineno-0-1839" ></ a > < span class = "n" > group</ 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-1840" name = "__codelineno-0-1840" ></ a > < span class = "n" > symbol</ 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-1841" name = "__codelineno-0-1841" ></ a > < span class = "n" > ticket</ 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-1842" name = "__codelineno-0-1842" ></ a > < span class = "n" > position</ 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-1843" name = "__codelineno-0-1843" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1844" name = "__codelineno-0-1844" ></ 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-1845" name = "__codelineno-0-1845" ></ a >< 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-1846" name = "__codelineno-0-1846" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return historical orders.""" </ span >
< a id = "__codelineno-0-1847" name = "__codelineno-0-1847" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > history_orders</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1848" name = "__codelineno-0-1848" ></ a > < span class = "n" > date_from</ span >< span class = "o" > =</ span >< span class = "n" > date_from</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1849" name = "__codelineno-0-1849" ></ a > < span class = "n" > date_to</ span >< span class = "o" > =</ span >< span class = "n" > date_to</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1850" name = "__codelineno-0-1850" ></ a > < span class = "n" > group</ span >< span class = "o" > =</ span >< span class = "n" > group</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1851" name = "__codelineno-0-1851" ></ a > < span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1852" name = "__codelineno-0-1852" ></ a > < span class = "n" > ticket</ span >< span class = "o" > =</ span >< span class = "n" > ticket</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1853" name = "__codelineno-0-1853" ></ a > < span class = "n" > position</ span >< span class = "o" > =</ span >< span class = "n" > position</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1854" name = "__codelineno-0-1854" ></ a > < span class = "p" > )</ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.last_error" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > last_error</ span >
< a href = "#mt5cli.sdk.last_error" 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" > last_error</ span >< span class = "p" > (</ span >< span class = "o" > *</ span >< span class = "p" > ,</ span > < 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 > < span class = "o" > -> </ span > < span class = "n" >< span title = "pandas.DataFrame" > DataFrame</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Return the last error information.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1900" > 1900</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1901" > 1901</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1902" > 1902</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1900" name = "__codelineno-0-1900" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > last_error</ span >< span class = "p" > (</ span >< span class = "o" > *</ 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" > pd</ span >< span class = "o" > .</ span >< span class = "n" > DataFrame</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1901" name = "__codelineno-0-1901" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return the last error information.""" </ span >
< a id = "__codelineno-0-1902" name = "__codelineno-0-1902" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > last_error</ span >< span class = "p" > ()</ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.latest_rates" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > latest_rates</ span >
< a href = "#mt5cli.sdk.latest_rates" 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" > latest_rates</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ 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-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ a >< 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 > Return the latest rates from a bar position.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1275" > 1275</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1276" > 1276</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1277" > 1277</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1278" > 1278</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1279" > 1279</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1280" > 1280</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1281" > 1281</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1282" > 1282</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1283" > 1283</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1284" > 1284</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1285" > 1285</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1286" > 1286</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1287" > 1287</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1288" > 1288</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1289" > 1289</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1275" name = "__codelineno-0-1275" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > latest_rates</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1276" name = "__codelineno-0-1276" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1277" name = "__codelineno-0-1277" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1278" name = "__codelineno-0-1278" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1279" name = "__codelineno-0-1279" ></ a > < span class = "n" > start_pos</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1280" name = "__codelineno-0-1280" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1281" name = "__codelineno-0-1281" ></ 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-1282" name = "__codelineno-0-1282" ></ a >< 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-1283" name = "__codelineno-0-1283" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return the latest rates from a bar position.""" </ span >
< a id = "__codelineno-0-1284" name = "__codelineno-0-1284" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > latest_rates</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1285" name = "__codelineno-0-1285" ></ a > < span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1286" name = "__codelineno-0-1286" ></ a > < span class = "n" > timeframe</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1287" name = "__codelineno-0-1287" ></ a > < span class = "n" > count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1288" name = "__codelineno-0-1288" ></ a > < span class = "n" > start_pos</ span >< span class = "o" > =</ span >< span class = "n" > start_pos</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1289" name = "__codelineno-0-1289" ></ a > < span class = "p" > )</ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.market_book" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > market_book</ span >
< a href = "#mt5cli.sdk.market_book" 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" > market_book</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span > < span class = "o" > *</ span >< span class = "p" > ,</ span > < 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 >
< 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 = "pandas.DataFrame" > DataFrame</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Return market depth for a symbol.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1914" > 1914</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1915" > 1915</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1916" > 1916</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1917" > 1917</ a ></ span >
2026-06-11 14:23:26 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1918" > 1918</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1919" > 1919</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1920" > 1920</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1914" name = "__codelineno-0-1914" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > market_book</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1915" name = "__codelineno-0-1915" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1916" name = "__codelineno-0-1916" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1917" name = "__codelineno-0-1917" ></ 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-1918" name = "__codelineno-0-1918" ></ a >< 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-1919" name = "__codelineno-0-1919" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return market depth for a symbol.""" </ span >
< a id = "__codelineno-0-1920" name = "__codelineno-0-1920" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > market_book</ span >< span class = "p" > (</ span >< span class = "n" > symbol</ span >< span class = "p" > )</ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.minimum_margins" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > minimum_margins</ span >
< a href = "#mt5cli.sdk.minimum_margins" 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" > minimum_margins</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span > < span class = "o" > *</ span >< span class = "p" > ,</ span > < 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 >
< 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 = "pandas.DataFrame" > DataFrame</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Return minimum-volume buy and sell margin requirements.</ p >
< p > See < code > Mt5CliClient.minimum_margins</ code > for return details.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1945" > 1945</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1946" > 1946</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1947" > 1947</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1948" > 1948</ a ></ span >
2026-06-11 14:23:26 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1949" > 1949</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1950" > 1950</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1951" > 1951</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1952" > 1952</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1953" > 1953</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1954" > 1954</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1945" name = "__codelineno-0-1945" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > minimum_margins</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1946" name = "__codelineno-0-1946" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1947" name = "__codelineno-0-1947" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1948" name = "__codelineno-0-1948" ></ 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-1949" name = "__codelineno-0-1949" ></ a >< 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-1950" name = "__codelineno-0-1950" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return minimum-volume buy and sell margin requirements.</ span >
< a id = "__codelineno-0-1951" name = "__codelineno-0-1951" ></ a >
< a id = "__codelineno-0-1952" name = "__codelineno-0-1952" ></ a >< span class = "sd" > See ``Mt5CliClient.minimum_margins`` for return details.</ span >
< a id = "__codelineno-0-1953" name = "__codelineno-0-1953" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-1954" name = "__codelineno-0-1954" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > minimum_margins</ span >< span class = "p" > (</ span >< span class = "n" > symbol</ span >< span class = "p" > )</ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.mt5_session" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > mt5_session</ span >
< a href = "#mt5cli.sdk.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 = "Mt5CliClient (mt5cli.sdk.Mt5CliClient)" href = "#mt5cli.sdk.Mt5CliClient" > Mt5CliClient</ a ></ span >< span class = "p" > ]</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Open an MT5 terminal session and yield a connected client.</ p >
< p > Launches the MetaTrader 5 terminal using < code > Mt5Config.path</ code > (when set),
logs in, yields a connected :class:< code > Mt5CliClient</ code > , and always shuts the
terminal down on exit.</ 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 > Type</ th >
< th > Description</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code >< a class = "autorefs autorefs-internal" title = "Mt5CliClient (mt5cli.sdk.Mt5CliClient)" href = "#mt5cli.sdk.Mt5CliClient" > Mt5CliClient</ a ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Connected < code > Mt5CliClient</ code > bound to the session.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-358" > 358</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-359" > 359</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-360" > 360</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-361" > 361</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-362" > 362</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-363" > 363</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-364" > 364</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-365" > 365</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-366" > 366</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-367" > 367</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-368" > 368</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-369" > 369</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-370" > 370</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-371" > 371</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-372" > 372</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-373" > 373</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-374" > 374</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-375" > 375</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-358" name = "__codelineno-0-358" ></ a >< span class = "nd" > @contextmanager</ span >
< a id = "__codelineno-0-359" name = "__codelineno-0-359" ></ 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" > Mt5CliClient</ span >< span class = "p" > ]:</ span >
< a id = "__codelineno-0-360" name = "__codelineno-0-360" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Open an MT5 terminal session and yield a connected client.</ span >
< a id = "__codelineno-0-361" name = "__codelineno-0-361" ></ a >
< a id = "__codelineno-0-362" name = "__codelineno-0-362" ></ a >< span class = "sd" > Launches the MetaTrader 5 terminal using ``Mt5Config.path`` (when set),</ span >
< a id = "__codelineno-0-363" name = "__codelineno-0-363" ></ a >< span class = "sd" > logs in, yields a connected :class:`Mt5CliClient`, and always shuts the</ span >
< a id = "__codelineno-0-364" name = "__codelineno-0-364" ></ a >< span class = "sd" > terminal down on exit.</ span >
< a id = "__codelineno-0-365" name = "__codelineno-0-365" ></ a >
< a id = "__codelineno-0-366" name = "__codelineno-0-366" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-367" name = "__codelineno-0-367" ></ a >< span class = "sd" > config: MT5 connection configuration. Defaults to an empty config that</ span >
< a id = "__codelineno-0-368" name = "__codelineno-0-368" ></ a >< span class = "sd" > attaches to a running terminal.</ span >
< a id = "__codelineno-0-369" name = "__codelineno-0-369" ></ a >
< a id = "__codelineno-0-370" name = "__codelineno-0-370" ></ a >< span class = "sd" > Yields:</ span >
< a id = "__codelineno-0-371" name = "__codelineno-0-371" ></ a >< span class = "sd" > Connected ``Mt5CliClient`` bound to the session.</ span >
< a id = "__codelineno-0-372" name = "__codelineno-0-372" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-373" name = "__codelineno-0-373" ></ 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-374" name = "__codelineno-0-374" ></ 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-375" name = "__codelineno-0-375" ></ a > < span class = "k" > yield</ span > < span class = "n" > Mt5CliClient</ 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 >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.mt5_summary" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > mt5_summary</ span >
< a href = "#mt5cli.sdk.mt5_summary" 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_summary</ 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 > < 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 >
< 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 = "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 = "object" > object</ span ></ span >< span class = "p" > ]</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Return a compact terminal/account status summary.</ p >
2026-06-08 13:55:22 +00:00
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1957" > 1957</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1958" > 1958</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1959" > 1959</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1957" name = "__codelineno-0-1957" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > mt5_summary</ span >< span class = "p" > (</ span >< span class = "o" > *</ 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 = "nb" > dict</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ,</ span > < span class = "nb" > object</ span >< span class = "p" > ]:</ span >
< a id = "__codelineno-0-1958" name = "__codelineno-0-1958" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return a compact terminal/account status summary.""" </ span >
< a id = "__codelineno-0-1959" name = "__codelineno-0-1959" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > mt5_summary</ span >< span class = "p" > ()</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
2026-06-09 15:15:52 +00:00
< h3 id = "mt5cli.sdk.mt5_summary_as_df" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > mt5_summary_as_df</ span >
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +00:00
< a href = "#mt5cli.sdk.mt5_summary_as_df" 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_summary_as_df</ 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 > < 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 >
< 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 = "pandas.DataFrame" > DataFrame</ span ></ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
2026-06-09 15:15:52 +00:00
< p > Return an export-safe terminal/account status summary DataFrame.</ p >
2026-06-09 02:27:54 +00:00
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1962" > 1962</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1963" > 1963</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1964" > 1964</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1962" name = "__codelineno-0-1962" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > mt5_summary_as_df</ span >< span class = "p" > (</ span >< span class = "o" > *</ 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" > pd</ span >< span class = "o" > .</ span >< span class = "n" > DataFrame</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1963" name = "__codelineno-0-1963" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return an export-safe terminal/account status summary DataFrame.""" </ span >
< a id = "__codelineno-0-1964" name = "__codelineno-0-1964" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > mt5_summary_as_df</ span >< span class = "p" > ()</ span >
2026-06-09 02:27:54 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
2026-06-09 15:15:52 +00:00
< h3 id = "mt5cli.sdk.orders" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > orders</ span >
2026-06-09 02:27:54 +00:00
2026-06-09 15:15:52 +00:00
< a href = "#mt5cli.sdk.orders" 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" > orders</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ 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-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > group</ 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" > ticket</ 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 = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ 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-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "pandas.DataFrame" > DataFrame</ span ></ span >
2026-06-09 02:27:54 +00:00
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
2026-06-09 15:15:52 +00:00
< p > Return active orders.</ p >
2026-06-09 02:27:54 +00:00
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1806" > 1806</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1807" > 1807</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1808" > 1808</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1809" > 1809</ a ></ span >
2026-06-11 14:23:26 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1810" > 1810</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1811" > 1811</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1812" > 1812</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1813" > 1813</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1814" > 1814</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1815" > 1815</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1816" > 1816</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1817" > 1817</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1818" > 1818</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1806" name = "__codelineno-0-1806" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > orders</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1807" name = "__codelineno-0-1807" ></ a > < span class = "n" > symbol</ 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-1808" name = "__codelineno-0-1808" ></ a > < span class = "n" > group</ 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-1809" name = "__codelineno-0-1809" ></ a > < span class = "n" > ticket</ 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-1810" name = "__codelineno-0-1810" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1811" name = "__codelineno-0-1811" ></ 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-1812" name = "__codelineno-0-1812" ></ a >< 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-1813" name = "__codelineno-0-1813" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return active orders.""" </ span >
< a id = "__codelineno-0-1814" name = "__codelineno-0-1814" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > orders</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1815" name = "__codelineno-0-1815" ></ a > < span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1816" name = "__codelineno-0-1816" ></ a > < span class = "n" > group</ span >< span class = "o" > =</ span >< span class = "n" > group</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1817" name = "__codelineno-0-1817" ></ a > < span class = "n" > ticket</ span >< span class = "o" > =</ span >< span class = "n" > ticket</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1818" name = "__codelineno-0-1818" ></ a > < span class = "p" > )</ span >
2026-06-09 02:27:54 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
2026-06-09 15:15:52 +00:00
< h3 id = "mt5cli.sdk.positions" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > positions</ span >
2026-06-09 02:27:54 +00:00
2026-06-09 15:15:52 +00:00
< a href = "#mt5cli.sdk.positions" 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" > positions</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ 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-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > group</ 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" > ticket</ 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 = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ 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-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "pandas.DataFrame" > DataFrame</ span ></ span >
2026-06-09 02:27:54 +00:00
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
2026-06-09 15:15:52 +00:00
< p > Return open positions.</ p >
2026-06-09 02:27:54 +00:00
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1821" > 1821</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1822" > 1822</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1823" > 1823</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1824" > 1824</ a ></ span >
2026-06-11 14:23:26 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1825" > 1825</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1826" > 1826</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1827" > 1827</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1828" > 1828</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1829" > 1829</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1830" > 1830</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1831" > 1831</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1832" > 1832</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1833" > 1833</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1821" name = "__codelineno-0-1821" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > positions</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1822" name = "__codelineno-0-1822" ></ a > < span class = "n" > symbol</ 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-1823" name = "__codelineno-0-1823" ></ a > < span class = "n" > group</ 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-1824" name = "__codelineno-0-1824" ></ a > < span class = "n" > ticket</ 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-1825" name = "__codelineno-0-1825" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1826" name = "__codelineno-0-1826" ></ 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-1827" name = "__codelineno-0-1827" ></ a >< 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-1828" name = "__codelineno-0-1828" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return open positions.""" </ span >
< a id = "__codelineno-0-1829" name = "__codelineno-0-1829" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > positions</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1830" name = "__codelineno-0-1830" ></ a > < span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1831" name = "__codelineno-0-1831" ></ a > < span class = "n" > group</ span >< span class = "o" > =</ span >< span class = "n" > group</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1832" name = "__codelineno-0-1832" ></ a > < span class = "n" > ticket</ span >< span class = "o" > =</ span >< span class = "n" > ticket</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1833" name = "__codelineno-0-1833" ></ a > < span class = "p" > )</ span >
2026-06-09 02:27:54 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
2026-06-09 15:15:52 +00:00
< h3 id = "mt5cli.sdk.recent_history_deals" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > recent_history_deals</ span >
2026-06-09 02:27:54 +00:00
2026-06-09 15:15:52 +00:00
< a href = "#mt5cli.sdk.recent_history_deals" 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" > recent_history_deals</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > hours</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "float" > float</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ 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" > group</ 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-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > symbol</ 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 = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ 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-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "pandas.DataFrame" > DataFrame</ span ></ span >
2026-06-09 02:27:54 +00:00
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
2026-06-09 15:15:52 +00:00
< p > Return historical deals from a recent trailing window.</ p >
2026-06-08 13:55:22 +00:00
2026-06-11 10:33:27 +00:00
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1878" > 1878</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1879" > 1879</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1880" > 1880</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1881" > 1881</ a ></ span >
2026-06-11 14:23:26 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1882" > 1882</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1883" > 1883</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1884" > 1884</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1885" > 1885</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1886" > 1886</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1887" > 1887</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1888" > 1888</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1889" > 1889</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1890" > 1890</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1891" > 1891</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1892" > 1892</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1878" name = "__codelineno-0-1878" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > recent_history_deals</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1879" name = "__codelineno-0-1879" ></ a > < span class = "n" > hours</ span >< span class = "p" > :</ span > < span class = "nb" > float</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1880" name = "__codelineno-0-1880" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ 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-1881" name = "__codelineno-0-1881" ></ a > < span class = "n" > group</ 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-1882" name = "__codelineno-0-1882" ></ a > < span class = "n" > symbol</ 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-1883" name = "__codelineno-0-1883" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1884" name = "__codelineno-0-1884" ></ 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-1885" name = "__codelineno-0-1885" ></ a >< 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-1886" name = "__codelineno-0-1886" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return historical deals from a recent trailing window.""" </ span >
< a id = "__codelineno-0-1887" name = "__codelineno-0-1887" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > recent_history_deals</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1888" name = "__codelineno-0-1888" ></ a > < span class = "n" > hours</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1889" name = "__codelineno-0-1889" ></ a > < span class = "n" > date_to</ span >< span class = "o" > =</ span >< span class = "n" > date_to</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1890" name = "__codelineno-0-1890" ></ a > < span class = "n" > group</ span >< span class = "o" > =</ span >< span class = "n" > group</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1891" name = "__codelineno-0-1891" ></ a > < span class = "n" > symbol</ span >< span class = "o" > =</ span >< span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1892" name = "__codelineno-0-1892" ></ a > < span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
2026-06-09 15:15:52 +00:00
< h3 id = "mt5cli.sdk.recent_ticks" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > recent_ticks</ span >
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +00:00
< a href = "#mt5cli.sdk.recent_ticks" 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" > recent_ticks</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "n" > seconds</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "float" > float</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ 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" > count</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > =</ span > < span class = "mi" > 10000</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a > < span class = "n" > flags</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span > < span class = "o" > =</ span > < span class = "s2" > " ALL" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ 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-9" name = "__codelineno-0-9" href = "#__codelineno-0-9" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "pandas.DataFrame" > DataFrame</ span ></ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
2026-06-09 15:15:52 +00:00
< p > Return ticks from a recent time window ending at < code > date_to</ code > or now.</ p >
< p > See < code > Mt5CliClient.recent_ticks</ code > for parameter and return details.</ p >
2026-06-08 13:55:22 +00:00
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1923" > 1923</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1924" > 1924</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1925" > 1925</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1926" > 1926</ a ></ span >
2026-06-11 14:23:26 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1927" > 1927</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1928" > 1928</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1929" > 1929</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1930" > 1930</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1931" > 1931</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1932" > 1932</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1933" > 1933</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1934" > 1934</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1935" > 1935</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1936" > 1936</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1937" > 1937</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1938" > 1938</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1939" > 1939</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1940" > 1940</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1941" > 1941</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1942" > 1942</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1923" name = "__codelineno-0-1923" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > recent_ticks</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1924" name = "__codelineno-0-1924" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1925" name = "__codelineno-0-1925" ></ a > < span class = "n" > seconds</ span >< span class = "p" > :</ span > < span class = "nb" > float</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1926" name = "__codelineno-0-1926" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1927" name = "__codelineno-0-1927" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ 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-1928" name = "__codelineno-0-1928" ></ a > < span class = "n" > count</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > =</ span > < span class = "mi" > 10000</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1929" name = "__codelineno-0-1929" ></ a > < span class = "n" > flags</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span > < span class = "o" > =</ span > < span class = "s2" > " ALL" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1930" name = "__codelineno-0-1930" ></ 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-1931" name = "__codelineno-0-1931" ></ a >< 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-1932" name = "__codelineno-0-1932" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return ticks from a recent time window ending at ``date_to`` or now.</ span >
< a id = "__codelineno-0-1933" name = "__codelineno-0-1933" ></ a >
< a id = "__codelineno-0-1934" name = "__codelineno-0-1934" ></ a >< span class = "sd" > See ``Mt5CliClient.recent_ticks`` for parameter and return details.</ span >
< a id = "__codelineno-0-1935" name = "__codelineno-0-1935" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-1936" name = "__codelineno-0-1936" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > recent_ticks</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1937" name = "__codelineno-0-1937" ></ a > < span class = "n" > symbol</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1938" name = "__codelineno-0-1938" ></ a > < span class = "n" > seconds</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1939" name = "__codelineno-0-1939" ></ a > < span class = "n" > date_to</ span >< span class = "o" > =</ span >< span class = "n" > date_to</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1940" name = "__codelineno-0-1940" ></ a > < span class = "n" > count</ span >< span class = "o" > =</ span >< span class = "n" > count</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1941" name = "__codelineno-0-1941" ></ a > < span class = "n" > flags</ span >< span class = "o" > =</ span >< span class = "n" > flags</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1942" name = "__codelineno-0-1942" ></ a > < span class = "p" > )</ span >
2026-06-09 06:37:58 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
2026-06-09 15:15:52 +00:00
< h3 id = "mt5cli.sdk.resolve_account_spec" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > resolve_account_spec</ span >
2026-06-09 06:37:58 +00:00
2026-06-09 15:15:52 +00:00
< a href = "#mt5cli.sdk.resolve_account_spec" 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" > resolve_account_spec</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > account</ span >< span class = "p" > :</ span > < span class = "n" >< a class = "autorefs autorefs-internal" title = "AccountSpec
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "o" > *</ 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 = "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-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" > 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-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ 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-9" name = "__codelineno-0-9" href = "#__codelineno-0-9" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< a class = "autorefs autorefs-internal" title = "AccountSpec
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a ></ span >
2026-06-09 06:37:58 +00:00
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
2026-06-09 15:15:52 +00:00
< p > Resolve an account's credentials from overrides and < code > ${ENV_VAR}</ code > values.</ p >
< p > Explicit override arguments take precedence over the corresponding
:class:< code > AccountSpec</ code > fields. The resolved string fields (< code > login</ code > ,
< code > password</ code > , < code > server</ code > , < code > path</ code > ) have any < code > ${ENV_VAR}</ code > placeholders
substituted from the environment.</ p >
2026-06-09 06:37:58 +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 >
2026-06-09 15:15:52 +00:00
< code > account</ code >
</ td >
< td >
< code >< a class = "autorefs autorefs-internal" title = "AccountSpec
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Source account specification.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > login</ code >
</ td >
< td >
< code >< span title = "int" > int</ span > | < span title = "str" > str</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Optional explicit login override.</ 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 explicit password override.</ 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 explicit server override.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
< 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 explicit terminal path override.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > timeout</ code >
2026-06-09 06:37:58 +00:00
</ td >
< td >
2026-06-09 15:15:52 +00:00
< code >< span title = "int" > int</ span > | None</ code >
2026-06-09 06:37:58 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-09 15:15:52 +00:00
< p > Optional explicit connection timeout override.</ p >
2026-06-09 06:37:58 +00:00
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
</ tbody >
</ table >
2026-06-09 15:15:52 +00:00
< p >< span class = "doc-section-title" > Returns:</ span ></ p >
2026-06-09 06:37:58 +00:00
< table >
< thead >
< tr >
< th > Type</ th >
< th > Description</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
2026-06-09 15:15:52 +00:00
< code >< a class = "autorefs autorefs-internal" title = "AccountSpec
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a ></ code >
2026-06-09 06:37:58 +00:00
</ td >
< td >
< div class = "doc-md-description" >
2026-06-09 15:15:52 +00:00
< p > A new :class:< code > AccountSpec</ code > with resolved credentials and the original</ p >
2026-06-09 06:37:58 +00:00
</ div >
</ td >
</ tr >
2026-06-09 15:15:52 +00:00
< tr class = "doc-section-item" >
< td >
< code >< a class = "autorefs autorefs-internal" title = "AccountSpec
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +00:00
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > symbols preserved. Raises < code > ValueError</ code > (via</ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code >< a class = "autorefs autorefs-internal" title = "AccountSpec
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +00:00
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > func:< code > substitute_env_placeholders</ code > ) if a referenced environment</ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code >< a class = "autorefs autorefs-internal" title = "AccountSpec
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +00:00
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > variable is not set.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
2026-06-08 13:55:22 +00:00
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1393" > 1393</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1394" > 1394</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1395" > 1395</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1396" > 1396</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1397" > 1397</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1398" > 1398</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1399" > 1399</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1400" > 1400</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1401" > 1401</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1402" > 1402</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1403" > 1403</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1404" > 1404</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1405" > 1405</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1406" > 1406</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1407" > 1407</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1408" > 1408</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1409" > 1409</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1410" > 1410</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1411" > 1411</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1412" > 1412</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1413" > 1413</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1414" > 1414</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1415" > 1415</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1416" > 1416</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1417" > 1417</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1418" > 1418</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1419" > 1419</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1420" > 1420</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1421" > 1421</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1422" > 1422</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1423" > 1423</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1424" > 1424</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1425" > 1425</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1426" > 1426</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1427" > 1427</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1428" > 1428</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1429" > 1429</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1430" > 1430</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1393" name = "__codelineno-0-1393" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > resolve_account_spec</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1394" name = "__codelineno-0-1394" ></ a > < span class = "n" > account</ span >< span class = "p" > :</ span > < span class = "n" > AccountSpec</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1395" name = "__codelineno-0-1395" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1396" name = "__codelineno-0-1396" ></ a > < span class = "n" > login</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ 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-1397" name = "__codelineno-0-1397" ></ 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-1398" name = "__codelineno-0-1398" ></ 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-1399" name = "__codelineno-0-1399" ></ 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-1400" name = "__codelineno-0-1400" ></ 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-1401" name = "__codelineno-0-1401" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" > AccountSpec</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1402" name = "__codelineno-0-1402" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Resolve an account' s credentials from overrides and ``${ENV_VAR}`` values.</ span >
< a id = "__codelineno-0-1403" name = "__codelineno-0-1403" ></ a >
< a id = "__codelineno-0-1404" name = "__codelineno-0-1404" ></ a >< span class = "sd" > Explicit override arguments take precedence over the corresponding</ span >
< a id = "__codelineno-0-1405" name = "__codelineno-0-1405" ></ a >< span class = "sd" > :class:`AccountSpec` fields. The resolved string fields (``login``,</ span >
< a id = "__codelineno-0-1406" name = "__codelineno-0-1406" ></ a >< span class = "sd" > ``password``, ``server``, ``path``) have any ``${ENV_VAR}`` placeholders</ span >
< a id = "__codelineno-0-1407" name = "__codelineno-0-1407" ></ a >< span class = "sd" > substituted from the environment.</ span >
< a id = "__codelineno-0-1408" name = "__codelineno-0-1408" ></ a >
< a id = "__codelineno-0-1409" name = "__codelineno-0-1409" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-1410" name = "__codelineno-0-1410" ></ a >< span class = "sd" > account: Source account specification.</ span >
< a id = "__codelineno-0-1411" name = "__codelineno-0-1411" ></ a >< span class = "sd" > login: Optional explicit login override.</ span >
< a id = "__codelineno-0-1412" name = "__codelineno-0-1412" ></ a >< span class = "sd" > password: Optional explicit password override.</ span >
< a id = "__codelineno-0-1413" name = "__codelineno-0-1413" ></ a >< span class = "sd" > server: Optional explicit server override.</ span >
< a id = "__codelineno-0-1414" name = "__codelineno-0-1414" ></ a >< span class = "sd" > path: Optional explicit terminal path override.</ span >
< a id = "__codelineno-0-1415" name = "__codelineno-0-1415" ></ a >< span class = "sd" > timeout: Optional explicit connection timeout override.</ span >
< a id = "__codelineno-0-1416" name = "__codelineno-0-1416" ></ a >
< a id = "__codelineno-0-1417" name = "__codelineno-0-1417" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-1418" name = "__codelineno-0-1418" ></ a >< span class = "sd" > A new :class:`AccountSpec` with resolved credentials and the original</ span >
< a id = "__codelineno-0-1419" name = "__codelineno-0-1419" ></ a >< span class = "sd" > symbols preserved. Raises ``ValueError`` (via</ span >
< a id = "__codelineno-0-1420" name = "__codelineno-0-1420" ></ a >< span class = "sd" > :func:`substitute_env_placeholders`) if a referenced environment</ span >
< a id = "__codelineno-0-1421" name = "__codelineno-0-1421" ></ a >< span class = "sd" > variable is not set.</ span >
< a id = "__codelineno-0-1422" name = "__codelineno-0-1422" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-1423" name = "__codelineno-0-1423" ></ a > < span class = "k" > return</ span > < span class = "n" > AccountSpec</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1424" name = "__codelineno-0-1424" ></ a > < span class = "n" > symbols</ span >< span class = "o" > =</ span >< span class = "n" > account</ span >< span class = "o" > .</ span >< span class = "n" > symbols</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1425" name = "__codelineno-0-1425" ></ a > < span class = "n" > login</ span >< span class = "o" > =</ span >< span class = "n" > _resolve_login</ span >< span class = "p" > (</ span >< span class = "n" > login</ span >< span class = "p" > ,</ span > < span class = "n" > account</ span >< span class = "o" > .</ span >< span class = "n" > login</ span >< span class = "p" > ),</ span >
< a id = "__codelineno-0-1426" name = "__codelineno-0-1426" ></ a > < span class = "n" > password</ span >< span class = "o" > =</ span >< span class = "n" > _resolve_field</ span >< span class = "p" > (</ span >< span class = "n" > password</ span >< span class = "p" > ,</ span > < span class = "n" > account</ span >< span class = "o" > .</ span >< span class = "n" > password</ span >< span class = "p" > ),</ span >
< a id = "__codelineno-0-1427" name = "__codelineno-0-1427" ></ a > < span class = "n" > server</ span >< span class = "o" > =</ span >< span class = "n" > _resolve_field</ span >< span class = "p" > (</ span >< span class = "n" > server</ span >< span class = "p" > ,</ span > < span class = "n" > account</ span >< span class = "o" > .</ span >< span class = "n" > server</ span >< span class = "p" > ),</ span >
< a id = "__codelineno-0-1428" name = "__codelineno-0-1428" ></ a > < span class = "n" > path</ span >< span class = "o" > =</ span >< span class = "n" > _resolve_field</ span >< span class = "p" > (</ span >< span class = "n" > path</ span >< span class = "p" > ,</ span > < span class = "n" > account</ span >< span class = "o" > .</ span >< span class = "n" > path</ span >< span class = "p" > ),</ span >
< a id = "__codelineno-0-1429" name = "__codelineno-0-1429" ></ a > < span class = "n" > timeout</ span >< span class = "o" > =</ span >< span class = "n" > timeout</ span > < span class = "k" > if</ span > < span class = "n" > timeout</ span > < span class = "ow" > is</ span > < span class = "ow" > not</ span > < span class = "kc" > None</ span > < span class = "k" > else</ span > < span class = "n" > account</ span >< span class = "o" > .</ span >< span class = "n" > timeout</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1430" name = "__codelineno-0-1430" ></ a > < span class = "p" > )</ span >
2026-06-08 18:29:32 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
2026-06-09 15:15:52 +00:00
< h3 id = "mt5cli.sdk.resolve_account_specs" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > resolve_account_specs</ span >
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +00:00
< a href = "#mt5cli.sdk.resolve_account_specs" 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" > resolve_account_specs</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > accounts</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< a class = "autorefs autorefs-internal" title = "AccountSpec
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +00:00
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a ></ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "o" > *</ 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 = "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-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" > 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-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ 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-9" name = "__codelineno-0-9" href = "#__codelineno-0-9" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "list" > list</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< a class = "autorefs autorefs-internal" title = "AccountSpec
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +00:00
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a ></ span >< span class = "p" > ]</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
2026-06-09 15:15:52 +00:00
< p > Resolve credentials for multiple accounts.</ p >
< p > Applies the same overrides and < code > ${ENV_VAR}</ code > substitution as
:func:< code > resolve_account_spec</ code > to every account.</ p >
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +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 > accounts</ code >
</ td >
< td >
< code >< span title = "collections.abc.Sequence" > Sequence</ span > [< a class = "autorefs autorefs-internal" title = "AccountSpec
2026-06-08 13:55:22 +00:00
2026-06-09 15:15:52 +00:00
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Source account specifications.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > login</ code >
</ td >
< td >
< code >< span title = "int" > int</ span > | < span title = "str" > str</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Optional explicit login override applied to each account.</ 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 explicit password override applied to each account.</ 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 explicit server override applied to each account.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
< 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 explicit terminal path override applied to each account.</ 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 explicit timeout override applied to each account.</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
</ tbody >
</ table >
2026-06-09 02:27:54 +00:00
2026-06-09 15:15:52 +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 = "list" > list</ span > [< a class = "autorefs autorefs-internal" title = "AccountSpec
2026-06-09 02:27:54 +00:00
2026-06-09 15:15:52 +00:00
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Resolved account specifications in the original order. Raises</ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code >< span title = "list" > list</ span > [< a class = "autorefs autorefs-internal" title = "AccountSpec
2026-06-09 02:27:54 +00:00
2026-06-09 15:15:52 +00:00
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p >< code > ValueError</ code > (via :func:< code > substitute_env_placeholders</ code > ) if a referenced</ p >
</ div >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code >< span title = "list" > list</ span > [< a class = "autorefs autorefs-internal" title = "AccountSpec
2026-06-09 02:27:54 +00:00
2026-06-09 15:15:52 +00:00
dataclass
(mt5cli.sdk.AccountSpec)" href = "#mt5cli.sdk.AccountSpec" > AccountSpec</ a > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > environment variable is not set.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
2026-06-09 02:27:54 +00:00
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1433" > 1433</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1434" > 1434</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1435" > 1435</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1436" > 1436</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1437" > 1437</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1438" > 1438</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1439" > 1439</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1440" > 1440</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1441" > 1441</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1442" > 1442</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1443" > 1443</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1444" > 1444</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1445" > 1445</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1446" > 1446</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1447" > 1447</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1448" > 1448</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1449" > 1449</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1450" > 1450</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1451" > 1451</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1452" > 1452</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1453" > 1453</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1454" > 1454</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1455" > 1455</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1456" > 1456</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1457" > 1457</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1458" > 1458</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1459" > 1459</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1460" > 1460</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1461" > 1461</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1462" > 1462</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1463" > 1463</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1464" > 1464</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1465" > 1465</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1466" > 1466</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1467" > 1467</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1468" > 1468</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1469" > 1469</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1470" > 1470</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1433" name = "__codelineno-0-1433" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > resolve_account_specs</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1434" name = "__codelineno-0-1434" ></ a > < span class = "n" > accounts</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "n" > AccountSpec</ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-1435" name = "__codelineno-0-1435" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1436" name = "__codelineno-0-1436" ></ a > < span class = "n" > login</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ 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-1437" name = "__codelineno-0-1437" ></ 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-1438" name = "__codelineno-0-1438" ></ 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-1439" name = "__codelineno-0-1439" ></ 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-1440" name = "__codelineno-0-1440" ></ 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-1441" name = "__codelineno-0-1441" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "nb" > list</ span >< span class = "p" > [</ span >< span class = "n" > AccountSpec</ span >< span class = "p" > ]:</ span >
< a id = "__codelineno-0-1442" name = "__codelineno-0-1442" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Resolve credentials for multiple accounts.</ span >
< a id = "__codelineno-0-1443" name = "__codelineno-0-1443" ></ a >
< a id = "__codelineno-0-1444" name = "__codelineno-0-1444" ></ a >< span class = "sd" > Applies the same overrides and ``${ENV_VAR}`` substitution as</ span >
< a id = "__codelineno-0-1445" name = "__codelineno-0-1445" ></ a >< span class = "sd" > :func:`resolve_account_spec` to every account.</ span >
< a id = "__codelineno-0-1446" name = "__codelineno-0-1446" ></ a >
< a id = "__codelineno-0-1447" name = "__codelineno-0-1447" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-1448" name = "__codelineno-0-1448" ></ a >< span class = "sd" > accounts: Source account specifications.</ span >
< a id = "__codelineno-0-1449" name = "__codelineno-0-1449" ></ a >< span class = "sd" > login: Optional explicit login override applied to each account.</ span >
< a id = "__codelineno-0-1450" name = "__codelineno-0-1450" ></ a >< span class = "sd" > password: Optional explicit password override applied to each account.</ span >
< a id = "__codelineno-0-1451" name = "__codelineno-0-1451" ></ a >< span class = "sd" > server: Optional explicit server override applied to each account.</ span >
< a id = "__codelineno-0-1452" name = "__codelineno-0-1452" ></ a >< span class = "sd" > path: Optional explicit terminal path override applied to each account.</ span >
< a id = "__codelineno-0-1453" name = "__codelineno-0-1453" ></ a >< span class = "sd" > timeout: Optional explicit timeout override applied to each account.</ span >
< a id = "__codelineno-0-1454" name = "__codelineno-0-1454" ></ a >
< a id = "__codelineno-0-1455" name = "__codelineno-0-1455" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-1456" name = "__codelineno-0-1456" ></ a >< span class = "sd" > Resolved account specifications in the original order. Raises</ span >
< a id = "__codelineno-0-1457" name = "__codelineno-0-1457" ></ a >< span class = "sd" > ``ValueError`` (via :func:`substitute_env_placeholders`) if a referenced</ span >
< a id = "__codelineno-0-1458" name = "__codelineno-0-1458" ></ a >< span class = "sd" > environment variable is not set.</ span >
< a id = "__codelineno-0-1459" name = "__codelineno-0-1459" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-1460" name = "__codelineno-0-1460" ></ a > < span class = "k" > return</ span > < span class = "p" > [</ span >
< a id = "__codelineno-0-1461" name = "__codelineno-0-1461" ></ a > < span class = "n" > resolve_account_spec</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1462" name = "__codelineno-0-1462" ></ a > < span class = "n" > account</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1463" name = "__codelineno-0-1463" ></ a > < span class = "n" > login</ span >< span class = "o" > =</ span >< span class = "n" > login</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1464" name = "__codelineno-0-1464" ></ a > < span class = "n" > password</ span >< span class = "o" > =</ span >< span class = "n" > password</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1465" name = "__codelineno-0-1465" ></ a > < span class = "n" > server</ span >< span class = "o" > =</ span >< span class = "n" > server</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1466" name = "__codelineno-0-1466" ></ a > < span class = "n" > path</ span >< span class = "o" > =</ span >< span class = "n" > path</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1467" name = "__codelineno-0-1467" ></ a > < span class = "n" > timeout</ span >< span class = "o" > =</ span >< span class = "n" > timeout</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1468" name = "__codelineno-0-1468" ></ a > < span class = "p" > )</ span >
< a id = "__codelineno-0-1469" name = "__codelineno-0-1469" ></ a > < span class = "k" > for</ span > < span class = "n" > account</ span > < span class = "ow" > in</ span > < span class = "n" > accounts</ span >
< a id = "__codelineno-0-1470" name = "__codelineno-0-1470" ></ a > < span class = "p" > ]</ span >
2026-06-08 18:29:32 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
2026-06-09 15:15:52 +00:00
< h3 id = "mt5cli.sdk.substitute_env_placeholders" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > substitute_env_placeholders</ span >
2026-06-08 18:29:32 +00:00
2026-06-09 15:15:52 +00:00
< a href = "#mt5cli.sdk.substitute_env_placeholders" 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" > substitute_env_placeholders</ span >< span class = "p" > (</ span >< span class = "n" > value</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "n" >< span title = "str" > str</ span ></ span >
2026-06-08 18:29:32 +00:00
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
2026-06-09 15:15:52 +00:00
< p > Replace < code > ${ENV_VAR}</ code > placeholders in a string with environment values.</ 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 > value</ code >
</ td >
< td >
< code >< span title = "str" > str</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > String that may contain one or more < code > ${ENV_VAR}</ code > placeholders.</ 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 = "str" > str</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > The string with every placeholder replaced by its environment value.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
< p >< span class = "doc-section-title" > Raises:</ span ></ p >
< table >
< thead >
< tr >
< th > Type</ th >
< th > Description</ th >
</ tr >
</ thead >
< tbody >
< tr class = "doc-section-item" >
< td >
< code >< span title = "ValueError" > ValueError</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > If a referenced environment variable is not set.</ p >
</ div >
</ td >
</ tr >
</ tbody >
</ table >
2026-06-08 18:29:32 +00:00
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1334" > 1334</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1335" > 1335</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1336" > 1336</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1337" > 1337</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1338" > 1338</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1339" > 1339</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1340" > 1340</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1341" > 1341</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1342" > 1342</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1343" > 1343</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1344" > 1344</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1345" > 1345</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1346" > 1346</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1347" > 1347</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1348" > 1348</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1349" > 1349</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1350" > 1350</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1351" > 1351</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1352" > 1352</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1353" > 1353</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1354" > 1354</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1355" > 1355</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1356" > 1356</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1357" > 1357</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1334" name = "__codelineno-0-1334" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > substitute_env_placeholders</ span >< span class = "p" > (</ span >< span class = "n" > value</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "nb" > str</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1335" name = "__codelineno-0-1335" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Replace ``${ENV_VAR}`` placeholders in a string with environment values.</ span >
2026-06-12 14:15:10 +00:00
< a id = "__codelineno-0-1336" name = "__codelineno-0-1336" ></ a >
2026-06-12 16:32:35 +00:00
< a id = "__codelineno-0-1337" name = "__codelineno-0-1337" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-1338" name = "__codelineno-0-1338" ></ a >< span class = "sd" > value: String that may contain one or more ``${ENV_VAR}`` placeholders.</ span >
< a id = "__codelineno-0-1339" name = "__codelineno-0-1339" ></ a >
< a id = "__codelineno-0-1340" name = "__codelineno-0-1340" ></ a >< span class = "sd" > Returns:</ span >
< a id = "__codelineno-0-1341" name = "__codelineno-0-1341" ></ a >< span class = "sd" > The string with every placeholder replaced by its environment value.</ span >
< a id = "__codelineno-0-1342" name = "__codelineno-0-1342" ></ a >
< a id = "__codelineno-0-1343" name = "__codelineno-0-1343" ></ a >< span class = "sd" > Raises:</ span >
< a id = "__codelineno-0-1344" name = "__codelineno-0-1344" ></ a >< span class = "sd" > ValueError: If a referenced environment variable is not set.</ span >
< a id = "__codelineno-0-1345" name = "__codelineno-0-1345" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-1346" name = "__codelineno-0-1346" ></ a > < span class = "n" > parts</ span >< span class = "p" > :</ span > < span class = "nb" > list</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ]</ span > < span class = "o" > =</ span > < span class = "p" > []</ span >
< a id = "__codelineno-0-1347" name = "__codelineno-0-1347" ></ a > < span class = "n" > last_end</ span > < span class = "o" > =</ span > < span class = "mi" > 0</ span >
< a id = "__codelineno-0-1348" name = "__codelineno-0-1348" ></ a > < span class = "k" > for</ span > < span class = "n" > match</ span > < span class = "ow" > in</ span > < span class = "n" > _ENV_PLACEHOLDER_PATTERN</ span >< span class = "o" > .</ span >< span class = "n" > finditer</ span >< span class = "p" > (</ span >< span class = "n" > value</ span >< span class = "p" > ):</ span >
< a id = "__codelineno-0-1349" name = "__codelineno-0-1349" ></ a > < span class = "n" > parts</ span >< span class = "o" > .</ span >< span class = "n" > append</ span >< span class = "p" > (</ span >< span class = "n" > value</ span >< span class = "p" > [</ span >< span class = "n" > last_end</ span > < span class = "p" > :</ span > < span class = "n" > match</ span >< span class = "o" > .</ span >< span class = "n" > start</ span >< span class = "p" > ()])</ span >
< a id = "__codelineno-0-1350" name = "__codelineno-0-1350" ></ a > < span class = "n" > name</ span > < span class = "o" > =</ span > < span class = "n" > match</ span >< span class = "o" > .</ span >< span class = "n" > group</ span >< span class = "p" > (</ span >< span class = "s2" > " name" </ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1351" name = "__codelineno-0-1351" ></ a > < span class = "k" > if</ span > < span class = "n" > name</ span > < span class = "ow" > not</ span > < span class = "ow" > in</ span > < span class = "n" > os</ span >< span class = "o" > .</ span >< span class = "n" > environ</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1352" name = "__codelineno-0-1352" ></ a > < span class = "n" > msg</ span > < span class = "o" > =</ span > < span class = "sa" > f</ span >< span class = "s2" > " Environment variable </ span >< span class = "si" > {</ span >< span class = "n" > name</ span >< span class = "si" > !r}</ span >< span class = "s2" > is not set." </ span >
< a id = "__codelineno-0-1353" name = "__codelineno-0-1353" ></ a > < span class = "k" > raise</ span > < span class = "ne" > ValueError</ span >< span class = "p" > (</ span >< span class = "n" > msg</ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-1354" name = "__codelineno-0-1354" ></ a > < span class = "n" > parts</ span >< span class = "o" > .</ span >< span class = "n" > append</ span >< span class = "p" > (</ span >< span class = "n" > os</ span >< span class = "o" > .</ span >< span class = "n" > environ</ span >< span class = "p" > [</ span >< span class = "n" > name</ span >< span class = "p" > ])</ span >
< a id = "__codelineno-0-1355" name = "__codelineno-0-1355" ></ a > < span class = "n" > last_end</ span > < span class = "o" > =</ span > < span class = "n" > match</ span >< span class = "o" > .</ span >< span class = "n" > end</ span >< span class = "p" > ()</ span >
< a id = "__codelineno-0-1356" name = "__codelineno-0-1356" ></ a > < span class = "n" > parts</ span >< span class = "o" > .</ span >< span class = "n" > append</ span >< span class = "p" > (</ span >< span class = "n" > value</ span >< span class = "p" > [</ span >< span class = "n" > last_end</ span >< span class = "p" > :])</ span >
< a id = "__codelineno-0-1357" name = "__codelineno-0-1357" ></ a > < span class = "k" > return</ span > < span class = "s2" > "" </ span >< span class = "o" > .</ span >< span class = "n" > join</ span >< span class = "p" > (</ span >< span class = "n" > parts</ span >< span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.symbol_info" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > symbol_info</ span >
< a href = "#mt5cli.sdk.symbol_info" 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" > symbol_info</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span > < span class = "o" > *</ span >< span class = "p" > ,</ span > < 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 >
< 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 = "pandas.DataFrame" > DataFrame</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Return details for one symbol.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1797" > 1797</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1798" > 1798</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1799" > 1799</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1800" > 1800</ a ></ span >
2026-06-11 14:23:26 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1801" > 1801</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1802" > 1802</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1803" > 1803</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1797" name = "__codelineno-0-1797" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > symbol_info</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1798" name = "__codelineno-0-1798" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1799" name = "__codelineno-0-1799" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1800" name = "__codelineno-0-1800" ></ 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-1801" name = "__codelineno-0-1801" ></ a >< 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-1802" name = "__codelineno-0-1802" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return details for one symbol.""" </ span >
< a id = "__codelineno-0-1803" name = "__codelineno-0-1803" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > symbol_info</ span >< span class = "p" > (</ span >< span class = "n" > symbol</ span >< span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.symbol_info_tick" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > symbol_info_tick</ span >
< a href = "#mt5cli.sdk.symbol_info_tick" 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" > symbol_info_tick</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span > < span class = "o" > *</ span >< span class = "p" > ,</ span > < 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 >
< 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 = "pandas.DataFrame" > DataFrame</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Return the last tick for a symbol.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1905" > 1905</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1906" > 1906</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1907" > 1907</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1908" > 1908</ a ></ span >
2026-06-11 14:23:26 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1909" > 1909</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1910" > 1910</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1911" > 1911</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1905" name = "__codelineno-0-1905" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > symbol_info_tick</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1906" name = "__codelineno-0-1906" ></ a > < span class = "n" > symbol</ span >< span class = "p" > :</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1907" name = "__codelineno-0-1907" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1908" name = "__codelineno-0-1908" ></ 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-1909" name = "__codelineno-0-1909" ></ a >< 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-1910" name = "__codelineno-0-1910" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return the last tick for a symbol.""" </ span >
< a id = "__codelineno-0-1911" name = "__codelineno-0-1911" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > symbol_info_tick</ span >< span class = "p" > (</ span >< span class = "n" > symbol</ span >< span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.symbols" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > symbols</ span >
< a href = "#mt5cli.sdk.symbols" 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" > symbols</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > < span class = "n" > group</ 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-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ 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-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a >< 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 > Return the symbol list.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1788" > 1788</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1789" > 1789</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1790" > 1790</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1791" > 1791</ a ></ span >
2026-06-11 14:23:26 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1792" > 1792</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1793" > 1793</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1794" > 1794</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1788" name = "__codelineno-0-1788" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > symbols</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1789" name = "__codelineno-0-1789" ></ a > < span class = "n" > group</ 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-1790" name = "__codelineno-0-1790" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1791" name = "__codelineno-0-1791" ></ 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-1792" name = "__codelineno-0-1792" ></ a >< 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-1793" name = "__codelineno-0-1793" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return the symbol list.""" </ span >
< a id = "__codelineno-0-1794" name = "__codelineno-0-1794" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > symbols</ span >< span class = "p" > (</ span >< span class = "n" > group</ span >< span class = "o" > =</ span >< span class = "n" > group</ span >< span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.terminal_info" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > terminal_info</ span >
< a href = "#mt5cli.sdk.terminal_info" 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" > terminal_info</ 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 > < 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 >
< 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 = "pandas.DataFrame" > DataFrame</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Return terminal information.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1783" > 1783</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1784" > 1784</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1785" > 1785</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1783" name = "__codelineno-0-1783" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > terminal_info</ span >< span class = "p" > (</ span >< span class = "o" > *</ 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" > pd</ span >< span class = "o" > .</ span >< span class = "n" > DataFrame</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1784" name = "__codelineno-0-1784" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return terminal information.""" </ span >
< a id = "__codelineno-0-1785" name = "__codelineno-0-1785" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > terminal_info</ span >< span class = "p" > ()</ span >
2026-06-08 16:28:50 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.update_history" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > update_history</ span >
< a href = "#mt5cli.sdk.update_history" 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" > update_history</ 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" > client</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "pdmt5.Mt5DataClient" > Mt5DataClient</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > output</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "pathlib.Path" > Path</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > symbols</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "n" > datasets</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "set" > set</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< a class = "autorefs autorefs-internal" title = "Dataset (mt5cli.utils.Dataset)" href = "../utils/#mt5cli.utils.Dataset" > Dataset</ a ></ span >< span class = "p" > ]</ 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" > timeframes</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ]</ 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" > flags</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span > < span class = "o" > =</ span > < span class = "s2" > " ALL" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-9" name = "__codelineno-0-9" href = "#__codelineno-0-9" ></ a > < span class = "n" > lookback_hours</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "float" > float</ span ></ span > < span class = "o" > =</ span > < span class = "mf" > 24.0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-10" name = "__codelineno-0-10" href = "#__codelineno-0-10" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ 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-11" name = "__codelineno-0-11" href = "#__codelineno-0-11" ></ a > < span class = "n" > deduplicate</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "bool" > bool</ span ></ span > < span class = "o" > =</ span > < span class = "kc" > True</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-12" name = "__codelineno-0-12" href = "#__codelineno-0-12" ></ a > < span class = "n" > create_rate_views</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "bool" > bool</ span ></ span > < span class = "o" > =</ span > < span class = "kc" > True</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-13" name = "__codelineno-0-13" href = "#__codelineno-0-13" ></ a > < span class = "n" > with_views</ 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-14" name = "__codelineno-0-14" href = "#__codelineno-0-14" ></ a > < span class = "n" > include_account_events</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "bool" > bool</ span ></ span > < span class = "o" > =</ span > < span class = "kc" > True</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-15" name = "__codelineno-0-15" href = "#__codelineno-0-15" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "kc" > None</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Incrementally append MT5 history into a SQLite database.</ p >
< p > Uses an already-connected < code > Mt5DataClient</ code > and does not create or close
the MT5 connection. For first-time tables, data is fetched from
< code > date_to - lookback_hours</ code > . Subsequent runs resume from existing
< code > MAX(time)</ code > per symbol (and timeframe for rates); when
< code > include_account_events=True</ code > , account-level deals use a separate cursor
over < code > type NOT IN (0, 1)</ code > / empty-symbol rows.</ 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 > client</ code >
</ td >
< td >
< code >< span title = "pdmt5.Mt5DataClient" > Mt5DataClient</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Connected MT5 data client.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > output</ code >
</ td >
< td >
< code >< span title = "pathlib.Path" > Path</ span > | < span title = "str" > str</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > SQLite database path.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > symbols</ code >
</ td >
< td >
< code >< span title = "collections.abc.Sequence" > Sequence</ span > [< span title = "str" > str</ span > ]</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Symbols to update.</ p >
</ div >
</ td >
< td >
< em > required</ em >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > datasets</ code >
</ td >
< td >
< code >< span title = "set" > set</ span > [< a class = "autorefs autorefs-internal" title = "Dataset (mt5cli.utils.Dataset)" href = "../utils/#mt5cli.utils.Dataset" > Dataset</ a > ] | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Datasets to include (defaults to all).</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > timeframes</ code >
</ td >
< td >
< code >< span title = "collections.abc.Sequence" > Sequence</ span > [< span title = "int" > int</ span > | < span title = "str" > str</ span > ] | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Rate timeframes to update (defaults to all fixed MT5
timeframes when None).</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > flags</ code >
</ td >
< td >
< code >< span title = "int" > int</ span > | < span title = "str" > str</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Tick copy flags as integer or name (e.g. < code > ALL</ code > ).</ p >
</ div >
</ td >
< td >
< code > ' ALL' </ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > lookback_hours</ code >
</ td >
< td >
< code >< span title = "float" > float</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > First-run lookback when a table has no prior rows.</ p >
</ div >
</ td >
< td >
< code > 24.0</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > date_to</ code >
</ td >
< td >
< code >< span title = "datetime.datetime" > datetime</ span > | < span title = "str" > str</ span > | None</ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Optional update end datetime. Defaults to now (UTC).</ p >
</ div >
</ td >
< td >
< code > None</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > deduplicate</ code >
</ td >
< td >
< code >< span title = "bool" > bool</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Remove duplicate rows after append, keeping latest ROWID.</ p >
</ div >
</ td >
< td >
< code > True</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > create_rate_views</ code >
</ td >
< td >
< code >< span title = "bool" > bool</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Create < code > rate_< symbol> __< timeframe> </ code > views.</ p >
</ div >
</ td >
< td >
< code > True</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > with_views</ code >
</ td >
< td >
< code >< span title = "bool" > bool</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Create < code > cash_events</ code > and < code > positions_reconstructed</ code > views.</ p >
</ div >
</ td >
< td >
< code > False</ code >
</ td >
</ tr >
< tr class = "doc-section-item" >
< td >
< code > include_account_events</ code >
</ td >
< td >
< code >< span title = "bool" > bool</ span ></ code >
</ td >
< td >
< div class = "doc-md-description" >
< p > Include account-level cash events in
< code > history_deals</ code > when True.</ p >
</ div >
</ td >
< td >
< code > True</ code >
</ td >
</ tr >
</ tbody >
</ table >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-918" > 918</ a ></ span >
2026-06-09 15:15:52 +00:00
< span class = "normal" >< a href = "#__codelineno-0-919" > 919</ a ></ span >
2026-06-10 17:31:32 +00:00
< span class = "normal" >< a href = "#__codelineno-0-920" > 920</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-921" > 921</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-922" > 922</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-923" > 923</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-924" > 924</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-925" > 925</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-926" > 926</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-927" > 927</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-928" > 928</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-929" > 929</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-930" > 930</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-931" > 931</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-932" > 932</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-933" > 933</ a ></ span >
2026-06-09 02:27:54 +00:00
< span class = "normal" >< a href = "#__codelineno-0-934" > 934</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-935" > 935</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-936" > 936</ a ></ span >
2026-06-09 06:37:58 +00:00
< span class = "normal" >< a href = "#__codelineno-0-937" > 937</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-938" > 938</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-939" > 939</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-940" > 940</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-941" > 941</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-942" > 942</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-943" > 943</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-944" > 944</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-945" > 945</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-946" > 946</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-947" > 947</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-948" > 948</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-949" > 949</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-950" > 950</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-951" > 951</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-952" > 952</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-953" > 953</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-954" > 954</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-955" > 955</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-956" > 956</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-957" > 957</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-958" > 958</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-959" > 959</ a ></ span >
2026-06-09 15:15:52 +00:00
< span class = "normal" >< a href = "#__codelineno-0-960" > 960</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-961" > 961</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-962" > 962</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-963" > 963</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-964" > 964</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-965" > 965</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-966" > 966</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-967" > 967</ a ></ span >
2026-06-10 17:31:32 +00:00
< span class = "normal" >< a href = "#__codelineno-0-968" > 968</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-969" > 969</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-970" > 970</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-971" > 971</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-972" > 972</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-973" > 973</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-974" > 974</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-975" > 975</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-976" > 976</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-977" > 977</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-978" > 978</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-979" > 979</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-980" > 980</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-981" > 981</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-982" > 982</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-983" > 983</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-984" > 984</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-985" > 985</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-986" > 986</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-987" > 987</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-988" > 988</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-989" > 989</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-990" > 990</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-991" > 991</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-918" name = "__codelineno-0-918" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > update_history</ span >< span class = "p" > (</ span > < span class = "c1" > # noqa: PLR0913</ span >
< a id = "__codelineno-0-919" name = "__codelineno-0-919" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-920" name = "__codelineno-0-920" ></ a > < span class = "n" > client</ span >< span class = "p" > :</ span > < span class = "n" > Mt5DataClient</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-921" name = "__codelineno-0-921" ></ a > < span class = "n" > output</ span >< span class = "p" > :</ span > < span class = "n" > Path</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-922" name = "__codelineno-0-922" ></ a > < span class = "n" > symbols</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-923" name = "__codelineno-0-923" ></ a > < span class = "n" > datasets</ span >< span class = "p" > :</ span > < span class = "nb" > set</ span >< span class = "p" > [</ span >< span class = "n" > Dataset</ span >< span class = "p" > ]</ 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-924" name = "__codelineno-0-924" ></ a > < span class = "n" > timeframes</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ]</ 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-925" name = "__codelineno-0-925" ></ a > < span class = "n" > flags</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span > < span class = "o" > =</ span > < span class = "s2" > " ALL" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-926" name = "__codelineno-0-926" ></ a > < span class = "n" > lookback_hours</ span >< span class = "p" > :</ span > < span class = "nb" > float</ span > < span class = "o" > =</ span > < span class = "mf" > 24.0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-927" name = "__codelineno-0-927" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ 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-928" name = "__codelineno-0-928" ></ a > < span class = "n" > deduplicate</ span >< span class = "p" > :</ span > < span class = "nb" > bool</ span > < span class = "o" > =</ span > < span class = "kc" > True</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-929" name = "__codelineno-0-929" ></ a > < span class = "n" > create_rate_views</ span >< span class = "p" > :</ span > < span class = "nb" > bool</ span > < span class = "o" > =</ span > < span class = "kc" > True</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-930" name = "__codelineno-0-930" ></ a > < span class = "n" > with_views</ 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-931" name = "__codelineno-0-931" ></ a > < span class = "n" > include_account_events</ span >< span class = "p" > :</ span > < span class = "nb" > bool</ span > < span class = "o" > =</ span > < span class = "kc" > True</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-932" name = "__codelineno-0-932" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "kc" > None</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-933" name = "__codelineno-0-933" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Incrementally append MT5 history into a SQLite database.</ span >
< a id = "__codelineno-0-934" name = "__codelineno-0-934" ></ a >
< a id = "__codelineno-0-935" name = "__codelineno-0-935" ></ a >< span class = "sd" > Uses an already-connected ``Mt5DataClient`` and does not create or close</ span >
< a id = "__codelineno-0-936" name = "__codelineno-0-936" ></ a >< span class = "sd" > the MT5 connection. For first-time tables, data is fetched from</ span >
< a id = "__codelineno-0-937" name = "__codelineno-0-937" ></ a >< span class = "sd" > ``date_to - lookback_hours``. Subsequent runs resume from existing</ span >
< a id = "__codelineno-0-938" name = "__codelineno-0-938" ></ a >< span class = "sd" > ``MAX(time)`` per symbol (and timeframe for rates); when</ span >
< a id = "__codelineno-0-939" name = "__codelineno-0-939" ></ a >< span class = "sd" > ``include_account_events=True``, account-level deals use a separate cursor</ span >
< a id = "__codelineno-0-940" name = "__codelineno-0-940" ></ a >< span class = "sd" > over ``type NOT IN (0, 1)`` / empty-symbol rows.</ span >
< a id = "__codelineno-0-941" name = "__codelineno-0-941" ></ a >
< a id = "__codelineno-0-942" name = "__codelineno-0-942" ></ a >< span class = "sd" > Args:</ span >
< a id = "__codelineno-0-943" name = "__codelineno-0-943" ></ a >< span class = "sd" > client: Connected MT5 data client.</ span >
< a id = "__codelineno-0-944" name = "__codelineno-0-944" ></ a >< span class = "sd" > output: SQLite database path.</ span >
< a id = "__codelineno-0-945" name = "__codelineno-0-945" ></ a >< span class = "sd" > symbols: Symbols to update.</ span >
< a id = "__codelineno-0-946" name = "__codelineno-0-946" ></ a >< span class = "sd" > datasets: Datasets to include (defaults to all).</ span >
< a id = "__codelineno-0-947" name = "__codelineno-0-947" ></ a >< span class = "sd" > timeframes: Rate timeframes to update (defaults to all fixed MT5</ span >
< a id = "__codelineno-0-948" name = "__codelineno-0-948" ></ a >< span class = "sd" > timeframes when None).</ span >
< a id = "__codelineno-0-949" name = "__codelineno-0-949" ></ a >< span class = "sd" > flags: Tick copy flags as integer or name (e.g. ``ALL``).</ span >
< a id = "__codelineno-0-950" name = "__codelineno-0-950" ></ a >< span class = "sd" > lookback_hours: First-run lookback when a table has no prior rows.</ span >
< a id = "__codelineno-0-951" name = "__codelineno-0-951" ></ a >< span class = "sd" > date_to: Optional update end datetime. Defaults to now (UTC).</ span >
< a id = "__codelineno-0-952" name = "__codelineno-0-952" ></ a >< span class = "sd" > deduplicate: Remove duplicate rows after append, keeping latest ROWID.</ span >
< a id = "__codelineno-0-953" name = "__codelineno-0-953" ></ a >< span class = "sd" > create_rate_views: Create ``rate_< symbol> __< timeframe> `` views.</ span >
< a id = "__codelineno-0-954" name = "__codelineno-0-954" ></ a >< span class = "sd" > with_views: Create ``cash_events`` and ``positions_reconstructed`` views.</ span >
< a id = "__codelineno-0-955" name = "__codelineno-0-955" ></ a >< span class = "sd" > include_account_events: Include account-level cash events in</ span >
< a id = "__codelineno-0-956" name = "__codelineno-0-956" ></ a >< span class = "sd" > ``history_deals`` when True.</ span >
< a id = "__codelineno-0-957" name = "__codelineno-0-957" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-958" name = "__codelineno-0-958" ></ a > < span class = "n" > request</ span > < span class = "o" > =</ span > < span class = "n" > _resolve_update_history_request</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-959" name = "__codelineno-0-959" ></ a > < span class = "n" > output</ span >< span class = "o" > =</ span >< span class = "n" > output</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-960" name = "__codelineno-0-960" ></ a > < span class = "n" > symbols</ span >< span class = "o" > =</ span >< span class = "n" > symbols</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-961" name = "__codelineno-0-961" ></ a > < span class = "n" > datasets</ span >< span class = "o" > =</ span >< span class = "n" > datasets</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-962" name = "__codelineno-0-962" ></ a > < span class = "n" > timeframes</ span >< span class = "o" > =</ span >< span class = "n" > timeframes</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-963" name = "__codelineno-0-963" ></ a > < span class = "n" > flags</ span >< span class = "o" > =</ span >< span class = "n" > flags</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-964" name = "__codelineno-0-964" ></ a > < span class = "n" > lookback_hours</ span >< span class = "o" > =</ span >< span class = "n" > lookback_hours</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-965" name = "__codelineno-0-965" ></ a > < span class = "n" > date_to</ span >< span class = "o" > =</ span >< span class = "n" > date_to</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-966" name = "__codelineno-0-966" ></ a > < span class = "p" > )</ span >
< a id = "__codelineno-0-967" name = "__codelineno-0-967" ></ a > < span class = "k" > if</ span > < span class = "n" > request</ span > < span class = "ow" > is</ span > < span class = "kc" > None</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-968" name = "__codelineno-0-968" ></ a > < span class = "k" > return</ span >
< a id = "__codelineno-0-969" name = "__codelineno-0-969" ></ a > < span class = "n" > logger</ span >< span class = "o" > .</ span >< span class = "n" > info</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-970" name = "__codelineno-0-970" ></ a > < span class = "s2" > " Updating history in SQLite: symbols=</ span >< span class = "si" > %s</ span >< span class = "s2" > , datasets=</ span >< span class = "si" > %s</ span >< span class = "s2" > , path=</ span >< span class = "si" > %s</ span >< span class = "s2" > " </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-971" name = "__codelineno-0-971" ></ a > < span class = "nb" > list</ span >< span class = "p" > (</ span >< span class = "n" > symbols</ span >< span class = "p" > ),</ span >
< a id = "__codelineno-0-972" name = "__codelineno-0-972" ></ a > < span class = "nb" > sorted</ span >< span class = "p" > (</ span >< span class = "n" > dataset</ span >< span class = "o" > .</ span >< span class = "n" > value</ span > < span class = "k" > for</ span > < span class = "n" > dataset</ span > < span class = "ow" > in</ span > < span class = "n" > request</ span >< span class = "o" > .</ span >< span class = "n" > selected</ span >< span class = "p" > ),</ span >
< a id = "__codelineno-0-973" name = "__codelineno-0-973" ></ a > < span class = "n" > request</ span >< span class = "o" > .</ span >< span class = "n" > output_path</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-974" name = "__codelineno-0-974" ></ a > < span class = "p" > )</ span >
< a id = "__codelineno-0-975" name = "__codelineno-0-975" ></ a > < span class = "k" > with</ span > < span class = "n" > sqlite3</ span >< span class = "o" > .</ span >< span class = "n" > connect</ span >< span class = "p" > (</ span >< span class = "n" > request</ span >< span class = "o" > .</ span >< span class = "n" > output_path</ span >< span class = "p" > )</ span > < span class = "k" > as</ span > < span class = "n" > conn</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-976" name = "__codelineno-0-976" ></ a > < span class = "n" > conn</ span >< span class = "o" > .</ span >< span class = "n" > execute</ span >< span class = "p" > (</ span >< span class = "s2" > " PRAGMA journal_mode=WAL" </ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-977" name = "__codelineno-0-977" ></ a > < span class = "n" > conn</ span >< span class = "o" > .</ span >< span class = "n" > execute</ span >< span class = "p" > (</ span >< span class = "s2" > " PRAGMA synchronous=NORMAL" </ span >< span class = "p" > )</ span >
< a id = "__codelineno-0-978" name = "__codelineno-0-978" ></ a > < span class = "n" > write_incremental_datasets</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-979" name = "__codelineno-0-979" ></ a > < span class = "n" > conn</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-980" name = "__codelineno-0-980" ></ a > < span class = "n" > client</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-981" name = "__codelineno-0-981" ></ a > < span class = "n" > symbols</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-982" name = "__codelineno-0-982" ></ a > < span class = "n" > request</ span >< span class = "o" > .</ span >< span class = "n" > selected</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-983" name = "__codelineno-0-983" ></ a > < span class = "n" > request</ span >< span class = "o" > .</ span >< span class = "n" > resolved_timeframes</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-984" name = "__codelineno-0-984" ></ a > < span class = "n" > request</ span >< span class = "o" > .</ span >< span class = "n" > resolved_tick_flags</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-985" name = "__codelineno-0-985" ></ a > < span class = "n" > request</ span >< span class = "o" > .</ span >< span class = "n" > fallback_start</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-986" name = "__codelineno-0-986" ></ a > < span class = "n" > request</ span >< span class = "o" > .</ span >< span class = "n" > end</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-987" name = "__codelineno-0-987" ></ a > < span class = "n" > deduplicate</ span >< span class = "o" > =</ span >< span class = "n" > deduplicate</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-988" name = "__codelineno-0-988" ></ a > < span class = "n" > create_rate_views</ span >< span class = "o" > =</ span >< span class = "n" > create_rate_views</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-989" name = "__codelineno-0-989" ></ a > < span class = "n" > with_views</ span >< span class = "o" > =</ span >< span class = "n" > with_views</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-990" name = "__codelineno-0-990" ></ a > < span class = "n" > include_account_events</ span >< span class = "o" > =</ span >< span class = "n" > include_account_events</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-991" name = "__codelineno-0-991" ></ a > < span class = "p" > )</ span >
2026-06-11 10:33:27 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.update_history_with_config" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > update_history_with_config</ span >
< a href = "#mt5cli.sdk.update_history_with_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" > update_history_with_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" > output</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "pathlib.Path" > Path</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a > < span class = "n" > symbols</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ 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-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "n" > datasets</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "set" > set</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< a class = "autorefs autorefs-internal" title = "Dataset (mt5cli.utils.Dataset)" href = "../utils/#mt5cli.utils.Dataset" > Dataset</ a ></ span >< span class = "p" > ]</ 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" > timeframes</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "collections.abc.Sequence" > Sequence</ span ></ span >< span class = "p" > [</ span >< span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span >< span class = "p" > ]</ 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" > flags</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "int" > int</ span ></ span > < span class = "o" > |</ span > < span class = "n" >< span title = "str" > str</ span ></ span > < span class = "o" > =</ span > < span class = "s2" > " ALL" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-9" name = "__codelineno-0-9" href = "#__codelineno-0-9" ></ a > < span class = "n" > lookback_hours</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "float" > float</ span ></ span > < span class = "o" > =</ span > < span class = "mf" > 24.0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-10" name = "__codelineno-0-10" href = "#__codelineno-0-10" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "datetime.datetime" > datetime</ span ></ span > < span class = "o" > |</ 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-11" name = "__codelineno-0-11" href = "#__codelineno-0-11" ></ a > < span class = "n" > deduplicate</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "bool" > bool</ span ></ span > < span class = "o" > =</ span > < span class = "kc" > True</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-12" name = "__codelineno-0-12" href = "#__codelineno-0-12" ></ a > < span class = "n" > create_rate_views</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "bool" > bool</ span ></ span > < span class = "o" > =</ span > < span class = "kc" > True</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-13" name = "__codelineno-0-13" href = "#__codelineno-0-13" ></ a > < span class = "n" > with_views</ 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-14" name = "__codelineno-0-14" href = "#__codelineno-0-14" ></ a > < span class = "n" > include_account_events</ span >< span class = "p" > :</ span > < span class = "n" >< span title = "bool" > bool</ span ></ span > < span class = "o" > =</ span > < span class = "kc" > True</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-15" name = "__codelineno-0-15" href = "#__codelineno-0-15" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "kc" > None</ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Incrementally append MT5 history, opening and closing the MT5 connection.</ p >
< p > Convenience wrapper around :func:< code > update_history</ code > for standalone use.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-994" > 994</ a ></ span >
2026-06-11 10:33:27 +00:00
< span class = "normal" >< a href = "#__codelineno-0-995" > 995</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-996" > 996</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-997" > 997</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-998" > 998</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-999" > 999</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1000" > 1000</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1001" > 1001</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1002" > 1002</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1003" > 1003</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1004" > 1004</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1005" > 1005</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1006" > 1006</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1007" > 1007</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1008" > 1008</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1009" > 1009</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1010" > 1010</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1011" > 1011</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1012" > 1012</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1013" > 1013</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1014" > 1014</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1015" > 1015</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1016" > 1016</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1017" > 1017</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1018" > 1018</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1019" > 1019</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1020" > 1020</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1021" > 1021</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1022" > 1022</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1023" > 1023</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1024" > 1024</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1025" > 1025</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1026" > 1026</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1027" > 1027</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1028" > 1028</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1029" > 1029</ a ></ span >
2026-06-12 14:15:10 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1030" > 1030</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1031" > 1031</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1032" > 1032</ a ></ span >
2026-06-12 16:32:35 +00:00
< span class = "normal" >< a href = "#__codelineno-0-1033" > 1033</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1034" > 1034</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1035" > 1035</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1036" > 1036</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1037" > 1037</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1038" > 1038</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1039" > 1039</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-994" name = "__codelineno-0-994" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > update_history_with_config</ span >< span class = "p" > (</ span > < span class = "c1" > # noqa: PLR0913</ span >
< a id = "__codelineno-0-995" name = "__codelineno-0-995" ></ a > < span class = "o" > *</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-996" name = "__codelineno-0-996" ></ a > < span class = "n" > output</ span >< span class = "p" > :</ span > < span class = "n" > Path</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-997" name = "__codelineno-0-997" ></ a > < span class = "n" > symbols</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "nb" > str</ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-998" name = "__codelineno-0-998" ></ 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-999" name = "__codelineno-0-999" ></ a > < span class = "n" > datasets</ span >< span class = "p" > :</ span > < span class = "nb" > set</ span >< span class = "p" > [</ span >< span class = "n" > Dataset</ span >< span class = "p" > ]</ 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-1000" name = "__codelineno-0-1000" ></ a > < span class = "n" > timeframes</ span >< span class = "p" > :</ span > < span class = "n" > Sequence</ span >< span class = "p" > [</ span >< span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span >< span class = "p" > ]</ 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-1001" name = "__codelineno-0-1001" ></ a > < span class = "n" > flags</ span >< span class = "p" > :</ span > < span class = "nb" > int</ span > < span class = "o" > |</ span > < span class = "nb" > str</ span > < span class = "o" > =</ span > < span class = "s2" > " ALL" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1002" name = "__codelineno-0-1002" ></ a > < span class = "n" > lookback_hours</ span >< span class = "p" > :</ span > < span class = "nb" > float</ span > < span class = "o" > =</ span > < span class = "mf" > 24.0</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1003" name = "__codelineno-0-1003" ></ a > < span class = "n" > date_to</ span >< span class = "p" > :</ span > < span class = "n" > datetime</ span > < span class = "o" > |</ 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-1004" name = "__codelineno-0-1004" ></ a > < span class = "n" > deduplicate</ span >< span class = "p" > :</ span > < span class = "nb" > bool</ span > < span class = "o" > =</ span > < span class = "kc" > True</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1005" name = "__codelineno-0-1005" ></ a > < span class = "n" > create_rate_views</ span >< span class = "p" > :</ span > < span class = "nb" > bool</ span > < span class = "o" > =</ span > < span class = "kc" > True</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1006" name = "__codelineno-0-1006" ></ a > < span class = "n" > with_views</ 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-1007" name = "__codelineno-0-1007" ></ a > < span class = "n" > include_account_events</ span >< span class = "p" > :</ span > < span class = "nb" > bool</ span > < span class = "o" > =</ span > < span class = "kc" > True</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1008" name = "__codelineno-0-1008" ></ a >< span class = "p" > )</ span > < span class = "o" > -> </ span > < span class = "kc" > None</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1009" name = "__codelineno-0-1009" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Incrementally append MT5 history, opening and closing the MT5 connection.</ span >
< a id = "__codelineno-0-1010" name = "__codelineno-0-1010" ></ a >
< a id = "__codelineno-0-1011" name = "__codelineno-0-1011" ></ a >< span class = "sd" > Convenience wrapper around :func:`update_history` for standalone use.</ span >
< a id = "__codelineno-0-1012" name = "__codelineno-0-1012" ></ a >< span class = "sd" > """ </ span >
< a id = "__codelineno-0-1013" name = "__codelineno-0-1013" ></ a > < span class = "n" > request</ span > < span class = "o" > =</ span > < span class = "n" > _resolve_update_history_request</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1014" name = "__codelineno-0-1014" ></ a > < span class = "n" > output</ span >< span class = "o" > =</ span >< span class = "n" > output</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1015" name = "__codelineno-0-1015" ></ a > < span class = "n" > symbols</ span >< span class = "o" > =</ span >< span class = "n" > symbols</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1016" name = "__codelineno-0-1016" ></ a > < span class = "n" > datasets</ span >< span class = "o" > =</ span >< span class = "n" > datasets</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1017" name = "__codelineno-0-1017" ></ a > < span class = "n" > timeframes</ span >< span class = "o" > =</ span >< span class = "n" > timeframes</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1018" name = "__codelineno-0-1018" ></ a > < span class = "n" > flags</ span >< span class = "o" > =</ span >< span class = "n" > flags</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1019" name = "__codelineno-0-1019" ></ a > < span class = "n" > lookback_hours</ span >< span class = "o" > =</ span >< span class = "n" > lookback_hours</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1020" name = "__codelineno-0-1020" ></ a > < span class = "n" > date_to</ span >< span class = "o" > =</ span >< span class = "n" > date_to</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1021" name = "__codelineno-0-1021" ></ a > < span class = "p" > )</ span >
< a id = "__codelineno-0-1022" name = "__codelineno-0-1022" ></ a > < span class = "k" > if</ span > < span class = "n" > request</ span > < span class = "ow" > is</ span > < span class = "kc" > None</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1023" name = "__codelineno-0-1023" ></ a > < span class = "k" > return</ span >
< a id = "__codelineno-0-1024" name = "__codelineno-0-1024" ></ 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-1025" name = "__codelineno-0-1025" ></ 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-1026" name = "__codelineno-0-1026" ></ a > < span class = "n" > update_history</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-1027" name = "__codelineno-0-1027" ></ a > < span class = "n" > client</ span >< span class = "o" > =</ span >< span class = "n" > client</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1028" name = "__codelineno-0-1028" ></ a > < span class = "n" > output</ span >< span class = "o" > =</ span >< span class = "n" > output</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1029" name = "__codelineno-0-1029" ></ a > < span class = "n" > symbols</ span >< span class = "o" > =</ span >< span class = "n" > symbols</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1030" name = "__codelineno-0-1030" ></ a > < span class = "n" > datasets</ span >< span class = "o" > =</ span >< span class = "n" > datasets</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1031" name = "__codelineno-0-1031" ></ a > < span class = "n" > timeframes</ span >< span class = "o" > =</ span >< span class = "n" > timeframes</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1032" name = "__codelineno-0-1032" ></ a > < span class = "n" > flags</ span >< span class = "o" > =</ span >< span class = "n" > flags</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1033" name = "__codelineno-0-1033" ></ a > < span class = "n" > lookback_hours</ span >< span class = "o" > =</ span >< span class = "n" > lookback_hours</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1034" name = "__codelineno-0-1034" ></ a > < span class = "n" > date_to</ span >< span class = "o" > =</ span >< span class = "n" > date_to</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1035" name = "__codelineno-0-1035" ></ a > < span class = "n" > deduplicate</ span >< span class = "o" > =</ span >< span class = "n" > deduplicate</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1036" name = "__codelineno-0-1036" ></ a > < span class = "n" > create_rate_views</ span >< span class = "o" > =</ span >< span class = "n" > create_rate_views</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1037" name = "__codelineno-0-1037" ></ a > < span class = "n" > with_views</ span >< span class = "o" > =</ span >< span class = "n" > with_views</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1038" name = "__codelineno-0-1038" ></ a > < span class = "n" > include_account_events</ span >< span class = "o" > =</ span >< span class = "n" > include_account_events</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-1039" name = "__codelineno-0-1039" ></ a > < span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
< div class = "doc doc-object doc-function" >
< h3 id = "mt5cli.sdk.version" class = "doc doc-heading" >
< span class = "doc doc-object-name doc-function-name" > version</ span >
< a href = "#mt5cli.sdk.version" 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" > version</ span >< span class = "p" > (</ span >< span class = "o" > *</ span >< span class = "p" > ,</ span > < 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 > < span class = "o" > -> </ span > < span class = "n" >< span title = "pandas.DataFrame" > DataFrame</ span ></ span >
</ code ></ pre ></ div >
< div class = "doc doc-contents " >
< p > Return MetaTrader5 version information.</ p >
< details class = "mkdocstrings-source" >
< summary > Source code in < code > mt5cli/sdk.py</ code ></ summary >
2026-06-12 16:32:35 +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-1895" > 1895</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1896" > 1896</ a ></ span >
< span class = "normal" >< a href = "#__codelineno-0-1897" > 1897</ a ></ span ></ pre ></ div ></ td >< td class = "code" >< div >< pre >< span ></ span >< code >< a id = "__codelineno-0-1895" name = "__codelineno-0-1895" ></ a >< span class = "k" > def</ span >< span class = "w" > </ span >< span class = "nf" > version</ span >< span class = "p" > (</ span >< span class = "o" > *</ 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" > pd</ span >< span class = "o" > .</ span >< span class = "n" > DataFrame</ span >< span class = "p" > :</ span >
< a id = "__codelineno-0-1896" name = "__codelineno-0-1896" ></ a >< span class = "w" > </ span >< span class = "sd" > """ Return MetaTrader5 version information.""" </ span >
< a id = "__codelineno-0-1897" name = "__codelineno-0-1897" ></ a > < span class = "k" > return</ span > < span class = "n" > _make_client</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > config</ span >< span class = "p" > )</ span >< span class = "o" > .</ span >< span class = "n" > version</ span >< span class = "p" > ()</ span >
2026-06-08 13:55:22 +00:00
</ code ></ pre ></ div ></ td ></ tr ></ table ></ div >
</ details >
</ div >
</ div >
</ div >
</ div >
2026-06-09 15:15:52 +00:00
</ div >< h2 id = "resilient-multi-account-orchestration" > Resilient multi-account orchestration< a class = "headerlink" href = "#resilient-multi-account-orchestration" title = "Permanent link" > ¶ </ a ></ h2 >
< p > The SDK ships strategy-agnostic helpers for building long-running collectors on
top of the read-only client. None of them depend on a particular trading
application.</ p >
< h3 id = "retrying-transient-rate-collection" > Retrying transient rate collection< a class = "headerlink" href = "#retrying-transient-rate-collection" title = "Permanent link" > ¶ </ a ></ h3 >
< p >< code > collect_latest_rates_for_accounts_with_retries()</ code > wraps
< code > collect_latest_rates_for_accounts()</ code > with bounded exponential backoff. Only
< code > pdmt5.Mt5TradingError</ code > and < code > pdmt5.Mt5RuntimeError</ code > are retried; the final
failure is re-raised once < code > retry_count</ code > is exhausted.</ p >
< div class = "highlight" >< pre >< span ></ span >< code >< a id = "__codelineno-0-1" name = "__codelineno-0-1" href = "#__codelineno-0-1" ></ a >< span class = "kn" > from</ span >< span class = "w" > </ span >< span class = "nn" > mt5cli</ span >< span class = "w" > </ span >< span class = "kn" > import</ span > < span class = "n" > AccountSpec</ span >< span class = "p" > ,</ span > < span class = "n" > collect_latest_rates_for_accounts_with_retries</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a >
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a >< span class = "n" > accounts</ span > < span class = "o" > =</ span > < span class = "p" > [</ span >< span class = "n" > AccountSpec</ span >< span class = "p" > (</ span >< span class = "n" > symbols</ span >< span class = "o" > =</ span >< span class = "p" > [</ span >< span class = "s2" > " EURUSD" </ span >< span class = "p" > ],</ span > < span class = "n" > login</ span >< span class = "o" > =</ span >< span class = "mi" > 12345</ span >< span class = "p" > )]</ span >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a >< span class = "n" > rates</ span > < span class = "o" > =</ span > < span class = "n" > collect_latest_rates_for_accounts_with_retries</ span >< span class = "p" > (</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > < span class = "n" > accounts</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a > < span class = "p" > [</ span >< span class = "s2" > " M1" </ span >< span class = "p" > ,</ span > < span class = "s2" > " H1" </ span >< span class = "p" > ],</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a > < span class = "n" > count</ span >< span class = "o" > =</ span >< span class = "mi" > 500</ 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 = "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" > backoff_base</ span >< span class = "o" > =</ span >< span class = "mi" > 2</ span >< span class = "p" > ,</ span > < span class = "c1" > # sleeps 2s, 4s, 8s between attempts</ span >
< a id = "__codelineno-0-10" name = "__codelineno-0-10" href = "#__codelineno-0-10" ></ a >< span class = "p" > )</ span >
</ code ></ pre ></ div >
2026-06-10 17:31:32 +00:00
< h3 id = "latest-closed-rate-bars" > Latest closed rate bars< a class = "headerlink" href = "#latest-closed-rate-bars" title = "Permanent link" > ¶ </ a ></ h3 >
< p > MetaTrader 5 < code > start_pos=0</ code > includes the still-forming current bar as the last
row. < code > collect_latest_closed_rates_for_accounts()</ code > fetches < code > count + 1</ code > bars,
drops that row with < code > drop_forming_rate_bar()</ code > , and validates each series is
non-empty. Use < code > collect_latest_closed_rates_by_granularity()</ code > when callers
prefer keys such as < code > ("EURUSD", "M1")</ code > instead of integer timeframes.</ p >
< div class = "highlight" >< pre >< span ></ span >< code >< a id = "__codelineno-1-1" name = "__codelineno-1-1" href = "#__codelineno-1-1" ></ a >< span class = "kn" > from</ span >< span class = "w" > </ span >< span class = "nn" > mt5cli</ span >< span class = "w" > </ span >< span class = "kn" > import</ span > < span class = "n" > AccountSpec</ span >< span class = "p" > ,</ span > < span class = "n" > collect_latest_closed_rates_by_granularity</ span >
< a id = "__codelineno-1-2" name = "__codelineno-1-2" href = "#__codelineno-1-2" ></ a >
< a id = "__codelineno-1-3" name = "__codelineno-1-3" href = "#__codelineno-1-3" ></ a >< span class = "n" > rates</ span > < span class = "o" > =</ span > < span class = "n" > collect_latest_closed_rates_by_granularity</ span >< span class = "p" > (</ span >
< a id = "__codelineno-1-4" name = "__codelineno-1-4" href = "#__codelineno-1-4" ></ a > < span class = "p" > [</ span >< span class = "n" > AccountSpec</ span >< span class = "p" > (</ span >< span class = "n" > symbols</ span >< span class = "o" > =</ span >< span class = "p" > [</ span >< span class = "s2" > " EURUSD" </ span >< span class = "p" > ],</ span > < span class = "n" > login</ span >< span class = "o" > =</ span >< span class = "mi" > 12345</ span >< span class = "p" > )],</ span >
< a id = "__codelineno-1-5" name = "__codelineno-1-5" href = "#__codelineno-1-5" ></ a > < span class = "p" > [</ span >< span class = "s2" > " M1" </ span >< span class = "p" > ,</ span > < span class = "s2" > " H1" </ span >< span class = "p" > ],</ span >
< a id = "__codelineno-1-6" name = "__codelineno-1-6" href = "#__codelineno-1-6" ></ a > < span class = "n" > count</ span >< span class = "o" > =</ span >< span class = "mi" > 500</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-7" name = "__codelineno-1-7" href = "#__codelineno-1-7" ></ a > < span class = "n" > retry_count</ span >< span class = "o" > =</ span >< span class = "mi" > 3</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-8" name = "__codelineno-1-8" href = "#__codelineno-1-8" ></ a >< span class = "p" > )</ span >
< a id = "__codelineno-1-9" name = "__codelineno-1-9" href = "#__codelineno-1-9" ></ a >< span class = "n" > closed_m1</ span > < span class = "o" > =</ span > < span class = "n" > rates</ span >< span class = "p" > [</ span >< span class = "s2" > " EURUSD" </ span >< span class = "p" > ,</ span > < span class = "s2" > " M1" </ span >< span class = "p" > ]</ span >
</ code ></ pre ></ div >
2026-06-09 15:15:52 +00:00
< h3 id = "resolving-credentials-and-env_var-placeholders" > Resolving credentials and < code > ${ENV_VAR}</ code > placeholders< a class = "headerlink" href = "#resolving-credentials-and-env_var-placeholders" title = "Permanent link" > ¶ </ a ></ h3 >
< p >< code > resolve_account_spec()</ code > / < code > resolve_account_specs()</ code > merge explicit override
values over < code > AccountSpec</ code > fields and expand < code > ${ENV_VAR}</ code > placeholders, keeping
secrets out of plan/config files. A missing environment variable raises
< code > ValueError</ code > .</ p >
2026-06-10 17:31:32 +00:00
< div class = "highlight" >< pre >< span ></ span >< code >< a id = "__codelineno-2-1" name = "__codelineno-2-1" href = "#__codelineno-2-1" ></ a >< span class = "kn" > import</ span >< span class = "w" > </ span >< span class = "nn" > os</ span >
< a id = "__codelineno-2-2" name = "__codelineno-2-2" href = "#__codelineno-2-2" ></ a >
< a id = "__codelineno-2-3" name = "__codelineno-2-3" href = "#__codelineno-2-3" ></ a >< span class = "kn" > from</ span >< span class = "w" > </ span >< span class = "nn" > mt5cli</ span >< span class = "w" > </ span >< span class = "kn" > import</ span > < span class = "n" > AccountSpec</ span >< span class = "p" > ,</ span > < span class = "n" > resolve_account_specs</ span >
< a id = "__codelineno-2-4" name = "__codelineno-2-4" href = "#__codelineno-2-4" ></ a >
< a id = "__codelineno-2-5" name = "__codelineno-2-5" href = "#__codelineno-2-5" ></ a >< span class = "n" > os</ span >< span class = "o" > .</ span >< span class = "n" > environ</ span >< span class = "p" > [</ span >< span class = "s2" > " MT5_LOGIN" </ span >< span class = "p" > ]</ span > < span class = "o" > =</ span > < span class = "s2" > " 12345" </ span >
< a id = "__codelineno-2-6" name = "__codelineno-2-6" href = "#__codelineno-2-6" ></ a >< span class = "n" > os</ span >< span class = "o" > .</ span >< span class = "n" > environ</ span >< span class = "p" > [</ span >< span class = "s2" > " MT5_PASSWORD" </ span >< span class = "p" > ]</ span > < span class = "o" > =</ span > < span class = "s2" > " secret" </ span >
< a id = "__codelineno-2-7" name = "__codelineno-2-7" href = "#__codelineno-2-7" ></ a >< span class = "n" > accounts</ span > < span class = "o" > =</ span > < span class = "p" > [</ span >
< a id = "__codelineno-2-8" name = "__codelineno-2-8" href = "#__codelineno-2-8" ></ a > < span class = "n" > AccountSpec</ span >< span class = "p" > (</ span >< span class = "n" > symbols</ span >< span class = "o" > =</ span >< span class = "p" > [</ span >< span class = "s2" > " EURUSD" </ span >< span class = "p" > ],</ span > < span class = "n" > login</ span >< span class = "o" > =</ span >< span class = "s2" > " $</ span >< span class = "si" > {MT5_LOGIN}</ span >< span class = "s2" > " </ span >< span class = "p" > ,</ span > < span class = "n" > password</ span >< span class = "o" > =</ span >< span class = "s2" > " $</ span >< span class = "si" > {MT5_PASSWORD}</ span >< span class = "s2" > " </ span >< span class = "p" > )</ span >
< a id = "__codelineno-2-9" name = "__codelineno-2-9" href = "#__codelineno-2-9" ></ a >< span class = "p" > ]</ span >
< a id = "__codelineno-2-10" name = "__codelineno-2-10" href = "#__codelineno-2-10" ></ a >
< a id = "__codelineno-2-11" name = "__codelineno-2-11" href = "#__codelineno-2-11" ></ a >< span class = "n" > resolved</ span > < span class = "o" > =</ span > < span class = "n" > resolve_account_specs</ span >< span class = "p" > (</ span >< span class = "n" > accounts</ span >< span class = "p" > ,</ span > < span class = "n" > server</ span >< span class = "o" > =</ span >< span class = "s2" > " Broker-Demo" </ span >< span class = "p" > )</ span >
< a id = "__codelineno-2-12" name = "__codelineno-2-12" href = "#__codelineno-2-12" ></ a >< span class = "c1" > # resolved[0].login == " 12345" , resolved[0].server == " Broker-Demo" </ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div >
< h3 id = "throttled-incremental-history-updates" > Throttled incremental history updates< a class = "headerlink" href = "#throttled-incremental-history-updates" title = "Permanent link" > ¶ </ a ></ h3 >
< p >< code > ThrottledHistoryUpdater</ code > wraps < code > update_history()</ code > with a minimum interval
between successful runs (using a monotonic clock), so an application loop can
call it every iteration without over-fetching.</ p >
2026-06-10 17:31:32 +00:00
< div class = "highlight" >< pre >< span ></ span >< code >< a id = "__codelineno-3-1" name = "__codelineno-3-1" href = "#__codelineno-3-1" ></ a >< span class = "kn" > from</ span >< span class = "w" > </ span >< span class = "nn" > pdmt5</ span >< span class = "w" > </ span >< span class = "kn" > import</ span > < span class = "n" > Mt5Config</ span >< span class = "p" > ,</ span > < span class = "n" > Mt5DataClient</ span >
< a id = "__codelineno-3-2" name = "__codelineno-3-2" href = "#__codelineno-3-2" ></ a >
< a id = "__codelineno-3-3" name = "__codelineno-3-3" href = "#__codelineno-3-3" ></ a >< span class = "kn" > from</ span >< span class = "w" > </ span >< span class = "nn" > mt5cli</ span >< span class = "w" > </ span >< span class = "kn" > import</ span > < span class = "n" > Dataset</ span >< span class = "p" > ,</ span > < span class = "n" > ThrottledHistoryUpdater</ span >
< a id = "__codelineno-3-4" name = "__codelineno-3-4" href = "#__codelineno-3-4" ></ a >
< a id = "__codelineno-3-5" name = "__codelineno-3-5" href = "#__codelineno-3-5" ></ a >< span class = "n" > updater</ span > < span class = "o" > =</ span > < span class = "n" > ThrottledHistoryUpdater</ span >< span class = "p" > (</ span >
< a id = "__codelineno-3-6" name = "__codelineno-3-6" href = "#__codelineno-3-6" ></ a > < span class = "n" > output</ span >< span class = "o" > =</ span >< span class = "s2" > " history.db" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-3-7" name = "__codelineno-3-7" href = "#__codelineno-3-7" ></ a > < span class = "n" > datasets</ span >< span class = "o" > =</ span >< span class = "p" > {</ span >< span class = "n" > Dataset</ span >< span class = "o" > .</ span >< span class = "n" > rates</ span >< span class = "p" > },</ span >
< a id = "__codelineno-3-8" name = "__codelineno-3-8" href = "#__codelineno-3-8" ></ a > < span class = "n" > timeframes</ span >< span class = "o" > =</ span >< span class = "p" > [</ span >< span class = "s2" > " M1" </ span >< span class = "p" > ],</ span >
< a id = "__codelineno-3-9" name = "__codelineno-3-9" href = "#__codelineno-3-9" ></ a > < span class = "n" > interval_seconds</ span >< span class = "o" > =</ span >< span class = "mi" > 60</ span >< span class = "p" > ,</ span > < span class = "c1" > # < = 0 updates on every call</ span >
< a id = "__codelineno-3-10" name = "__codelineno-3-10" href = "#__codelineno-3-10" ></ a >< span class = "p" > )</ span >
< a id = "__codelineno-3-11" name = "__codelineno-3-11" href = "#__codelineno-3-11" ></ a >
< a id = "__codelineno-3-12" name = "__codelineno-3-12" href = "#__codelineno-3-12" ></ a >< span class = "n" > client</ span > < span class = "o" > =</ span > < span class = "n" > Mt5DataClient</ span >< span class = "p" > (</ span >< span class = "n" > config</ span >< span class = "o" > =</ span >< span class = "n" > Mt5Config</ span >< span class = "p" > (</ span >< span class = "n" > login</ span >< span class = "o" > =</ span >< span class = "mi" > 12345</ span >< span class = "p" > ))</ span >
< a id = "__codelineno-3-13" name = "__codelineno-3-13" href = "#__codelineno-3-13" ></ a >< span class = "n" > client</ span >< span class = "o" > .</ span >< span class = "n" > initialize_and_login_mt5</ span >< span class = "p" > ()</ span >
< a id = "__codelineno-3-14" name = "__codelineno-3-14" href = "#__codelineno-3-14" ></ a >< span class = "k" > try</ span >< span class = "p" > :</ span >
< a id = "__codelineno-3-15" name = "__codelineno-3-15" href = "#__codelineno-3-15" ></ a > < span class = "k" > while</ span > < span class = "kc" > True</ span >< span class = "p" > :</ span >
< a id = "__codelineno-3-16" name = "__codelineno-3-16" href = "#__codelineno-3-16" ></ a > < span class = "n" > updater</ span >< span class = "o" > .</ span >< span class = "n" > update</ span >< span class = "p" > (</ span >< span class = "n" > client</ span >< span class = "p" > ,</ span > < span class = "p" > [</ span >< span class = "s2" > " EURUSD" </ span >< span class = "p" > ,</ span > < span class = "s2" > " GBPUSD" </ span >< span class = "p" > ])</ span > < span class = "c1" > # no-op until 60s elapse</ span >
< a id = "__codelineno-3-17" name = "__codelineno-3-17" href = "#__codelineno-3-17" ></ a > < span class = "c1" > # ... do other work; break when shutting down ...</ span >
< a id = "__codelineno-3-18" name = "__codelineno-3-18" href = "#__codelineno-3-18" ></ a >< span class = "k" > finally</ span >< span class = "p" > :</ span >
< a id = "__codelineno-3-19" name = "__codelineno-3-19" href = "#__codelineno-3-19" ></ a > < span class = "n" > client</ span >< span class = "o" > .</ span >< span class = "n" > shutdown</ span >< span class = "p" > ()</ span >
2026-06-09 15:15:52 +00:00
</ code ></ pre ></ div >
2026-06-11 10:33:27 +00:00
< p > By default recoverable errors (< code > Mt5TradingError</ code > , < code > Mt5RuntimeError</ code > ,
< code > sqlite3.Error</ code > , < code > ValueError</ code > , < code > OSError</ code > , and MT5 client capability
< code > AttributeError</ code > / < code > TypeError</ code > for history API methods) propagate so the caller
controls logging; pass < code > suppress_errors=True</ code > to swallow them and return
< code > False</ code > without advancing the throttle. Other < code > AttributeError</ code > / < code > TypeError</ code >
values always propagate. Input validation (< code > _resolve_update_history_request</ code > )
runs before any MT5 or SQLite calls, but when < code > suppress_errors=True</ code > the
resulting < code > ValueError</ code > is suppressed along with other recoverable errors.</ p >
< h2 id = "trading-capable-sessions" > Trading-capable sessions< a class = "headerlink" href = "#trading-capable-sessions" title = "Permanent link" > ¶ </ a ></ h2 >
< p > For order placement and trading calculations, use the dedicated
< a href = "../trading/" > Trading module</ a > . The read-only < code > Mt5CliClient</ code > and < code > mt5_session()</ code >
helpers in this module are unchanged.</ p ></ div >
2026-06-08 13:55:22 +00:00
</ 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 >