[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 129
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
Com'è semplice! M5 è aperto e la sua parte superiore un po' salata e M1 sotto di esso mostra i commenti che vuoi.
Come si dice, è sempre meglio al mattino! Buongiorno!
È qui che si fanno domande e si danno risposte sull'implementazione del software.
E puoi leggere i commenti su un foglio di carta ;)
Ho già riscritto il codice di modifica dell'ordine e l'errore rimane.
Sottolineo che l'errore non viene dal log - non c'è un solo errore nel log.
Ho trovato l'errore nei risultati durante l'esecuzione di un test.
Esempio:
Ho aperto una posizione di acquisto (ordine numero 1) con prezzo 1.4654
poi in Risultati dice modifica (ordine numero 1) prezzo 1.4654 e TakeProfit 1.4752
poi in Risultati dice chiudi (ordine numero 1) prezzo 1.4704 e TakeProfit 1.4752
Profitto = 50.00
Esempio posizione in perdita anche se dovrei chiudere solo al TakeProfit perché non ho impostato Stop Loss.
Ho aperto una posizione di acquisto (ordine numero 271) a 1.4820
e nei risultati si dice modifica (ordine numero 271) prezzo 1.4820 e TakeProfit 1.4918
e nei risultati si dice chiudere (ordine numero 1) prezzo 1.4737 e TakeProfit 1.4918
Profitto = - 83.46
Ho messo un TakeProfit di 100 ovunque.
Non ho impostato StopLoss.
Non so come risolvere il problema.
Quando si compila questo codice EA = 0 errori e 0 avvertimenti.
Ho usato questo codice per modificare gli ordini:
Puoi dirmi dov'è l'errore - non riesco a trovarlo.
Ho già riscritto il codice di modifica dell'ordine e l'errore rimane.
Sottolineo che l'errore non proviene dal log - non c'è un solo errore nel log.
Ho trovato l'errore nei risultati durante il test.
Esempio:
Ho aperto una posizione di acquisto (ordine numero 1) a 1,4654
Poi, nei risultati si dice comprare (ordine numero 1) prezzo 1.4654 e TakeProfit 1.4752.
Poi, nei risultati si dice close (ordine numero 1) prezzo 1.4704 e TakeProfit 1.4752
Profitto = 50.00
Un esempio di posizione perdente anche se dovrei chiudere solo al Take Profit perché non ho impostato lo Stop Loss.
Ho aperto una posizione di acquisto (ordine numero 271) a 1,4820
Poi, nei risultati si dice modifica (ordine numero 271) prezzo 1.4820 e TakeProfit 1.4918
poi dice close (ordine numero 1) prezzo 1.4737 e TakeProfit 1.4918 nei risultati
Profitto = - 83.46
Ho impostato il TakeProfit a 100 ovunque.
Non ho impostato StopLoss.
Non so come risolvere il problema.
Quando si compila questo codice EA = 0 errori e 0 avvertimenti.
Ho usato questo codice per modificare gli ordini:
Per favore, aiutatemi a trovare i valori di
1 Volatilità massima giornaliera (massimo giornaliero meno minimo) negli ultimi X=5 giorni .
2 Volatilità media giornaliera negliultimi X=130 giorni
3 E come si possono scrivere questi valori nella condizione se la Volatilità massima giornaliera si trova nell'intervallo A=75 a B=150- Volatilità media giornaliera
1. Per prima cosa scoprite di quante barre avete bisogno nella finestra https://docs.mql4.com/ru/windows/WindowBarsPerChart.
2. Poi otterrete la data della prima barra https://docs.mql4.com/ru/windows/WindowFirstVisibleBar.
3. Conoscendo questa barra iniziale e il numero di barre - passare attraverso queste barre e determinare il massimo e il minimo tra di esse
4. profitto
Variante 2
https://docs.mql4.com/ru/windows/WindowPriceMaxтво
https://docs.mql4.com/ru/windows/WindowPriceMinВторой variante
Ero incline alla prima opzione, ma non sapevo come calcolare il numero di barre nella finestra. La seconda opzione è più laconica.
Ma come "catturare" l'ultimo max e min della barra precedente? Grazie in anticipo!
Ma come "catturare" l'ultimo max e min sulla barra precedente?
Basta memorizzare il massimo e il minimo raggiunti sulla barra corrente, e quando una nuova barra appare e diventa la barra precedente, si prenderà il massimo e il minimo dalle variabili memorizzate.
Hai solo bisogno di ricordare il massimo e il minimo raggiunti sulla barra corrente, e quando appare una nuova barra e diventa la barra precedente, prenderai il massimo e il minimo dalle variabili ricordate.
dichiarare la variabile zet come statica, o dichiararla nella zona globale.
Prima di assegnare un nuovo valore, controlla la presenza di una nuova barra, e verifica la differenza tra il suo valore e il valore corrente, e poi assegna un nuovo valore ad essa.
Quando la chiusura dei trade nel tester è scritta come hai elencato, è molto probabilmente il risultato della funzione orderclose (TP e SL non c'entrano)
Grazie, ma sembra che non ci siano errori nel codice: