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

 
PapaYozh:

Celui-ci part de l'indice zéro, c'est-à-dire du début.

Je suis confus... vous avez tout à fait raison !
 
PapaYozh:

Celui-ci cherche à partir de l'index zéro, c'est-à-dire depuis le début.

PapaYozh:

Celui-ci part de l'indice zéro, c'est-à-dire du début.

Ahh... Maintenant, tout s'explique, merci.

 
Maxim Kuznetsov:

for(int i=OrdersTotal()-1;i>=0;i--) {

   if (! OrderSelect(i,SELECT_BY_POSITON,MODE_TRADES)) continue;

   double prosad=DBL_MIN;

   if (OrderType()!=OP_BUY && OrderType!=OP_SELL) continue;

   for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) {

      double delta=( OrderType()==OP_BUY? OrderOpenPrice()-iLow(OrderSymbol(),PERIOD_M1,j) : iHigh(OrderSymbol(),PERIOD_M1,j)-OrderOpenPrice() );

      delta /= MarketInfo(OrderSymbol(),MODE_POINT);

      if (delta>prosad) prosad=delta;

   }

  PrintFormat("Максимальная просадка по ордеру %d = %d пунктов , %f денег",OrderTicket(),(int)(prosad),prosad*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE);

}

écrit "à la main", non testé, plein d'erreurs :-) adaptez-le à vos besoins et utilisez-le

dites-moi ce que signifie - " !" dans votre code ?

je ne le comprends pas encore très bien

ou peut-être que quelqu'un d'autre que l'auteur peut me l'expliquer ?

 
законопослушный гражданин:

dites-moi, s'il vous plaît, ce que signifie -" !" dans votre code ?

Je ne le comprends pas encore vraiment.

ou quelqu'un d'autre que l'auteur peut-il me l'expliquer ?

! - c'est une négation booléenne, PAS

if { !OrderSelect() } se traduit par "si OrderSelect ne réussit pas".

!= respectivement "PAS égal"

 
Maxim Kuznetsov:

! - est une négation booléenne, NOT

if { !OrderSelect() } se traduit par "si PAS de succès OrderSelect".

!

merci

 
Maxim Kuznetsov:

for(int i=OrdersTotal()-1;i>=0;i--) {

   if (!OrderSelect(i,SELECT_BY_POSITON,MODE_TRADES)) continue;

   double prosad=DBL_MIN;

   if (OrderType()!=OP_BUY && OrderType!=OP_SELL) continue;

   for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) {

      double delta=( OrderType()==OP_BUY? OrderOpenPrice()-iLow(OrderSymbol(),PERIOD_M1,j) : iHigh(OrderSymbol(),PERIOD_M1,j)-OrderOpenPrice() );

      delta /= MarketInfo(OrderSymbol(),MODE_POINT);

      if (delta>prosad) prosad=delta;

   }

  PrintFormat("Максимальная просадка по ордеру %d = %d пунктов , %f денег",OrderTicket(),(int)(prosad),prosad*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE);

}

écrit "à la main", non vérifié, comporte beaucoup d'erreurs :-) adaptez-le à vos besoins et utilisez-le

J'ai peut-être "nettoyé" le code, mais cette ligne présente un avertissement for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1) ; j>=0;j--)

perte éventuelle de données due à la conversion de type

Vous ne trouvez pas ce qui ne va pas ?

 
законопослушный гражданин:

Je semble avoir "nettoyé" le code, mais sur cette ligne for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1) ; j>=0;j--) l'avertissement apparaît :

perte éventuelle de données due à la conversion de type

Je n'arrive pas à comprendre ce qui ne va pas ?

J'ai mélangé les paramètres... c'est un problème courant lorsqu'il est écrit "à la volée" directement dans le forum sans passer par le terminal.

iBarShift(OrderSymbol(),PERIOD_M1,OrderOpenTime()) doit être

 
Maxim Kuznetsov:

Paramètres mélangés... confusion courante lors de l'écriture "à la volée" directement dans le forum en contournant le terminal.

iBarShift(OrderSymbol(),PERIOD_M1,OrderOpenTime()) doit être

merci

 
законопослушный гражданин:

Je semble avoir nettoyé le code, mais sur cette ligne for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1) ; j>=0;j--) l'avertissement apparaît :

perte éventuelle de données due à la conversion de type

Je n'arrive pas à comprendre ce qui ne va pas ?

Je n'arrive pas à comprendre ce qui ne va pas... Puis-je attacher cette "chose" à mon conseiller expert et l'exécuter à travers le testeur de stratégie avec la sortie des informations dans le rapport de test ?

Est-ce que ça va marcher ?

 

Des conseils sur la façon de gérer cela ?

Dans le testeur sur l'historique, une simple ouverture de commande provoque parfois une erreur...

OrderSend(_Symbol,OP_SELL,0.5,Bid,0,0,0,NULL,0)
2021.08.26 14:56:33.375 2017.08.07 08:00:00  Trader EURUSD,H1: OrderSend error 3

ERR_INVALID_TRADE_PARAMETERS - qu'est-ce que c'est et qu'est-ce que cela signifie ?