Questions des débutants MQL5 MT5 MetaTrader 5 - page 1225
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Pour tous. Plus précisément, il affiche dans la fenêtre du graphique le nombre de barres spécifié dans le paramètre, et ne dépend pas de l'horizon temporel.
P.S. Je n'ai jamais modifié cette valeur, mais je viens de la vérifier et j'ai vu qu'elle ne peut pas être inférieure à 1000.Vous devez donc vérifier aveciBars()?
Bon après-midi. Le script ne fonctionne pas pour une raison quelconque.
Quel est le problème ?
Bonjour les amis !
Questions :
1. Les ordres de vente stop limite sont-ils placés du côté du courtier ou du côté du terminal ?
2. Lorsque je fermerai le programme, cet ordre sera-t-il déclenché lorsque les conditions seront remplies ?
Négociation sur le marché des actions MICEX. Merci d'avance !
Bonjour, chers programmateurs. Question sur MQL5
Comment implémenter le contrôle de position dans MetaTrader 5 ? Je veux avoir une seule position ouverte sur une barre, c'est-à-dire que la position doit être fermée peu importe où - sur quelle barre, mais l'ouverture doit être sur une seule barre.
Ce code est complètement ignoré. Quelle est l'erreur ?
Bonjour, chers programmateurs. Question sur MQL5
Comment implémenter le contrôle de position dans MetaTrader 5 ? Ainsi, sur une barre, il n'y a qu'une seule position ouverte. Cela signifie que la position est fermée peu importe où - sur quelle barre, mais l'ouverture doit se faire sur une seule barre.
Le moyen le plus simple est de sauvegarder l'heure d'ouverture de la barre, à laquelle la position est ouverte dans la variable globale, puis, lors de l'ouverture d'une nouvelle position, de vérifier l'heure d'ouverture de la barre si la valeur est supérieure à la valeur sauvegardée, puis d'ouvrir une position.
Bonjour, chers programmateurs. Question sur MQL5
Comment implémenter le contrôle de position dans MetaTrader 5 ? Je veux avoir une seule position ouverte sur une barre, c'est-à-dire que la position doit être fermée peu importe où - sur quelle barre, mais l'ouverture doit être sur une seule barre.
Ce code est complètement ignoré. Quelle est l'erreur ?
Erreur : Vous avez confondu les mouches et les côtelettes - vous avez confondu les ORDRES à DISTANCE et les POSITIONS.
Pour éviter toute confusion, veuillez lire la référence :Principes généraux
La méthode simple ci-dessus consiste à se souvenir de l'heure d'ouverture de la barre actuelle lorsque vous ouvrez une position. Ensuite, si vous voulez ouvrir une nouvelle position, vous vérifiez l'heure enregistrée et l'heure d'ouverture de la barre actuelle.
Le stockage de l'heure d'ouverture d'une position est pratique dansOnTradeTransaction:
et vérifier l'heure à laquelle le signal est reçu :
Exemple tiré du codeOHLC Check 2
C'est un peu délicat.... en quelque sorte. Pas de problème à la première étape "se souvenir de l'heure d'ouverture du bar actuel".
Et voilà :
Mais ici " vous conciliez le temps enregistré et le temps d'ouverture de la barre actuelle " problème.
J'ai fait à peu près la même chose. Regarde ça :
Tout ce que j'ai besoin de faire ici est de boucler une marche comme "return(-1)" Mais je ne peux pas assigner une expression au return à cause du void. Comment puis-je contourner cela ? Comment boucler mais ne pas retourner ?
Ça n'a pas marché non plus.
C'est un peu délicat.... en quelque sorte. Pas de problème à la première étape "se souvenir de l'heure d'ouverture du bar actuel".
Et voilà :
Mais ici " vous vérifiez l'heure enregistrée et l'heure d'ouverture de la barre actuelle " problème.
J'ai fait à peu près la même chose. Regarde ça :
Tout ce que j'ai besoin de faire ici est de boucler une marche comme "return(-1)" Mais je ne peux pas assigner une expression au return à cause du void. Comment puis-je contourner cela ? Comment boucler mais ne pas retourner ?
Le traitement des programmes en boucle consiste à leur couper les bras autour du cou. Pour que vous n'ayez pas à le refaire à l'avenir.
Voici ce dont vous avez besoin - tout le corps du programme, vous avez juste besoin de formaliser la réception du signal :
La variable"m_prev_bars" enregistre le temps d'ouverture de la barre actuelle et la variable"m_last_deal_in" enregistre le temps d'ouverture de la barre à laquelle la position a été ouverte.
Ces deux variables sont comparées dans le bloc d'obtention des signaux"SearchTradingSignals".