Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 724

 
Igor Makanu:

Le plus probable est que vous ayez besoin de la variante 1, puis dans le code du cycle de calcul, où vous recherchez les barres, vous utilisez la structure suivante :

Vous avez le temps requis dans Time[i] après avoir vérifié la condition

Je vous remercie de votre réponse. J'utilise la fonctionCheckTimer() où je passeles dates startTime et endTime.TimeDayOfWeek()renvoie des valeurs de 1 à 5 si je comprends bien. Comment puis-je les convertir au format date pour les utiliser dans la fonctionCheckTimer() ? Ou dois-je également modifier cette fonction ?

 
Gerkl:

Merci pour la réponse. J'utilise la fonctionCheckTimer() où je passestartTime, endTime comme date.TimeDayOfWeek()retourne des valeurs de 1 à 5 si je comprends bien. Comment puis-je les convertir au format date pour les utiliser dans la fonctionCheckTimer() ? Ou dois-je également modifier cette fonction ?

Que pensez-vous de ça ?

int   shift = iBarShift(NULL,PERIOD_W1,Time[i]);  
  
datetime startTime = iTime(NULL,PERIOD_W1,shift); 
datetime endTime = startTime + PeriodSeconds(PERIOD_W1); 
 
Alekseu Fedotov:

Peut-être.

Merci, mais il affiche toute la semaine du dimanche au dimanche et j'ai besoin du lundi au vendredi (semaine commerciale).


Semaine

 

Quelle est la meilleure façon de mettre 10 copies du même EA dans un EA, mais avec des paramètres différents ?


Je pense que oui...
Le code entier de l'EA dans une seule fonction.
Et juste faire les paramètres d'entrée des paramètres EA de la fonction.

Dans Ontick, il suffit d'enregistrer la fonction 10 fois, avec des paramètres différents.


Et nous devrions diviser les commandes par des commentaires.
prescrire des commentaires différents pour les différentes copies de l'EE.

 
multiplicator:

Quelle est la meilleure façon de mettre 10 copies du même EA dans un EA, mais avec des paramètres différents ?


Je pense que oui...
Le code entier de l'EA dans une seule fonction.
Et juste faire les paramètres d'entrée des paramètres EA de la fonction.

Dans Ontick, il suffit de réécrire la fonction 10 fois, avec des paramètres différents.


Et nous devrions diviser les commandes par des commentaires.
Nous rédigerons des commentaires différents pour les différentes copies de l'EE.

Il est préférable de faire des Majiks différents

 
Vladimir Pastushak:

Il vaut mieux rendre les Mejis différents.

Pourquoi mieux ?
C'est juste que peut-être il y aura encore un autre EA qui fera du commerce là-bas.
 
Gerkl:

Merci, mais c'est ainsi qu'il affiche toute la semaine du dimanche au dimanche, alors que j'ai besoin du lundi au vendredi (semaine commerciale).

Si cela vous convient, ajoutez 5 jours de temps en secondes = 5 * 24 * 60 * 60 et vous obtiendrez l'heure de départ du vendredi.

il est difficile de deviner ce dont vous avez besoin, mais il est toujours plus fiable d'utiliser l'heure d'ouverture d'un bar en TF


multiplicateur:
pourquoi mieux ?
juste peut-être qu'il y aura encore un autre EA qui fera du commerce là-bas.

Le commentaire de l'ordre n'étant pas fiable, certains serveurs écrasent le commentaire à 0 heure ou y ajoutent des informations exclusives.

magik est fiable, vous n'êtes pas désolé pour les nombres ? magik est de type int - lisez dans votre aide quel est le nombre maximum que vous pouvez stocker dans int..... vous avez assez de chiffres magiques pour plusieurs milliards d'Expert Advisors... ne soyez pas gourmand, dépensez les nombres magiques ))))

 
Igor Makanu:

comme le commentaire de l'ordre n'est pas fiable, certains serveurs écrasent le commentaire à 0 heure ou y ajoutent des informations sur le service.

le wizard est fiable, vous n'êtes pas désolé pour les nombres ? le wizard est de type int - lisez dans votre aide quel nombre maximal peut être stocké dans int.... vous avez assez de chiffres magiques pour plusieurs milliards d'Expert Advisors... ne soyez pas gourmand, dépensez les chiffres magiques ))))

J'ai un stéréotype : une EA - un numéro magique.


Vous n'aurez pas à fermer tous les ordres de la chouette, donc vous n'avez pas besoin non plus d'une magie commune pour la chouette.

 

Bonjour, j'ai besoin de conseils. Il y a des dérapages fréquents dans ce conseiller expert qui ferme toutes les positions par l'équité de profit. C'est-à-dire que si le profit atteint une certaine valeur, les transactions sont alors fermées, puis non, pas dès la première fois, en général.

extern double EquityProfit  = 1.2;

int start()
  {
   Comment("" ,AccountName(),"\n""ACCOUNT"  ,AccountNumber(),"\n""FREE MARGIN"  ,AccountFreeMargin(),"\n""EQUITY"  ,AccountEquity(),"\n""BALANCE"  ,AccountBalance());

   if(AccountEquity() > AccountBalance()*EquityProfit)
     {
      int total=OrdersTotal();

      for(int i=total-1;i>=0;i--)
        {
         if(OrderSelect(i,SELECT_BY_POS)==true)
           {
            int type=OrderType();

            bool result=false;

            switch(type)
              {
               case OP_BUY       : result=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,Red);
               break;
               case OP_SELL      : result=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,Red);
              }

            if(result==false)
              {
               Sleep(0);
              }
           }
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
 
Vladimir Baskakov:

Bonjour, j'ai besoin de conseils. Ce conseiller expert qui ferme toutes les positions sur l'équité des bénéfices a des dérapages fréquents. C'est-à-dire que si le bénéfice atteint la valeur spécifiée, les transactions sont fermées ou non, pas du tout la première fois.

Vous devez fixer l'excédent d'équité en utilisant le drapeau

Ensuite, vous devez fermer tous les ordres jusqu'à ce qu'ils atteignent 0 et inverser le drapeau.

Maintenant, une partie des ordres a été fermée et une autre partie ne l'a pas été. L'équité a changé et, par conséquent, la condition ne fonctionne pas correctement sur le prochain tick.

Raison: