Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 94
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
artmedia70
Pour en revenir à mes béliers, concernant la fermeture d'une position lorsque le prix traverse une ligne d'indicateur. Je pense que l'erreur se trouve dans cette fonction
.
si(Volume[0]>1) retour ;
J'ai lu dans le tutoriel qu'au lieu de compter les ticks, nous pouvons ouvrir (fermer) une position à l'apparition des barres. Est-ce possible ? Si c'est le cas, pouvez-vous me donner un indice sur la façon de le programmer pour ma situation.
artmedia70
Pour en revenir à mes béliers, concernant la fermeture d'une position lorsque le prix traverse une ligne d'indicateur. Je pense que l'erreur se trouve dans cette fonction
.
si(Volume[0]>1) retour ;
J'ai lu dans le tutoriel qu'au lieu de compter les ticks, nous pouvons ouvrir (fermer) une position à l'apparition des barres. Est-ce possible ? Si c'est le cas, pouvez-vous nous envoyer un indice sur la façon de le programmer pour ma situation.
Peut-être que ça sera utile :
La fonction retourne vrai lorsqu'une nouvelle barre apparaît sur M15.
Veuillez me conseiller ! !!
J'écris des ordres en attente à un moment donné
{
Définir le temps d'ouverture
}
if ((condition)==true)//
{
OrderSend ( OP_BUYSTOPP, parameters);// ouvrir un ordre BuyStop en attente
OrderSend ( OP_SELLSTOP, parameters);// ouvrir un ordre SellStop en attente
}
Je pense avoir écrit l'heure correctement ; il la détecte mais pour une raison quelconque, il ouvre soit le Sell Stop soit le Buy Stop et n'ouvre pas deux ordres à la fois. J'essaie d'ouvrir deux ordres en suspens de types différents (Bistop et Sellstop) en même temps et un par un. La question semble être primitive, merci d'aider les nuls).
Pour coller le code correctement ici, cliquez d'abord sur SRC et copiez ensuite le code à cet endroit.
Si j'ai bien compris, à un moment donné, je dois ouvrir une OP_BUYSTOP et une OP_SELLSTOP ? Est-il acceptable d'avoir d'autres ordres en attente en ce moment ? Par exemple, il y a des ordres en attente, mais nous devons supprimer les anciens avant d'ouvrir les nouveaux ?
Cette erreur concerne les objets graphiques, et non les commandes
.
Bonsoir, Victor ! Bizarre, l'ordre en attente n'est pas un objet ! Peut-être avez-vous un objet qui aurait déjà dû être supprimé, mais qui ne l'a pas été !
Bonjour, Boris ! Le conseiller expert ne crée pas d'objets. Cette erreur provient de la fonction qui place un ordre en attente. Voici la version de la fonction (pour le testeur) :
bool OpenPendingBuy(double lot, double price) { int g_ticket = -1; double OOP = price + i_distanceFromLastPos * pt; if (OOP > Ask) { fCheck_ValidPendingOOP(Symbol(), OP_BUYSTOP, OOP); g_ticket = OrderSend(Symbol(), OP_BUYSTOP, lot, ND(OOP), 30, 0, 0, NULL, i_magic, 0, CLR_NONE); } if (g_ticket > 0) { return (true); } else pr ("OpenPendingBuy(): Ордер послать не удалось " + GetLastError()); return (false); }
Si aucun ordre n'a été passé, cela signifie qu'un blocage a été déclenché :
C'est le bloc qui signale l'erreur.
Quelqu'un a-t-il compris la logique ?
Puisqu'il n'y a pas de réponse à la question, voici une fonction qui renverra le ticket du dernier ensemble de commandes :
Merci ! !! juste ce dont j'ai besoin
Exactement ! L'erreur concerne les objets, mais je n'ai aucun objet dans cette EA...
Bonjour, Boris ! Le conseiller expert ne crée pas d'objets. Cette erreur provient de la fonction qui place un ordre en attente. Voici la version de la fonction (pour le testeur) :
Si la commande n'a pas été passée, cela signifie qu'un blocage a été déclenché :
C'est le bloc qui signale l'erreur.
Quelqu'un a-t-il compris la logique ?
Alors, vérifiez votre contrôle d'erreur ? Il doit y avoir un problème !
Heh)) Qu'y a-t-il à redire sur Boris ? Tout est transparent...
pr est une fonction d'impression. Et l'erreur, c'est déjà une constante standard. Logiquement, c'est inacceptable d'être comme ça. Si vous avez encore des doutes sur la fonction pr, la voici :
Le lot est-il normalisé ? Bien et vérifiez le prix.
Est-ce que i_magic, pt, i_distanceFromLastPos sont globaux ?
i_magic, pt, i_distanceFromLastPos sont globaux ?
Oui. Les variables avec i_ sont des variables d'entrée (du mot intut, qui peut être modifié par l'utilisateur...), et pt est aussi une variable globale, qui est visible partout...
.
Le lot est-il normalisé ? Bien et vérifiez le prix.
Non, le lot n'a pas été normalisé. Je ne l'ai jamais rencontré dans le testeur... Et qu'est-ce que Lot a à voir avec l'objet (erreur 4200) ?
Je reçois occasionnellement, mais pas constamment, une erreur 4200 lorsque je place un ordre en attente. Selon la documentation, cette erreur signifie que l'objet existe déjà :
Il s'avère qu'un ordre de ce type est déjà sur le marché lorsque l'ordre en attente est envoyé ?