[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 287

 
A propos d'elle :)
 
Ensuite, direction les annales pour la connaissance :)
 
Roger:
Ensuite, direction les annales pour la connaissance :)

Soit vous me montrez, soit vous y allez vous-même.
 
 
Roger:

Règles de recherche

https://www.mql5.com/ru/articles/1561


S'agit-il d'un article sur les fonctions de la bibliothèque ?
 
tara:
Vous avez posté la mauvaise partie du code :( vous devriez poster votre fonction.

Une partie du code est correcte, je l'ai coupé et l'ai transformé en conseiller expert, après quoi je l'ai fait passer par le testeur de stratégie et j'ai obtenu un résultat étrange, comme si la fonctionDoubleToStrMorePrecision de la bibliothèquestdlib.mqh était défectueuse.
 
Roger:



Pouvez-vous me montrer les valeurs des heures, minutes et secondes avant de les insérer dans le nombre général ?

Quelle est la valeur pratique de cette conversion ?


#include <stdlib.mqh>
bool once=false;
int start()
  {
  if (once==false)
     {
    double DTM; // дата и время в формате 0,20130429164459
    int YY=TimeYear(   TimeCurrent());   // Year
    int MN=TimeMonth(  TimeCurrent());   // Month         
    int DD=TimeDay(    TimeCurrent());   // Day
    int HH=TimeHour(   TimeCurrent());   // Hour         
    int MM=TimeMinute( TimeCurrent());   // Minute
    int SS=TimeSeconds(TimeCurrent());   // Second
    
    Alert ("Значение переменной YY = ", YY);
    Alert ("Значение переменной MN = ", MN);
    Alert ("Значение переменной DD = ", DD);
    Alert ("Значение переменной HH = ", HH);
    Alert ("Значение переменной MM = ", MM);
    Alert ("Значение переменной SS = ", SS);
    DTM = YY*0.0001+MN*0.000001+DD*0.00000001+HH*0.0000000001+MM*0.000000000001+SS;
    
   Alert ("Значение переменной DTM с 06 знаками равно ", DoubleToStrMorePrecision(DTM,6));
   Alert ("Значение переменной DTM с 07 знаками равно ", DoubleToStrMorePrecision(DTM,7));
   Alert ("Значение переменной DTM с 08 знаками равно ", DoubleToStrMorePrecision(DTM,8));
   Alert ("Значение переменной DTM с 09 знаками равно ", DoubleToStrMorePrecision(DTM,9));
   Alert ("Значение переменной DTM с 10 знаками равно ", DoubleToStrMorePrecision(DTM,10));
   Alert ("Значение переменной DTM с 11 знаками равно ", DoubleToStrMorePrecision(DTM,11));
   Alert ("Значение переменной DTM с 12 знаками равно ", DoubleToStrMorePrecision(DTM,12));
   Alert ("Значение переменной DTM с 13 знаками равно ", DoubleToStrMorePrecision(DTM,13));
   Alert ("Значение переменной DTM с 14 знаками равно ", DoubleToStrMorePrecision(DTM,14));
   Alert ("Значение переменной DTM с 15 знаками равно ", DoubleToStrMorePrecision(DTM,15));
   once=true;
      }
   return(0);
  }

La conclusion est la suivante :

2007.01.02 08:00  double EURUSD,M15: Alert: Значение переменной SS = 0
2007.01.02 08:00  double EURUSD,M15: Alert: Значение переменной MM = 0
2007.01.02 08:00  double EURUSD,M15: Alert: Значение переменной HH = 8
2007.01.02 08:00  double EURUSD,M15: Alert: Значение переменной DD = 2
2007.01.02 08:00  double EURUSD,M15: Alert: Значение переменной MN = 1
2007.01.02 08:00  double EURUSD,M15: Alert: Значение переменной YY = 2007

La valeur pratique n'est pas encore pleinement réalisée, mais elle est secondaire, ici j'ai besoin de comprendre pourquoi le résultat des calculs n'est pas celui attendu.

 
Zhunko:
La taille des fichiers est limitée par la taille du disque, mais son affichage est limité par la taille de la mémoire. Je ne pense pas que vous ayez autant de données.

C'est le problème, j'ai l'idée d'écrire un graal, mais cela nécessite une très grande base de données, donc je me demande comment l'aborder.
 

Pour une raison quelconque, j'ai tout compris (sauf l'alphabet cyrillique).

2013.04.14 22:32:52     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 15 çíàêàìè ðàâíî 0.201304150832510
2013.04.14 22:32:52     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 14 çíàêàìè ðàâíî 0.01304150832510
2013.04.14 22:32:52     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 13 çíàêàìè ðàâíî 0.0130415083251
2013.04.14 22:32:52     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 12 çíàêàìè ðàâíî 0.013041508325
2013.04.14 22:32:52     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 11 çíàêàìè ðàâíî 0.20130415083
2013.04.14 22:32:52     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 10 çíàêàìè ðàâíî 0.2013041508
2013.04.14 22:32:52     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 09 çíàêàìè ðàâíî 0.201304151
2013.04.14 22:32:52     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 08 çíàêàìè ðàâíî 0.20130415
2013.04.14 22:32:52     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 07 çíàêàìè ðàâíî 0.2013042
2013.04.14 22:32:52     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DTM ñ 06 çíàêàìè ðàâíî 0.201304
2013.04.14 22:32:52     stdlib GBPUSD,H1: loaded successfully
2013.04.14 22:32:52     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé SS = 51
2013.04.14 22:32:52     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé MM = 32
2013.04.14 22:32:52     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé HH = 8
2013.04.14 22:32:52     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé DD = 15
2013.04.14 22:32:52     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé MN = 4
2013.04.14 22:32:52     test GBPUSD,H1: Çíà÷åíèå ïåðåìåííîé YY = 2013
 
Roger:

Pour une raison quelconque, j'ai tout compris (sauf l'alphabet cyrillique).

C'est bien ça ? C'est le même problème que le mien.

Raison: