Auto-apprentissage du langage MQL5 à partir de zéro - page 63

 
MrBrooklin:

Bonjour Peter ! Heureux de vous avoir à nouveau au téléphone. D'une part, vous avez raison quant à la difficulté de la tâche, d'autre part, cela m'a fait regarder l'autoformation sous un angle différent. Donc, il n'y a rien de mal à cela. D'autant plus que si je parviens à gérer les trailing stops et à fournir le résultat prêt à l'emploi à tout le monde, ce sera ma petite victoire dans l'apprentissage de MQL5.

Maintenant, je ne publie délibérément aucune ligne de code écrite et aucun commentaire, car je dois obtenir au moins quelques résultats moi-même, sans l'aide de personne. La tâche du trailing stop est claire, l'aide initiale des participants de ce sujet est fournie, et maintenant tout dépend de moi. Il ne me manque plus que la patience.

Sincèrement vôtre, Vladimir.

Je comprends le rôle crucial de la super-tâche dans l'auto-apprentissage et j'espère que vous pourrez écrire vous-même la version la plus simple, mais voici le problème :

Les outils linguistiques - conditions, boucles, fonctions, etc. - sont bien plus intéressants que le seuil de déclenchement. Ils permettent de réaliser des choses fantastiques, parmi lesquelles le seuil de déclenchement n'est qu'un grain de sable dans l'océan.) La maîtrise de cette boîte à outils vous ouvrira les portes d'un monde nouveau, étonnant et jusqu'alors inconnu.

Il est étrange de voir une personne qui admire le cadre de la Joconde de Léonard de Vinci, tout comme il est étrange de voir une fascination pour les fonctions, les boucles et les tableaux, c'est-à-dire des choses bien plus intéressantes qui vous permettent de résoudre N'IMPORTE QUEL problème. Bien sûr, cette compréhension ne vient pas immédiatement.

Bonne chance pour atteindre votre objectif !
 
Реter Konow:
Je comprends le rôle important de la surcharge de travail dans l'auto-apprentissage et j'espère que vous serez en mesure d'écrire vous-même une version simple de la tâche, mais voici le problème :

Les outils du langage sont bien plus intéressants que le suivi : conditions, boucles, fonctions et bien d'autres choses qui vous permettent de mettre en œuvre des choses fantastiques, parmi lesquelles le suivi n'est qu'un grain de sable dans l'océan). La maîtrise de cette boîte à outils vous ouvrira les portes d'un monde nouveau, étonnant et jusqu'alors inconnu.

Il est étrange de voir une personne qui admire le cadre de la Joconde de Léonard de Vinci, tout comme il est étrange de voir une fascination pour les fonctions, les boucles et les tableaux, c'est-à-dire des choses bien plus intéressantes qui vous permettent de résoudre N'IMPORTE QUEL problème. Bien sûr, cette compréhension ne vient pas immédiatement.

Je vous souhaite d'atteindre votre objectif !

Merci, Peter, pour votre souhait ! Croyez-moi, il n'est pas toujours possible de comprendre une personne, surtout quand on ne la connaît pas du tout. Et il n'y a rien de mal à cela.

Dans le processus de codage d'un EA avec le nom de travail Trailing Stop, je visite périodiquement ce sujet, car je suis l'initiateur de sa création et, par conséquent, je dois répondre aux questions qui me sont adressées. Quand j'aurai quelque chose à montrer, la communication deviendra beaucoup plus intéressante.

Salutations, Vladimir.

 
Puis-je mettre une vidéo financière intéressante dans la branche ?
Très intéressant, verbatim, qui ne maîtrisera pas la programmation, dans un avenir proche, sera une sorte de handicapé..... à partir de la 40e minute environ.
Voici

https://youtu.be/aVqismh5zJI
 

Bonne journée et bonne humeur à tous !

Ma quarantaine est terminée et je suis de retour à la normale. Il est dommage qu'il y ait moins de temps pour l'auto-apprentissage maintenant. Pendant cette absence, j'ai beaucoup progressé dans l'apprentissage du langage de programmation MQL5 et dans l'écriture du code EA. Je ne vais pas encore demander de l'aide aux membres de ce sujet, car je ne veux pas interrompre mon conseiller expert dans ses activités importantes. Tout d'abord, je ne veux pas les distraire de leur travail important. Deuxièmement, la recherche indépendante d'erreurs me permettra d'étudier la langue de manière beaucoup plus approfondie. Je ne fixe pas de date limite pour l'écriture de l'ensemble du code, je ne suis donc pas dans une course de chevaux. De cette façon, la matière apprise peut être mieux assimilée.

Salutations, Vladimir.

 
Vasiliy Sokolov:

Vous partez à nouveau du mauvais endroit, et le code contient une erreur. Commencez par les fonctions. Écrivez le cadre de l'algorithme en utilisant uniquement vos propres fonctions. Nous réfléchirons ensuite à la manière de les mettre en œuvre. Commencez par le modèle standard qui est ouvert lors de la création d'une nouvelle EA dans le metaeditor.

Il est préférable que le stop suiveur soit effectué pour le compte net au départ. De cette façon, il sera plus facile de travailler avec la position, car il n'y aura qu'une seule position pour un symbole. Il peut être transformé en hybride dans la deuxième version.

Bonjour Vasily ! J'espère avoir corrigé l'erreur dans le code de la boucle. Il aurait dû être écrit de cette façon :

   for(int i=PositionsTotal()-1; i>=0; i--)

Je fais tout le reste comme vous l'avez conseillé. Merci encore une fois !

Sincèrement, Vladimir.

 

Bonjour à tous et bonne humeur !

Je continue à étudier MQL5. Cela fait longtemps que je suis bloqué sur place, car j'ai du mal à comprendre une chose simple. J'ai écrit un code qui devrait ouvrir une position d'achat avec 0,1 lot à 9 heures du matin et la fermer de manière forcée à 23 h 50, si aucun Stop Loss ou Trailing Stop ne s'est déclenché pendant la journée de trading. J'ai placé le code dans la fonction OnTick(). Actuellement, lorsque le testeur de stratégie est lancé, deux positions d'achat de 0,1 lot chacune sont ouvertes dans les 1-2 secondes. Si je diminue le lot, par exemple, à 0,01, 22 positions sont ouvertes en 8-10 secondes. Le solde initial est de 50000 roubles. Paire de devises EURUSD. Je suppose que ça a quelque chose à voir avec les tics et la marge. J'ai consulté de nombreuses informations sur mon site web, mais cela n'a pas encore eu d'effet.

Veuillez m'indiquer ce que je dois faire ou quelle condition je dois spécifier pour ouvrir une seule position avec le lot spécifié et pas plus.

Sincèrement, Vladimir.


 
MrBrooklin:

Pourriez-vous m'indiquer ce que je dois faire ou quelle condition je dois définir pour n'ouvrir qu'une seule position avec le lot spécifié et pas plus ?

Sincèrement, Vladimir.

Bonjour ! Fixez une limite aux positions ouvertes;

input int               MaxOpenedPositions=1;
//ниже подсчёт открытых позиций, код Вы уже начали писать)

for(int i=PositionsTotal()-1; i>=0; i--)
 
VVT:

Bonjour ! Fixez une limite aux positions ouvertes;

Bonjour !

Merci pour le conseil. Pour être honnête, je pensais déjà à interdire d'une manière ou d'une autre les mises à jour des citations après l'ouverture de la première position. Je vais essayer de limiter le nombre de postes ouverts.

Salutations, Vladimir.

 
MrBrooklin:

Bonjour à tous et bonne humeur !

Je continue à étudier MQL5. Cela fait longtemps que je suis bloqué sur place, car j'ai du mal à comprendre une chose simple. J'ai écrit un code, qui devrait ouvrir une position d'achat avec 0.1 lot à 9 heures et la fermer de manière forcée à 23h50, si pendant la journée de trading ni le Stop Loss, ni le Trailing Stop, ni le Take Profit ne se sont déclenchés. J'ai placé le code dans la fonction OnTick(). Actuellement, lorsque le testeur de stratégie est lancé, deux positions d'achat de 0,1 lot chacune sont ouvertes dans les 1-2 secondes. Si je diminue le lot, par exemple, à 0,01, 22 positions sont ouvertes en 8-10 secondes. Le solde initial est de 50000 roubles. Paire de devises EURUSD. Je suppose que ça a quelque chose à voir avec les tics et la marge. J'ai consulté de nombreuses informations sur mon site web, mais cela n'a pas encore eu d'effet.

Veuillez m'indiquer ce que je dois faire ou quelle condition je dois spécifier pour ouvrir une seule position avec le lot spécifié et pas plus.

Salutations, Vladimir.


Si la position avec notre magik et sur notre symbole est nulle alors vérifiez l'heure et ouvrez une position. Si elle est égale à 1 alors n'ouvrez pas de position, vérifiez l'heure de clôture et trawl. Nous pouvons utiliser des parchemins ou si nous voulons vérifier iff.

 
Valeriy Yastremskiy:

Si les positions avec notre Magik et sur notre symbole sont nulles, nous vérifions l'heure et ouvrons une position, si elle est de 1, nous n'ouvrons pas de position, nous vérifions l'heure de clôture et chalutons, si elle est supérieure à 1, nous alertons et ne travaillons pas. On peut utiliser des parchemins ou des chèques iff.

Bonjour Valery ! Merci pour votre conseil. J'ai déjà maîtrisé l'opérateur if-else, et je dois maintenant maîtriser également l'opérateur switch. Dois-je utiliser la fonction Alert() ou est-elle juste là pour plus d'informations ?

Salutations, Vladimir.