Caractéristiques du langage mql5, subtilités et techniques - page 105 1...9899100101102103104105106107108109110111112...247 Nouveau commentaire TheXpert 2018.10.14 14:47 #1041 fxsaber: template <typename T1, typename T2> bool More(const T1& first, const T2& second) { return first > second; } bool More(const MqlTick& first, const MqlTick& second) { return first.bid > second.bid; } // Простая сортировка template <typename T1, typename T2> // T2 - по какому правилу сортируем void Sort( T1 &Array[] ) { const int Size = ArraySize(Array); for (int i = 0; i < Size - 1; i++) { T2 Min = Array[i]; int Pos = i; for (int j = i + 1; j < Size; j++) if (More(Min, Array[j])) { Min = Array[j]; Pos = j; } if (Pos != i) { Array[Pos] = Array[i]; Array[i] = Min; } } } Bref, je me suis un peu éloigné du sujet fxsaber 2018.10.17 12:50 #1042 // Возвращает TimeLocal даже в Тестере datetime GetTimeLocal( void ) { static const bool IsTester = MQLInfoInteger(MQL_TESTER); static uint TickCount = 0; static datetime InitTimeLocal = 0; datetime Res = 0; if (IsTester) { if (InitTimeLocal) Res = InitTimeLocal + (GetTickCount() - TickCount) / 1000; else { int Array[]; const string FileName = __FUNCTION__; if (FileSave(FileName, Array)) { TickCount = GetTickCount(); Res = InitTimeLocal = (datetime)FileGetInteger(FileName, FILE_MODIFY_DATE); } } } else Res = TimeLocal(); return(Res); } Application void OnInit() { Print(GetTimeLocal()); } double OnTester() { Print(GetTimeLocal()); return(0); } HH Existe-t-il un moyen plus simple de connaître l'heure locale du PC dans le Testeur ? Stanislav Korotky 2018.10.17 15:59 #1043 fxsaber: Application HH Existe-t-il un moyen plus simple d'obtenir l'heure locale du PC dans le Testeur ?Par une variable globale (GlobalVariableTemp, GlobalVariableTime). fxsaber 2018.10.17 16:03 #1044 Stanislav Korotky: Par une variable globale (GlobalVariableTemp, GlobalVariableTime).Cela ne fonctionnera pas. Stanislav Korotky 2018.10.17 20:19 #1045 fxsaber: Ça ne marchera pas.Il fonctionne depuis longtemps et il fonctionne correctement. fxsaber 2018.10.17 20:31 #1046 Stanislav Korotky: Il fonctionne correctement depuis longtemps.Alors qu'est-ce que je fais de mal ? datetime GetTimeLocal( const bool FlagDelete = false ) { static const bool IsTester = MQLInfoInteger(MQL_TESTER); static const string Name = __FILE__; return(IsTester && GlobalVariableTemp(Name) ? GlobalVariableTime(Name) : TimeLocal()); } double OnTester() { Print(GetTimeLocal()); return(0); } TheXpert 2018.10.17 20:55 #1047 fxsaber: Alors qu'est-ce que je fais de mal ? Je soupçonne que le problème est votre amour de la concaténation. Essayez par if. fxsaber 2018.10.17 21:01 #1048 LeXpert: Je soupçonne que le problème est votre amour de la laconisation. Essayez si.Essayé datetime GetTimeLocal() { static const string Name = __FILE__; datetime Res = 0; if (GlobalVariableTemp(Name)) Res = GlobalVariableTime(Name); return(Res); }Ça ne marche pas. Alain Verleyen 2018.10.17 21:10 #1049 fxsaber: Essayé Ça ne marche pas. Cela ne fonctionne pas car la variable globale est émulée avec MT5 Tester. Ils utilisent également TimeCurrent (). Stanislav Korotky 2018.10.17 21:19 #1050 fxsaber: Essayé Ça ne marche pas.Cela fonctionne comme prévu pour moi... PS. Mon erreur - cela fonctionne dans MT4 mais pas dans MT5. 1...9899100101102103104105106107108109110111112...247 Nouveau commentaire
Application
HH Existe-t-il un moyen plus simple de connaître l'heure locale du PC dans le Testeur ?
Application
HH Existe-t-il un moyen plus simple d'obtenir l'heure locale du PC dans le Testeur ?
Par une variable globale (GlobalVariableTemp, GlobalVariableTime).
Par une variable globale (GlobalVariableTemp, GlobalVariableTime).
Cela ne fonctionnera pas.
Ça ne marchera pas.
Il fonctionne depuis longtemps et il fonctionne correctement.
Il fonctionne correctement depuis longtemps.
Alors qu'est-ce que je fais de mal ?
Alors qu'est-ce que je fais de mal ?
Je soupçonne que le problème est votre amour de la concaténation. Essayez par if.
Je soupçonne que le problème est votre amour de la laconisation. Essayez si.
Essayé
Ça ne marche pas.
Essayé
Ça ne marche pas.
Essayé
Ça ne marche pas.
Cela fonctionne comme prévu pour moi...
PS. Mon erreur - cela fonctionne dans MT4 mais pas dans MT5.