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

 
Vladon:


La fonction doit être définie comme une variable

Par exemple, bool closee=OrderClose...........

  • Lavaleur de retour de 'OrderSelect' doit être vérifiée.
  • Lavaleur de retour de 'OrderDelete' doit être vérifiée.
  • Lavaleur de retour de 'OrderSend' doit être vérifiée.
  • Lavaleur de retour de 'OrderClose' doit être vérifiée.
  • Lavaleur de retour de 'OrderModify' doit être vérifiée.


pour éviter de tels avertissements, le retour à la variable doit être spécifié explicitement
comme ça :
  • bool select1=OrderSelect..........
  • bool delete1=OrderDelete..........
  • bool close1=OrderClose..........
  • bool modify1=OrderModify..........
  • int send1=OrderSend..........


tout en résolvant un autre problème, merci encore !!!
 
Forexman77:
Quelle est la bonne méthode ? C'est pourquoi je demande. Je ne sais pas vraiment comment compter les indicateurs.

Je vais deviner :

Est-ce que ça doit être comme ça ?

Je ne sais pas du tout ici.

Si en général, il me suffit que l'indicateur soit calculé sur les 100 dernières barres.

Alors faites comme ceci.

 int i, limit;
  limit = (prev_calculated > 0)?rates_total-prev_calculated:100;
   for(i = limit; i >= 0; i--)
    {
 
AlexeyVik:

Alors faites-le comme ceci


Comment obtient-on les variables ?
prev_calculated 
rates_total
 
Forexman77:
Comment obtient-on les variables ?

Ahh... Je n'avais pas remarqué que vous utilisiez l'ancien format...

rates_total est Bars.

prev_calculé est IndicatorCounted()

 
AlexeyVik:

Texte probablement pas, mais étiquette s'il vous plaît

docs.mql4.com/fr/constants/objectconstants/enum_object_property

Propriétés OBJPROP_XSIZE et OBJPROP_YSIZE



L'étiquette ne suit pas le calendrier...
 
AlexeyVik:

Ahh... Je n'avais pas remarqué que vous utilisiez l'ancien format...

rates_total est Bars

prev_calculé est IndicatorCounted()


Je préfère m'occuper de l'ancien) Bien que j'aie fait quelques évaluations environnementales sur un cinq.
 
Forexman77:
Je dois juste m'occuper de l'ancien) Bien que j'aie fait quelques EA sur 5.

Mais si vous écrivez dans l'ancienne, cette construction ne fonctionnera pas. L'ancienne version n'a pas d'opérateur conditionnel expression1? expression2: expression3.

Mais si vous écrivez dans le nouveau, mais que vous utilisez l'ancien int start() au lieu du nouvel int OnCalculate(.... vous serez bien.

 
alxm:

L'étiquette ne suit pas le graphique...
Alors Vlad a raison de vous conseiller de commencer par la taille de la police.
 
AlexeyVik:

Mais si vous écrivez dans l'ancienne, cette construction ne fonctionnera pas. L'ancienne version n'a pas d'opérateur conditionnel expression1? expression2: expression3.

Mais si vous écrivez dans le nouveau, mais que vous utilisez l'ancien int start() au lieu du nouvel int OnCalculate(.... tout ira bien.


Je le fais dans le 610 build, mais c'est l'ancien. Ensuite, je vais apprendre avec int OnCalculate, j'ai trop de code dedans.

Faites le code comme suit :

int counted_bars=IndicatorCounted(),
   i,limit1,limit2,limit3,limit4;
      limit1 = (counted_bars > 0)?Bars-counted_bars:100;
      limit1=limit1-Period_MA_1;
      limit2=limit1-p2;
      limit3=limit2-p3;
      limit4=limit3-p4;
 
   for(i=limit1;i>=0;i--) ExtMapBuffer1[i]=Close[i]-Close[i+Period_MA_1];
   for(i=limit2;i>=0;i--) ExtMapBuffer2[i]=iMAOnArray(ExtMapBuffer1, 0, p2, 0, MODE_EMA,i);
   for(i=limit3;i>=0;i--) ExtMapBuffer3[i]=iMAOnArray(ExtMapBuffer2, 0, p3, 0, MODE_EMA,i);
   for(i=limit4;i>=0;i--) ExtMapBuffer4[i]=iMAOnArray(ExtMapBuffer3, 0, p4, 0, MODE_EMA,i);
Il n'y a pas de transactions dans l'EA, à environ 1500 une apparaît et c'est tout. A 200, l'indicateur compte correctement. Avec un petit nombre de barres, il est possible de faire en sorte que l'EA ouvre des transactions.



 
Forexman77:

Je fais dans 610 build, mais l'ancien. Ensuite, je vais apprendre avec int OnCalculate, j'ai trop de code dedans.

Faites le code comme suit :

Le conseiller expert n'a pas de transactions, environ 1500 apparaissent et c'est tout. A 200, l'indicateur compte correctement. En quelque sorte, avec un petit nombre de barres, vous pouvez faire en sorte que l'EA ouvre des transactions.

Alors vous devez d'abord déterminer ce que vous voulez écrire comme EA ou indicateur...

J'ai peut-être raté quelque chose, mais j'ai cru comprendre que ce sera un indicateur...