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

 
Vladimir Karputov:
 m_trade.SetExpertMagicNumber(InpMagic);

Oui, je l'ai fait, il s'avère que j'ai fait une erreur logique qui a fait que la méthode n'a pas été appelée. Merci pour la réponse.


Une autre question : comment appeler une autre méthode de la même classe à l'intérieur d'une méthode de classe (dans le fichier .mqh) ?

La construction ne fonctionne pas :

void CTradeMT45::CloseAll(int OrderType) {

CloseOrder(ticket);

}

void CTradeMT45::CloseOrder(ulong ticket){

}
 
Ildar Yusupov:

Oui, je l'ai fait, il s'avère que j'ai fait une erreur logique qui a fait que la méthode n'a pas été appelée. Merci pour la réponse.


Une autre question : comment appeler une autre méthode de la même classe à l'intérieur d'une méthode de classe (dans le fichier .mqh) ?

La construction ne fonctionne pas :

Voici un conseil : oubliez le mot "ordre" (seul "ordre en attente" est autorisé) et vous obtiendrez immédiatement toute la logique en place.

 
Vladimir Karputov:

Un conseil : oubliez le mot "ordre" (seul "ordre en attente" peut être utilisé) et toute la logique se mettra immédiatement en place.

Au lieu de "Ordre", il serait plus correct d'utiliser le mot "Ordre" dans mt5. Bien qu'ils soient similaires dans leur essence.

 
Valeriy Yastremskiy:

Au lieu de Ordre, le mot correct à utiliser dans mt5 est Ordre. Bien qu'il s'agisse de mots similaires.

Il existe également un ordre de marché dans MetaTrader 5. Vous ne pouvez pas renoncer à quelque chose, qui fait partie intégrante du système d'ordres de la plateforme de négociation, pour des raisons "religieuses".

Il y a des ordres dans MT5. Et ils sont affichés dans l'historique. Et ils sont même porteurs d'informations qu'une personne bien informée utilisera à son profit.

Il faut juste mieux connaître le fonctionnement des choses, et ne pas prendre à la légère le nom de ce qui s'appelle exactement un ordre. C'est un ordre commercial. Il est à l'origine du reste de la chaîne de métamorphoses qui mène à une position. Un ordre en attente est une entité différente. Il peut également être attribué à des ordres - un "ordre conditionnel", pour ainsi dire.

Lorsque l 'ordre est exécuté, un ordre de marché apparaît et se transforme en une transaction qui génère une position ou la modifie. Si ma mémoire est bonne, cela fait longtemps que je n'ai pas consulté l'historique de la chaîne des événements, de la commande à la clôture d'une position. Mais quand je m'en occupais à fond, si ma mémoire est bonne, c'est exactement comme ça que ça se passe : ordre -- ordre de marché -- transaction -- ouverture/changement/fermeture de position.

Et, oui - ce ne sont pas des mots étroitement liés, mais une traduction de l'anglais au russe. Ordre == Ordre

 
Artyom Trishkin:

MetaTrader 5 dispose également d'un ordre de marché. Vous ne pouvez pas renoncer à quelque chose qui fait partie intégrante du système d'ordres de la plateforme de négociation pour des raisons "religieuses".

Il y a des ordres dans MT5. Et ils sont affichés dans l'historique. Et ils sont même porteurs d'informations qu'une personne bien informée utilisera à son profit.

Il faut juste mieux connaître le fonctionnement des choses, et ne pas prendre à la légère le nom de ce qui s'appelle exactement un ordre. C'est un ordre commercial. Il est à l'origine du reste de la chaîne de métamorphoses qui mène à une position. Un ordre en attente est une entité différente. Il peut également être classé comme un ordre, c'est-à-dire un ordre conditionnel.

Lorsque l 'ordre est exécuté, un ordre de marché apparaît et se transforme en une transaction qui génère une position ou la modifie. Si ma mémoire est bonne, cela fait longtemps que je n'ai pas consulté l'historique de la chaîne des événements, de la commande à la fermeture d'une position. Mais quand je m'en occupais à fond, si ma mémoire est bonne, c'est exactement comme ça que ça se passe : ordre -- ordre de marché -- transaction -- ouverture/changement/fermeture de position.

Et, oui - ce ne sont pas des mots étroitement liés, mais une traduction de l'anglais au russe. Ordre == Ordre.

Apparemment, je ne parle pas anglais. Je n'appelle en aucun cas à une substitution de concepts. Juste pour une bonne compréhension, remplacez les mots. Et d'utiliser la substitution pour l'expliquer. Et d'utiliser les concepts existants.

Dans le commerce, il est utilisé comme une traduction. Et en russe, un mandat est un ordre à exécuter dans la production. Un ordre de production est généralement un ordre de production.

 
Valeriy Yastremskiy:

Apparemment, je ne suis pas très articulé. Je n'appelle en aucun cas à un remplacement des concepts. Seulement pour substituer des mots pour une bonne compréhension. Et d'utiliser des substituts pour les expliquer. Et d'utiliser les concepts existants.

Dans le commerce, il est utilisé comme une traduction. Et en russe, un mandat est un ordre à exécuter dans la production. Un ordre de fabrication est généralement.

Un ordre d'exécution en production, s'appelle un naryad. Dans certains endroits, on l'appelait un ordre-ordre, un ordre-assignation...

Il n'y avait toujours qu'une lettre de voiture pour la libération des produits. Et un mandat était généralement délivré pour une arrestation... ou une perquisition... Lequel devriez-vous écrire ? )))))))))

Ce n'est pas si mal... Il y avait aussi un mandat pour un endroit où vivre. J'en ai eu deux comme ça...

 

Je n'arrive pas à comprendre quel genre d'absurdité l'indicateur émet. Je veux vérifier sur lesquelles des 10 bougies suivantes ont des pics en zig zag, sur les mêmes bougies je veux mettre en évidence seulement les hauts et aussi seulement les bas. Je sais que dans 0 tampon tous les pics locaux, dans 1 - hai, dans 2 - bas.

Quel est le problème ici ? Je ne comprends pas. J'ai vérifié les paramètres de l'indicateur sur le graphique et ceux que je passe à l'appel - ils sont les mêmes. J'imprime seulement le zéro du tampon principal pour vérifier l'opération.

input int ExtDepth = 40;
input int ExtDeviation = 5;
input int ExtBackstep = 3;

double zz = 0;
double zi_0[];
double zi_1[];
double zi_2[];
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   ArraySetAsSeries(zi_0,  true);
   ArraySetAsSeries(zi_1,  true);
   ArraySetAsSeries(zi_2,  true);
   zz = iCustom(_Symbol,PERIOD_CURRENT,"Examples\\ZigZag",ExtDeviation,ExtDeviation,ExtBackstep);
   
   CopyBuffer(zz,0,0,10,zi_0);
   CopyBuffer(zz,1,0,10,zi_1);
   CopyBuffer(zz,2,0,10,zi_2);
   
  
  for(int i = 0; i < 10; i++)
     {
       Print(i,"  ",zi_0[i]);
     }
   
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {

   
  }
//+------------------------------------------------------------------+


 
Nikita Chernyshov:

Je n'arrive pas à comprendre quel genre d'absurdité l'indicateur émet. Je veux vérifier sur lesquelles des 10 bougies suivantes ont des pics en zig zag, sur les mêmes bougies je veux mettre en évidence seulement les hauts et aussi seulement les bas. Je sais que dans 0 tampon tous les pics locaux, dans 1 - hai, dans 2 - bas.

Quel est le problème ici ? Je ne comprends pas. J'ai vérifié les paramètres de l'indicateur sur le graphique et ceux que je passe à l'appel - ils sont les mêmes. Je n'imprime que le zéro du tampon principal pour vérifier son fonctionnement.


Dans le tampon "0", les pics = les valeurs des pics, ou "0". "0" correspond aux barres qui ne sont pas des pics.

 

Bon après-midi.

La question est la suivante. Lorsque je travaille dans le testeur de stratégie, le conseiller expert enregistre les informations nécessaires sur les positions dans un fichier. Le fichier est enregistré dans le dossier
"<dossier_terminal>\Tester\<nom_du_agent_de_testing>\MQL5\Files\........".

Plus tard, je veux utiliser le même fichier de données uniquement sur le graphique (PAS dans le testeur). Le terminal permet de travailler avec les fichiers du dossier

"<Dossier_terminal>\MQL5\Files\.....".

Est-il possible que le code MQL5 fasse glisser les fichiers téléchargés par le Conseiller Expert vers le dossier "<Dossier_terminal>\Tester\\\N<Nom de l'agent_de_testing>\MQL5\Files\N "? ou ces zones sont strictement séparées entre le Testeur de Stratégie et le travail habituel ?

Je n'ai pas réussi à écrire tout ce qui se trouve dans le testeur de stratégie dans "<Dossier_terminal>\MQL5\Files\" ou à le copier en utilisant la méthodeFileMove.

 
satorifx:

Bon après-midi.

La question est la suivante. Lorsque je travaille dans le testeur de stratégie, le conseiller expert enregistre les informations nécessaires sur les positions dans un fichier. Le fichier est enregistré dans le dossier
"<dossier_terminal>\Tester\<nom_du_agent_de_testing>\MQL5\Files\........".

Plus tard, je veux utiliser le même fichier de données uniquement sur le graphique (PAS dans le testeur). Le terminal permet de travailler avec les fichiers du dossier

"<Dossier_terminal>\MQL5\Files\.....".

Est-il possible que le code MQL5 fasse glisser les fichiers téléchargés par le Conseiller Expert vers le dossier "<Dossier_terminal>\Tester\\\N<Nom de l'agent_de_testing>\MQL5\Files\N "? ou ces zones sont strictement séparées entre le Testeur de Stratégie et le travail habituel ?

Je n'ai pas réussi à écrire tout ce qui se trouve dans le testeur de stratégie dans "<Dossier_terminal>\MQL5\Files\" ou à le copier en utilisant la méthodeFileMove.

Écriture dans le dossier partagé pour tous les terminaux (drapeauFILE_COMMON)
Raison: