[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 216

 
artsnz >> :

Est-ce possible ? DoC offre de clôturer un ordre à un meilleur prix ???? C'est la première fois que j'entends parler d'une société de courtage aussi négligente.

Le robot n'était pas stupide, par définition il ne peut pas être stupide.

Il faut simplement corriger le code, si tu veux tu peux l'exposer ici et tu peux aider ici, tu peux écrire dans ton message personnel et sûrement aussi tu aideras.

1. Oui, c'est arrivé - c'est clair dans le journal.

2. J'ai utilisé le mot "stupide" dans un sens figuré, c'est-à-dire que quelque chose n'allait pas dans le code.

3. Voici le code de pose de la fermeture :

for ( cop=0; cop< t_o; cop++)
 {
  OrderSelect( cop, SELECT_BY_POS, MODE_TRADES);//Выбор ордера по позиции среди открытых
  if(OrderMagicNumber()== MN) 
  {
   ot=OrderTicket();
   if(!OrderClose(OrderTicket(),OrderLots(), price,3, Color))
    Print("Ошибка при закрытии ордера! ED:", ErrorDescription(GetLastError()));
   
  }
 }

Mais la pose ne se ferme pas toujours, et ce n'est pas une erreur, c'est considéré comme normal, un message comme celui-ci vient du serveur :

2009.09.08 00:44:42 '64766' : requote 1.51893 / 1.51933 pour l'ordre #11573500 sell 1.80 EURCHF closing at 1.51914

Comme vous le savez, cela signifie que le prix a changé à court terme pendant que la demande de clôture était envoyée au serveur.

Et le serveur propose un nouveau prix de clôture. Le serveur a le temps de répondre - 3 secondes. Et voilà le problème : le serveur refuse de clôturer l'ordre au nouveau prix !

Comment cela se produit n'est pas clair... Aidez-moi à comprendre, s'il vous plaît.

 

Les gars, veuillez expliquer la signification du point d'exclamation (!ExistPosition).

if(cnt > 0 && !ExistPosition(OP_BUY) && Ask <= prix - PipsForOpenMore * Point)

 
001 >> :

Les gars, veuillez expliquer la signification du point d'exclamation (!ExistPosition).

if(cnt > 0 && !ExistPosition(OP_BUY) && Ask <= prix - PipsForOpenMore * Point)

La traduction littérale de cette ligne sera

si cnt est SUPÉRIEUR à 0 et que la fonction ExistPosition(OP_BUY) renvoie FALSE et que Ask est INFÉRIEUR ou égal au prix - PipsForOpenMore * Point, alors....

Le " !" est une négation. Si ce n'était pas le cas, la condition if supposerait que la fonction ExistPosition(OP_BUY) devrait renvoyer TRUE.

 
Bonjour, pourriez-vous me dire comment attraper et traiter un événement stop loss ou take profit dans un EA ? Je voudrais vous demander comment traiter un événement de clôture pour un Stop Loss ou Take Profit.
 
cdover >> :
Bonjour, Pourriez-vous m'indiquer comment attraper et gérer dans un EA le cas de la fermeture d'une transaction au niveau du stoploss ou du takeprofit. >> Merci.

Voulez-vous que quelque chose soit exécuté avant la fermeture sur le stop/profit ?

 
MrSoros писал(а) >>

Voulez-vous que quelque chose soit exécuté avant la fermeture sur le stop/profit ?

Non, juste après la fermeture.

 

OrdersTotal() - retournera 0 dès que la commande aura été fermée.

En conséquence, si OrdersTotal() renvoie 0, alors vous effectuez le traitement...

C'est le cas lorsqu'un seul ordre est ouvert.

Si vous décrivez votre situation plus en détail, ce que vous voulez faire après la clôture de la commande, alors je serai en mesure de vous donner une meilleure réponse :)

 
Alex5757000 >> :
Chers collègues, j'ai une question sur le calcul de la moyenne. purement mathématique. supposons que nous ayons calculé la moyenne 3 fois : des positions avec le même volume de 1 lot. à un prix de 1,8 et 1,6 et 1,4. Le prix d'ouverture réel ici sera de 1,6. Avec cela, c'est clair. Mais je ne comprends pas comment je peux calculer le prix d'ouverture réel, si nous avons ouvert avec différents lots, par exemple avec un facteur de moyenne de N. // Par exemple : lot 0,1 et 0,2 et 0,4 - ici N==2 à 1,8 et 1,6 et 1,4 . Quel sera le prix d'ouverture réel ?

Je ne comprends pas la logique.

Pouvez-vous l'expliquer plus précisément, à partir d'un exemple ?

 
MrSoros писал(а) >>

3. Voici le code pour fermer la position :

Augmentez la valeur du slippage à 50, vous avez 5 chiffres, donc 0,3 pips ne fonctionne pas.

 
cdover писал(а) >>
Bonjour, pourriez-vous m'indiquer comment capturer et gérer dans mon EA le cas de la clôture d'une transaction au niveau du Stop Loss ou du Take Profit. >> Merci.

Regardez la dernière commande dans l'historique, déterminez le type de commande.

Par exemple pour une position longue :

Si l'ordre a été clôturé à un prix égal ou inférieur au stop loss, il s'agissait d'un stop loss.

Si le prix est égal ou supérieur à TakeProfit - TakeProfit.