C'est très intéressant, merci beaucoup.
Dans le fichier ML ONNX.eurusd.D1.30.class.Training.py joint à l'article, il y a les lignes de code suivantes (ligne 48 - 59) dans def collect_dataset():
for i in tqdm(range(n - sample_size)): w = df.iloc[i: i + sample_size + 1] x = w[['close', 'ma_fast', 'ma_slow']].iloc[:-1].values delta = x[0][-1] - w.iloc[-1]['close'] if np.abs(delta)<=0.0001: y = 0, 1, 0 else: if delta>0: y = 1, 0, 0 else: y = 0, 0, 1
Quelle est la logique derrière la ligne surlignée ci-dessus ?
La classification est basée sur la différence entre le 'ma_slow' du premier échantillon(x[0][-1]) et le 'close' de la nouvelle cible(w.iloc[-1]['close']). De plus, il y aurait une différence de temps de'sample_size-1'.
De plus, il y aurait une différence de temps de 'sample_size-1' :
if delta>0:
y = 1, 0, 0
cela ne devrait-il pas être y = 0,0,1? C'est-à-dire un signal de vente.
De même pour ONNX.eurusd.D1.10.class.Training.py in def collect_dataset(), line45-47 :
x = w[['open', 'high', 'low', 'close']].iloc[:-1].values
delta = x[3][-1] - w.iloc[-1]['close']
Comment ? La classification est basée sur la différence entre la 'clôture' du quatrième échantillon(x[3][-1]) et la 'clôture' de la nouvelle cible(w.iloc[-1]['close']) ; et il y aurait une différence de temps de'sample_size-4'.

- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Un nouvel article Envelopper les modèles ONNX dans des classes a été publié :
La programmation orientée objet permet de créer un code plus compact, facile à lire et à modifier. Nous examinerons ici l'exemple de 3 modèles ONNX.
La majorité des voix est calculée selon l'équation <nombre total de voix>/2 + 1. Pour un total de 3 votes, la majorité est de 2 votes. C'est ce que l'on appelle un "vote à l’unanimité".
Le résultat du test est toujours obtenu avec les mêmes paramètres :
Rappelons le travail des 3 modèles séparément, à savoir le nombre de transactions rentables et non rentables. Premier modèle - 11 : 3, deuxième - 6 : 1, troisième - 16 : 10.
Il semble que nous ayons amélioré le résultat avec l'aide du vote à l’unanimité - 16 : 4. Mais, bien entendu, nous devons examiner des rapports complets et des tableaux de bord.
Auteur : MetaQuotes