SQLite History Module¶
+History Collection (SQLite)¶
-
- mt5cli.sqlite_history
+
- mt5cli.sqlite_history
+
+ mt5cli.history
-¶
+¶
-
+
SQLite helpers for incremental MT5 history collection.
+SQLite storage helpers for the collect-history incremental data pipeline.
+
DEFAULT_HISTORY_TIMEFRAMES
@@ -166,7 +166,7 @@
module-attribute
-¶
+¶
module-attribute
-¶DEFAULT_HISTORY_TIMEFRAMES: tuple[str, ...] = tuple(
+
DedupScope
@@ -195,7 +195,7 @@
module-attribute
-¶
+¶
@@ -209,7 +209,7 @@
-
+
logger
@@ -217,7 +217,7 @@
module-attribute
-¶
+¶
@@ -233,11 +233,11 @@
-
+
append_dataframe
-¶
+¶
append_dataframe(
conn: Connection,
frame: DataFrame,
@@ -275,7 +275,7 @@
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
298
299
300
@@ -328,11 +328,11 @@
-
+
augment_written_columns_from_sqlite
-¶
+¶
augment_written_columns_from_sqlite(
conn: Connection,
datasets: set[Dataset],
@@ -346,7 +346,7 @@
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
335
336
337
@@ -383,11 +383,11 @@
-
+
build_rate_view_name
-¶
+¶
build_rate_view_name(
*,
symbol: str,
@@ -406,7 +406,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
107
108
109
@@ -447,11 +447,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
create_cash_events_view
-¶
+¶
create_cash_events_view(
conn: Connection, deals_columns: set[str]
) -> bool
@@ -486,7 +486,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
548
549
550
@@ -531,11 +531,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
create_history_indexes
-¶
+¶
create_history_indexes(
conn: Connection,
written_columns: dict[Dataset, set[str]],
@@ -548,7 +548,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
459
460
461
@@ -603,11 +603,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
create_positions_reconstructed_view
-¶
+¶
create_positions_reconstructed_view(
conn: Connection, deals_columns: set[str]
) -> bool
@@ -642,7 +642,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
568
569
570
@@ -745,11 +745,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
create_rate_compatibility_views
-¶
+¶
@@ -759,7 +759,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
627
628
629
@@ -830,11 +830,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
deduplicate_history_tables
-¶
+¶
deduplicate_history_tables(
conn: Connection,
written_columns: dict[Dataset, set[str]],
@@ -844,7 +844,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
module-attribute
- (mt5cli.sqlite_history.DedupScope)" href="#mt5cli.sqlite_history.DedupScope">DedupScope]]
+ (mt5cli.history.DedupScope)" href="#mt5cli.history.DedupScope">DedupScope]]
| None = None,
) -> None
@@ -855,7 +855,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
419
420
421
@@ -940,11 +940,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
drop_duplicates_in_table
-¶
+¶
drop_duplicates_in_table(
cursor: Cursor,
table: str,
@@ -985,7 +985,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
371
372
373
@@ -1062,11 +1062,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
drop_rate_compatibility_views
-¶
+¶
@@ -1076,7 +1076,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
617
618
619
@@ -1101,11 +1101,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
filter_incremental_history_deals_frame
-¶
+¶
filter_incremental_history_deals_frame(
frame: DataFrame,
symbols: Sequence[str],
@@ -1153,7 +1153,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
498
499
500
@@ -1218,11 +1218,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
filter_trade_history_frame
-¶
+¶
filter_trade_history_frame(
frame: DataFrame,
symbols: Sequence[str],
@@ -1260,7 +1260,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
528
529
530
@@ -1305,11 +1305,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
get_history_deals_account_event_start_datetime
-¶
+¶
get_history_deals_account_event_start_datetime(
conn: Connection, *, fallback_start: datetime
) -> datetime
@@ -1321,7 +1321,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
160
161
162
@@ -1372,11 +1372,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
get_incremental_start_datetime
-¶
+¶
get_incremental_start_datetime(
conn: Connection,
dataset: Dataset,
@@ -1393,7 +1393,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
278
279
280
@@ -1438,11 +1438,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
get_table_columns
-¶
+¶
@@ -1452,7 +1452,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
125
126
127
@@ -1469,11 +1469,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
load_incremental_start_datetimes
-¶
+¶
load_incremental_start_datetimes(
conn: Connection,
dataset: Dataset,
@@ -1490,7 +1490,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
202
203
204
@@ -1647,11 +1647,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
parse_sqlite_timestamp
-¶
+¶
@@ -1684,7 +1684,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
142
143
144
@@ -1725,11 +1725,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
quote_sqlite_identifier
-¶
+¶
@@ -1739,7 +1739,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
def quote_sqlite_identifier(identifier: str) -> str:
@@ -1754,11 +1754,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
record_written_columns
-¶
+¶
record_written_columns(
written_columns: dict[Dataset, set[str]],
dataset: Dataset,
@@ -1772,7 +1772,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
322
323
324
@@ -1803,11 +1803,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
resolve_granularity_name
-¶
+¶
@@ -1817,7 +1817,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
99
100
101
@@ -1838,11 +1838,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
resolve_history_datasets
-¶
+¶
resolve_history_datasets(
datasets: set[Dataset] | None,
) -> set[Dataset]
@@ -1887,7 +1887,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
57
58
59
@@ -1916,11 +1916,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
resolve_history_tick_flags
-¶
+¶
@@ -1953,7 +1953,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
88
89
90
@@ -1980,11 +1980,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
resolve_history_timeframes
-¶
+¶
resolve_history_timeframes(
timeframes: Sequence[int | str] | None,
) -> list[int]
@@ -2019,7 +2019,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
- Source code in mt5cli/sqlite_history.py
+ Source code in mt5cli/history.py
69
70
71
@@ -2062,11 +2062,11 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD
-
+
write_collected_datasets
-¶
+¶
write_collected_datasets(
conn: Connection,
client: Mt5DataClient,
@@ -2109,7 +2109,7 @@ a symbol such as EURUSD_M1 cannot collide with EURUSD