Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1206
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
Alert("Разбег "+DoubleToString(delta,_Digits));
o Alert(StringFormat("Spread %.5f",delta));
in generale, abituatevi, sono solo rappresentazioni diverse dello stesso numero. Ripensate ai vostri meravigliosi anni di scuola - ecco da dove viene.
Grazie. Ma cosa succede se ho bisogno di usare il valore delta come un numero e confrontarlo? Per esempio.
Sarebbe corretto?Grazie. E se ho bisogno di usare il valore delta come numero e confrontare? Per esempio.
È corretto?Si possono confrontare due numeri reali in questo modo:
https://www.mql5.com/ru/docs/basis/types/double
Si possono confrontare due numeri reali in questo modo:
https://www.mql5.com/ru/docs/basis/types/double
Puoi, se sei sicuro che non possono essere molto vicini come valore. Dopo tutto, morbido è paragonato a caldo.
Non capisco. Per esempio. Prendo il numero di pip che il prezzo ha passato in un tick. Se il prezzo è passato più di 20 punti, allora ricevo un allarme.
Confronto la differenza di prezzo (1,12300-1,12321=0,00021) con il valore massimo necessario (0,00020).
0.00021>0.00020.
Che cosa ha a che fare questo con il morbido e il caldo?
Non capisco. Per esempio. Prendo il numero di pip che il prezzo ha passato in un tick. Se il prezzo è passato più di 20 punti, allora ricevo un allarme.
Confronto la differenza di prezzo (1,12300-1,12321=0,00021) con il valore massimo necessario (0,00020).
0.00021>0.00020.
Che cosa ha a che fare questo con il morbido e il caldo?
hai bisogno di punti, quindi confronta i punti.
e il doppio è paragonato all'epsilon (DBL_EPS se la memoria non mi inganna), altrimenti si potrebbe ottenere 3.0-0.2 > 2.0+0.8 (in senso figurato, le cifre potrebbero essere diverse)
avete bisogno di punti, quindi confrontate i punti. sono interi, a proposito.
mentre il doppio viene confrontato con l'epsilon (DBL_EPS se la memoria non mi inganna), altrimenti si può ottenere 3.0-0.2 > 2.0+0.8 (in senso figurato, i numeri possono essere diversi)
Meglio usare l'esempio di@fxsaber per questo scopo:
script da controllare:
Non capisco. Per esempio. Prendo il numero di pip che il prezzo ha passato in un tick. Se il prezzo è passato più di 20 punti, allora ricevo un allarme.
Confronto la differenza di prezzo (1,12300-1,12321=0,00021) con il valore massimo necessario (0,00020).
0.00021>0.00020.
Che cosa ha a che fare questo con il morbido e il caldo?
Beh, a volte non c'è bisogno di leggere tutto quello che viene scritto.
Avete preso dei numeri che sono normalmente rappresentati dal sistema. Prendi questi...
e si ottiene
L'idea è a-b==c, ma il computer vi darà questi errori. È stato scritto molto sul forum, cercate e leggete.
Ma puoi prendere la differenza normalizzata e il valore di controllo normalizzato e confrontarli.
Buon tempo a tutti voi. Domanda: in MT4, quando si lavora nel tester con i cross (coppie senza quid), come fa il tester a calcolare i risultati delle posizioni chiuse, se il conto, sul quale viene condotto il test, è un conto in dollari? Per il ricalcolo dei totali di posizione in dollari, il tester prende il tasso di cambio della valuta base del cross verso il dollaro al momento attuale o al momento dell'intervallo testato? Ho il forte sospetto che lo sia al momento attuale. Se è così, è impossibile farlo calcolare al momento dell'intervallo?
Qualcuno lo sa?
conta il MODE_TICKVALUE stesso per ogni tick.
Potresti, se sei sicuro che non possono essere molto vicini come valore. Dopo tutto, morbido è paragonato a caldo.
Seprom18 ha bisogno di confrontare due numeri, all'interno di segni di cifre, questo è l'unico metodo che funziona:
Ma come potete vedere, ha ancora più variazioni: https://www.mql5.com/ru/forum/160683/page1205#comment_17247843. Pertanto, nell'esempio ho ridotto intenzionalmente la precisione del confronto di due cifre. Naturalmente, un tale spread nei valori di prezzo è abbastanza impreciso... Ma come altro confrontare due numeri in casi come questo...? Se la deviazione fosse superiore alle cifre, allora non potremmo usare EqualDouble, ma usare NormalizeDouble per tagliare tutte le cose inutili.
Anche se si potrebbe anche fare così: