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

 
Dmitriy Voevodkin:

travailler avec l'historique des transactions via

Historique des commandesTotal()

OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)


Je vous remercie de votre réponse. Je comprends que si un ordre a été clôturé, il doit être sélectionné dans l'historique (comme le dernier ordre dans l'historique), mais je ne sais pas comment définir cette condition (après que nous l'ayons trouvé), s'il a clôturé à Take Profit, alors... et s'il a clôturé à Stop Loss, alors... ?

 

Bonjour, j'ai une question comme celle-ci : ..... Je pensais pour une raison quelconque que la fonction Init () dans l'EA ne démarre pas seulement au moment de l'attachement ou de la compilation de l'EA, mais aussi pendant l'interruption de la connexion, ou plus précisément après la reconnexion. Pouvez-vous me dire comment lancer la fonction init() après le rétablissement de la connexion ????.

 
Veuillez me conseiller sur la manière correcte de procéder et sur l'emplacement des parenthèses. Est-ce que bool est correctement spécifié ? Quelle est sa différence avec un bool externe ? (ou quelque chose comme ça)

"
Bool Volumes

Si (Volume [1 ]> Volume [2]) f=vrai ; sinon f=faux ;
Si (f) trade ; sinon ne trade pas
"
Dossiers :
 
Tigerfreerun:
Veuillez nous conseiller sur la manière correcte de procéder et sur l'emplacement des parenthèses. Est-ce que bool est correctement spécifié ? Quelle est sa différence avec un bool externe ? (ou quelque chose comme ça)

"
Bool Volumes

Si (Volume [1 ]> Volume [2]) f=vrai ; sinon f=faux ;
Si (f) trade ; sinon ne trade pas
"

placez le curseur sur Volume et appuyez sur F1.

Le volume est un opérateur.

La variable bool f ;

En gros, vous pouvez placer le curseur sur n'importe quel opérateur et appuyer sur F1 - tout y est décrit en détail.
 
Dmitriy Voevodkin:

placez le curseur sur Volume et appuyez sur F1.

Le volume est un opérateur.

La variable bool est f ;

En principe, vous pouvez placer le curseur sur n'importe quel opérateur et appuyer sur F1 - tout y est décrit en détail.
La question portait sur les crochets, où mettre "{,}". Je ne comprends pas cet algorithme de disposition des crochets. J'ai tout écrit exactement comme vous l'avez dit et 4 erreurs avec le mot "global scope".
 
Mihail Marchukajtes:

Bonjour, j'ai une question comme celle-ci : ..... Je pensais pour une raison quelconque que la fonction Init () dans l'EA ne démarre pas seulement au moment de l'attachement ou de la compilation de l'EA, mais aussi pendant l'interruption de la connexion, ou plus précisément après la reconnexion. Pouvez-vous me dire comment lancer la fonction init() après le rétablissement de la connexion ????.


Vous ne pouvez pas lancer Init, il est lancé automatiquement une fois lorsque vous démarrez l'indicateur/expert, comme DeInit.

Comme alternative, vous pouvez créer une variable booléenne statique et l'utiliser avecIsConnected(). Et lorsque la connexion est rétablie à l'arrivée d'un nouveau tick, il faut d'abord lancer sa propre fonction d'initialisation. MaisIsConnected() devrait être appliqué non pas dansOnCalculate(), mais dans OnTimer().

 
Dmitriy Voevodkin:

placez le curseur sur Volume et appuyez sur F1.

Le volume est un opérateur.

La variable bool est f ;

En gros, vous pouvez placer le curseur sur n'importe quel opérateur et appuyer sur F1 - tout y est décrit en détail.
Capture d'écran de l'erreur
Dossiers :
 
Tigerfreerun:
Capture d'écran de l'erreur

C'est la première fois que je vois une capture d'écran comme celle-ci =)

N'avez-vous pas la possibilité de faire une capture d'écran avec les moyens internes de Windows ?

 

Par code.

Effectuer un simple retour si le volume est faible, c'est-à-dire interrompre l'exécution d'un autre code.

if(Volume[0] < 1000) return;
 
Tigerfreerun:
Capture d'écran de l'erreur

La syntaxe MQL est cassée. Dans ce cas, il y a un point-virgule supplémentaire après bool Volume et le compilateur veut aussi des crochets (), mais je vous ai déjà écrit que c'est de la logique dans ce cas, pas du code pour Expert Advisor.