Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 861
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
Ciao, potresti dirmi perché non funziona? Nessun errore, ma gli ordini non si aprono nel tester. Sto cercando di scrivere un EA per il breakout del massimo e del minimo di una candela giornaliera come strumento di allenamento.
Ciao, potresti dirmi perché non funziona? Nessun errore, ma gli ordini non si aprono nel tester. Sto cercando di scrivere un EA per il breakout di alto e basso di una candela giornaliera come strumento di allenamento.
Non si apre, cioè non ci prova o ci prova ma non ci riesce? Cosa c'è scritto nel registro?
Ciao, potresti dirmi perché non funziona? Nessun errore, ma gli ordini non si aprono nel tester. Sto cercando di scrivere un EA per il breakout del massimo e del minimo di una candela giornaliera come strumento di allenamento.
Analizza questa tua espressione
Non capisco il significato di questa espressione e forse mi sbaglio, ma dovresti almeno sostituire "(TimeCurrent()==HourStart)" con "(TimeCurrent() - HourStart)".
Poi, se ho capito bene, stai cercando di piazzare un ordine BuyLimit se non c'è BuyLimitOrder AND BuyPosition. Notate l'esatto "E". Cioè, la presenza di uno qualsiasi di essi separatamente vi conviene, quindi, ad una posizione desiderata del prezzo corrente otterrete un numero infinito di ByLimits, uno per ogni tick, fino a quando almeno uno di essi scatta e la prima posizione si apre. Inoltre, non vi interessa dove si trova il prezzo ora. Non appena la strana condizione sul tempo è soddisfatta (appena sopra il post), penso che ci sia un errore, ma non importa. Comunque, se non si tiene conto di questo, l'EA inizierà a piazzare ordini sbagliati al primo tick, fino a quando il prezzo non raggiunge il massimo di ieri, perché si sta usando il massimo di ieri come prezzo per piazzare l'ordine. Il Buy Limit è impostato sotto il prezzo corrente, il che significa che il prezzo corrente dovrebbe essere sopra il massimo di ieri, ma fino ad allora l'ordine fallirà.
Quindi, l'unica situazione che ti conviene è quando il prezzo si è mosso sopra il massimo di ieri, non c'è un bye-limit e non ci sono operazioni aperte. Questa è una combinazione rara. Inoltre, non influenzerà il breakout, ma rimbalzerà dopo il breakout (perché c'è un bylimit), e ti darà un sacco di errori, a partire dal primo tick sopra il massimo di ieri (che è un altro errore). La condizione è già soddisfatta, l'Expert Advisor lancia l'ordine, ma c'è anche uno spread, la distanza minima consentita dal mercato, ecc.
Ho difficoltà a capire il significato di questa espressione, forse mi sbaglio, ma almeno sostituisci "(TimeCurrent()==HourStart)" con "(TimeCurrent() - HourStart)".
È vero, c'è un errore qui. Avete bisogno di if (TimeHour(TimeCurrent())==HourStart)
Ora l'ordine si apre a volte, ma genera più errori (OrderSend error 130).
L'errore qui non è corretto riguardo agli ordini limite.
È vero, c'è un errore qui. Ha bisogno di if (TimeHour(TimeCurrent())==HourStart)
Ora apre le transazioni a volte, ma lancia più errori (OrderSend error 130).
Non è giusto per gli ordini limite.
Ecco uno script per lavorare con il tempo.
È vecchio ma funziona correttamente.
Salve.
Per favore, aiutatemi a capire come lavorare con i file.
Quando il programma è in esecuzione, salvo i dati ricevuti in un file e leggo il CSV.
Il file aumenta, la velocità diminuisce. Ho provato ad aggiornare (sovrascrivere) alcuni elementi delle linee. Impossibile!
Non si può cancellare una linea selezionata! Non posso aggiungere un nuovo elemento a una vecchia linea!
Questo è molto strano! Si può facilmente cancellare un file o un oggetto grafico, ecc. Ma quando si tratta di lavorare con un file creato, è un punto morto assoluto!
Sui forum c'è solo una raccomandazione: "Leggere il file in memoria, cambiare o cancellare la linea e salvare il nuovo file con il vecchio nome".
Questa non mi sembra la soluzione giusta. Devo essermi perso qualcosa. Per favore, aiutatemi a capire.
Non mi sembra la decisione giusta. Probabilmente mi manca qualcosa. Per favore, aiutatemi a capire.
Dovresti essere assunto urgentemente da Microsoft per sistemare finalmente questa"soluzione sbagliata" per la gestione deifile.
La gestione dei file non è come modificare un file in un editor di file, è più come fare una parola con dadi con lettere individuali.
Se devi inserire una nuova lettera, tutti i cubi che la seguono devono essere spostati a destra.
Se vuoi rimuovere una vecchia lettera, tutti i dadi che la seguono devono essere spostati a sinistra.
Quindi, se il file non è grande e il lavoro non richiede l'accesso al file, è effettivamente più facile scrivere i dati in un nuovo file, cancellare il vecchio e rinominare il nuovo file con il nome del vecchio.
Se non mi sbaglio, l'unica cosa che manca in MQL quando si lavora con i file è la possibilità di tagliare la lunghezza del file alla dimensione richiesta.
Ecco uno script per lavorare con il tempo.
È vecchio, ma funziona correttamente.
Anch'io usavo la funzione di Kim, poi ho trovato il tempo di scrivere la mia:
disabilitare il runtime - si devono inserire dati non validi quando si inizializza il costruttore, ad esempio 25 ore o 70 minutiAvete urgente bisogno di essere assunti da Microsoft in modo che finalmente sistemino questa"soluzione sbagliata" per la gestione dei file.
Lavorare con i file non è come modificare un file in un editor di file, è più come fare una parola con dadi con lettere individuali.
Se devi inserire una nuova lettera, tutti i cubi che la seguono devono essere spostati a destra.
Se vuoi rimuovere una vecchia lettera, tutti i dadi che la seguono devono essere spostati a sinistra.
Quindi, se il file non è grande e il lavoro non richiede l'accesso al file, è effettivamente più facile scrivere i dati in un nuovo file, cancellare il vecchio e rinominare il nuovo file con il nome del vecchio.
Se non mi sbaglio, l'unica cosa che manca in MQL quando si lavora con i file è la possibilità di tagliare la lunghezza del file alla dimensione richiesta.