Questions des débutants MQL5 MT5 MetaTrader 5 - page 1402
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
Bonjour,
J'essaie de créer un EA très simple qui compare deux cours de clôture et, en fonction de cela, ouvre un ordre d'achat ou de vente.
Tout se passe bien pour le premier ordre, mais dès que la condition passe de vente à achat, il passe plusieurs ordres à la fois.
m_trade est un objet Ctrade.
Vous avez oublié que le temps 'startTime' doit être réinitialisé.
Vous avez oublié que l'heure "startTime" doit être réinitialisée.
Merci Vladimir, je vais essayer de corriger le problème en suivant votre conseil.
Pourtant, je suis toujours surpris. En effet, dans l'instruction if pour l'entrée d'une transaction, nous vérifions si un ordre du même type a déjà été placé. Si c'est le cas, alors l'ordre ne doit pas être placé. Je pensais donc qu'avec cette instruction, seul un type d'ordre pouvait être saisi en même temps.
Cette idée est-elle incorrecte ?
Merci Vladimir, je vais essayer de le corriger en me basant sur votre conseil.
Pourtant, je suis toujours surpris. En effet, dans l'instruction if pour l'entrée d'une transaction, nous vérifions si un ordre du même type a déjà été placé. Si c'est le cas, alors l'ordre ne doit pas être placé. Je pensais donc qu'avec cette instruction, seul un type d'ordre pouvait être saisi en même temps.
Cette idée est-elle incorrecte ?
Vous ne contrôlez pas les ORDRES de quelque manière que ce soit, vous vérifiez le nombre et le type de la POSITION dans le code. De plus, vous ne travaillez pas correctement avec les POSITIONS (erreur d'utilisation de 'PositionSelect(_Symbol)' si votre compte est de type hedging). Votre algorithme présente de graves erreurs de conception.
Ce que vous devriez faire :
1. Travailler EXCLUSIVEMENT au moment de la naissance d'une nouvelle barre. S'il n'y a pas de nouvelle barre - ne faites rien, ne faites pas de mouvements inutiles.
2. Ce point sera divulgué une fois le point 1 terminé.
Oui, dans MT5, cela ralentit considérablement l'opération.
Dans OnInit, il ne fonctionne qu'une fois pendant l'initialisation et pas plus.
Parlez-vous de la fonction Comment()?
Si oui, c'est évident. Dans la fonction OnInit(), le commentaire ne sera mis à jour qu'une seule fois, alors que dans la fonction OnTick(), le commentaire pourrait être mis à jour à chaque tick.
La solution consiste à ne mettre à jour le commentaire que lorsque cela est nécessaire. S'il est statique, alors il n'est mis à jour que lors de OnInit() et il est effacé lors de OnDeinit(), mais s'il est dynamique, alors lors de OnTick(), il n'est mis à jour que lorsqu'il doit être modifié.
EDIT : Ce post a été fait à l'origine sur le forum anglais.
Bonne journée à tous.
J'ai une question
comment faire une requête à sqlite pour sélectionner une ligne d'un ticket.
La structure de la base de données est la suivante :
symbole-texte
ticket - texte
pirce- real
s_l - réel
t_p - réel
il faut mettre toute la chaîne du ticket dans la structure