Salve. Ho un compito di controllare la correttezza del parametro del volume di trading specificato dall'utente, cioè il lotto specificato dovrebbe essere un multiplo del passo di cambio lotto. Per farlo, trovo un resto reale della divisione e lo confronto con uno zero o un valore molto vicino allo zero (per esempio, 0,000000001)
/*
Вещественный остаток 0,009999999999999998
Шаг изменения лота 0,01
Результат деления 3,0
*/
Ho anche allegato uno screenshot.
Penso che il resto dovrebbe essere zero o un numero molto piccolo, ma il risultato è quasi 0,01 per qualche motivo? Allora come posso controllare il parametro di ingresso se, per esempio, l'utente imposta 0,001 per errore?
Salve. Ho un compito di controllare la correttezza del parametro del volume di trading specificato dall'utente, cioè il lotto specificato dovrebbe essere un multiplo del passo di cambio lotto. Per farlo, ottengo il resto reale della divisione e lo confronto con uno zero o un valore molto vicino allo zero (per esempio, 0,000000001)
Risultato:
Ho anche allegato uno screenshot.
Penso che il resto dovrebbe essere zero o un numero molto piccolo, ma il risultato è quasi 0,01 per qualche motivo? Allora come posso controllare il parametro di ingresso se, per esempio, l'utente imposta 0,001 per errore?
È un po' sbagliato. La prima cosa da fare è calcolare il valore corretto più vicino (in base al valore impostato), e poi controllare la differenza tra i valori ottenuti. Se è uguale a zero (o non più di DBL_EPSILON), allora tutto è a posto:
Ragazzi, potete dirmi il codice su come collegare un EA ad un conto (per l'ultimo aggiornamento di MT4).
Grazie mille.
Vi è già stato dato il codice.
Hai fatto tu stesso l'errore - è scritto nella descrizione dell'errore che hai inserito il codice nell'area delle variabili globali e non dentro OnTick() o OnInit():
'if' - expressions are not allowed on a global scope
E con tale conoscenza state ancora cercando di proteggere il vostro codice da qualcun altro?
Hai commesso tu stesso l'errore - ti è scritto nella descrizione dell'errore che hai inserito del codice nell'area delle variabili globali, non dentro OnTick() o OnInit():
'if' - expressions are not allowed on a global scope
E con questa consapevolezza stai ancora cercando di proteggere il tuo codice da qualcun altro?
Semplice:
dà un errore
messaggio di errore
Dov'è l'errore? Che tipo di errore?
Salve. Ho un compito di controllare la correttezza del parametro del volume di trading specificato dall'utente, cioè il lotto specificato dovrebbe essere un multiplo del passo di cambio lotto. Per farlo, trovo un resto reale della divisione e lo confronto con uno zero o un valore molto vicino allo zero (per esempio, 0,000000001)
Risultato:
/* Вещественный остаток 0,009999999999999998 Шаг изменения лота 0,01 Результат деления 3,0 */Ho anche allegato uno screenshot.
Penso che il resto dovrebbe essere zero o un numero molto piccolo, ma il risultato è quasi 0,01 per qualche motivo? Allora come posso controllare il parametro di ingresso se, per esempio, l'utente imposta 0,001 per errore?
Salve. Ho un compito di controllare la correttezza del parametro del volume di trading specificato dall'utente, cioè il lotto specificato dovrebbe essere un multiplo del passo di cambio lotto. Per farlo, ottengo il resto reale della divisione e lo confronto con uno zero o un valore molto vicino allo zero (per esempio, 0,000000001)
Risultato:
Ho anche allegato uno screenshot.
Penso che il resto dovrebbe essere zero o un numero molto piccolo, ma il risultato è quasi 0,01 per qualche motivo? Allora come posso controllare il parametro di ingresso se, per esempio, l'utente imposta 0,001 per errore?
È un po' sbagliato. La prima cosa da fare è calcolare il valore corretto più vicino (in base al valore impostato), e poi controllare la differenza tra i valori ottenuti. Se è uguale a zero (o non più di DBL_EPSILON), allora tutto è a posto:
La funzione VolumeCast può essere presa da qui.
Dove va male? Che tipo di errore dà?
1 errore(i), 0 avviso(i) 2 1
'if' - le espressioni non sono permesse su un globale
Pomeriggio!!!
Ragazzi, potete dirmi il codice su come collegare un EA ad un conto (per l'ultimo aggiornamento di MT4).
Grazie mille.
Buon pomeriggio!
Ragazzi, potete dirmi il codice su come collegare un EA ad un conto (per l'ultimo aggiornamento di MT4).
Grazie mille.
Vi è già stato dato il codice.
Hai fatto tu stesso l'errore - è scritto nella descrizione dell'errore che hai inserito il codice nell'area delle variabili globali e non dentro OnTick() o OnInit():
'if' - expressions are not allowed on a global scope
Vi è già stato detto il codice.
Hai commesso tu stesso l'errore - ti è scritto nella descrizione dell'errore che hai inserito del codice nell'area delle variabili globali, non dentro OnTick() o OnInit():
'if' - expressions are not allowed on a global scope
Sto solo imparando!
Non giudicare! ;)
1 errore(i), 0 avviso(i) 2 1
'if' - le espressioni non sono permesse su un globale
Mostrami come hai applicato il codice. Hai appena copiato quello che ho scritto?
Mostrami come hai applicato il codice. Hai appena copiato quello che ho scritto?
L'ho fatto :)))