Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 609

 
artmedia70:

Cela va là aussi. Naturellement, l'un ne contredit pas l'autre. Il compte les ordres d'arrêt pour l'achat de l'ask. Ça ne les normalise pas. Ne vérifie pas la limitation de distance StopLevel.

En bref, c'est un méli-mélo.



Je l'ai, merci. J'ai vraiment foiré avec les prix. StopLevel doit être vérifié avant de placer un ordre en attente. Les arrêts et les terrains sont également contrôlés pour la même raison.

Dans ce cas particulier, le niveleur du stop selon les conditions du courtier = 0, et le stop et le profit sont fixés beaucoup plus loin. Quant au prix de l'ordre au marché, d'après ce que je comprends, il est ouvert au prix du marché le plus proche et le niveau du stop n'a rien à voir dans ce cas. N'est-ce pas ?

 
artmedia70:

Pour l'achat, le stop et le take sont calculés à partir du cours acheteur - c'est le premier.

Deuxièmement, si vous calculez les prix des ordres stop, ils doivent être normalisés. Le fait que SL et TP aient été normalisés plus tôt n'est pas un problème. Ensuite, vous utilisez la valeur non normalisée de l'expression dans l'ordre de transaction.

Troisièmement, tous les prix doivent respecter les exigences et les restrictions relatives aux opérations commerciales. Le niveau de StopLevel, par exemple, peut être supérieur à la taille de l'ordre stop.



Ai-je bien compris que les valeurs doivent être normalisées dans l'ordre de transaction ?
 
Dites-moi comment, élégamment, retrouver le TIME Lowe d'hier. Parce que j'ai des constructions peu maniables qui sortent.
 
001:
Dites-moi comment, élégamment, retrouver le TIME Lowe d'hier. Parce que j'ai des constructions peu maniables qui sortent.

Trouvez l'indicateur de canal de prix(canal de Doncian ), mettez une profondeur de 1période sur les journaux... devrait être que
 
YOUNGA:

Trouvez l'indicateur de canal de prix (canal de Doncian), fixez une profondeur de 1période sur les journaux... devrait être que
Merci, je vais essayer. Quelqu'un d'autre a des options pendant que je cherche ?
 

Bonjour, veuillez m'aider avec le code.

Dans cette implémentation, les ordres d'achat et de vente du marché sont moyennés séparément. Comment puis-je faire en sorte que le dernier ordre ouvert ne soit pas soumis à une modification générale dans sa série ?

extern int t=10;

///////////////////////////////////////////////////////
      int kolOK=0;
//   int i=0;
   int kol1=0;
   int kol2=0;
   double lots1=0;
   double lots2=0;
   double sum0=0;
   double sum=0;
  // double sum1=0;
   /////////////////////////////////////////////////////////////////////
   int Total = OrdersTotal();
   for(int i=Total-1; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol()!=Symbol()) continue;
      if (OrderType()==OP_BUY)
      {
       lots1=lots1+OrderLots();
       sum0=sum0+OrderLots()*OrderOpenPrice();
      // sum1=sum1+OrderProfit( )+OrderSwap( )+OrderCommission( )  ; 
       kol1=kol1+1;
      }
      if (OrderType()==OP_SELL)
      {
       lots2=lots2+OrderLots();
       sum=sum+OrderLots()*OrderOpenPrice();
      // sum1=sum1+OrderProfit( )+OrderSwap( )+OrderCommission( )  ;
       kol2=kol2+1;
      }
   }
   ////////////////////////////////////////////////////////////////////////////
   double zeroprice1=0;
   double zeroprice2=0;
   if (lots1!=0) zeroprice1=sum0/lots1;
   if (lots2!=0) zeroprice2=sum/lots2;
   zeroprice1 = (MathRound(zeroprice1*MathPow(10,Digits)))/MathPow(10,Digits);
   zeroprice2 = (MathRound(zeroprice2*MathPow(10,Digits)))/MathPow(10,Digits);

 int res1 = 0;
 int res2 = 0;

 double zeroprice10 = NormalizeDouble(zeroprice1 + t*Point, Digits);
 double zeroprice20 = NormalizeDouble(zeroprice2 - t*Point, Digits);
 if (zeroprice10 !=0 || zeroprice20 !=0) {
   int Total2 = OrdersTotal();
   for(int in=Total2-1; in>=0; in--)
   {
      if (!OrderSelect(in,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol()!=Symbol()) continue;     

           if (OrderType()==OP_BUY) {if (zeroprice10 == NormalizeDouble(OrderTakeProfit(), Digits)) res1=res1+1; else { if (OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),zeroprice10,0,CLR_NONE)) res1 = res1+1;} }

           if (OrderType()==OP_SELL){if (zeroprice20 == NormalizeDouble(OrderTakeProfit(), Digits)) res2=res2+1; else { if (OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),zeroprice20,0,CLR_NONE)) res2 = res2+1;} } 
       }   
   }
 
fmv_for_a_way:


Compris, merci. J'ai en effet fait une erreur avec les prix. Nous vérifions la présence d'un stop loss avant de placer un ordre en attente. Il existe également un contrôle des arrêts et des pertes pour la même lousiness.

Dans ce cas particulier, le niveau du stop du courtier = 0 et le stop et le profit sont fixés beaucoup plus loin. En ce qui concerne le prix de l'ordre au marché, je crois comprendre qu'il s'ouvre au prix du marché le plus proche et que le niveau d'arrêt n'a rien à voir avec lui. N'est-ce pas ?

Non, ça ne l'est pas. Alpari utilise le double écart comme un StopLevel.
 
fmv_for_a_way:

Ai-je bien compris que les valeurs doivent être normalisées dans l'ordre de transaction ?
Pas nécessairement à l'intérieur. Mais juste avant de l'envoyer, oui.
 
artmedia70:
Pas nécessairement à l'intérieur du tout. Mais juste avant l'expédition, oui.


Merci. Je vais chercher une solution.
 
Pouvez-vous me dire où télécharger MT4 build 625 ?
Raison: