[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 287

 
tara:
Você afixou a parte errada do código:( você deve afixar sua função.



Se você quer dizer DoubleToStrMorePrecision, é uma função de biblioteca :)
 
Sobre ela :)
 
Depois, para os anais de conhecimento :)
 
Roger:
Depois, para os anais de conhecimento :)

Mostre-me ou vá lá você mesmo.
 
 
Roger:

Regras de busca

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


Este é um artigo sobre as funções da biblioteca?
 
tara:
Você postou a parte errada do código:( você deve postar sua função.

Parte do código está correto, eu o cortei e o fiz como um Expert Advisor, depois disso o passei pelo testador de estratégia e obtive um resultado estranho, como se a funçãoDoubleToStrMorePrecision da bibliotecastdlib.mqh estivesse com falhas
 
Roger:



Você pode me mostrar valores de horas, minutos e segundos antes de inserir no número geral?

Qual é o valor prático desta conversão?


#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);
  }

A conclusão é a seguinte:

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

O valor prático ainda não está totalmente realizado, mas é secundário, aqui eu preciso entender porque o resultado dos cálculos não é o que se espera.

 
Zhunko:
O tamanho dos arquivos é limitado pelo tamanho da unidade, mas sua exibição é limitada pelo tamanho da memória. Acho que você não tem assim tantos dados.

É isso mesmo, tenho uma idéia para escrever um graal, mas isso requer um banco de dados muito grande, então estou me perguntando qual a forma de abordá-lo
 

Por alguma razão, eu entendi bem (exceto pelo alfabeto cirílico)

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