2026-05-24 16:49:15 +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" >
2026-04-22 17:11:38 +00:00
< meta name = "author" content = "dceoy" >
< link rel = "canonical" href = "https://github.com/dceoy/mt5cli/api/" >
2026-05-24 16:49:15 +00:00
< link rel = "shortcut icon" href = "../img/favicon.ico" >
2026-04-22 17:11:38 +00:00
< title > Overview - mt5cli API Documentation</ title >
2026-05-24 16:49:15 +00:00
< 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 active" aria-current = "page" > Overview</ a >
2026-04-22 17:11:38 +00:00
</ li >
2026-05-24 16:49:15 +00:00
< li >
< a href = "cli/" class = "dropdown-item" > CLI</ a >
2026-04-22 17:11:38 +00:00
</ li >
2026-06-08 13:55:22 +00:00
< li >
< a href = "sdk/" class = "dropdown-item" > SDK</ 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 >
2026-05-24 16:49:15 +00:00
</ 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 = ".." class = "nav-link" >
< i class = "fa fa-arrow-left" ></ i > Previous
</ a >
</ li >
< li class = "nav-item" >
< a rel = "next" href = "cli/" class = "nav-link" >
Next < i class = "fa fa-arrow-right" ></ i >
</ a >
</ li >
< li class = "nav-item" >
< a href = "https://github.com/dceoy/mt5cli/edit/master/docs/api/index.md" class = "nav-link" > Edit on dceoy/mt5cli
</ a >
</ li >
</ ul >
2026-04-22 17:11:38 +00:00
</ div >
2026-05-24 16:49:15 +00:00
</ 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 >
2026-04-22 17:11:38 +00:00
2026-05-24 16:49:15 +00:00
< div id = "toc-collapse" class = "navbar-collapse collapse card bg-body-tertiary" >
< ul class = "nav flex-column" >
2026-04-22 17:11:38 +00:00
2026-05-24 16:49:15 +00:00
< li class = "nav-item" data-bs-level = "1" >< a href = "#api-reference" class = "nav-link" > API Reference</ a >
< ul class = "nav flex-column" >
< li class = "nav-item" data-bs-level = "2" >< a href = "#modules" class = "nav-link" > Modules</ a >
< ul class = "nav flex-column" >
</ ul >
</ li >
< li class = "nav-item" data-bs-level = "2" >< a href = "#architecture-overview" class = "nav-link" > Architecture Overview</ a >
< ul class = "nav flex-column" >
</ ul >
</ li >
< li class = "nav-item" data-bs-level = "2" >< a href = "#usage-guidelines" class = "nav-link" > Usage Guidelines</ a >
< ul class = "nav flex-column" >
</ ul >
</ li >
< li class = "nav-item" data-bs-level = "2" >< a href = "#quick-start" class = "nav-link" > Quick Start</ a >
< ul class = "nav flex-column" >
</ ul >
</ li >
< li class = "nav-item" data-bs-level = "2" >< a href = "#python-api" class = "nav-link" > Python API</ a >
< ul class = "nav flex-column" >
</ ul >
</ li >
< li class = "nav-item" data-bs-level = "2" >< a href = "#examples" class = "nav-link" > Examples</ a >
< ul class = "nav flex-column" >
</ ul >
</ li >
</ ul >
</ li >
</ ul >
</ div >
</ div ></ div >
< div class = "col-md-9" role = "main" >
2026-04-22 17:11:38 +00:00
< h1 id = "api-reference" > API Reference< a class = "headerlink" href = "#api-reference" title = "Permanent link" > ¶ </ a ></ h1 >
< p > This section contains the complete API documentation for mt5cli.</ p >
< h2 id = "modules" > Modules< a class = "headerlink" href = "#modules" title = "Permanent link" > ¶ </ a ></ h2 >
< p > The mt5cli package consists of the following modules:</ p >
< h3 id = "cli" >< a href = "cli/" > CLI</ a >< a class = "headerlink" href = "#cli" title = "Permanent link" > ¶ </ a ></ h3 >
< p > Command-line interface module providing typer-based commands for exporting MetaTrader 5 data to CSV, JSON, Parquet, and SQLite3 formats.</ p >
2026-06-08 13:55:22 +00:00
< h3 id = "utils" >< a href = "utils/" > Utils</ a >< a class = "headerlink" href = "#utils" title = "Permanent link" > ¶ </ a ></ h3 >
< p > Utility module providing constants, enums, Click parameter types, and helper functions for parsing and exporting data.</ p >
< h3 id = "sdk" >< a href = "sdk/" > SDK</ a >< a class = "headerlink" href = "#sdk" title = "Permanent link" > ¶ </ a ></ h3 >
< p > Programmatic SDK for read-only MetaTrader 5 data collection. Returns pandas DataFrames and provides < code > collect_history</ code > for SQLite bulk collection.</ p >
2026-06-08 17:40:53 +00:00
< h3 id = "history-collection-sqlite" >< a href = "history/" > History Collection (SQLite)</ a >< a class = "headerlink" href = "#history-collection-sqlite" title = "Permanent link" > ¶ </ a ></ h3 >
< p > SQLite storage helpers for the < code > collect-history</ code > command schema, incremental updates, deduplication, indexes, and optional views.</ p >
2026-04-22 17:11:38 +00:00
< h2 id = "architecture-overview" > Architecture Overview< a class = "headerlink" href = "#architecture-overview" title = "Permanent link" > ¶ </ a ></ h2 >
< p > The package follows a simple architecture built on top of pdmt5:</ p >
< ol >
2026-06-08 13:55:22 +00:00
< li >< strong > CLI Layer</ strong > (< code > cli.py</ code > ): Typer application with subcommands that delegate to the SDK and export results.</ li >
< li >< strong > SDK Layer</ strong > (< code > sdk.py</ code > ): Read-only data access functions, < code > Mt5CliClient</ code > , and < code > collect_history</ code > orchestration.</ li >
< li >< strong > Utils Layer</ strong > (< code > utils.py</ code > ): Constants, enums, custom Click parameter types, parsing helpers, and format detection/export utilities.</ li >
2026-04-22 17:11:38 +00:00
< li >< strong > Data Layer</ strong > (via < code > pdmt5</ code > ): Uses < code > Mt5DataClient</ code > and < code > Mt5Config</ code > from the pdmt5 package for all MetaTrader 5 data access.</ li >
</ ol >
< h2 id = "usage-guidelines" > Usage Guidelines< a class = "headerlink" href = "#usage-guidelines" title = "Permanent link" > ¶ </ a ></ h2 >
< p > All modules follow these conventions:</ p >
< ul >
< li >< strong > Type Safety</ strong > : All functions include comprehensive type hints</ li >
< li >< strong > Error Handling</ strong > : User-friendly error messages via typer</ li >
< li >< strong > Documentation</ strong > : Google-style docstrings with examples</ li >
< li >< strong > Validation</ strong > : Custom Click parameter types for input validation</ li >
</ ul >
< h2 id = "quick-start" > Quick Start< a class = "headerlink" href = "#quick-start" title = "Permanent link" > ¶ </ a ></ h2 >
< div class = "highlight" >< pre >< span ></ span >< code >< a id = "__codelineno-0-1" name = "__codelineno-0-1" href = "#__codelineno-0-1" ></ a >< span class = "c1" > # Export account information to CSV</ span >
< a id = "__codelineno-0-2" name = "__codelineno-0-2" href = "#__codelineno-0-2" ></ a > mt5cli< span class = "w" > </ span > -o< span class = "w" > </ span > account.csv< span class = "w" > </ span > account-info
< a id = "__codelineno-0-3" name = "__codelineno-0-3" href = "#__codelineno-0-3" ></ a >
< a id = "__codelineno-0-4" name = "__codelineno-0-4" href = "#__codelineno-0-4" ></ a >< span class = "c1" > # Export EURUSD H1 rates to Parquet</ span >
< a id = "__codelineno-0-5" name = "__codelineno-0-5" href = "#__codelineno-0-5" ></ a > mt5cli< span class = "w" > </ span > -o< span class = "w" > </ span > rates.parquet< span class = "w" > </ span > rates-from< span class = "w" > </ span > --symbol< span class = "w" > </ span > EURUSD< span class = "w" > </ span > --timeframe< span class = "w" > </ span > H1< span class = "w" > </ span >< span class = "se" > \</ span >
< a id = "__codelineno-0-6" name = "__codelineno-0-6" href = "#__codelineno-0-6" ></ a >< span class = "w" > </ span > --date-from< span class = "w" > </ span >< span class = "m" > 2024</ span > -01-01< span class = "w" > </ span > --count< span class = "w" > </ span >< span class = "m" > 1000</ span >
< a id = "__codelineno-0-7" name = "__codelineno-0-7" href = "#__codelineno-0-7" ></ a >
< a id = "__codelineno-0-8" name = "__codelineno-0-8" href = "#__codelineno-0-8" ></ a >< span class = "c1" > # Export ticks to JSON</ span >
< a id = "__codelineno-0-9" name = "__codelineno-0-9" href = "#__codelineno-0-9" ></ a > mt5cli< span class = "w" > </ span > -o< span class = "w" > </ span > ticks.json< span class = "w" > </ span > ticks-from< span class = "w" > </ span > --symbol< span class = "w" > </ span > EURUSD< span class = "w" > </ span >< span class = "se" > \</ span >
< a id = "__codelineno-0-10" name = "__codelineno-0-10" href = "#__codelineno-0-10" ></ a >< span class = "w" > </ span > --date-from< span class = "w" > </ span >< span class = "m" > 2024</ span > -01-01< span class = "w" > </ span > --count< span class = "w" > </ span >< span class = "m" > 500</ span >< span class = "w" > </ span > --flags< span class = "w" > </ span > ALL
< a id = "__codelineno-0-11" name = "__codelineno-0-11" href = "#__codelineno-0-11" ></ a >
< a id = "__codelineno-0-12" name = "__codelineno-0-12" href = "#__codelineno-0-12" ></ a >< span class = "c1" > # Export to SQLite3 with custom table name</ span >
< a id = "__codelineno-0-13" name = "__codelineno-0-13" href = "#__codelineno-0-13" ></ a > mt5cli< span class = "w" > </ span > -o< span class = "w" > </ span > data.db< span class = "w" > </ span > --table< span class = "w" > </ span > symbols< span class = "w" > </ span > symbols< span class = "w" > </ span > --group< span class = "w" > </ span >< span class = "s2" > " *USD*" </ span >
</ code ></ pre ></ div >
< h2 id = "python-api" > Python API< a class = "headerlink" href = "#python-api" title = "Permanent link" > ¶ </ a ></ h2 >
2026-06-08 13:55:22 +00:00
< 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" > datetime</ span >< span class = "w" > </ span >< span class = "kn" > import</ span > < span class = "n" > UTC</ span >< span class = "p" > ,</ span > < span class = "n" > datetime</ span >
< a id = "__codelineno-1-2" name = "__codelineno-1-2" href = "#__codelineno-1-2" ></ a >< span class = "kn" > from</ span >< span class = "w" > </ span >< span class = "nn" > pathlib</ span >< span class = "w" > </ span >< span class = "kn" > import</ span > < span class = "n" > Path</ span >
2026-04-22 17:11:38 +00:00
< a id = "__codelineno-1-3" name = "__codelineno-1-3" href = "#__codelineno-1-3" ></ a >
2026-06-08 13:55:22 +00:00
< a id = "__codelineno-1-4" name = "__codelineno-1-4" href = "#__codelineno-1-4" ></ 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 = "p" > (</ span >
2026-06-08 18:29:32 +00:00
< a id = "__codelineno-1-5" name = "__codelineno-1-5" href = "#__codelineno-1-5" ></ a > < span class = "n" > Dataset</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-6" name = "__codelineno-1-6" href = "#__codelineno-1-6" ></ a > < span class = "n" > IfExists</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-7" name = "__codelineno-1-7" href = "#__codelineno-1-7" ></ a > < span class = "n" > Mt5CliClient</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-8" name = "__codelineno-1-8" href = "#__codelineno-1-8" ></ a > < span class = "n" > collect_history</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-9" name = "__codelineno-1-9" href = "#__codelineno-1-9" ></ a > < span class = "n" > copy_rates_range</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-10" name = "__codelineno-1-10" href = "#__codelineno-1-10" ></ a > < span class = "n" > detect_format</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-11" name = "__codelineno-1-11" href = "#__codelineno-1-11" ></ a > < span class = "n" > export_dataframe</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-12" name = "__codelineno-1-12" href = "#__codelineno-1-12" ></ a > < span class = "n" > export_dataframe_to_sqlite</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-13" name = "__codelineno-1-13" href = "#__codelineno-1-13" ></ a > < span class = "n" > minimum_margins</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-14" name = "__codelineno-1-14" href = "#__codelineno-1-14" ></ a > < span class = "n" > recent_ticks</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-15" name = "__codelineno-1-15" href = "#__codelineno-1-15" ></ a >< span class = "p" > )</ span >
< a id = "__codelineno-1-16" name = "__codelineno-1-16" href = "#__codelineno-1-16" ></ a >< span class = "kn" > from</ span >< span class = "w" > </ span >< span class = "nn" > mt5cli.history</ span >< span class = "w" > </ span >< span class = "kn" > import</ span > < span class = "n" > resolve_rate_view_name</ span >
< a id = "__codelineno-1-17" name = "__codelineno-1-17" href = "#__codelineno-1-17" ></ a >
< a id = "__codelineno-1-18" name = "__codelineno-1-18" href = "#__codelineno-1-18" ></ a >< span class = "c1" > # Fetch rates programmatically</ span >
< a id = "__codelineno-1-19" name = "__codelineno-1-19" href = "#__codelineno-1-19" ></ a >< span class = "n" > rates</ span > < span class = "o" > =</ span > < span class = "n" > copy_rates_range</ span >< span class = "p" > (</ span >
< a id = "__codelineno-1-20" name = "__codelineno-1-20" href = "#__codelineno-1-20" ></ a > < span class = "s2" > " EURUSD" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-21" name = "__codelineno-1-21" href = "#__codelineno-1-21" ></ a > < span class = "n" > timeframe</ span >< span class = "o" > =</ span >< span class = "s2" > " H1" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-22" name = "__codelineno-1-22" href = "#__codelineno-1-22" ></ a > < span class = "n" > date_from</ span >< span class = "o" > =</ span >< span class = "s2" > " 2024-01-01" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-23" name = "__codelineno-1-23" href = "#__codelineno-1-23" ></ a > < span class = "n" > date_to</ span >< span class = "o" > =</ span >< span class = "s2" > " 2024-02-01" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-24" name = "__codelineno-1-24" href = "#__codelineno-1-24" ></ a >< span class = "p" > )</ span >
2026-06-08 13:55:22 +00:00
< a id = "__codelineno-1-25" name = "__codelineno-1-25" href = "#__codelineno-1-25" ></ a >
2026-06-08 18:29:32 +00:00
< a id = "__codelineno-1-26" name = "__codelineno-1-26" href = "#__codelineno-1-26" ></ a >< span class = "c1" > # Detect output format from file extension</ span >
< a id = "__codelineno-1-27" name = "__codelineno-1-27" href = "#__codelineno-1-27" ></ a >< span class = "n" > fmt</ span > < span class = "o" > =</ span > < span class = "n" > detect_format</ span >< span class = "p" > (</ span >< span class = "n" > Path</ span >< span class = "p" > (</ span >< span class = "s2" > " output.parquet" </ span >< span class = "p" > ))</ span > < span class = "c1" > # Returns " parquet" </ span >
< a id = "__codelineno-1-28" name = "__codelineno-1-28" href = "#__codelineno-1-28" ></ a >
< a id = "__codelineno-1-29" name = "__codelineno-1-29" href = "#__codelineno-1-29" ></ a >< span class = "c1" > # Export a DataFrame</ span >
< a id = "__codelineno-1-30" name = "__codelineno-1-30" href = "#__codelineno-1-30" ></ a >< span class = "n" > export_dataframe</ span >< span class = "p" > (</ span >< span class = "n" > rates</ span >< span class = "p" > ,</ span > < span class = "n" > Path</ span >< span class = "p" > (</ span >< span class = "s2" > " output.csv" </ span >< span class = "p" > ),</ span > < span class = "s2" > " csv" </ span >< span class = "p" > )</ span >
< a id = "__codelineno-1-31" name = "__codelineno-1-31" href = "#__codelineno-1-31" ></ a >
< a id = "__codelineno-1-32" name = "__codelineno-1-32" href = "#__codelineno-1-32" ></ a >< span class = "c1" > # Append to SQLite with deduplication</ span >
< a id = "__codelineno-1-33" name = "__codelineno-1-33" href = "#__codelineno-1-33" ></ a >< span class = "n" > export_dataframe_to_sqlite</ span >< span class = "p" > (</ span >
< a id = "__codelineno-1-34" name = "__codelineno-1-34" href = "#__codelineno-1-34" ></ a > < span class = "n" > rates</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-35" name = "__codelineno-1-35" href = "#__codelineno-1-35" ></ a > < span class = "n" > Path</ span >< span class = "p" > (</ span >< span class = "s2" > " history.db" </ span >< span class = "p" > ),</ span >
< a id = "__codelineno-1-36" name = "__codelineno-1-36" href = "#__codelineno-1-36" ></ a > < span class = "s2" > " rates" </ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-37" name = "__codelineno-1-37" href = "#__codelineno-1-37" ></ a > < span class = "n" > if_exists</ span >< span class = "o" > =</ span >< span class = "n" > IfExists</ span >< span class = "o" > .</ span >< span class = "n" > APPEND</ span >< span class = "p" > ,</ span >
< a id = "__codelineno-1-38" name = "__codelineno-1-38" href = "#__codelineno-1-38" ></ a > < span class = "n" > deduplicate_on</ span >< span class = "o" > =</ span >< span class = "p" > (</ span >< span class = "s2" > " symbol" </ span >< span class = "p" > ,</ span > < span class = "s2" > " timeframe" </ span >< span class = "p" > ,</ span > < span class = "s2" > " time" </ span >< span class = "p" > ),</ span >
< a id = "__codelineno-1-39" name = "__codelineno-1-39" href = "#__codelineno-1-39" ></ a >< span class = "p" > )</ span >
< a id = "__codelineno-1-40" name = "__codelineno-1-40" href = "#__codelineno-1-40" ></ a >
< a id = "__codelineno-1-41" name = "__codelineno-1-41" href = "#__codelineno-1-41" ></ a >< span class = "c1" > # Resolve rate compatibility views and fetch recent ticks</ span >
< a id = "__codelineno-1-42" name = "__codelineno-1-42" href = "#__codelineno-1-42" ></ a >< span class = "n" > view</ span > < span class = "o" > =</ span > < span class = "n" > resolve_rate_view_name</ span >< span class = "p" > (</ span >< span class = "n" > Path</ span >< span class = "p" > (</ span >< span class = "s2" > " history.db" </ span >< span class = "p" > ),</ span > < span class = "s2" > " EURUSD" </ span >< span class = "p" > ,</ span > < span class = "s2" > " M1" </ span >< span class = "p" > )</ span >
< a id = "__codelineno-1-43" name = "__codelineno-1-43" href = "#__codelineno-1-43" ></ a >< span class = "n" > ticks</ span > < span class = "o" > =</ span > < span class = "n" > recent_ticks</ span >< span class = "p" > (</ span >< span class = "s2" > " EURUSD" </ span >< span class = "p" > ,</ span > < span class = "n" > seconds</ span >< span class = "o" > =</ span >< span class = "mi" > 300</ span >< span class = "p" > )</ span >
< a id = "__codelineno-1-44" name = "__codelineno-1-44" href = "#__codelineno-1-44" ></ a >< span class = "n" > margins</ span > < span class = "o" > =</ span > < span class = "n" > minimum_margins</ span >< span class = "p" > (</ span >< span class = "s2" > " EURUSD" </ span >< span class = "p" > )</ span >
< a id = "__codelineno-1-45" name = "__codelineno-1-45" href = "#__codelineno-1-45" ></ a >
< a id = "__codelineno-1-46" name = "__codelineno-1-46" href = "#__codelineno-1-46" ></ a >< span class = "c1" > # Collect history into SQLite</ span >
< a id = "__codelineno-1-47" name = "__codelineno-1-47" href = "#__codelineno-1-47" ></ a >< span class = "n" > collect_history</ span >< span class = "p" > (</ span >
< a id = "__codelineno-1-48" name = "__codelineno-1-48" href = "#__codelineno-1-48" ></ a > < span class = "n" > Path</ span >< span class = "p" > (</ span >< span class = "s2" > " history.db" </ span >< span class = "p" > ),</ span >
< a id = "__codelineno-1-49" name = "__codelineno-1-49" href = "#__codelineno-1-49" ></ a > < span class = "n" > symbols</ span >< span class = "o" > =</ span >< span class = "p" > [</ span >< span class = "s2" > " EURUSD" </ span >< span class = "p" > ],</ span >
< a id = "__codelineno-1-50" name = "__codelineno-1-50" href = "#__codelineno-1-50" ></ a > < span class = "n" > date_from</ span >< span class = "o" > =</ span >< span class = "n" > datetime</ span >< span class = "p" > (</ span >< span class = "mi" > 2024</ span >< span class = "p" > ,</ span > < span class = "mi" > 1</ span >< span class = "p" > ,</ span > < span class = "mi" > 1</ span >< span class = "p" > ,</ span > < span class = "n" > tzinfo</ span >< span class = "o" > =</ span >< span class = "n" > UTC</ span >< span class = "p" > ),</ span >
< a id = "__codelineno-1-51" name = "__codelineno-1-51" href = "#__codelineno-1-51" ></ a > < span class = "n" > date_to</ span >< span class = "o" > =</ span >< span class = "n" > datetime</ span >< span class = "p" > (</ span >< span class = "mi" > 2024</ span >< span class = "p" > ,</ span > < span class = "mi" > 2</ span >< span class = "p" > ,</ span > < span class = "mi" > 1</ span >< span class = "p" > ,</ span > < span class = "n" > tzinfo</ span >< span class = "o" > =</ span >< span class = "n" > UTC</ span >< span class = "p" > ),</ span >
< a id = "__codelineno-1-52" name = "__codelineno-1-52" href = "#__codelineno-1-52" ></ a >< span class = "p" > )</ span >
2026-04-22 17:11:38 +00:00
</ code ></ pre ></ div >
< h2 id = "examples" > Examples< a class = "headerlink" href = "#examples" title = "Permanent link" > ¶ </ a ></ h2 >
2026-05-24 16:49:15 +00:00
< p > See individual module pages for detailed usage examples and code samples.</ p ></ div >
</ div >
</ div >
2026-04-22 17:11:38 +00:00
2026-05-24 16:49:15 +00:00
< 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" >
2026-04-22 17:11:38 +00:00
</ div >
</ div >
</ div >
2026-05-24 16:49:15 +00:00
</ 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 >
2026-04-22 17:11:38 +00:00
</ div >
2026-05-24 16:49:15 +00:00
</ div >
</ body >
</ html >