Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1332
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
Ho fatto come mi hai consigliato con il codice. All'inizio del codice ho una condizione per scegliere il tipo di stop - atp o fisso
Poi ho commentato la mia normalizzazione e l'ho impostata in questo modo
Il calcolo del profitto è il prossimo nel codice. Nessun problema lì e dopo aver calcolato il profitto ho aggiunto la formula spaventosa che mi è stata consigliata.
Tutto è stato compilato senza errori. Ma quando ho eseguito il test l'errore appare nel log, è la divisione per zero per quanto ho capito e il test si ferma. Dove ho sbagliato o cosa ho fatto di sbagliato?
Basta cancellarlo.
Ho fatto come mi hai consigliato con il codice. All'inizio del codice ho una condizione per scegliere il tipo di stop - atp o fisso
Poi ho commentato la mia normalizzazione e l'ho impostata in questo modo
Il calcolo del profitto è il prossimo nel codice. Nessun problema lì e dopo aver calcolato il profitto ho aggiunto la formula spaventosa che mi è stata consigliata.
Tutto è stato compilato senza errori. Ma quando eseguo il test il log mostra un errore, che ottengo la divisione per zero e il test si ferma. Dove ho sbagliato o cosa non ho fatto bene?
Proprio quando ti vengono date due opzioni diverse, non dovresti applicarle entrambe in una volta sola.
Stai contando sl come due scelte diverse
o
si ottiene il valore in valori di prezzo. E la formula dovrebbe contenere punti da ... a ....
Così, lo stop ad una distanza dal prezzo è o iATR(.........)/_Point o razmer_fikc_sl ma usare due valori diversi nella funzione non è molto conveniente, quindi è meglio lasciare solo una variante
E non dimenticate che lo sl deve essere calcolato PRIMA di cercare di calcolare la dimensione del lotto.
Fate in modo che...
Basta cancellarlo.
Ho sistemato la linea e il test è iniziato - GRAZIE mille! Solo non ho capito perché quando si ottiene lo stoploss da iATR in una variabile, perché dividere per il punto alla fine? P/S Ho delle vere difficoltà con la matematica, non sto scherzando :-( Ma credo che il test sia andato bene e con un lotto da 100 ha messo il minimo, e con un lotto da 10000 diverso tutto il tempo, quindi funziona bene... Grazie ancora per l'aiuto...
Ho sistemato la stringa e il test è iniziato - GRAZIE mille! Solo non ho capito perché quando si ottiene lo stoploss da iATR in una variabile, perché dividere per il punto alla fine? P/S Faccio fatica con i calcoli, non sto scherzando :-( Ma credo che il test sia andato bene e a 100 di deposito il lotto è minimo, e a 10000 di depo è sempre diverso, quindi funziona bene... Grazie ancora per l'aiuto...
ATR dà un numero decimale, come 0,00120
razmer_fikc_sl è un intero.
per calcolare il lotto, avete bisogno di punti, cioè di numeri interi
ATR/Point dà un numero intero
Questo è un vecchio argomento, ma non riesco a trovare una soluzione. Come specificare la fascia oraria (per esempio, dalle 12:00 alle 14:00) e solo una volta in questa fascia aprire un ordine che soddisfa qualche condizione (RSI<30 per esempio).
prima condizione - il tempo è arrivato
seconda condizione - rsi
terza condizione - non c'è un ordine simile nella storia al prezzo di apertura in intervalli
Buon pomeriggio.
C'è un indicatore Elliott Wave Oscillator, che dà valori numerici della variabile EWO. Ci sono EWO positivi che sono sopra lo zero e EWO negativi che sono sotto lo zero.
Dalle ultime 100 letture di EWO, è necessario calcolare il valore medio di EWO positivo e separatamente il valore medio di EWO negativo
Ottengo i valori dall'indicatore double EWO=iCustom(Symbol(),0, "Elliott Wave Oscillator",0,0);
Per favore consigliate quale codice mql4 può implementare questo in un EA?
Sono riuscito a trovare il modulo medio.
double avarage_EWO = 0;
for(int g=0;g<100;g++)
avarage_EWO = avarage_EWO + MathAbs( iCustom(Symbol(),0, "Elliott Wave Oscillator",0,g) ); // modulo media
avarage_EWO = avarage_EWO/100;
Ma come calcolare separatamente la media positiva e la media negativa dell'EWO?
Grazie!
Take Profit
Non riesco a capire come e a cosa serve ORDER_REASON_TP,
So come funzionaDEAL_REASON_TP, ma non so cosa succede con gli ordini qui