[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 62

 

Il y a un code :

double PERIOD=1.0;  
double result=1.0;    
int i=0;             
 
while(result!=0.0)   
{                
   if (iMA(NULL,0,PERIOD,0,MODE_SMA,PRICE_CLOSE,0) < A)
   result=1;                                                
   if (iMA(NULL,0,PERIOD,0,MODE_SMA,PRICE_CLOSE,0) > A)
   result=0;                                                 
   
   PERIOD+=1;                                               
   i++;                                                       
}
   res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red);
   return;
Ici, PERIOD, si je comprends bien, sera recherché à partir de 1, mais la limite supérieure n'est pas spécifiée. Alors, comment puis-je spécifier que, par exemple, la recherche ne sera effectuée que jusqu'à 20 ?
 
les hommes ... Merci... Bénédictions de Dieu.
 

double iClose( string symbol, int timeframe, int shift)



Comment faire en sorte qu'au lieu de "int timeframe" ... est la période actuelle ...

 

Comment faites-vous pour que le "int timeframe" ... est la période actuelle ...

mettez juste 0
 
md4RM:

double iClose( string symbol, int timeframe, int shift)



Comment faire en sorte qu'au lieu de ""int timeframe"" ... est la période actuelle ...


Lisez jusqu'au bout les liens qui vous ont été donnés (je répète) :

https://docs.mql4.com/ru/series/iopen

cadre temporel - Période. Peut être l'une des périodes d'un graphique. 0 signifie la période du graphique actuel.
 
lottamer:


Pourquoi pas plus compliqué ?

....


Vous l'avez déjà compris vous-même)) Les opérateurs imbriqués dans la boucle while se terminent par des parenthèses, c'est-à-dire que seul l'opérateur print fonctionne dans la boucle

Essayez de cette façon :

if ( ...)    {My_buy (); return;}

else while (a>0)

  { Print("no BUY entry");  

 if ( a<0) {My_buy ();} 
} 
 

Bonjour !

Pouvez-vous me dire comment convertir un int en string ?

L'essentiel du passage de string à int peut être fait, mais ils ont oublié de penser à un moyen de retour.

 
SvSerg:

Bonjour !

Pouvez-vous me dire comment convertir un int en string ?

L'essentiel du passage de string à int peut être fait, mais ils ont oublié de penser à un moyen de retour.


Bonne journée !

"... mais ils ont oublié de revenir."

Bien sûr, tout est toujours de la faute des PREMIERS DU MONDE - les PLANIFICATEURS !

Pour qui ont-ils fait ça ?

string DoubleToStr( double value, int digits) 
Преобразование числового значения в текстовую строку, содержащую символьное представление числа в указанном формате точности. 
Параметры:
value   -   Величина с плавающей точкой. 
digits   -   Формат точности, число цифр после десятичной точки (0-8). 

Пример:
  string value=DoubleToStr(1.28473418, 5);
  // содержимое строки value - "1.28473"



 
Usual_Trader:


Vous l'avez déjà compris vous-même)) Vous avez des opérateurs imbriqués dans la boucle while se terminant par une parenthèse, c'est-à-dire que seul l'opérateur print fonctionne dans la boucle

Essayez de cette façon :


a>0 ne fonctionnera pas, car la condition a<0 à l'intérieur de l'opérateur ne sera PAS remplie. Et quand"a" devient inférieur à zéro, la boucle sera terminée du tout et l'action dont j'ai besoin dans l'opérateur ne sera pas exécutée...
 
Roman.:

Bonne journée !

"... mais ils ont oublié de le repenser."

Bien sûr, c'est la faute des développeurs AVANT tout le reste !

Pour qui ont-ils fait ça ?




C'est vous qui m'avez indiqué la conversion de la corde en double et inversement.

Il n'est pas nécessaire de convertir les int en string.

Il suffit d'assigner un int à la chaîne de caractères

int bars = 1000;
string stroka = bars;
Print(stroka);