Files
profitable-expert-advisor/ai/yt/__pycache__/train_article_split.cpython-312.pyc
T

149 lines
19 KiB
Plaintext
Raw Normal View History

2026-05-02 15:55:04 +02:00
Ë
8øíi1-ãó’dZddlmZddlZddlZddlZddlZddlmZmZddl m
Z
ddl Z ddl
ZddlZddlZddlZddlZddlmZddlmZddlmZdd lmZdd
lmZe
e«j=«j>j>d z Z ejBjEde#e ««dd l$m%Z%m&Z&dd
l'm(Z(m)Z)m*Z*dZ+gd¢Z,ejZd«Z.ejZd«Z/ejZd«Z0 ddZ1 d ddZ2 ddZ3ddZ4ddZ5e6dk(rejne5««yy)us
Article-style training: chronological train (2010–2019) vs OOS (2020–2024),
optional KMeans on forward-return fingerprints (trade-shape clustering),
ONNX export compatible with the repo's MT5 ONNX EAs.
Reuses feature + label definitions from ai/xauusd_h1 (24 features, 5 classes).
ENKS conversion is out of scope — use the article's tooling after ONNX if needed.
é)Ú annotationsN)ÚdatetimeÚ timedelta)ÚPath)ÚKMeans)Ú MinMaxScaler)Úkeras)Úlayers)ÚtqdmÚ xauusd_h1)Ú NUM_FEATURESÚprepare_features_full)Ú
atr_seriesÚ
class_weightsÚcompute_action_labelsé)ÚHOLDÚBUYÚ
SELL_SHORTÚ
CLOSE_LONGÚ CLOSE_SHORTz
2010-01-01z
2020-01-01z
2025-01-01c ó¼tj«s tdtj««tj|«}|€#tj
«t
d|d«|js8tj|d«s"tj
«t
d|«g}d}|}||kr‡t|t|¬«z|«}tj||||«} | Lt| «dkDr>| D]9}
|j| jjD cic]} | |
| Œ
c} «Œ;|}||krŒ‡|stj
«t
d «t!j"|«} t!j$| d
d ¬ «| d
<| j'd
«j)«} | | j*j-d
¬«} | Scc} w)NzMT5 init failed: zSymbol z
not foundTzCannot select éx)Údayséu4No rates returned — download symbol history in MT5ÚtimeÚs)ÚunitÚfirst)Úkeep)Úmt5Ú
initializeÚ RuntimeErrorÚ
last_errorÚ symbol_infoÚshutdownÚ
ValueErrorÚvisibleÚ
symbol_selectÚminrÚcopy_rates_rangeÚlenÚappendÚdtypeÚnamesÚpdÚ DataFrameÚ to_datetimeÚ set_indexÚ
sort_indexÚindexÚ
duplicated)
ÚsymbolÚ timeframeÚ
start_dateÚend_dateÚinfoÚall_rowsÚ
chunk_daysÚcurÚ chunk_endÚratesÚrowÚdfs
útrain_article_split.pyÚfetch_mt5_rangerE-ô >‰>Ô ÜÐ.¬s¯~©~Ó/?Ð.@Ð ?‰?˜ "€DØ €|Ü ŒÜ˜7 6 (¨*Ð <Š<¤× 1Ñ 1°&¸$Ô ?Ü ŒÜ˜>¨&¨Ð€HØ€JØ
€CØ
Š.ܘœi¨ZÔ8¸(ÓCˆ Ü×$ V¨Y¸¸YÓØ Ð ¤ U£¨a¢Øò
HذE·K±K×4EÑ4EÖ F¨q  ¡F¡Ò FÕ
Hàˆð
‹.ñ Ü ŒÜÐ €BÜ  6¡
°Ô5€B€v × (Ñ (Ó *€BØ ˆRX‰X×
Ñ
 
Ó
.Ñ /€BØ
€Iùò!GsÄ'
G
cóì|djtj¬«}t|d«jtj¬«}|jj |«}t
|«}t
|«}tj||ftj¬«}tj|t¬«} t|«}
t|«D]˜\} } | dks| |
zt
|«k\rd| | <Œ"tj|| «r|| dkDrt|| «n|| dz}
t|«D]3\}}| |zt
|«k\rd| | <Œ|| |z|| z
|
z || |f<Œ5Œš|| fS)zDNormalized forward returns at listed horizons; aligned to feat rows.Úclose©r.érFg-Cëâ6?)Úto_numpyÚnpÚfloat64rr5Ú get_indexerr,ÚzerosÚonesÚboolÚmaxÚ enumerateÚisfiniteÚfloat)rCÚ
feat_indexÚhorizonsrGÚatrÚposrBÚvalidÚmax_hÚhs rDÚforward_return_fingerprintsrbTs`ð
ˆw‰K× Ñ ¤r§z¡zÐ Ó 2€EÜ
R˜Ó
×
%¬B¯J©JÐ
7€CØ
(‰(×
Ñ
˜
*€CÜ ˆJ€AÜ ˆH
€AÜ
!QœrŸz™zÔ*€AÜ G‰GAœTÔ "€EÜ M€Eܘ#“ò 4‰ˆˆ1Ø ˆqŠ5‘I¤ U£ÒˆE!‰HØ ÜŸ[™[¨¨Q©Ô0°S¸±V¸a²ZŒE#a&ŒMÀUÈ1ÁXÐPTÁ_ˆÜ˜ 4‰DˆAˆ1‰uœ˜E
Ò aÙØ˜Q ™U‘| e¨A¡hÑ.°!Ñ3ˆAˆaˆdŠGñ  
ˆeˆ8€OócóÔggg}}}tt|dz
t|««d¬«D]_}|||z
dz|dzj«}|ddd}|j |«|j ||«|j ||«Œat j |t
j¬«t j |t
j¬«t j |«fS)NrÚ sequences)ÚdescéÿÿÿÿrH) r Úranger,Úcopyr-rKÚasarrayÚfloat32Úint64) ÚtimesÚlookbackÚxsÚysÚt_endr^Úwindows rDÚcreate_sequencesruo𠘘BˆEˆ€BÜ
”%˜ 1™ ¤c¨!£fÓ-°KÔ
ˆØ1x< # a¨!¡eÐ,ר˜"˜ˆØ
Ø
!AØ
U˜1‘XÕð ô
2œRŸZ™ZÔ
2œRŸX™XÔ
ð ðrccó tj||f¬«}tjdd¬«|«}tjd«|«}tjd«|«}tjd«|«}tjdd¬ «|«}tjt
d
d ¬ «|«}t
j||«}|jt jjd
«ddg¬«|S)N)Úshapeé`T)Úreturn_sequencesgÐ?é0é Úrelu)Ú
activationÚsoftmaxÚ action_probs)r}Únamegü©ñÒMbP?Úsparse_categorical_crossentropyÚaccuracy)Ú optimizerÚlossÚmetrics) r
ÚInputÚLSTMÚDropoutÚDenseÚ NUM_CLASSESr ÚModelÚcompileÚ
optimizersÚAdam)rpÚn_featÚinpÚoutÚmodels rDÚ build_modelr”ƒÜ
,‰,˜Ð
0€CØ Ô.¨sÓ3€AØŒ˜QÓ€AØŒ B‹˜Ó€AØŒ˜QÓ€AØ R FÔ+¨AÓ.€AØ
NŒ&,‰,”{¨y¸
NÈqÓ
Q€CÜ K‰K˜˜SÓ !€EØ ‡M×"×Ó
 ðôð
€LrccóŒtjjdd«}ttjjdd««}ttjjdd««}ttjjdd««}ttjjd d
««}t d d d
«}t dd
d
«}t t «j«jdz }|jdd¬«||dz }||dz } td|dtj«dtj«dtj«dtj«d «td« t|t j"||«}
t!j$«|
j&|
j(tk\}
t+|
«dkr td«y
tdt+|
«d|
j(dd|
j(d «t-|
«} t/|
«j&| j(} | j0j3t4j6«}
| j0j3t4j8«}| j(j;«}t5j<|«j?d
¬!«|
dk\z|
t@kz}||}|
|}
||}|t5jBt«k}t|jE««d"kr td#«y
tG«}|jI||«|jK|«j3t4j8«}tM||
||«\}}}t+|«dkr td$«y
|t5jBt«k}|t5jBt«k\|t5jBt«kz}||||}}||||}}t+|«d%kr td&«y
td't+|«d(t+|«d)|«tO|t@«}t5jP|«}t5jR|Dcgc]}|t||«Œc}t4j8¬*«} | jU«}!|d
kDr/tW|
tYjZ|««\}"}#|"|d
z
d}$|#|d
z
d}%|$|}&|%|}'|'t5j<|&«j?d
¬!«z}(t|(jE««|d+zk\r t]|d,d-¬.«})|)jI|&|(«t5j^t+|«d t4j`¬*«}*|)jc|&|(«|*|(<t5jd|t4jf¬*«}+|*D]},d|,cxkr|ksŒnŒ|+|,xxd/z
cc<Œ t5jh|+d/«}+tkt|*dk\jE««d