deploy: 5b44318d55
This commit is contained in:
@@ -49,6 +49,14 @@
|
||||
<li>
|
||||
<a href="/dceoy/mt5cli/api/cli/" class="dropdown-item">CLI</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="/dceoy/mt5cli/api/sdk/" class="dropdown-item">SDK</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="/dceoy/mt5cli/api/utils/" class="dropdown-item">Utils</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
+802
-2549
File diff suppressed because it is too large
Load Diff
+46
-9
@@ -49,6 +49,14 @@
|
||||
<li>
|
||||
<a href="cli/" class="dropdown-item">CLI</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="sdk/" class="dropdown-item">SDK</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="utils/" class="dropdown-item">Utils</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -130,10 +138,16 @@
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<li><strong>CLI Layer</strong> (<code>cli.py</code>): Typer application with subcommands for each data type, custom Click parameter types for datetime/timeframe/tick flags parsing, and format detection/export utilities.</li>
|
||||
<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>
|
||||
<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>
|
||||
@@ -160,15 +174,38 @@
|
||||
<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>
|
||||
<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">detect_format</span><span class="p">,</span> <span class="n">export_dataframe</span>
|
||||
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="kn">import</span><span class="w"> </span><span class="nn">pandas</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pd</span>
|
||||
<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>
|
||||
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a>
|
||||
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="c1"># Detect output format from file extension</span>
|
||||
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></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-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a>
|
||||
<a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a><span class="c1"># Export a DataFrame</span>
|
||||
<a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a><span class="n">df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">({</span><span class="s2">"symbol"</span><span class="p">:</span> <span class="p">[</span><span class="s2">"EURUSD"</span><span class="p">],</span> <span class="s2">"bid"</span><span class="p">:</span> <span class="p">[</span><span class="mf">1.1234</span><span class="p">]})</span>
|
||||
<a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a><span class="n">export_dataframe</span><span class="p">(</span><span class="n">df</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-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>
|
||||
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a> <span class="n">Mt5CliClient</span><span class="p">,</span>
|
||||
<a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a> <span class="n">collect_history</span><span class="p">,</span>
|
||||
<a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a> <span class="n">copy_rates_range</span><span class="p">,</span>
|
||||
<a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a> <span class="n">detect_format</span><span class="p">,</span>
|
||||
<a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a> <span class="n">export_dataframe</span><span class="p">,</span>
|
||||
<a id="__codelineno-1-10" name="__codelineno-1-10" href="#__codelineno-1-10"></a><span class="p">)</span>
|
||||
<a id="__codelineno-1-11" name="__codelineno-1-11" href="#__codelineno-1-11"></a>
|
||||
<a id="__codelineno-1-12" name="__codelineno-1-12" href="#__codelineno-1-12"></a><span class="c1"># Fetch rates programmatically</span>
|
||||
<a id="__codelineno-1-13" name="__codelineno-1-13" href="#__codelineno-1-13"></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-14" name="__codelineno-1-14" href="#__codelineno-1-14"></a> <span class="s2">"EURUSD"</span><span class="p">,</span>
|
||||
<a id="__codelineno-1-15" name="__codelineno-1-15" href="#__codelineno-1-15"></a> <span class="n">timeframe</span><span class="o">=</span><span class="s2">"H1"</span><span class="p">,</span>
|
||||
<a id="__codelineno-1-16" name="__codelineno-1-16" href="#__codelineno-1-16"></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-17" name="__codelineno-1-17" href="#__codelineno-1-17"></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-18" name="__codelineno-1-18" href="#__codelineno-1-18"></a><span class="p">)</span>
|
||||
<a id="__codelineno-1-19" name="__codelineno-1-19" href="#__codelineno-1-19"></a>
|
||||
<a id="__codelineno-1-20" name="__codelineno-1-20" href="#__codelineno-1-20"></a><span class="c1"># Detect output format from file extension</span>
|
||||
<a id="__codelineno-1-21" name="__codelineno-1-21" href="#__codelineno-1-21"></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-22" name="__codelineno-1-22" href="#__codelineno-1-22"></a>
|
||||
<a id="__codelineno-1-23" name="__codelineno-1-23" href="#__codelineno-1-23"></a><span class="c1"># Export a DataFrame</span>
|
||||
<a id="__codelineno-1-24" name="__codelineno-1-24" href="#__codelineno-1-24"></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-25" name="__codelineno-1-25" href="#__codelineno-1-25"></a>
|
||||
<a id="__codelineno-1-26" name="__codelineno-1-26" href="#__codelineno-1-26"></a><span class="c1"># Collect history into SQLite</span>
|
||||
<a id="__codelineno-1-27" name="__codelineno-1-27" href="#__codelineno-1-27"></a><span class="n">collect_history</span><span class="p">(</span>
|
||||
<a id="__codelineno-1-28" name="__codelineno-1-28" href="#__codelineno-1-28"></a> <span class="n">Path</span><span class="p">(</span><span class="s2">"history.db"</span><span class="p">),</span>
|
||||
<a id="__codelineno-1-29" name="__codelineno-1-29" href="#__codelineno-1-29"></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-30" name="__codelineno-1-30" href="#__codelineno-1-30"></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-31" name="__codelineno-1-31" href="#__codelineno-1-31"></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-32" name="__codelineno-1-32" href="#__codelineno-1-32"></a><span class="p">)</span>
|
||||
</code></pre></div>
|
||||
<h2 id="examples">Examples<a class="headerlink" href="#examples" title="Permanent link">¶</a></h2>
|
||||
<p>See individual module pages for detailed usage examples and code samples.</p></div>
|
||||
|
||||
+2778
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+70
-23
@@ -49,6 +49,14 @@
|
||||
<li>
|
||||
<a href="api/cli/" class="dropdown-item">CLI</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="api/sdk/" class="dropdown-item">SDK</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="api/utils/" class="dropdown-item">Utils</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -105,6 +113,10 @@
|
||||
<ul class="nav flex-column">
|
||||
</ul>
|
||||
</li>
|
||||
<li class="nav-item" data-bs-level="2"><a href="#programmatic-usage-sdk-usage" class="nav-link">Programmatic usage / SDK usage</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>
|
||||
@@ -155,24 +167,57 @@
|
||||
<h2 id="installation">Installation<a class="headerlink" href="#installation" 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>pip<span class="w"> </span>install<span class="w"> </span>mt5cli
|
||||
</code></pre></div>
|
||||
<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-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="c1"># Export account information to CSV</span>
|
||||
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a>mt5cli<span class="w"> </span>-o<span class="w"> </span>account.csv<span class="w"> </span>account-info
|
||||
<h2 id="programmatic-usage-sdk-usage">Programmatic usage / SDK usage<a class="headerlink" href="#programmatic-usage-sdk-usage" title="Permanent link">¶</a></h2>
|
||||
<p>mt5cli can be used as a small Python SDK for read-only MetaTrader 5 data collection. SDK functions return pandas DataFrames without writing files. Use <code>export_dataframe</code> when you need to persist results.</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">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>
|
||||
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a>
|
||||
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="c1"># Export EURUSD M1 rates to Parquet</span>
|
||||
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-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>M1<span class="w"> </span><span class="se">\</span>
|
||||
<a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-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-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a>
|
||||
<a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a><span class="c1"># Export ticks to JSON</span>
|
||||
<a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-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-1-10" name="__codelineno-1-10" href="#__codelineno-1-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-1-11" name="__codelineno-1-11" href="#__codelineno-1-11"></a>
|
||||
<a id="__codelineno-1-12" name="__codelineno-1-12" href="#__codelineno-1-12"></a><span class="c1"># Export symbols to SQLite3 with custom table name</span>
|
||||
<a id="__codelineno-1-13" name="__codelineno-1-13" href="#__codelineno-1-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>
|
||||
<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="n">Mt5CliClient</span><span class="p">,</span> <span class="n">collect_history</span><span class="p">,</span> <span class="n">copy_rates_range</span><span class="p">,</span> <span class="n">export_dataframe</span>
|
||||
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a>
|
||||
<a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a><span class="c1"># One-off fetch with module-level helpers</span>
|
||||
<a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></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-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a> <span class="s2">"EURUSD"</span><span class="p">,</span>
|
||||
<a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a> <span class="n">timeframe</span><span class="o">=</span><span class="s2">"H1"</span><span class="p">,</span>
|
||||
<a id="__codelineno-1-10" name="__codelineno-1-10" href="#__codelineno-1-10"></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-11" name="__codelineno-1-11" href="#__codelineno-1-11"></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-12" name="__codelineno-1-12" href="#__codelineno-1-12"></a><span class="p">)</span>
|
||||
<a id="__codelineno-1-13" name="__codelineno-1-13" href="#__codelineno-1-13"></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">"rates.csv"</span><span class="p">),</span> <span class="s2">"csv"</span><span class="p">)</span>
|
||||
<a id="__codelineno-1-14" name="__codelineno-1-14" href="#__codelineno-1-14"></a>
|
||||
<a id="__codelineno-1-15" name="__codelineno-1-15" href="#__codelineno-1-15"></a><span class="c1"># Export with connection credentials</span>
|
||||
<a id="__codelineno-1-16" name="__codelineno-1-16" href="#__codelineno-1-16"></a>mt5cli<span class="w"> </span>--login<span class="w"> </span><span class="m">12345</span><span class="w"> </span>--password<span class="w"> </span>mypass<span class="w"> </span>--server<span class="w"> </span>MyBroker-Demo<span class="w"> </span><span class="se">\</span>
|
||||
<a id="__codelineno-1-17" name="__codelineno-1-17" href="#__codelineno-1-17"></a><span class="w"> </span>-o<span class="w"> </span>positions.csv<span class="w"> </span>positions
|
||||
<a id="__codelineno-1-15" name="__codelineno-1-15" href="#__codelineno-1-15"></a><span class="c1"># Reuse one MT5 connection for multiple calls</span>
|
||||
<a id="__codelineno-1-16" name="__codelineno-1-16" href="#__codelineno-1-16"></a><span class="k">with</span> <span class="n">Mt5CliClient</span><span class="p">(</span><span class="n">login</span><span class="o">=</span><span class="mi">12345</span><span class="p">,</span> <span class="n">password</span><span class="o">=</span><span class="s2">"secret"</span><span class="p">,</span> <span class="n">server</span><span class="o">=</span><span class="s2">"Broker-Demo"</span><span class="p">)</span> <span class="k">as</span> <span class="n">client</span><span class="p">:</span>
|
||||
<a id="__codelineno-1-17" name="__codelineno-1-17" href="#__codelineno-1-17"></a> <span class="n">account</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">account_info</span><span class="p">()</span>
|
||||
<a id="__codelineno-1-18" name="__codelineno-1-18" href="#__codelineno-1-18"></a> <span class="n">positions</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">positions</span><span class="p">()</span>
|
||||
<a id="__codelineno-1-19" name="__codelineno-1-19" href="#__codelineno-1-19"></a>
|
||||
<a id="__codelineno-1-20" name="__codelineno-1-20" href="#__codelineno-1-20"></a><span class="c1"># Bulk SQLite collection (same behavior as the collect-history CLI command)</span>
|
||||
<a id="__codelineno-1-21" name="__codelineno-1-21" href="#__codelineno-1-21"></a><span class="n">collect_history</span><span class="p">(</span>
|
||||
<a id="__codelineno-1-22" name="__codelineno-1-22" href="#__codelineno-1-22"></a> <span class="n">Path</span><span class="p">(</span><span class="s2">"history.db"</span><span class="p">),</span>
|
||||
<a id="__codelineno-1-23" name="__codelineno-1-23" href="#__codelineno-1-23"></a> <span class="n">symbols</span><span class="o">=</span><span class="p">[</span><span class="s2">"EURUSD"</span><span class="p">,</span> <span class="s2">"GBPUSD"</span><span class="p">],</span>
|
||||
<a id="__codelineno-1-24" name="__codelineno-1-24" href="#__codelineno-1-24"></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-25" name="__codelineno-1-25" href="#__codelineno-1-25"></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-26" name="__codelineno-1-26" href="#__codelineno-1-26"></a> <span class="n">timeframe</span><span class="o">=</span><span class="s2">"M1"</span><span class="p">,</span>
|
||||
<a id="__codelineno-1-27" name="__codelineno-1-27" href="#__codelineno-1-27"></a> <span class="n">flags</span><span class="o">=</span><span class="s2">"ALL"</span><span class="p">,</span>
|
||||
<a id="__codelineno-1-28" name="__codelineno-1-28" href="#__codelineno-1-28"></a> <span class="n">with_views</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
|
||||
<a id="__codelineno-1-29" name="__codelineno-1-29" href="#__codelineno-1-29"></a><span class="p">)</span>
|
||||
</code></pre></div>
|
||||
<p>Timeframes, tick flags, and ISO 8601 date strings are accepted wherever noted in the SDK API.</p>
|
||||
<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-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="c1"># Export account information to CSV</span>
|
||||
<a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a>mt5cli<span class="w"> </span>-o<span class="w"> </span>account.csv<span class="w"> </span>account-info
|
||||
<a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a>
|
||||
<a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="c1"># Export EURUSD M1 rates to Parquet</span>
|
||||
<a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-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>M1<span class="w"> </span><span class="se">\</span>
|
||||
<a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-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-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a>
|
||||
<a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a><span class="c1"># Export ticks to JSON</span>
|
||||
<a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-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-2-10" name="__codelineno-2-10" href="#__codelineno-2-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-2-11" name="__codelineno-2-11" href="#__codelineno-2-11"></a>
|
||||
<a id="__codelineno-2-12" name="__codelineno-2-12" href="#__codelineno-2-12"></a><span class="c1"># Export symbols to SQLite3 with custom table name</span>
|
||||
<a id="__codelineno-2-13" name="__codelineno-2-13" href="#__codelineno-2-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>
|
||||
<a id="__codelineno-2-14" name="__codelineno-2-14" href="#__codelineno-2-14"></a>
|
||||
<a id="__codelineno-2-15" name="__codelineno-2-15" href="#__codelineno-2-15"></a><span class="c1"># Export with connection credentials</span>
|
||||
<a id="__codelineno-2-16" name="__codelineno-2-16" href="#__codelineno-2-16"></a>mt5cli<span class="w"> </span>--login<span class="w"> </span><span class="m">12345</span><span class="w"> </span>--password<span class="w"> </span>mypass<span class="w"> </span>--server<span class="w"> </span>MyBroker-Demo<span class="w"> </span><span class="se">\</span>
|
||||
<a id="__codelineno-2-17" name="__codelineno-2-17" href="#__codelineno-2-17"></a><span class="w"> </span>-o<span class="w"> </span>positions.csv<span class="w"> </span>positions
|
||||
</code></pre></div>
|
||||
<h2 id="commands">Commands<a class="headerlink" href="#commands" title="Permanent link">¶</a></h2>
|
||||
<h3 id="rates">Rates<a class="headerlink" href="#rates" title="Permanent link">¶</a></h3>
|
||||
@@ -311,11 +356,11 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>mt5cli<span class="w"> </span>-o<span class="w"> </span>history.db<span class="w"> </span>collect-history<span class="w"> </span><span class="se">\</span>
|
||||
<a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="w"> </span>--symbol<span class="w"> </span>EURUSD<span class="w"> </span>--symbol<span class="w"> </span>GBPUSD<span class="w"> </span><span class="se">\</span>
|
||||
<a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="w"> </span>--date-from<span class="w"> </span><span class="m">2024</span>-01-01<span class="w"> </span>--date-to<span class="w"> </span><span class="m">2024</span>-02-01<span class="w"> </span><span class="se">\</span>
|
||||
<a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="w"> </span>--dataset<span class="w"> </span>rates<span class="w"> </span>--dataset<span class="w"> </span>history-deals<span class="w"> </span><span class="se">\</span>
|
||||
<a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="w"> </span>--timeframe<span class="w"> </span>M1<span class="w"> </span>--flags<span class="w"> </span>ALL<span class="w"> </span>--if-exists<span class="w"> </span>append<span class="w"> </span>--with-views
|
||||
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>mt5cli<span class="w"> </span>-o<span class="w"> </span>history.db<span class="w"> </span>collect-history<span class="w"> </span><span class="se">\</span>
|
||||
<a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><span class="w"> </span>--symbol<span class="w"> </span>EURUSD<span class="w"> </span>--symbol<span class="w"> </span>GBPUSD<span class="w"> </span><span class="se">\</span>
|
||||
<a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="w"> </span>--date-from<span class="w"> </span><span class="m">2024</span>-01-01<span class="w"> </span>--date-to<span class="w"> </span><span class="m">2024</span>-02-01<span class="w"> </span><span class="se">\</span>
|
||||
<a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a><span class="w"> </span>--dataset<span class="w"> </span>rates<span class="w"> </span>--dataset<span class="w"> </span>history-deals<span class="w"> </span><span class="se">\</span>
|
||||
<a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a><span class="w"> </span>--timeframe<span class="w"> </span>M1<span class="w"> </span>--flags<span class="w"> </span>ALL<span class="w"> </span>--if-exists<span class="w"> </span>append<span class="w"> </span>--with-views
|
||||
</code></pre></div>
|
||||
<p><code>collect-history</code> options:</p>
|
||||
<table>
|
||||
@@ -426,7 +471,9 @@
|
||||
<h2 id="api-reference">API Reference<a class="headerlink" href="#api-reference" title="Permanent link">¶</a></h2>
|
||||
<p>Browse the API documentation for detailed module information:</p>
|
||||
<ul>
|
||||
<li><a href="api/cli/">CLI Module</a> - CLI application with export commands and utility functions</li>
|
||||
<li><a href="api/cli/">CLI Module</a> - CLI application with export commands</li>
|
||||
<li><a href="api/sdk/">SDK Module</a> - Programmatic read-only data collection API</li>
|
||||
<li><a href="api/utils/">Utils Module</a> - Constants, parameter types, parsers, and export utilities</li>
|
||||
</ul>
|
||||
<h2 id="development">Development<a class="headerlink" href="#development" title="Permanent link">¶</a></h2>
|
||||
<p>This project follows strict code quality standards:</p>
|
||||
@@ -519,5 +566,5 @@
|
||||
|
||||
<!--
|
||||
MkDocs version : 1.6.1
|
||||
Build Date UTC : 2026-06-07 14:48:04.445251+00:00
|
||||
Build Date UTC : 2026-06-08 13:55:17.371936+00:00
|
||||
-->
|
||||
|
||||
BIN
Binary file not shown.
File diff suppressed because one or more lines are too long
+11
-3
@@ -2,14 +2,22 @@
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>https://github.com/dceoy/mt5cli/</loc>
|
||||
<lastmod>2026-06-07</lastmod>
|
||||
<lastmod>2026-06-08</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://github.com/dceoy/mt5cli/api/</loc>
|
||||
<lastmod>2026-06-07</lastmod>
|
||||
<lastmod>2026-06-08</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://github.com/dceoy/mt5cli/api/cli/</loc>
|
||||
<lastmod>2026-06-07</lastmod>
|
||||
<lastmod>2026-06-08</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://github.com/dceoy/mt5cli/api/sdk/</loc>
|
||||
<lastmod>2026-06-08</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://github.com/dceoy/mt5cli/api/utils/</loc>
|
||||
<lastmod>2026-06-08</lastmod>
|
||||
</url>
|
||||
</urlset>
|
||||
Binary file not shown.
Reference in New Issue
Block a user