Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 215
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
datetime Time[] -Tableau de tempscontenant l'heure d'ouverture de chaque barre du graphique courant.Time[0] - L'heure d'ouverture de la dernière barre. Si l'OrderOpenTime () est ouvert à moins que Time[0]- cela signifie que l'ordre a été ouvert sur la dernière barre, et selon votre stratégie, il est temps de fermer cet ordre.
datetime Time[] - Tableau Série de temps, qui contient l'heure d'ouverture de chaque barre du graphique actuel.Time[0] - heure de la dernière barre ouverte . Si l'OrderOpenTime() est inférieur àTime[0] - cela signifie que l'ordre a été ouvert sur la dernière barre, et selon votre stratégie, il est temps de fermer cet ordre.
Merci ! Je viens de résoudre le problème avec la fonction iTime. Je ne suis pas encore très doué avec les tableaux ;)).
Merci ! Je viens de résoudre le problème en utilisant la fonction iTime. Je ne suis pas encore très doué avec les tableaux ;)).
Montre-moi comment tu l'as résolu.
Il y a juste quelque chose que vous n'avez peut-être pas envisagé :
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
Toutes les questions des débutants sur MQL4, l'aide et la discussion sur les algorithmes et les codes
Artyom Trishkin, 2017.05.25 19:43
STARIJ:
datetime Time[] -Tableau de temps, qui contient l'heure d'ouverture de chaque barre du graphique actuel.Time[0] - L'heure d'ouverture de la dernière barre. Si l'OrderOpenTime () estinférieur à Time[0]- cela signifie que l'ordre est ouvert sur la dernière barre, et selon votre stratégie, il est temps de fermer cet ordre.
Montre-moi comment tu l'as résolu.
Il y a des choses que vous n'avez peut-être pas envisagées :
OrderOpenTime() < iTime(Symbol(), 0, 0)
OrderOpenTime() < iTime(Symbol(), 0, 0)
Et si l'heure d'ouverture de la commande était il y a une semaine ? Alors il n'est certainement pas sur la dernière bougie (si le graphique n'est pas hebdomadaire). Devrions-nous le fermer aussi ?
Bien sûr, tout dépend des exigences de votre TS, mais j'irais plutôt dans l'autre sens...
Et si l'heure d'ouverture de la commande était il y a une semaine ? Alors il n'est certainement pas sur la dernière bougie (si le graphique n'est pas hebdomadaire). Devrions-nous le fermer aussi ?
Bien sûr, tout dépend des exigences de votre TS, mais j'irais plutôt dans l'autre sens...
Il s'agit d'une condition supplémentaire. Une position doit être fermée lorsque le prix atteint la ligne MA. Parfois, le prix s'ouvre juste sur la ligne et ouvre et ferme des positions à chaque tick. J'ai résolu ce problème en fermant une position au plus tôt à la bougie suivante.
Bonne journée à tous !
Veuillez indiquer comment coder l'action suivante dans le testeur de stratégie
Idée générale
1. ordre ouvert N -X (volume = 0.1)
2. si cet ordre est fermé sur SL, alors. pour compenser la perte, immédiatement au prix de clôture sur SL d'un ordre N X, ouvrez l'ordre N - X1 (volume = 0.3)
NOUS DEVONS FAIRE.
3 Si l'ordre (volume = 0.3) est fermé sur SL, seule la valeur de l'heure d' ouverture de l 'ordre N - X sera retenue pour compenser les pertes auxquelles il a été ouvert.
Je sais comment ouvrir les deux ordres, mais je n'arrive pas à trouver le chemin de la fin, comment mémoriser la valeur horaire pour un ordre fermé au SL avec un volume de 0,1 lot.
NOTE : Ceci est lié aux fermetures d'ordres sur le même tick.
Parfois, plus d'un ordre avec un volume de 0,1 et 0,3 sont fermés sur un tick.
Si 3 ordres de 0,1, par exemple, sont fermés sur un seul tick sur un SL, au lieu d'ouvrir 3 ordres de 0,3. - seulement 1 ordre de 0.3 lots est ouvert
Dans ce cas, si je ne ferme qu'un seul ordre de 0,3 lot sur le SL, je n'obtiendrai pas les valeurs de l'heure lorsque deux ordres de 0,1 lot sont ouverts qui compensent leurs pertes.
C'est-à-dire que j'ai besoin que 3 ordres de 0.3 lots soient ouverts dans ce cas, pas un seul.
Parfois, 3 ordres de 0,3 lot seront fermés par un SL sur un tick, malgré le fait que leurs ordres correspondants de 0,1 lot ont été ouverts sur différents ticks (mais juste à un prix).
Dans ce cas, le programme enregistre la bonne valeur uniquement pour un dernier ordre de 0,1 lot.
J'ai besoin que le programme sauvegarde la valeur horaire de chaque ordre (0.1 lot) fermé par SSL.
Voici mon code, que nous devons modifier.
Merci pour votre aide.
Voici un exemple de situation où plusieurs ordres sont clôturés sur un seul tick
Il s'agit d'une condition supplémentaire. Une position est fermée lorsque le prix franchit la ligne МА. Parfois, le prix s'ouvre directement sur la ligne et ouvre et ferme une position à chaque tick. J'ai résolu le problème en fermant la position avant la prochaine bougie.
Un tel problème devrait être résolu en vérifiant s'il existe, ou a existé, une position ouverte et fermée sur cette même barre.
Sinon, vous allez tout empiler. La fonction de signal doit envoyer des signaux, tandis que la fonction de négociation doit déjà vérifier la validité du signal.
Bonjour. Pourquoi la paire de devises euro vs usdaffiche-t-elle 149.16325 au lieu de 1.0616 ?