[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 319

 
Vinin:

Montrez-moi le code, comment vous l'avez testé

   double in = 3.24857,res;
   int i, pretime = GetTickCount();
   for(i=0;i<1000000;i++){res=MathRound(in*10)/10;}
   Print("Stage 1 : ",GetTickCount()-pretime);
   pretime = GetTickCount(); 
   for(i=0;i<1000000;i++){res=NormalizeDouble(in,1);}
   Print("Stage 2 : ",GetTickCount()-pretime);  
J'ai été choqué moi-même :))))
 
FAQ:

Ne jamais comparer, prises non normalisées, inutile. Et d'ailleurs, le prix de clôture d'un ordre d'achat peut être différent du prix d'achat (réel/démo (en ligne)).

Il serait donc plus correct de mesurer le module de différence de prix, en le comparant à la valeur test.

Est-ce déjà fait ou seulement après OrderSelect?
 
au sein d'une sélection
 
FAQ:
à l'intérieur du sélecteur.
OK. Je suis déjà en train d'essayer...
 
okvseok:
Ok. J'essaie...
C'est clair. Merci. Ça marche.
 
Bonjour, je suis nouveau ici, mais depuis longtemps=). Je voudrais ajouter à la condition d'ouverture d'un trade la lecture des indicateurs MA 30 et 10 pas. C'est-à-dire que si la valeur de MA30 >MA10 alors vendre et vice versa. Je vous remercie d'avance.
 
Evylol:
Bonjour, je suis nouveau ici, mais depuis longtemps=). Je voudrais ajouter à la condition d'ouverture d'un trade la lecture des indicateurs MA 30 et 10 pas. C'est-à-dire que si la valeur de MA30 >MA10 alors vendre et vice versa. Je vous remercie d'avance.


https://docs.mql4.com/ru/indicators/iMA

if(iMA(Symbol(),Period(),30,0,MODE_SMA,PRICE_CLOSE,1)>iMA(Symbol(),Period(),10,0,MODE_SMA,PRICE_CLOSE,1)){bla.bla.bla}
 

Merci.

 
FAQ:

J'ai été choqué moi-même :))))

Je devrais le mettre dans les Annales, ugh, dans le FAC
 
int start()

  {
   { 
    if (OrdersTotal()<10 && iMA(Symbol(),Period(),30,0,MODE_SMA,PRICE_CLOSE,1)>iMA(Symbol(),Period(),10,0,MODE_SMA,PRICE_CLOSE,1)
     OrderSend(Symbol(),OP_SELL,1,Bid,0,0,Ask-13*Point,"",111,0,Blue);
    }
    {
    if (OrdersTotal()<10 && iMA(Symbol(),Period(),30,0,MODE_SMA,PRICE_CLOSE,1)<iMA(Symbol(),Period(),10,0,MODE_SMA,PRICE_CLOSE,1)
     OrderSend(Symbol(),OP_BUY,1,Ask,0,0,Bid+13*Point,"",111,0,Red);      
     
    }
   }
Où avez-vous fait fausse route ?