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

 
Karputov Vladimir:
Ouvrez ensuite un sujet distinct pour les questions relatives à votre code. Peut-être qu'avec des conseils, vous serez en mesure de maîtriser votre code.
C'est bon, je m'en vais, je vous laisse...
 
-Aleks-:
Un code compliqué pour moi, et les freelances ont un gros appétit - un message du genre "nous allons écrire à partir de rien pour beaucoup d'argent"...

C'est bon... le code est compliqué et le rendre encore plus compliqué est plus facile, n'est-ce pas ?

Vous pouvez également lire un manuel, de la documentation... Le chemin est parcouru. Eh bien... ou de partir en freelance dans les griffes de quelques freelances avides et moches ;)

 
RSl = iRSI(Symbol(),0,InpRSIPeriod,PRICE_CLOSE,0) ;

si (OrdersTotal() == 0 && RSl <= 70 )

pourquoi la condition n'est pas remplie qu'est-ce que j'ai mal écrit ?

 
Leanid Aladzyeu:
RSl = iRSI(Symbol(),0,InpRSIPeriod,PRICE_CLOSE,0) ;

si (OrdersTotal() == 0 && RSl <= 70 )

pourquoi la condition n'est pas satisfaite, qu'est-ce que j'ai écrit de façon incorrecte ?

Utilisez le stylo de code - les erreurs seront visibles.

   RSl=iRSI(Symbol(),0,InpRSIPeriod,PRICE_CLOSE,0);
   if(OrdersTotal()==0 && RSl<=70)
     {
      // здесь долна быть обработка условия
     }
 
Karputov Vladimir:

Utilisez le Code Styler - les erreurs seront visibles.

Le styler n'a pas aidé, la condition de traitement qu'il y avait .

Il y avait 25 avertissements et 5 erreurs et il y en a toujours. yep))))

 

J'ai cherché sur Internet et je n'ai pas trouvé de solution. Aide.

J'ai recalculé le nombre égal de parenthèses dans toutes les fonctions.

 
Leanid Aladzyeu:

J'ai cherché sur Internet et je n'ai pas trouvé de solution. Aide.

J'ai compté le même nombre de parenthèses dans toutes les fonctions.

Vous ne maîtrisez pas l'anglais ?

D'abord :

int start()

  {

  }

Compilez-le, et vous verrez, puisque vous ne voulez pas montrer le code en entier.

 
Artyom Trishkin:

Vous ne maîtrisez pas l'anglais ?

Tout d'abord :

Suivant : Quelque part dans votre code, Ask est défini comme une variable, ce que vous ne pouvez pas faire du tout. Donnez-lui un autre nom, car Ask est une variable prédéfinie. Et puis vous verrez, puisque vous ne voulez pas montrer le code en entier.

Opps . Ask en tant que variable ne l'était pas. j'ai ajouté des parenthèses et ces erreurs ont disparu. il reste 5 , et 6 avertissements))
 
Leanid Aladzyeu:
Oups . Asc en tant que variable ne l'était pas. J'ai ajouté des parenthèses et ces erreurs ont disparu. Il reste 5 et 6 avertissements.)
C'est pourquoi j'ai corrigé mon message initial. Parce que l'absence de parenthèses est exactement ce qui aurait pu provoquer de telles erreurs - matin, 5h30, nuit sans sommeil ....
 
Artyom Trishkin:
C'est pourquoi j'ai modifié mon message initial. Parce que l'absence de parenthèses est exactement ce qui aurait pu causer de telles erreurs - matin, six heures et demie, nuit blanche ...

C'est normal pour moi de ne pas dormir pendant 24 heures.

Aide

Il reste une goutte. Les jambes poussent à partir de cette fonction "Modifi order" je pense

//----------------------------------

void ModifyOrders()

{

double avg= 0 ;

int count = 0 ;


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

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

{

if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)

{

if(OrderType()==OP_BUY || OP_SELL)

{

avg+=OrderOpenPrice() ;

compte++ ;

}

}

}

}


avg=NormalizeDouble(avg/count,Digits) ;

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

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

{

if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)

{

si(OrderType()==OP_BUY)

{

TP=NormalizeDouble(avg+TakeProfit*Point,Digits) ;

OrderModify(OrderTicket(),OrderOpenPrice(),0,TP,0) ;

}

sinon

si(OrderType()==OP_SELL)

{

TP=NormalizeDouble(avg-TakeProfit*Point,Digits) ;

OrderModify(OrderTicket(),OrderOpenPrice(),0,TP,0) ;

}

}

}

}


}

//+------------------------------------------------------------------+

Raison: