[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 324

 
RMX13:

Un morceau de code qui ouvre un ordre et définit un stop loss et un take profit.

Le terminal génère les erreurs suivantes : EURUSD,M30 : OrderSend error 130

EURUSD,M30 : ticket invalide pour la fonction OrderModify

EURUSD,M30 : Erreur OrderModify 4051

EURUSD,M30 : OrderSend a échoué avec l'erreur #4051 bid:1.23674000 ask:1.23683000 Open:1.23674000 SL:1.2423 TP:1.2283 MODE_STOPLEVEL:0.00000000 LOT:0.01000000

Quel est le problème, pouvez-vous le dire ?

RMX13, tout le monde a le même problème. Pour éviter l'erreur 130, vous devez normaliser tous les calculs avec les prix, les lots et les conditions, surtout près des prix en tenant compte du spread, du stoplevel et du freezevel, et du slippage, qui doit être augmenté en fonction de la volatilité. L'asc n'a pas besoin d'être normalisé, mais si vous y ajoutez quelque chose, il faut que ce soit avec des chiffres, et des lots avec 2 (cents), etc. dans tout le code, et bien sûr une gestion des erreurs dans toutes les fonctions de trading, afin de ne pas déranger le DC pour rien. Bonne chance !

Voir dans Doc : OrderSend(Tout doit correspondre au contenu dans l'ordre établi) ! C'est pourquoi il y a des erreurs( :((

 

Chère FAQ! Je l'utilise si possible, mais il ne me convient pas en raison de son immuabilité et, bien sûr, de mon inexpérience. Pour le retour à l'équilibre et la poursuite du chalutage, j'utilise des méthodes dynamiques avec des paramètres qui changent automatiquement, c'est pourquoi je ne mets pas de tralestop ou de std. J'utilise également le stoploss si la connexion est interrompue. C'est pourquoi il arrive que le slose de Mashka soit retardé et que SL soit déclenché. Les erreurs sont très rares en raison du manque d'"épaisseur"(granit77) de l'EA, que j'améliore et adapte constamment au marché en constante évolution.

Merci pour votre prévenance !

Je l'ai fait et il a fonctionné dans mon environnement sans erreurs dans le testeur. Je vais réessayer demain sur Real.

  for(int j = OrdersTotal()-1; j >= 0; j--)
  {
    if(OrderSelect(j, SELECT_BY_POS, MODE_TRADES))
    {  
      if(OrderSymbol() != Symbol() && OrderMagicNumber() != Magic) continue;//фильтр по символу то пропускаем
      if(OrderCloseTime() != 0) continue;        //фильтр по времени закрытия (если не=0 то ордер уже закрыт)
      if(OrderType() == OP_BUY)
      {
        if(maFa0 < maFa1 && maSl0 < maSl1-clo*Point)
        {
          CloseOrder(OrderTicket(),OrderLots(),Bid,slip,Yellow);return(0);
      } }
      if(OrderType() == OP_SELL)
      {
        if(maFa0 > maFa1 && maSl0 > maSl1+clo*Point)
        {
          CloseOrder(OrderTicket(),OrderLots(),Ask,slip,Yellow);return(0);
  } } } }

J'ai dû séparer Close dans un bloc séparé. Merci encore !

Bonjour !

Comme on dit, c'est mieux le matin ! Il me suffisait d'une ligne pour vérifier les commandes qui viennent d'être clôturées :

      if(OrderCloseTime() != 0) continue;        //фильтр по времени закрытия (если не=0 то ордер уже закрыт)
J'ai tout fusionné et j'espère qu'il n'y a plus d'erreurs pour cette raison ! Vivre et apprendre ! Tous les meilleurs, y compris le profit positivo !
 
borilunad:

RMX13, tout le monde a le même problème. Pour éviter l'erreur 130, vous devez normaliser tous les calculs avec les prix, les lots et les conditions, surtout proches des prix, en tenant compte du spread, du stoplevel et du freezevel, ainsi que du slippage, qui doit être augmenté en fonction de la volatilité. L'asc n'a pas besoin d'être normalisé, mais si vous y ajoutez quelque chose, il faut que ce soit avec les chiffres, et les lots avec 2 (cents), etc. dans tout le code, et bien sûr la gestion des erreurs dans toutes les fonctions de trading, afin de ne pas ennuyer le DC pour rien. Bonne chance !

Voir dans Doc : OrderSend(Tout doit correspondre au contenu dans l'ordre établi) ! C'est pourquoi il y a des erreurs( :((

Merci, c'est compréhensible.

Et comment éliminer ce " ticket invalide pour la fonction OrderModify " ?

 
Sur le forum Roboforex, les modérateurs indiquent que dans MT4, les volumes de ticks montrent le nombre de changements dans le prix de l'offre et que les changements dans le prix de la demande ne sont pas reflétés dans le volume de ticks. J'ai été très surpris par cela, car je pensais que les volumes en ticks reflétaient tous les changements de prix - à la fois lorsque seuls l'offre et la demande changent, et lorsque les deux prix changent. Mais ils sont sûrs d'avoir raison et demandent pourquoi il en est ainsi dans MT4 et l'envoient aux développeurs. Question aux développeurs : ont-ils vraiment raison et le volume en ticks ne montre qu'une partie de tous les changements de prix ?
 

Pouvez-vous m'expliquer, s'il vous plaît, par où commencer, que faire, quels sont les pièges......... ou un lien à lire pour les débutants en forex ?

 
RMX13:

Merci, c'est clair.

Mais comment réparer ce " ticket invalide pour la fonction OrderModify " ?


Pour ce faire, je dois exécuter le même Select et dans le même ordre avant de spécifier le type d'ordre, comme cela est fait dans mon code ci-dessus, puis spécifier OrderTicket() dans toutes les fonctions de trading.
 
NoBi4ok:

Pouvez-vous m'expliquer, s'il vous plaît, par où commencer, que faire, quels sont les pièges......... ou un lien à lire pour les débutants en forex ?


Si vous êtes intéressé par le trading, vous devez télécharger l'abécédaire du Forex (vous le trouverez dans presque tous les centres de négociation (CD) dans la section éducation). Si vous êtes intéressé par la programmation du Forex, vous trouverez en haut de chaque page de ce site un lien vers le tutoriel et la documentation (livre de référence). Mais pour ce qui est des pièges, il faut s'interroger ici pour chaque cas séparément - car cette pierre doit être rencontrée. Donner des informations sans le contexte d'une pratique personnelle est inutile : vous les oublierez immédiatement.
 
NoBi4ok:

Pouvez-vous m'expliquer, s'il vous plaît, par où commencer, que faire, quels sont les pièges......... ou un lien à lire pour les débutants en forex ?


Voir ci-dessus pour tous les bleus recommandés par le modérateur ! Tout cela est très important à lire et à assimiler.
 

Où puis-je lire comment gérer les lots sur la ligne d'équilibre ?

Je veux augmenter le lot lorsque le solde diminue, et le diminuer lorsqu'il augmente.

peut-être qu'une chouette est disponible comme modèle ?

Raison: