Questions des débutants MQL5 MT5 MetaTrader 5 - page 1310

 

MqlRates rates[] ;

taux[0].ouvert> taux[0].fermé

Veuillez indiquer comment vérifier cette condition sur la période actuelle et sur plusieurs autres périodes à la fois, deux, trois, cinq. Comment cela affecte-t-il les performances des tests ? Je serais heureux de recevoir un lien vers un EA multiframe ou un indicateur MT5.

 
Николай К:

MqlRates rates[] ;

taux[0].ouvert> taux[0].fermé

Veuillez indiquer comment vérifier cette condition sur la période actuelle et sur plusieurs autres périodes à la fois, deux, trois, cinq. Comment cela affecte-t-il les performances des tests ? Je serais heureux de recevoir un lien vers un EA multiframe ou un indicateur MT5.

Tableau rates_tf_**[] pour chaque TF et CopyRates également pour chaque TF vers le tableau de structure approprié. Comment cela affecte la vitesse des tests... C'est une autre question. Mais il n'y a rien d'autre. Ou peut-être que je ne sais pas...
 


LE CODE

FileWrite(file_handle, Period());

sur une échelle de temps de 5 minutes, il affiche 5

AF 15 min =15

Et sur TF 1h =1536

4ч = 16388

Pourquoi ?

 
Aleksei Skrypnev:


LE CODE

sur une échelle de temps de 5 minutes, il affiche 5

AF 15 min =15

Et sur TF 1H =1536.

Pourquoi ?

Tout d'abord, nous examinonsPeriod()

...La valeur peut être une des valeursde l'énumérationENUM_TIMEFRAMES:

Identifiant

Description

PERIOD_CURRENT

Période actuelle

PERIOD_M1

1 minute

PERIODE_M2

2 minutes

PERIOD_M3

3 minutes

PERIOD_M4

4 minutes

PERIOD_M5

5 minutes

PERIOD_M6

6 minutes

PERIODE_M10

10 minutes

PERIOD_M12

12 minutes

PERIOD_M15

15 minutes

PERIOD_M20

20 minutes

PERIODE_M30

30 minutes

PERIOD_H1

1 heure

PERIOD_H2

2 heures

PERIOD_H3

3 heures

PERIOD_H4

4 heures

PERIOD_H6

6 heures

PERIOD_H8

8 heures

PERIOD_H12

12 heures

PERIOD_D1

1 jour

PERIODE_W1

1 semaine

PERIOD_MN1

1 mois


Note : "une des valeurs de PERIOD ...". C'est-à-dire qu'il peut s'agir de PERIOD_H6 ou de PERIOD_M1 ou de toute valeur de PERIOD. Mais la représentation interne de l'énumération ne devrait intéresser personne. Aujourd'hui, c'est "15" et demain, ce peut être "15478899662". Mais vous, en tant que programmeur, ne devriez pas vous en soucier du tout - vous devriez travailler avec des valeurs (PERIOD_M4, PERIOD_M15 ...), pas avec la représentation interne.

Документация по MQL5: Проверка состояния / Period
Документация по MQL5: Проверка состояния / Period
  • www.mql5.com
Period - Проверка состояния - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vladimir Karputov:

Premier regard surPeriod()

...La valeur peut être l'une des valeurs del'énumérationENUM_TIMEFRAMES:



Note : "une des valeurs de PERIOD ...". Il peut donc s'agir de PERIOD_H6 ou PERIOD_M1 ou de toute valeur de l'énumération. Mais la représentation interne de l'énumération ne devrait intéresser personne. Aujourd'hui, c'est "15" et demain, ce peut être "15478899662". Mais vous, en tant que programmeur, ne devriez pas vous en soucier du tout - vous devez travailler avec des valeurs (PERIOD_M4, PERIOD_M15 ...), pas avec la représentation interne.

Je pensais que quelque chose de plus clair serait écrit dans le fichier)

Vous ne pouvez pas écrire quelque chose de plus clair (comme Perod_H1) dans un fichier de manière simple ?

 
Aleksei Skrypnev:

Je pensais que quelque chose de plus clair serait écrit dans le fichier)

Vous ne pouvez pas écrire quelque chose de plus compréhensible (comme Perod_H1) dans un fichier de manière simple, n'est-ce pas ?

Si vous voulez qu'il soit très clair, écrivez-le en tant que texte"PERIOD_H1" ou autre dans le fichier.

 

Bonjour à tous ! Quel problème ! Je testais un EA sur MT4, je l'ai testé toute la journée, à la fin j'ai vu que le soir il n'y avait plus de mémoire sur le disque dur, j'ai tout de suite compris que c'était à cause des tests, j'ai décidé de faire le ménage, je suis allé dans le dossier MetaQuotes dans Windows , et j'ai supprimé beaucoup de choses là-bas, en conséquence toutes les plateformes ont été perdues, à la fois MT4 et MT5, 10 pièces au total, elles fonctionnent, mais elles sont complètement "propres" - pas d'indicateurs du marché, pas d'EAs, rien ! j'avais vraiment besoin d'un conseiller dans un terminal mt5, je n'ai pas sauvegardé de copie, plus d'activations, que dois-je faire ?

J'ai décidé d'utiliser le programme pour restaurer des fichiers supprimés, j'ai réussi à restaurer le fichier EA en le mettant dans le dossier expert pendant la mise à jour et le terminal ne le voit tout simplement pas, et je ne peux pas le télécharger à partir du compte Market, il dit que l'installation a échoué !

Dossiers :
 

Aidez-moi à résoudre un problème !

J'apprends tout juste à écrire du code, alors soyez indulgent avec mon manque d'alphabétisation.

J'ai besoin d'aide pour comprendre la fonctionOnChartEvent, qui met à jour les objets graphiques du graphique après un changement d'horizon temporel ou une modification des paramètres dans le menu de l'indicateur. En cas de fermeture de l'indicateur, je supprime complètement tous les objets graphiques de cet indicateur du graphique.

Je crois savoir qu'il faut d'abord supprimer les objets graphiques, puis les recréer. Maissi les objets ont été supprimés, il n'y a pas d'accès à ses propriétés et alors comment recréer ces objets........ Ou peut-être que je ne le comprends pas ? Ou peut-être existe-t-il un autre moyen de mettre à jour les objets graphiques sur le graphique ?

Veuillez rédiger un exemple accompagné de commentaires sur la manière de procéder.


 
Sprut 185:

Aidez-moi à résoudre un problème !

J'apprends tout juste à écrire du code, alors soyez indulgent avec mon manque d'alphabétisation.

J'ai besoin d'aide pour comprendre la fonctionOnChartEvent, qui met à jour les objets graphiques du graphique après un changement d'horizon temporel ou une modification des paramètres dans le menu de l'indicateur. En cas de fermeture de l'indicateur, je supprime complètement tous les objets graphiques de cet indicateur du graphique.

Je crois savoir qu'il faut d'abord supprimer les objets graphiques, puis les recréer. Maissi les objets ont été supprimés, il n'y a pas d'accès à ses propriétés et alors comment recréer ces objets........ Ou peut-être que je ne le comprends pas ? Ou peut-être existe-t-il un autre moyen de mettre à jour les objets graphiques sur le graphique ?

Veuillez rédiger un exemple accompagné de commentaires sur la manière de procéder.


Ne le prenez pas mal, mais il y a tous les exemples dans la documentation. Il suffit de prêter attention aux fonctions ObjectSet*** qui modifient les paramètres d'un objet graphique.

Документация по MQL5: Графические объекты / ObjectSetDouble
Документация по MQL5: Графические объекты / ObjectSetDouble
  • www.mql5.com
ObjectSetDouble - Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov:

Je ne veux pas être impoli, mais la documentation contient tous les exemples. Il suffit de prêter attention aux fonctions ObjectSet*** qui modifient les paramètres de l'objet graphique.

Merci de votre participation.

Malheureusement, la fonction ObjectSet*** n'était pas adaptée à ma tâche.

J'ai résolu le problème moi-même en utilisant la fonction OnDeinit().
void OnDeinit(const int reason)
  {
   ObjectsDeleteAll (0, -1, -1);
  }

Maintenant, tout fonctionne comme il se doit.