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

 

"T-G 10.10.2011 10:33


j'ai une fonction complexe qui calcule le MM et dans une partie de la fonction renvoie par exemple le lot maximum possible 0.18 et je peux ouvrir soit 0.1, 0.2, 0.3, c'est-à-dire le pas 0.1.

Si je normalise le lot, il sera arrondi à 0,2 et l'ordre n'est pas pris en charge, bien que le lot maximum autorisé soit de 0,18. Quelle est la bonne façon de l'arrondir à la baisse ou de le normaliser correctement ?

Essayez de refaire cette fonction pour vous-même dans un design similaire...

P.s. Le bouton "Répondre" du forum ne fonctionne pas...

 
Professionnels, aidez-nous ! J'ai installé l'EA sur 4 devises dans un terminal, mais il n'ouvre des transactions que sur 1 des devises. Quelle peut en être la raison ? Comment le faire fonctionner sur 4 monnaies en même temps ?
 

2T-G.

En d'autres termes, le résultat du calcul est le suivant : Lots_Nouveau = MathFloor(0,18/0,1)*0,1 ;
La valeur de MathFloor(0,18/0,1) est 1,0, tandis que la valeur calculée de Lots_Nouveau est 0,1 lot. Cette valeur correspond aux règles fixées par le centre de négociation, vous pouvez donc l'utiliser comme un nombre de lots déclaré pour les nouveaux ordres - c'est ainsi que vous le souhaitez...

 

skyjet 10.10.2011 11:22

"...:-)) ... Je demande de l'aide ! J'ai installé mon conseiller expert sur 4 devises différentes dans une plateforme, mais il n'ouvre des transactions que sur une seule des devises. Quelle peut en être la raison ? Comment le faire fonctionner avec 4 devises en même temps ?

Définissez "simultanéité" pour commencer... :-))) Comme dans tous les cas, lorsque des ordres sont ouverts, ils sont mis en ligne, c'est-à-dire que si un EA a la même demande d'ouverture d'ordre, l'un sera ouvert avant l'autre.

Peut-être, vous devez prescrire le symbole négocié dans la première variable, "Symbol()" de OrderSend() fi...

 
Aidez-moi à calculer les drawdowns :)
Disons que j'ai 3 MTS, les drawdowns sont de l'ordre de ceci :
1 - 10%
2 - 15%
3 - 30%
En même temps, ils travaillent sur un seul compte, mais
il y a une limite sur le nombre de positions ouvertes, c'est-à-dire
un seul ordre ouvert à la fois, le risque dans une transaction est de 3%, question :
Quel est le drawdown total ? Comment le calculer ?)
 

Roman ! J'ai installé un EA sur 4 devises dans un terminal. Mais lorsqu'il y a un signal d'ouverture sur toutes les devises, l'EA ne s'ouvre que sur l'une d'entre elles.

J'ai supposé que le numéro magique était le problème et j'ai installé 4 EAs identiques avec des numéros magiques différents sur 4 devises. Je ne ferais pas attention à l'effet qu'il a eu sur 4 devises mais j'ai eu seulement 1 ordre ouvert sur 1 devise et le signal pour en ouvrir 3. Merci d'avance pour votre aide !

 

L'avez-vous essayé sur le testeur ?

OrdersTotal() ==0 dans la condition ?

 
skyjet:

Roman ! J'ai installé un EA sur 4 devises dans un terminal. Mais lorsqu'il y a un signal d'ouverture sur toutes les devises, l'EA ne s'ouvre que sur l'une d'entre elles.

J'ai supposé que le numéro magique était le problème et j'ai installé 4 EAs identiques avec des numéros magiques différents sur 4 devises. Je ne ferais pas attention à l'effet qu'il a eu sur 4 devises mais j'ai eu seulement 1 ordre ouvert sur 1 devise et le signal pour en ouvrir 3. Merci d'avance pour votre aide !

Clairement !!! écrire l'instrument négocié dans la première variable - "Symbol()" de la fi... et remplacez votre fiure d'ouverture de commande par celle-ci.
 
Roman.:
En clair ! !! écrivez l'instrument à négocier dans la première variable - "Symbol()" de la fonction OrderSend() fi... et remplacez votre fiche d'ouverture de commande par celle-ci.
Roman, pardonnez mon incompétence en la matière, mais comment écrire un instrument négocié dans la variable Symbol() ?
 

Pouvez-vous me dire pourquoi la fonction pour fermer le dernier ordre BUY ouvert ne fonctionne pas... voici le code :

int CloselastB ()                   
{for (int i=OrdersTotal()-1; i>=0; i--)
  {if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) 
    {if(OrderSymbol()==Symbol())
      {int order_type=OrderType();
         {if(order_type==OP_BUY)
            {OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);
            return ;
            }}}}}}
Raison: