[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 451
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
Cioè avete bisogno di questa funzione F(8,5464.00) = 85464.00
MathMod() è la divisione. Il resto è pura matematica: se il risultato di TimeLocal() è diviso per 20 ogni secondo (o più spesso), allora ogni 20 secondi il resto sarà zero.
Conclusione: la stessa idea può essere implementata in modi diversi.
Perché devo farlo ogni 20 secondi? Perché non a 19 o 17 anni?
bool flag = true;
int i=0;
int w=0;
double sum;
int t=20;
int start()
{
sum=TimeLocal() / t;
if (flag)
{
while(i<20)
{
w=w+1;
Alert(+w,"-й, Результат TimeLocal-",+sum);
i++;
sum=sum/20;
Sleep(1000);
}
flag = false;
}
return(0);
}
Qui è uguale a zero ogni 11 secondi. Diviso per 20, 20 volte.
Scusa per le domande nubiane, è solo qualcosa che voglio capire.
Perché si divide esattamente per 20 volte?
Devi dividere finché non vinci ;)
8.5464/0.0001=85464
Grazie.
Ma non è quello che intendevo, la virgola è il separatore di triade e il punto separa la parte frazionaria.
Ho una stringa 8,5464.00 che devo convertire in un numero. StrToDouble(8,5464.00) prende 8.
F(8,5464.00) = 85464.00
prova questa funzione
{
cerca una virgola tramite https://docs.mql4.com/ru/strings/StringFind
Assemblare una nuova stringa da due parti: una stringa prima della virgola e una stringa dopo la virgola https://docs.mql4.com/ru/strings/StringGetChar
Convertire in numero StrToDouble()
}
Ecco un esempio lampante, proprio come hai detto tu.
Hmmm...
Come succede che diventa esattamente zero in 20 secondi. Vedere l'ora locale sotto il numero 8000000000... Qual è la parte difficile? Forse ho solo bisogno di una pausa, eh....
int i=0;
int e;
int w=0;
int start()
{
while(true)
{
e=MathMod(TimeLocal(), 20);
w=w+1;
Alert(+w,"-й, Результат MathMod-",+e);
Sleep(1000); // Спим 1-ну секунду
return(0);
}
prova questa funzione
{
cerca una virgola tramite https://docs.mql4.com/ru/strings/StringFind
Assemblare una nuova stringa da due parti: una stringa prima della virgola e una stringa dopo la virgola https://docs.mql4.com/ru/strings/StringGetChar
Convertire in numero StrToDouble()
}
Non c'è un altro modo o questa funzione richiederà molto tempo per essere eseguita.
Se MathMod(TUTTO, 20) = 0, significa (se la memoria non mi inganna)
che OGNI NUMERO è diviso per 20 senza resto.
20 40 60 80 100 120 140 160 ecc.
Non c'è altro modo o questa funzione richiederà molto tempo.
Non so come altro togliere la virgola dalla stringa.
Grazie.
Ma non è quello che intendevo con una virgola che separa le triadi, e un punto che separa le parti frazionarie.
Ho una stringa 8,5464.00 che devo convertire in un numero. StrToDouble(8,5464.00) cambierà in 8.
F(8,5464.00) = 85464.00
Per carattere, attraverso le funzioni di stringa, rimuovere la virgola, poi StrToDouble().