le vôtre plus rapidement ?
Perte de temps !
onewithzachy:
Non, si c'est plus rapide...
Perte de temps !
TimeToStruct 4 fois plus rapide que sTimeToVariable
Résultat :
2012.08.04 12:23:09 sTimeToVariables (GOLD,M1) sTimeToVariables performance : 24.190035%
2012.08.04 12:23:09 sTimeToVariables (GOLD,M1) sTimeToVariables : 42891604
2012.08.04 12:22:55 sTimeToVariables (GOLD,M1) TimeToStruct : 10375494
#import "kernel32.dll" bool QueryPerformanceCounter(int &counter[]); #import //+------------------------------------------------------------------+ //| Fonction de démarrage du script| //+------------------------------------------------------------------+ int OnStart() { int counter[2]; int start; datetime TimeNow=TimeCurrent(); MqlDateTime tm; long today=TimeCurrent(); QueryPerformanceCounter(counter); start=counter[0]; for(int i=0;i<100000000;i++) TimeToStruct(TimeNow,tm); QueryPerformanceCounter(counter); long T1=counter[0]-start; Print("TimeToStruct: ",T1); QueryPerformanceCounter(counter); start=counter[0]; for(int i=0;i<100000000;i++) fTimeToVariables(TimeNow,tm); QueryPerformanceCounter(counter); long T2=counter[0]-start; Print("fTimeToVariables: ",T2); PrintFormat("fTimeToVariables performace: %f%%",double(T1)/double(T2)*100); return(0); } //+------------------------------------------------------------------+ //| fTimeToVariables| //+------------------------------------------------------------------+ void fTimeToVariables(datetime TIME,MqlDateTime& dt_struct ) { int dst=(int)TIME%86400; dt_struct.hour=dst/3600; dst-=(dt_struct.hour*3600); dt_struct.min=dst/60; dt_struct.sec=dst%60; int dn=(int)TIME/86400; int edn=dn+365; int qen=edn/1461; int dfqs=edn-(qen*1461); int yfqs; int dfys; if(dfqs<1095) { yfqs=dfqs/365; dt_struct.year=1969+qen*4+yfqs; dfys=dfqs-(yfqs*365); } else { yfqs=3; dt_struct.year=1969+qen*4+yfqs; dfys=dfqs-(yfqs*365); if(dfys==59) { dt_struct.mon=2; dt_struct.day=29; return; } else if(dfys>59) { dfys--; } } int mei[]={-1,30,58,89,119,150,180,211,242,272,303,333,364}; for(dt_struct.mon=1;dt_struct.mon<13;dt_struct.mon++) { if(dfys<=mei[dt_struct.mon]) { dt_struct.day=dfys-mei[dt_struct.mon-1]; return; } } }
onewithzachy: Would you repost the code using SRC butt-on
Merci pour votre aide !
onewithzachy:
Bonjour VincentX,
Quelle aide ?
;)
Le bouton SRC...
J'ai posté la source la première fois.
bizarre, qu'est-ce que c'est ?
MqlDateTime tm;
lazarev-d-m:
MqlDateTime
bizarre, qu'est-ce que c'est ?
c'était du sarcasme à propos de "Sans utiliser les fonctions mql !".
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
sTimeToVariables:
Script avec la fonction de convertir le temps en secondes en année, mois, jour, heure, minutes, secondes. Sans utiliser les fonctions mql !
Author: Dmitry Fedoseev