il tuo più velocemente?
Una perdita di tempo!
onewithzachy:
No, se è più veloce...
Perdita di tempo!
TimeToStruct 4 volte più veloce di sTimeToVariable
Risultato:
2012.08.04 12:23:09 sTimeToVariables (GOLD,M1) performance di sTimeToVariables: 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 //+------------------------------------------------------------------+ //| Funzione di avvio dello 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
Grazie per l'aiuto!
onewithzachy:
Ciao VincentX,
Quale aiuto?
;)
Il pulsante SRC...
Ho postato la fonte la prima volta.
strano, cos'è?
MqlDateTime tm;
lazarev-d-m:
MqlDateTime
strano, cos'è?
era sarcasmo su "Senza usare le funzioni mql!".
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
sTimeToVariables:
Script con la funzione di conversione del tempo in secondi in anno, mese, giorno, ora, minuti, secondi. Senza utilizzare funzioni mql!
Author: Dmitry Fedoseev