Version bêta du livre en ligne sur la programmation MQL4 - par Sergey Kovalev (SK.) - page 6

 
Rosh:
Martes:

Sur deux ordinateurs différents et avec des navigateurs différents, les images sur https://book.mql4.com/ru/metaeditor/compose ne s'affichent pas.
C'est étrange comme ça peut l'être. Je ne comprends pas le problème.


Spécialement vérifié maintenant, pas une seule photo non plus . IE7. + si je veux cliquer sur le lien en bas de la page le programme MQL4 jette une erreur

 
Le problème est découvert, nous allons le régler.
 
Recherche d'accolades manquantes ou supplémentaires.... Je perds tranquillement la tête((

PS
``fin_du_programme'' - le crochet final '}' était attendu.
 
Climber:
Recherche d'accolades manquantes ou supplémentaires.... Je perds tranquillement la tête((

"/*" et "*/" pour aider...
 
komposter:
Grimpeur:

Recherche d'accolades manquantes ou supplémentaires.... Je perds tranquillement la tête((





"/*" et "*/" pour aider...



Qu'est-ce que cela signifie ? Je ne comprends pas 0_o

Tout va bien jusqu'à ce que cette pièce apparaisse :
// Критерии закрытия ордеров

if
(_OrdersTotal = 1) //Выполнять следующее если открыт 1 ордер
{
OrderSelect(0, SELECT_BY_POS);
Tip = OrderType;
OPrice = OrderOpenPrice;

if (Tip = 0) // Расчитать цену закрытия в зависимости от типа ордера (В=0,S=1)
{
Cprice = OPrice + (TakeProfit*Point) + Spread;
if (Bid >= Cprice)
{
Cls_B = True;
}
}
if (Tip = 1)
{
Cprice = OPrice - (TakeProfit*Point) - Spread;
if (Ask <= Cprice)
{
Cls_S = True;
}
}
C'est là que le nombre de parenthèses ne correspond pas. Mais si je l'ajoute à la fin, de nombreuses erreurs absurdes se produisent lors de la compilation.
 
Climber:

Qu'est-ce que cela signifie ? Je ne comprends pas 0_o

Voir le commentaire https://book.mql4.com/ru/basics/common.
 
Je n'ai pas de gros commentaires à faire, en quoi cela m'aide-t-il ?
J'ai ajouté à mon message précédent.
 
commettre les morceaux de code. Quand l'erreur a disparu, où vous avez commenté et cherchez la parenthèse manquante
 
Climber:
Je n'ai pas de gros commentaires qui doivent être cassés, en quoi cela m'aide-t-il ?
J'ai complété mon message précédent.


Si vous mettez /* quelque part en haut du programme
et quelque part plus bas vous mettez */
alors tout ce qui se trouve entre les deux sera traité comme un commentaire.

Les programmeurs utilisent avec succès cette méthode pour trouver les parenthèses manquantes.

En général, la partie contenant l'erreur est plus ou moins claire. C'est ce qu'ils encadrent /* */. Après cela, ils compilent le programme. Si le compilateur dit qu'il n'y a pas d'erreurs, alors la zone de recherche est réduite en déplaçant /* ou */ de haut en bas. Retour à la compilation. Par conséquent, le programmeur trouve un si petit fragment où il voit juste une erreur.

Veuillez noter que vous ne devez pas mettre /* et */ pour des raisons logiques.

 
Je comprends maintenant à quoi servent ces commentaires. Mais j'ai fait une chose similaire, mais d'une manière différente. Je supprimais des opérateurs avec des parenthèses ouvertes et fermées. J'ai commencé par des petites internes, puis je me suis retrouvé avec les plus grandes, couvrant les petites supprimées, et à la fin il m'en restait une non fermée.

Si j'ajoute des parenthèses fermantes à la toute fin du code, je reçois trop d'erreurs liées au code suivant (juste à des endroits absurdes, comme = n'est pas pertinent ici, ou ; ne convient pas non plus. ...).

Et le code lui-même, que j'ai écrit ci-dessus dans le message semble acceptable pour le fonctionnement, que j'ai essayé de les énoncer, ou il pourrait être écrit d'une autre manière ? Comme il est supposé au tout début, si un ordre est ouvert, seulement dans ce cas, nous devrions exécuter les opérateurs suivants après {.

Lorsque j'ai commencé à écrire ce bloc, je l'ai compilé au fur et à mesure (pour voir les erreurs d'un coup), cette erreur est apparue et s'est répétée. J'ai pensé que c'était parce qu'il manquait le crochet de fermeture pour le début, alors j'ai continué à écrire.