Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1209

 
Oleg:

Chers collègues, veuillez nous indiquer pourquoi le son s'arrête lorsque le volume souhaité de la bougie est atteint.

Le fichier sonore se trouve dans le dossier SOUNDS, lorsque je règle l'alerte, le fichier est lu normalement, mais il n'y a pas de son dans l'indicateur.

Ou bien, avez-vous besoin d'un dossier spécial avec des sons pour les indicateurs ?


/---- La boucle principale de calcul de l'indicateur

for(bar=limit ; bar>=0 && !IsStopped() ; bar--)
{
Range=(high[bar]-low[bar])/_Point ;
IndBuffer[bar]=Range ;

if(Range<5)
{
si (prev_calculé > 0 && Drapeau==0)
{
Flag=1 ;
}
}
if(Range>=Threshold){
clr=0 ;
if (prev_calculated > 0 && Flag==1 )
{
Flag=0 ;

PlaySound("zummer") ;


}
}

for(bar=limit; bar>=0 && !IsStopped(); bar--)
{
  Range=(high[bar]-low[bar])/_Point;
  IndBuffer[bar]=Range;

  if(Range<5)
  {
    if (prev_calculated > 0 && Flag==0)
    {
      Flag=1;
    }
  }

  if(Range>=Threshold) {
    clr=0;
    if (prev_calculated > 0 && Flag==1 )
    {
      Flag=0;
      ResetLastError();
      PlaySound("zummer");
      Print(__FUNCTION__, " Error #", GetLastError());
    }
  }
}



Et postez ici l'erreur qu'il donne.

 
Иван:
Bonjour. Question : Comment le testeur calcule-t-il les résultats des positions fermées dans MT4 lorsqu'il travaille avec des croisements (paires sans $) dans le testeur, si le compte où le test est effectué est un compte en dollars ? Pour le recalcul des totaux de position en dollars, le testeur prend-il le taux de change de la devise de base du cross par rapport au dollar au moment actuel ou au moment de l'intervalle testé ? Je soupçonne fortement que c'est le cas à l'heure actuelle. Si oui, n'est-il pas possible de le faire compter au moment de l'intervalle ?

Taras Slobodyanik:

Lire la MODE_TICKVALUE pour chaque tick lui-même.

Eh bien, disons que ça compte. Mais comment "demander" au testeur d'afficher dans le tableau des résultats la valeur que j'ai calculée, plutôt que son calcul courbe ?
 
Mihail Matkovskij:

Regardez attentivement l'exemplehttps://www.mql5.com/ru/forum/160683/page1208#comment_17279150 . Vous n'y trouvez rien... ?

C'est la fonction :

Tu devrais être un peu plus prudent !

Peut-être que nous ne nous sommes pas compris, ou peut-être que je n'ai pas formulé ma question exactement, mais.... j'ai regardé attentivement la liste de toutes les fonctions dans la Référence MQL4 et dans la Référence MQL5

Je n'ai pas trouvé la fonction

searshValue(double & array2D[2][], const int _len, const int _index, const double _value)

Je n'en ai pas trouvé. J'ai regardé l'exemple sur votre lien. J'ai vu le code avec une fonction inconnue. Mais je n'ai pas trouvé la réponse à ma question - de quelle langue provient cette fonction. Si elle était dans MQL4 etMQL5, je pense qu'elle serait dans la liste des fonctions dans leurs répertoires.

Et puis j'ai supposé que c'était une fonction personnalisée. Mais l'article de Kovalev dit que les calculs de la fonction personnalisée sont effectués en dehors des limites inférieures de start()
. Et j'ai aussi lu que lorsqu'on écrit du code en MT on peut utiliser des fonctions d'autres langages, pas seulement MQL4 et MQL5 .

Les variables dont l'identifiant est CONST sont listées comme paramètres de cette fonction . Je ne les ai jamais rencontrés dansMQL4 et cela m'a également déconcerté.
Je sais que vos compétences en programmation sont de plusieurs ordres de grandeur différentes des miennes. Je ne suis qu'au début de la compréhension. Je vous demande de ne pas me juger strictement et d'être indulgent avec moi si je suis obtus et que je pose des questions idiotes. Je vous serai reconnaissant si vous pouviez m'envoyer des liens vers les informations dont j'ai besoin, ou me dire où lire.

Encore une chose.... J'ai créé un nouvel EA, copié le premier code que vous m'avez envoyé, compilé le code sans erreur. Je n'y ai apporté aucune modification ... J'ai été très surpris de constater l'absence de la fonction Print() dans le grand livre après avoir exécuté l'EA dans le testeur. Bien qu'il ait été exécuté de nombreuses fois dans notre EA.
Merci encore pour le soutien informatif et les informations précieuses.

 
ANDREY:

Peut-être que nous ne nous sommes pas compris, ou peut-être que je n'ai pas formulé ma question correctement, mais.... j'ai regardé attentivement la liste de toutes les fonctions dans le manuel.. .

Andrey, ne pense pas que je te juge sévèrement. Si vous ne comprenez pas d'où vient une fonction, faites un clic droit dessus et sélectionnez "Déplacer vers la définition Alt+G". Et ne soyez pas gêné si vous ne savez pas quelque chose. C'est normal.

Comment apprendre à programmer. Pour ce faire, vous devez répondre à la question suivante : à quoi cela sert-il ? Si c'est pour créer des robots de trading et des programmes d'analyse technique, il n'y a que des exemples, des leçons et des articles pertinents dans MQL. Peut-être même des livres. Cependant, lorsque jeme suis familiarisé avec MQL, je l'ai appris assez bien. Je n'ai donc pas lu de livres, juste de la documentation. Je vous conseille d'abord de comprendre ce qu'est le programme. Pour ce faire, commencez par étudier le modèle d'événement MQL : https://docs.mql4.com/ru/basis/function/events . Il s'agit d'un modèle de base. Si vous l'avez maîtrisé, vous pouvez facilement passer à autre chose. Peut-être cela vous aidera-t-il : Getting Started with MQL5 : Writing a Simple Expert Advisor and Indicator(j'ai utilisé le moteur de recherche). Plus :Les bases de la langue. En particulier :Appel de fonction etPassage de paramètres ( où vous avez des questions). Si vous avez des questions pendant vos études (et il y en aura), vous pouvez utiliser la recherche Google ou YouTube. Ou posez vos questions ici.Idéalement, il serait bon d'apprendre le C++. Si vous cherchez quelque chose sur Google à propos de la syntaxe, vous pouvez aussi ajouter "C++".

Функции обработки событий - Функции - Основы языка - Справочник MQL4
Функции обработки событий - Функции - Основы языка - Справочник MQL4
  • docs.mql4.com
В языке MQL4 предусмотрена обработка некоторых предопределенных событий. Функции для обработки этих событий должны быть определены в программе MQL4: имя функции, тип возвращаемого значения, состав параметров (если они есть) и их типы должны строго соответствовать описанию функции-обработчика события. Именно по типу возвращаемого значения и по...
 
Mihail Matkovskij:

Andrei, ne crois pas que je te juge sévèrement. Si vous ne comprenez pas d'où vient telle ou telle fonction, faites un clic droit dessus et sélectionnez "Aller à la définition Alt+G". Et ne soyez pas gêné si vous ne savez pas quelque chose. C'est normal.

Comment apprendre à programmer. Pour ce faire, vous devez répondre à la question suivante : à quoi cela sert-il ? Si c'est pour créer des robots de trading et des programmes d'analyse technique, il n'y a que des exemples, des leçons et des articles pertinents dans MQL. Peut-être même des livres. Cependant, lorsque jeme suis familiarisé avec MQL, je l'ai appris assez bien. Je n'ai donc pas lu de livres, juste de la documentation. Je vous conseille d'abord de comprendre ce qu'est le programme. Pour ce faire, commencez par étudier le modèle d'événement MQL : https://docs.mql4.com/ru/basis/function/events . Il s'agit d'un modèle de base. Si vous l'avez maîtrisé, vous pouvez facilement passer à autre chose. Peut-être cela vous aidera-t-il : Getting Started with MQL5 : Writing a Simple Expert Advisor and Indicator(j'ai utilisé le moteur de recherche). Plus :Les bases de la langue. En particulier :Appel de fonction etPassage de paramètres ( où vous avez des questions). Si vous avez des questions pendant vos études (et il y en aura), vous pouvez utiliser la recherche Google ou YouTube. Ou posez vos questions ici.Idéalement, il serait bon d'apprendre le C++. Si vous cherchez quelque chose sur Google à propos de la syntaxe, n'hésitez pas à ajouter "C++".

Merci pour les conseils et les astuces. Tout a commencé pour moi lorsque j'ai suivi un cours de change gratuit chez Teletrade à Moscou il y a quelques années, sans rien à faire et avec l'envie de mettre mon argent de côté. Mais après avoir suivi le cours, j'ai immédiatement compris que négocier au hasard est une perte d'argent garantie... même malgré des victoires occasionnelles. C'est pourquoi j'ai pris la ferme décision de ne pas jouer avec mon propre argent avant d'avoir un système, et avant d'obtenir mon diplôme, je ne possédais même pas de PC. Je ne suis pas un mathématicien. Depuis que j'ai acheté un ordinateur et mis en route MT4, je ne peux plus m'arracher à l'ordinateur et à MT4 jusqu'à ce jour. Je m'observe et je n'arrive pas à comprendre d'où vient cette envie irrésistible et irrationnelle. Je ne pense pas que ce soit juste l'argent. L'argent, ça me va. Je ne travaille pas et j'ai tout mon temps devant moi. Et j'ai besoin de quelque chose pour l'occuper afin qu'il ne s'éternise pas. J'ai remarqué que lorsque j'étudie le Forex et la programmation, le temps passe vite et sans que l'on s'en aperçoive. Ainsi, après avoir terminé le cours, il m'a fallu beaucoup de temps pour maîtriser l'ordinateur et, simultanément, je regardais les graphiques sur MT en essayant de comprendre comment et pourquoi les prix évoluent dans une direction ou une autre. On peut dire que j'ai été fasciné et enchanté par la carte et qu'elle a créé une forte position dominante dans mon cerveau. Au fur et à mesure que je progressais dans ma compréhension de l'ordinateur, d'Internet et du forex, j'ai appris l'existence du trading algorithmique et j'ai décidé de me documenter sur le sujet. Il m'a également attiré au point que j'ai même appris un peu de codage grâce au tutoriel de Kovalev. Plus je comprenais le contenu du livre et plus j'essayais de l'appliquer en codant, plus j'avais de pensées différentes, que j'essayais de coder. Mais il y a quelques mois, de manière tout à fait inattendue et accidentelle, j'ai vu un modèle, qui apparaît très clairement sur les paires EUR-USD et FUNT-DOLLAR. J'ai réussi à coder ce modèle. Et le Conseiller Expert avec ce code dans le testeur a dessiné un graphique d'équilibre dans le testeur depuis 2008, qui est constamment en hausse avec des drawdowns acceptables. Cela m'a donné un élan supplémentaire et puissant pour devenir plus enthousiaste à l'idée d'étudier la programmation MQL4. Pour l'instant, je ne l'ai pas encore suffisamment maîtrisé pour commencer à étudier MQL5.

Merci encore pour les liens et vos commentaires.

Il s'agit d'un tableau d'équilibre

J'ai quelques idées pour rendre ce tableau plus optimal. Mais je n'ai pas encore assez d'expérience pour les coder tous.

 
ANDREY:

Lorsque vous apprendrez MQL4 et que vous passerez à MQL5, il vous attirera encore plus... :)

 
Mihail Matkovskij:

Lorsque vous apprendrez MQL4 et que vous passerez à MQL5, il vous attirera encore plus... :)

Voyons à quelle vitesse cela se produit...

 
Mihail Matkovskij:

Si vous ne comprenez pas d'où vient une fonction, faites un clic droit dessus et sélectionnez "Aller à la définition Alt+G". Et ne soyez pas gêné si vous ne savez pas quelque chose. C'est bien.

C'est un élément précieux du menu pour moi. Et j'ai été très heureux d'en entendre parler et de découvrir sa fonctionnalité par vous. Mais pour une raison quelconque, cet article ne fonctionne pas pour moi. J'ai essayé différentes options.

Passez la souris sur la fonction (à sa place avant les parenthèses) et cliquez sur le bouton droit de la souris. Le menu contextuel "Goto Alt+G" est actif. Je clique dessus mais rien ne se passe. J'appuie sur Alt+G en anglais et en majuscules, rien ne se passe.

Je pense que je devrais être jeté dans l'Aide, ou plutôt à l'endroit où la fonction est décrite avec le bouton droit de la souris.
J'ai MT-4 build 1260
J'ai lu l'aide de MetaEditor, mais je n'ai rien trouvé sur cette fonctionnalité. Et cet objet est très précieux pour moi. Peut-être que certains paramètres manquent dans le MetaEditor ?
Je vous serais reconnaissant de me faire part de vos réflexions sur les raisons pour lesquelles cet article ne me convient pas.

Voici la barre d'outils de mon MetaEditor. De nombreux boutons ne sont pas actifs. Pourrait-il s'agir d'un de ces boutons ?


 
ANDREY:

Merci pour les conseils et les astuces. Pour moi, tout a commencé lorsque j'ai suivi un cours de change gratuit chez Teletrade à Moscou, il y a quelques années, sans rien faire et avec l'envie de mettre mon argent de côté. Mais après avoir suivi le cours, j'ai immédiatement compris que négocier au hasard est une perte d'argent garantie... même malgré des victoires occasionnelles. C'est pourquoi j'ai pris la ferme décision de ne pas jouer avec mon propre argent avant d'avoir un système, et avant d'obtenir mon diplôme, je ne possédais même pas de PC. Je ne suis pas un mathématicien. Je ne peux pas m'arracher à mon ordinateur et à MT4 depuis que j'ai acheté un ordinateur et appris à jouer avec. Je m'observe et je n'arrive pas à comprendre d'où vient cette envie irrésistible et irrationnelle. Je ne pense pas que ce soit juste l'argent. L'argent, ça me va. Je ne travaille pas et j'ai tout mon temps devant moi. Et j'ai besoin de quelque chose pour l'occuper afin qu'il ne s'éternise pas. J'ai remarqué que lorsque j'étudie le Forex et la programmation, le temps passe vite et sans que l'on s'en aperçoive. Ainsi, après avoir terminé le cours, il m'a fallu beaucoup de temps pour maîtriser l'ordinateur et, simultanément, je regardais les graphiques sur MT en essayant de comprendre comment et pourquoi les prix évoluent dans une direction ou une autre. On peut dire que j'ai été fasciné et enchanté par la carte et qu'elle a créé une forte position dominante dans mon cerveau. Comme j'ai progressé dans ma compréhension de l'ordinateur, d'Internet et du forex, j'ai appris l'existence du trading algorithmique et j'ai décidé de me documenter sur le sujet. Il m'a également attiré au point que j'ai même appris à coder un peu en utilisant le tutoriel de Kovalev. Plus je comprenais le contenu du livre et plus j'essayais de l'appliquer en codant, plus j'avais de pensées différentes, que j'essayais de coder. Mais il y a quelques mois, de manière tout à fait inattendue et accidentelle, j'ai vu un modèle, qui apparaît très clairement sur les paires EUR-USD et FUNT-DOLLAR. J'ai réussi à coder ce modèle. Et le Conseiller Expert avec ce code dans le testeur a dessiné un graphique d'équilibre dans le testeur depuis 2008, qui est constamment en hausse avec des drawdowns acceptables. Cela m'a donné un élan supplémentaire et puissant pour devenir plus enthousiaste à l'idée d'étudier la programmation MQL4. Pour l'instant, je ne l'ai pas encore suffisamment maîtrisé pour commencer à étudier MQL5.

Merci encore pour les liens et pour m'avoir mis sur la bonne voie.

Il s'agit d'un tableau d'équilibre

J'ai quelques idées pour rendre ce tableau plus optimal. Mais je n'ai pas encore l'expérience nécessaire pour les codifier complètement.

La chose la plus importante pour un programmeur est d'être capable de définir une tâche et de trouver des moyens de la résoudre. Et cela définit un état d'esprit mathématique. Si vous pouvez changer votre état d'esprit, si Dieu le veut.

Et si vous essayez d'écrire en mql4, vous regarderez toujours la documentation mql5 pour trouver des similitudes entre les langages, alors considérez que, ayant traité avec mql4, vous avez déjà traité avec mql5. Les langues sont si semblables qu'il est plus facile d'énumérer les différences que les similitudes.

Le manuel de Kovalev a été écrit il y a si longtemps que, dans la plupart des cas, avant d'écrire quelque chose, il faut trouver des méthodes modernes, même si celles utilisées dans les exemples du manuel fonctionneront encore pendant un certain temps.

Cet article peut être très utile, non seulement pour passer à mql5, mais aussi pour comprendre la différence entre la mql4 décrite par Sergei Kovalev et la mql4 moderne.
Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
 
Alexey Viktorov:

La chose la plus importante pour un programmeur est d'être capable de poser un problème et de trouver des moyens de le résoudre. Et c'est ce qui définit un état d'esprit mathématique. Si vous êtes capable de changer votre état d'esprit, que Dieu vous aide.

Et si vous essayez d'écrire en mql4, vous regarderez toujours la documentation mql5 pour trouver des similitudes entre les langages, alors considérez que, ayant traité avec mql4, vous avez déjà traité avec mql5. Les langues sont tellement similaires qu'il est plus facile d'énumérer les différences que les similitudes.

Le manuel de Kovalev a été écrit il y a si longtemps que, dans la plupart des cas, avant d'écrire quelque chose, vous devez trouver des méthodes modernes, même si celles utilisées dans les exemples du manuel fonctionneront encore pendant un certain temps.

Merci pour ces informations précieuses.

En ce qui concerne l'état d'esprit mathématique. Puisque je suis à partir de zéro .... bien que trop longue .... Je suis quelque peu familier avec le manuel de Kovalev, et j'ai même appris à écrire des codes primitifs qui compilent sans erreurs, et j'ai même codé quelque chose de similaire à "grail" ..... ; cela signifie que mon état d'esprit évolue dans la direction dont j'ai besoin..... , comme il me semble.
Dites-moi si c'est bon... Peut-on exécuter des fonctions MQL5 dans MetaEditor 4 ?

Merci.