[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 287
tara: Hai postato la parte sbagliata del codice:( dovresti postare la tua funzione.
Una parte del codice è corretta, l'ho tagliata e l'ho fatta diventare un Expert Advisor, dopo di che l'ho fatta passare attraverso lo strategy tester e ho ottenuto uno strano risultato, come se la funzioneDoubleToStrMorePrecision della libreriastdlib.mqh fosse difettosa
Puoi mostrarmi i valori di ore, minuti e secondi prima di inserirli nel numero generale?
Qual è il valore pratico di questa conversione?
#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 conclusione è questa:
2007.01.0208:00double EURUSD,M15: Alert: Значение переменной SS = 02007.01.0208:00double EURUSD,M15: Alert: Значение переменной MM = 02007.01.0208:00double EURUSD,M15: Alert: Значение переменной HH = 82007.01.0208:00double EURUSD,M15: Alert: Значение переменной DD = 22007.01.0208:00double EURUSD,M15: Alert: Значение переменной MN = 12007.01.0208:00double EURUSD,M15: Alert: Значение переменной YY = 2007
Il valore pratico non è ancora pienamente realizzato, ma è secondario, qui ho bisogno di capire perché il risultato dei calcoli non è quello che ci si aspetta.
Zhunko: La dimensione dei file è limitata dalla dimensione dell'unità, ma la sua visualizzazione è limitata dalla dimensione della memoria. Non credo che tu abbia così tanti dati.
Questo è il punto, ho un'idea per scrivere un graal, ma richiede un database molto grande, quindi mi sto chiedendo in che modo avvicinarmi
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Hai postato la parte sbagliata del codice:( dovresti postare la tua funzione.
Se intendi DoubleToStrMorePrecision, è una funzione di libreria :)
Poi, via agli annali per la conoscenza :)
O me lo mostri o ci vai tu stesso.
Regole di ricerca
https://www.mql5.com/ru/articles/1561
Regole di ricerca
https://www.mql5.com/ru/articles/1561
È un articolo sulle funzioni della biblioteca?
Hai postato la parte sbagliata del codice:( dovresti postare la tua funzione.
Puoi mostrarmi i valori di ore, minuti e secondi prima di inserirli nel numero generale?
Qual è il valore pratico di questa conversione?
#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 conclusione è questa:
Il valore pratico non è ancora pienamente realizzato, ma è secondario, qui ho bisogno di capire perché il risultato dei calcoli non è quello che ci si aspetta.
La dimensione dei file è limitata dalla dimensione dell'unità, ma la sua visualizzazione è limitata dalla dimensione della memoria. Non credo che tu abbia così tanti dati.
Per qualche ragione, mi viene bene (tranne che per l'alfabeto cirillico)