Questions des débutants MQL5 MT5 MetaTrader 5 - page 337

 
Tapochun:
Ce n'est pas le robot... Il fonctionne sans aucune erreur. La structure du résultat de la transaction est MqlTradeResult, c'est le deuxième paramètre de la fonction OrderSend() regardez dans la documentation. Le code a été écrit en utilisant la POO, je ne suis pas familier avec elle... Vous devez trouver une méthode qui envoie une demande de transaction en utilisant OrderSend() et après cela appeler Print( result.retcode ) où result est un objet de la structure MqlTradeResult.

Je l'ai fait fonctionner.

Cela se fait comme suit

MqlTradeResult result;

 trade.Result(result)

Print(result.retcode)

trade est un objet de la classe CTrade.

Le code renvoie 10030 ( type d'exécution de l'ordre de solde non supporté).

Qu'est-ce que cela signifie ?

 
Maxi-M:

Je l'ai fait fonctionner.

Cela se fait comme suit

trade est un objet de la classe CTrade.

Le code renvoie 10030 ( type d'exécution de l'ordre de solde non supporté).

Qu'est-ce que cela signifie ?

Avez-vous essayé d'ouvrir un compte de démonstration sur le serveur MetaQuotes-Demo ? Si ce n'est pas le cas, essayez-le et si tout est OK, écrivez au Service Desk et plaidez que la classe CTrade de l'Expert Advisor ne fonctionne pas correctement sur le serveur que vous utilisez. Si c'est toujours mauvais... Vous pouvez également écrire au Service Desk et dire que vous ne pouvez pas exécuter le robot, qu'il y a une erreur... Mais tout d'abord, n'oubliez pas d'essayer de l'exécuter sur le serveur demo methaqvot !
 

Aidez-nous !

1 Voici la fonction :

 if (OrdersTotal()==1) 
   if(profit>=tp_in_money || a>0) 
   {
      closeall();
      closeall();
      closeall();
      //a++;
      //if(total()==0) a=0;

Cela signifie qu'il faut fermer tous les ordres lorsqu'un certain bénéfice est atteint.

Et je veux qu'ils se ferment à un certain profit défini MAJIKa pas me dire comment faire ? peut-être ajouter aprèsOrdersTotal()cheta besoin????. par exemple!=magique ? ????????

S'il vous plaît, donnez-moi un indice, j'essaie juste de comprendre.

2) Mettre un stop virtuel de 50% du dépôt, ai-je raison?

double BOL    =AccountBalance();
double PROS    =AccountCredit();
   if(PROS<BOL*0.5 || a>0) 
   {
      closeall();
      closeall();
      closeall();
      //a++;
      //if(total()==0) a=0;
 
CapitalUser:
Aidez-nous !
1 ici est une fonction :
si(OrdersTotal()==1)
if(profit>=tp_in_money || a>0)
{
closeall() ;
closeall() ;
closeall() ;
//a++ ;
//si(total()==0) a=0 ;
Ce que je veux dire ici, c'est que tous les ordres doivent être fermés une fois qu'un certain profit est réalisé.
Et je veux qu'ils se ferment à un certain profit défini par MAGIC pouvez-vous me dire comment faire cela ? peut-être ajouter après OrdersTotal()cheta besoin ????par exemple=magie ? ????????
Dites-moi, je ne comprends pas.

2) Je veux un stop virtuel de 50% du dépôt, j'ai raison :

double BOL =AccountBalance() ;
double PROS =AccountCredit() ;
si(PROS<BOL*0.5 || a>0)
{
closeall() ;
closeall() ;
closeall() ;
//a++ ;
//si(total()==0) a=0 ;

  • Un design douloureusement familier, mais correct.

Je ne prétends pas être parfait.

//+------------------------------------------------------------------+
void CloseProfit(int mag,double profit)
  {

   double pro=0,pri=0;
   static bool flag=false;
   for(int i=OrdersTotal()-1; i>=0; i--)
      if(OrderSelect(i,SELECT_BY_POS))
         if(OrderSymbol()==_Symbol)
            if(OrderMagicNumber()==mag || mag==-1)
               pro+=OrderProfit()+OrderCommission()+OrderSwap();

   if(pro>=profit)flag=true;  if(pro==0)flag=false;

   for(int i=OrdersTotal()-1; i>=0; i--)
      if(OrderSelect(i,SELECT_BY_POS))
         if(OrderSymbol()==_Symbol)
            if(OrderMagicNumber()==mag || mag==-1)
              {
               if(OrderType()==OP_BUY )pri=Bid;
               if(OrderType()==OP_SELL)pri=Ask;
               if(OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(pri,_Digits),30,clrRed)==false)
                  Comment("Error "+GetLastError());
              }

  }
//+------------------------------------------------------------------+
 
VOLDEMAR:

  • Un design douloureusement familier, mais correct.

Je ne prétends pas être parfait.

Merci !
 
Tapochun:
Avez-vous essayé d'ouvrir un compte de démonstration sur le serveur MetaQuotes-Demo ? Si non - essayez-le, si tout est OK - écrivez au Service Desk et plaidez que la classe CTrade de votre EA ne fonctionne pas correctement sur le serveur. Si c'est toujours mauvais... Vous pouvez également écrire au Service Desk et dire que vous ne pouvez pas exécuter le robot, qu'il y a une erreur... Mais tout d'abord, n'oubliez pas d'essayer de l'exécuter sur le serveur demo methaqvot !

Merci beaucoup !

Cela a fonctionné dansMetaQuotes-Demo. Je vais écrire au service d'assistance dans la semaine pour que le serveur BCS5-Real soit réglé.

 
Maxi-M:

Merci beaucoup !

Cela a fonctionné dansMetaQuotes-Demo. Je vais écrire au service d'assistance dans la semaine pour que le serveur BCS5-Real soit réglé.

Vous êtes les bienvenus. Malheureusement, les EA peuvent fonctionner différemment sur différents serveurs.
 

Bonsoir, messieurs !

Question : Est-il possible de créer des éléments graphiques(ligne de tendance, indicateur..........) avec l'extension Gif, c'est-à-dire avec un effet d'animation (chatoiement, clignotement..........) dans MT4 ? Je vous remercie de votre réponse.

 
gnawingmarket:

Bonsoir, messieurs !

Question : Est-il possible de créer des éléments graphiques(ligne de tendance, indicateur..........) avec l'extension Gif, c'est-à-dire avec un effet d'animation (chatoiement, clignotement..........) dans MT4 ? Je vous remercie de votre réponse.

Votre question n'est pas claire, programmatiquement vous pouvez faire des lignes et autres, mais qu'entendez-vous par gif ?
 
VOLDEMAR:
Votre question n'est pas claire, le logiciel peut faire des lignes et autres, mais qu'entendez-vous par gif ?
D'une manière générale, oui, la question est brute. Je vais prendre du temps pour...... laisser le sujet mijoter dans mon chaudron. Merci.
Raison: