deploy: 80c3f3f65e
This commit is contained in:
+89
-81
@@ -503,7 +503,7 @@ or if <code>--yes</code> is missing for a live (non-dry-run) run.</p>
|
||||
<a id="__codelineno-0-22" name="__codelineno-0-22" href="#__codelineno-0-22"></a> <span class="n"><span title="list">list</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="p">,</span>
|
||||
<a id="__codelineno-0-23" name="__codelineno-0-23" href="#__codelineno-0-23"></a> <span class="n"><span title="typer.Option">Option</span></span><span class="p">(</span>
|
||||
<a id="__codelineno-0-24" name="__codelineno-0-24" href="#__codelineno-0-24"></a> <span class="s2">"--dataset"</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-25" name="__codelineno-0-25" href="#__codelineno-0-25"></a> <span class="n"><span title="typer.Option(help)">help</span></span><span class="o">=</span><span class="s2">"Dataset to include (repeat for multiple). Defaults to all: rates, ticks, history-orders, history-deals."</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-25" name="__codelineno-0-25" href="#__codelineno-0-25"></a> <span class="n"><span title="typer.Option(help)">help</span></span><span class="o">=</span><span class="s2">"Dataset to include (repeat for multiple). Defaults to rates, history-orders, history-deals. Ticks are opt-in: pass --dataset ticks to include them."</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-26" name="__codelineno-0-26" href="#__codelineno-0-26"></a> <span class="p">),</span>
|
||||
<a id="__codelineno-0-27" name="__codelineno-0-27" href="#__codelineno-0-27"></a> <span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-28" name="__codelineno-0-28" href="#__codelineno-0-28"></a> <span class="n">timeframe</span><span class="p">:</span> <span class="n"><span title="typing.Annotated">Annotated</span></span><span class="p">[</span>
|
||||
@@ -556,10 +556,12 @@ or if <code>--yes</code> is missing for a live (non-dry-run) run.</p>
|
||||
<div class="doc doc-contents ">
|
||||
|
||||
<p>Collect historical datasets into a single SQLite database.</p>
|
||||
<p>Tables written depend on <code>--dataset</code>: <code>rates</code>, <code>ticks</code>,
|
||||
<code>history_orders</code>, <code>history_deals</code>. History datasets are fetched per
|
||||
symbol and concatenated. Rates rows carry the requested <code>timeframe</code> so
|
||||
appended runs at different timeframes remain distinguishable.</p>
|
||||
<p>Tables written depend on <code>--dataset</code>: <code>rates</code>, <code>history_orders</code>,
|
||||
<code>history_deals</code> by default. <code>ticks</code> are opt-in: pass
|
||||
<code>--dataset ticks</code> to include them (tick data grows the database quickly).
|
||||
History datasets are fetched per symbol and concatenated. Rates rows carry
|
||||
the requested <code>timeframe</code> so appended runs at different timeframes remain
|
||||
distinguishable.</p>
|
||||
<p>With <code>--with-views</code> (requires the <code>history-deals</code> dataset), optional
|
||||
views <code>cash_events</code> and <code>positions_reconstructed</code> are derived from
|
||||
<code>history_deals</code> when the required columns are present.</p>
|
||||
@@ -684,7 +686,10 @@ views <code>cash_events</code> and <code>positions_reconstructed</code> are deri
|
||||
<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></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-705" name="__codelineno-0-705"></a><span class="nd">@app</span><span class="o">.</span><span class="n">command</span><span class="p">(</span><span class="n">rich_help_panel</span><span class="o">=</span><span class="s2">"Collection"</span><span class="p">)</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></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-705" name="__codelineno-0-705"></a><span class="nd">@app</span><span class="o">.</span><span class="n">command</span><span class="p">(</span><span class="n">rich_help_panel</span><span class="o">=</span><span class="s2">"Collection"</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-706" name="__codelineno-0-706"></a><span class="k">def</span><span class="w"> </span><span class="nf">collect_history</span><span class="p">(</span>
|
||||
<a id="__codelineno-0-707" name="__codelineno-0-707"></a> <span class="n">ctx</span><span class="p">:</span> <span class="n">typer</span><span class="o">.</span><span class="n">Context</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-708" name="__codelineno-0-708"></a> <span class="n">symbol</span><span class="p">:</span> <span class="n">Annotated</span><span class="p">[</span>
|
||||
@@ -709,76 +714,79 @@ views <code>cash_events</code> and <code>positions_reconstructed</code> are deri
|
||||
<a id="__codelineno-0-727" name="__codelineno-0-727"></a> <span class="s2">"--dataset"</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-728" name="__codelineno-0-728"></a> <span class="n">help</span><span class="o">=</span><span class="p">(</span>
|
||||
<a id="__codelineno-0-729" name="__codelineno-0-729"></a> <span class="s2">"Dataset to include (repeat for multiple)."</span>
|
||||
<a id="__codelineno-0-730" name="__codelineno-0-730"></a> <span class="s2">" Defaults to all: rates, ticks, history-orders, history-deals."</span>
|
||||
<a id="__codelineno-0-731" name="__codelineno-0-731"></a> <span class="p">),</span>
|
||||
<a id="__codelineno-0-732" name="__codelineno-0-732"></a> <span class="p">),</span>
|
||||
<a id="__codelineno-0-733" name="__codelineno-0-733"></a> <span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-734" name="__codelineno-0-734"></a> <span class="n">timeframe</span><span class="p">:</span> <span class="n">Annotated</span><span class="p">[</span>
|
||||
<a id="__codelineno-0-735" name="__codelineno-0-735"></a> <span class="nb">int</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-736" name="__codelineno-0-736"></a> <span class="n">typer</span><span class="o">.</span><span class="n">Option</span><span class="p">(</span>
|
||||
<a id="__codelineno-0-737" name="__codelineno-0-737"></a> <span class="n">click_type</span><span class="o">=</span><span class="n">TIMEFRAME_TYPE</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-738" name="__codelineno-0-738"></a> <span class="n">help</span><span class="o">=</span><span class="s2">"Rates timeframe (e.g., M1, H1, D1)."</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-739" name="__codelineno-0-739"></a> <span class="p">),</span>
|
||||
<a id="__codelineno-0-740" name="__codelineno-0-740"></a> <span class="p">]</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-741" name="__codelineno-0-741"></a> <span class="n">flags</span><span class="p">:</span> <span class="n">Annotated</span><span class="p">[</span>
|
||||
<a id="__codelineno-0-742" name="__codelineno-0-742"></a> <span class="nb">int</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-743" name="__codelineno-0-743"></a> <span class="n">typer</span><span class="o">.</span><span class="n">Option</span><span class="p">(</span>
|
||||
<a id="__codelineno-0-744" name="__codelineno-0-744"></a> <span class="n">click_type</span><span class="o">=</span><span class="n">TICK_FLAGS_TYPE</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-745" name="__codelineno-0-745"></a> <span class="n">help</span><span class="o">=</span><span class="s2">"Tick copy flags (ALL, INFO, TRADE, or integer)."</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-746" name="__codelineno-0-746"></a> <span class="p">),</span>
|
||||
<a id="__codelineno-0-747" name="__codelineno-0-747"></a> <span class="p">]</span> <span class="o">=</span> <span class="s2">"ALL"</span><span class="p">,</span> <span class="c1"># pyright: ignore[reportArgumentType]</span>
|
||||
<a id="__codelineno-0-748" name="__codelineno-0-748"></a> <span class="n">if_exists</span><span class="p">:</span> <span class="n">Annotated</span><span class="p">[</span>
|
||||
<a id="__codelineno-0-749" name="__codelineno-0-749"></a> <span class="n">IfExists</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-750" name="__codelineno-0-750"></a> <span class="n">typer</span><span class="o">.</span><span class="n">Option</span><span class="p">(</span>
|
||||
<a id="__codelineno-0-751" name="__codelineno-0-751"></a> <span class="s2">"--if-exists"</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-752" name="__codelineno-0-752"></a> <span class="n">help</span><span class="o">=</span><span class="s2">"Behavior when a target table already exists."</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-753" name="__codelineno-0-753"></a> <span class="p">),</span>
|
||||
<a id="__codelineno-0-754" name="__codelineno-0-754"></a> <span class="p">]</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-755" name="__codelineno-0-755"></a> <span class="n">with_views</span><span class="p">:</span> <span class="n">Annotated</span><span class="p">[</span>
|
||||
<a id="__codelineno-0-756" name="__codelineno-0-756"></a> <span class="nb">bool</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-757" name="__codelineno-0-757"></a> <span class="n">typer</span><span class="o">.</span><span class="n">Option</span><span class="p">(</span>
|
||||
<a id="__codelineno-0-758" name="__codelineno-0-758"></a> <span class="s2">"--with-views"</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-759" name="__codelineno-0-759"></a> <span class="n">help</span><span class="o">=</span><span class="p">(</span>
|
||||
<a id="__codelineno-0-760" name="__codelineno-0-760"></a> <span class="s2">"Add cash_events and positions_reconstructed SQLite views"</span>
|
||||
<a id="__codelineno-0-761" name="__codelineno-0-761"></a> <span class="s2">" derived from history_deals."</span>
|
||||
<a id="__codelineno-0-762" name="__codelineno-0-762"></a> <span class="p">),</span>
|
||||
<a id="__codelineno-0-763" name="__codelineno-0-763"></a> <span class="p">),</span>
|
||||
<a id="__codelineno-0-764" name="__codelineno-0-764"></a> <span class="p">]</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-765" name="__codelineno-0-765"></a><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-766" name="__codelineno-0-766"></a><span class="w"> </span><span class="sd">"""Collect historical datasets into a single SQLite database.</span>
|
||||
<a id="__codelineno-0-767" name="__codelineno-0-767"></a>
|
||||
<a id="__codelineno-0-768" name="__codelineno-0-768"></a><span class="sd"> Tables written depend on ``--dataset``: ``rates``, ``ticks``,</span>
|
||||
<a id="__codelineno-0-769" name="__codelineno-0-769"></a><span class="sd"> ``history_orders``, ``history_deals``. History datasets are fetched per</span>
|
||||
<a id="__codelineno-0-770" name="__codelineno-0-770"></a><span class="sd"> symbol and concatenated. Rates rows carry the requested ``timeframe`` so</span>
|
||||
<a id="__codelineno-0-771" name="__codelineno-0-771"></a><span class="sd"> appended runs at different timeframes remain distinguishable.</span>
|
||||
<a id="__codelineno-0-772" name="__codelineno-0-772"></a>
|
||||
<a id="__codelineno-0-773" name="__codelineno-0-773"></a><span class="sd"> With ``--with-views`` (requires the ``history-deals`` dataset), optional</span>
|
||||
<a id="__codelineno-0-774" name="__codelineno-0-774"></a><span class="sd"> views ``cash_events`` and ``positions_reconstructed`` are derived from</span>
|
||||
<a id="__codelineno-0-775" name="__codelineno-0-775"></a><span class="sd"> ``history_deals`` when the required columns are present.</span>
|
||||
<a id="__codelineno-0-776" name="__codelineno-0-776"></a>
|
||||
<a id="__codelineno-0-777" name="__codelineno-0-777"></a><span class="sd"> Raises:</span>
|
||||
<a id="__codelineno-0-778" name="__codelineno-0-778"></a><span class="sd"> typer.BadParameter: If the output format is not SQLite3.</span>
|
||||
<a id="__codelineno-0-779" name="__codelineno-0-779"></a><span class="sd"> """</span>
|
||||
<a id="__codelineno-0-780" name="__codelineno-0-780"></a> <span class="n">export_ctx</span> <span class="o">=</span> <span class="n">_get_export_context</span><span class="p">(</span><span class="n">ctx</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-781" name="__codelineno-0-781"></a> <span class="k">if</span> <span class="n">export_ctx</span><span class="o">.</span><span class="n">output_format</span> <span class="o">!=</span> <span class="s2">"sqlite3"</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-782" name="__codelineno-0-782"></a> <span class="n">msg</span> <span class="o">=</span> <span class="p">(</span>
|
||||
<a id="__codelineno-0-783" name="__codelineno-0-783"></a> <span class="s2">"collect-history requires SQLite3 output."</span>
|
||||
<a id="__codelineno-0-784" name="__codelineno-0-784"></a> <span class="s2">" Use a .db/.sqlite/.sqlite3 extension or --format sqlite3."</span>
|
||||
<a id="__codelineno-0-785" name="__codelineno-0-785"></a> <span class="p">)</span>
|
||||
<a id="__codelineno-0-786" name="__codelineno-0-786"></a> <span class="k">raise</span> <span class="n">typer</span><span class="o">.</span><span class="n">BadParameter</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-787" name="__codelineno-0-787"></a> <span class="n">datasets</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">dataset</span><span class="p">)</span> <span class="k">if</span> <span class="n">dataset</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-788" name="__codelineno-0-788"></a> <span class="n">sdk</span><span class="o">.</span><span class="n">collect_history</span><span class="p">(</span>
|
||||
<a id="__codelineno-0-789" name="__codelineno-0-789"></a> <span class="n">output</span><span class="o">=</span><span class="n">export_ctx</span><span class="o">.</span><span class="n">output</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-790" name="__codelineno-0-790"></a> <span class="n">symbols</span><span class="o">=</span><span class="n">symbol</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-791" name="__codelineno-0-791"></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-792" name="__codelineno-0-792"></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-793" name="__codelineno-0-793"></a> <span class="n">datasets</span><span class="o">=</span><span class="n">datasets</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-794" name="__codelineno-0-794"></a> <span class="n">timeframe</span><span class="o">=</span><span class="n">timeframe</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-795" name="__codelineno-0-795"></a> <span class="n">flags</span><span class="o">=</span><span class="n">flags</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-796" name="__codelineno-0-796"></a> <span class="n">if_exists</span><span class="o">=</span><span class="n">if_exists</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-797" name="__codelineno-0-797"></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-798" name="__codelineno-0-798"></a> <span class="n">config</span><span class="o">=</span><span class="n">export_ctx</span><span class="o">.</span><span class="n">config</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-799" name="__codelineno-0-799"></a> <span class="p">)</span>
|
||||
<a id="__codelineno-0-730" name="__codelineno-0-730"></a> <span class="s2">" Defaults to rates, history-orders, history-deals."</span>
|
||||
<a id="__codelineno-0-731" name="__codelineno-0-731"></a> <span class="s2">" Ticks are opt-in: pass --dataset ticks to include them."</span>
|
||||
<a id="__codelineno-0-732" name="__codelineno-0-732"></a> <span class="p">),</span>
|
||||
<a id="__codelineno-0-733" name="__codelineno-0-733"></a> <span class="p">),</span>
|
||||
<a id="__codelineno-0-734" name="__codelineno-0-734"></a> <span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-735" name="__codelineno-0-735"></a> <span class="n">timeframe</span><span class="p">:</span> <span class="n">Annotated</span><span class="p">[</span>
|
||||
<a id="__codelineno-0-736" name="__codelineno-0-736"></a> <span class="nb">int</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-737" name="__codelineno-0-737"></a> <span class="n">typer</span><span class="o">.</span><span class="n">Option</span><span class="p">(</span>
|
||||
<a id="__codelineno-0-738" name="__codelineno-0-738"></a> <span class="n">click_type</span><span class="o">=</span><span class="n">TIMEFRAME_TYPE</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-739" name="__codelineno-0-739"></a> <span class="n">help</span><span class="o">=</span><span class="s2">"Rates timeframe (e.g., M1, H1, D1)."</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-740" name="__codelineno-0-740"></a> <span class="p">),</span>
|
||||
<a id="__codelineno-0-741" name="__codelineno-0-741"></a> <span class="p">]</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-742" name="__codelineno-0-742"></a> <span class="n">flags</span><span class="p">:</span> <span class="n">Annotated</span><span class="p">[</span>
|
||||
<a id="__codelineno-0-743" name="__codelineno-0-743"></a> <span class="nb">int</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-744" name="__codelineno-0-744"></a> <span class="n">typer</span><span class="o">.</span><span class="n">Option</span><span class="p">(</span>
|
||||
<a id="__codelineno-0-745" name="__codelineno-0-745"></a> <span class="n">click_type</span><span class="o">=</span><span class="n">TICK_FLAGS_TYPE</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-746" name="__codelineno-0-746"></a> <span class="n">help</span><span class="o">=</span><span class="s2">"Tick copy flags (ALL, INFO, TRADE, or integer)."</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-747" name="__codelineno-0-747"></a> <span class="p">),</span>
|
||||
<a id="__codelineno-0-748" name="__codelineno-0-748"></a> <span class="p">]</span> <span class="o">=</span> <span class="s2">"ALL"</span><span class="p">,</span> <span class="c1"># pyright: ignore[reportArgumentType]</span>
|
||||
<a id="__codelineno-0-749" name="__codelineno-0-749"></a> <span class="n">if_exists</span><span class="p">:</span> <span class="n">Annotated</span><span class="p">[</span>
|
||||
<a id="__codelineno-0-750" name="__codelineno-0-750"></a> <span class="n">IfExists</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-751" name="__codelineno-0-751"></a> <span class="n">typer</span><span class="o">.</span><span class="n">Option</span><span class="p">(</span>
|
||||
<a id="__codelineno-0-752" name="__codelineno-0-752"></a> <span class="s2">"--if-exists"</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-753" name="__codelineno-0-753"></a> <span class="n">help</span><span class="o">=</span><span class="s2">"Behavior when a target table already exists."</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-754" name="__codelineno-0-754"></a> <span class="p">),</span>
|
||||
<a id="__codelineno-0-755" name="__codelineno-0-755"></a> <span class="p">]</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-756" name="__codelineno-0-756"></a> <span class="n">with_views</span><span class="p">:</span> <span class="n">Annotated</span><span class="p">[</span>
|
||||
<a id="__codelineno-0-757" name="__codelineno-0-757"></a> <span class="nb">bool</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-758" name="__codelineno-0-758"></a> <span class="n">typer</span><span class="o">.</span><span class="n">Option</span><span class="p">(</span>
|
||||
<a id="__codelineno-0-759" name="__codelineno-0-759"></a> <span class="s2">"--with-views"</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-760" name="__codelineno-0-760"></a> <span class="n">help</span><span class="o">=</span><span class="p">(</span>
|
||||
<a id="__codelineno-0-761" name="__codelineno-0-761"></a> <span class="s2">"Add cash_events and positions_reconstructed SQLite views"</span>
|
||||
<a id="__codelineno-0-762" name="__codelineno-0-762"></a> <span class="s2">" derived from history_deals."</span>
|
||||
<a id="__codelineno-0-763" name="__codelineno-0-763"></a> <span class="p">),</span>
|
||||
<a id="__codelineno-0-764" name="__codelineno-0-764"></a> <span class="p">),</span>
|
||||
<a id="__codelineno-0-765" name="__codelineno-0-765"></a> <span class="p">]</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-766" name="__codelineno-0-766"></a><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-767" name="__codelineno-0-767"></a><span class="w"> </span><span class="sd">"""Collect historical datasets into a single SQLite database.</span>
|
||||
<a id="__codelineno-0-768" name="__codelineno-0-768"></a>
|
||||
<a id="__codelineno-0-769" name="__codelineno-0-769"></a><span class="sd"> Tables written depend on ``--dataset``: ``rates``, ``history_orders``,</span>
|
||||
<a id="__codelineno-0-770" name="__codelineno-0-770"></a><span class="sd"> ``history_deals`` by default. ``ticks`` are opt-in: pass</span>
|
||||
<a id="__codelineno-0-771" name="__codelineno-0-771"></a><span class="sd"> ``--dataset ticks`` to include them (tick data grows the database quickly).</span>
|
||||
<a id="__codelineno-0-772" name="__codelineno-0-772"></a><span class="sd"> History datasets are fetched per symbol and concatenated. Rates rows carry</span>
|
||||
<a id="__codelineno-0-773" name="__codelineno-0-773"></a><span class="sd"> the requested ``timeframe`` so appended runs at different timeframes remain</span>
|
||||
<a id="__codelineno-0-774" name="__codelineno-0-774"></a><span class="sd"> distinguishable.</span>
|
||||
<a id="__codelineno-0-775" name="__codelineno-0-775"></a>
|
||||
<a id="__codelineno-0-776" name="__codelineno-0-776"></a><span class="sd"> With ``--with-views`` (requires the ``history-deals`` dataset), optional</span>
|
||||
<a id="__codelineno-0-777" name="__codelineno-0-777"></a><span class="sd"> views ``cash_events`` and ``positions_reconstructed`` are derived from</span>
|
||||
<a id="__codelineno-0-778" name="__codelineno-0-778"></a><span class="sd"> ``history_deals`` when the required columns are present.</span>
|
||||
<a id="__codelineno-0-779" name="__codelineno-0-779"></a>
|
||||
<a id="__codelineno-0-780" name="__codelineno-0-780"></a><span class="sd"> Raises:</span>
|
||||
<a id="__codelineno-0-781" name="__codelineno-0-781"></a><span class="sd"> typer.BadParameter: If the output format is not SQLite3.</span>
|
||||
<a id="__codelineno-0-782" name="__codelineno-0-782"></a><span class="sd"> """</span>
|
||||
<a id="__codelineno-0-783" name="__codelineno-0-783"></a> <span class="n">export_ctx</span> <span class="o">=</span> <span class="n">_get_export_context</span><span class="p">(</span><span class="n">ctx</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-784" name="__codelineno-0-784"></a> <span class="k">if</span> <span class="n">export_ctx</span><span class="o">.</span><span class="n">output_format</span> <span class="o">!=</span> <span class="s2">"sqlite3"</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-785" name="__codelineno-0-785"></a> <span class="n">msg</span> <span class="o">=</span> <span class="p">(</span>
|
||||
<a id="__codelineno-0-786" name="__codelineno-0-786"></a> <span class="s2">"collect-history requires SQLite3 output."</span>
|
||||
<a id="__codelineno-0-787" name="__codelineno-0-787"></a> <span class="s2">" Use a .db/.sqlite/.sqlite3 extension or --format sqlite3."</span>
|
||||
<a id="__codelineno-0-788" name="__codelineno-0-788"></a> <span class="p">)</span>
|
||||
<a id="__codelineno-0-789" name="__codelineno-0-789"></a> <span class="k">raise</span> <span class="n">typer</span><span class="o">.</span><span class="n">BadParameter</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-790" name="__codelineno-0-790"></a> <span class="n">datasets</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">dataset</span><span class="p">)</span> <span class="k">if</span> <span class="n">dataset</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="kc">None</span>
|
||||
<a id="__codelineno-0-791" name="__codelineno-0-791"></a> <span class="n">sdk</span><span class="o">.</span><span class="n">collect_history</span><span class="p">(</span>
|
||||
<a id="__codelineno-0-792" name="__codelineno-0-792"></a> <span class="n">output</span><span class="o">=</span><span class="n">export_ctx</span><span class="o">.</span><span class="n">output</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-793" name="__codelineno-0-793"></a> <span class="n">symbols</span><span class="o">=</span><span class="n">symbol</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-794" name="__codelineno-0-794"></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-795" name="__codelineno-0-795"></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-796" name="__codelineno-0-796"></a> <span class="n">datasets</span><span class="o">=</span><span class="n">datasets</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-797" name="__codelineno-0-797"></a> <span class="n">timeframe</span><span class="o">=</span><span class="n">timeframe</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-798" name="__codelineno-0-798"></a> <span class="n">flags</span><span class="o">=</span><span class="n">flags</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-799" name="__codelineno-0-799"></a> <span class="n">if_exists</span><span class="o">=</span><span class="n">if_exists</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-800" name="__codelineno-0-800"></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-801" name="__codelineno-0-801"></a> <span class="n">config</span><span class="o">=</span><span class="n">export_ctx</span><span class="o">.</span><span class="n">config</span><span class="p">,</span>
|
||||
<a id="__codelineno-0-802" name="__codelineno-0-802"></a> <span class="p">)</span>
|
||||
</code></pre></div></td></tr></table></div>
|
||||
</details>
|
||||
</div>
|
||||
@@ -1158,11 +1166,11 @@ views <code>cash_events</code> and <code>positions_reconstructed</code> are deri
|
||||
|
||||
<details class="mkdocstrings-source">
|
||||
<summary>Source code in <code>mt5cli/cli.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-802">802</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-803">803</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-804">804</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-802" name="__codelineno-0-802"></a><span class="k">def</span><span class="w"> </span><span class="nf">main</span><span class="p">()</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-803" name="__codelineno-0-803"></a><span class="w"> </span><span class="sd">"""Run the mt5cli CLI."""</span>
|
||||
<a id="__codelineno-0-804" name="__codelineno-0-804"></a> <span class="n">app</span><span class="p">()</span>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-805">805</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-806">806</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-807">807</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-805" name="__codelineno-0-805"></a><span class="k">def</span><span class="w"> </span><span class="nf">main</span><span class="p">()</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-806" name="__codelineno-0-806"></a><span class="w"> </span><span class="sd">"""Run the mt5cli CLI."""</span>
|
||||
<a id="__codelineno-0-807" name="__codelineno-0-807"></a> <span class="n">app</span><span class="p">()</span>
|
||||
</code></pre></div></td></tr></table></div>
|
||||
</details>
|
||||
</div>
|
||||
|
||||
+1547
-1491
File diff suppressed because it is too large
Load Diff
+1106
-1097
File diff suppressed because it is too large
Load Diff
+4
-4
@@ -453,7 +453,7 @@ applications should prefer dedicated closing helpers or their own risk controls.
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>collect-history</code></td>
|
||||
<td>Collect rates, ticks, history-orders, and history-deals for one or more symbols into a single SQLite database (optional cash-event/position views)</td>
|
||||
<td>Collect rates, history-orders, and history-deals (ticks opt-in via <code>--dataset ticks</code>) for one or more symbols into a single SQLite database (optional cash-event/position views)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -490,8 +490,8 @@ applications should prefer dedicated closing helpers or their own risk controls.
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--dataset</code></td>
|
||||
<td>all four</td>
|
||||
<td>Repeatable: <code>rates</code>, <code>ticks</code>, <code>history-orders</code>, <code>history-deals</code>.</td>
|
||||
<td>rates, history-orders, history-deals</td>
|
||||
<td>Repeatable: <code>rates</code>, <code>ticks</code>, <code>history-orders</code>, <code>history-deals</code>. Ticks are opt-in: pass <code>--dataset ticks</code> to include them.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--timeframe</code></td>
|
||||
@@ -668,5 +668,5 @@ applications should prefer dedicated closing helpers or their own risk controls.
|
||||
|
||||
<!--
|
||||
MkDocs version : 1.6.1
|
||||
Build Date UTC : 2026-06-27 16:23:57.124608+00:00
|
||||
Build Date UTC : 2026-06-27 21:01:19.368822+00:00
|
||||
-->
|
||||
|
||||
BIN
Binary file not shown.
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user