Ciao 2017.05.05_02:58 GMT+3. Chi può dirmi come ottenere i valori degli ultimi quattro punti ZigZag e i loro indici o tempi di inizio barra in MQL5 nel codice del programma EA? Ci sto lottando da molto tempo, ma finora non è venuto fuori niente. Se applico l'operatore while o for loop, non fa alcuna differenza, lo strategy tester genera un errore in uno dei suoi log: Array overrun nel file include. Ecco il file include. Ottengo l'array di valori ZigZag usando la funzione CopyBuffer() e l'handle ZigZag. Sembra contenere solo punti ZigZag, quindi non posso passare attraverso l'array in modo sequenziale in ordine crescente. L'array non è più in ordine. Forse, il signor Karputov sa come ottenere gli ultimi punti di ZigZag senza uscire dalla matrice? Ho anche provato a cambiare il codice dell'indicatore ZigZag, ma non sono riuscito a riscriverlo in modo che anche i valori zero fossero scritti nei buffer degli indicatori. Ho cercato di riscriverlo in modo tale che i valori zero non superino i limiti dell'array durante l'elaborazione dell'array. Finora, non sono riuscito a capire completamente ciò che è scritto nel codice di ZigZag e come funziona. Sono annoiato, quindi scrivo al forum. Credo che il trading manuale appartenga all'epoca passata. Non ho abbastanza tempo per fare trading, non voglio nemmeno dormire abbastanza e aprire accordi durante i pasti. Penso di essere in grado di scrivere un Expert Advisor. Non ho intenzione di arrendermi e rinunciare. Questo è tutto per ora. Sto aspettando la vostra risposta. 03:28 GMT+3. Postato alle 03:56 GMT+3.
Николай Никитюк: Ciao 2017.05.05_02:58 GMT+3. Chi può dirmi come ottenere i valori degli ultimi quattro punti ZigZag e i loro indici o tempi di inizio barra in MQL5 nel codice del programma EA? Ci sto lottando da molto tempo, ma finora non è venuto fuori niente. Se applico l'operatore while o for loop, non fa alcuna differenza, lo strategy tester genera un errore in uno dei suoi log: Array overrun nel file include. Ecco il file include. Ottengo l'array di valori ZigZag usando la funzione CopyBuffer() e l'handle ZigZag. Sembra che contenga solo punti ZigZag, quindi non posso passare attraverso l'array in modo sequenziale in ordine crescente. Otteniamo un superamento dell'array.
No. Tutti i punti sono registrati lì, compresi i punti vuoti.
Mykola Nikityuk: Ho anche provato a cambiare il codice dell'indicatore ZigZag, ma non è stato possibile riscriverlo in modo tale che anche i valori zero fossero scritti nei buffer dell'indicatore. Non sono riuscito a riscriverlo in modo tale da non superare gli array quando li elabora il ciclo. Finora, non sono riuscito a capire completamente ciò che è scritto nel codice di ZigZag e come funziona. Sono annoiato, quindi scrivo sul forum. Credo che il trading manuale appartenga all'epoca passata. Non ho abbastanza tempo per fare trading, non voglio nemmeno dormire abbastanza e aprire accordi durante i pasti. Penso di essere in grado di scrivere un Expert Advisor. Non ho intenzione di arrendermi e rinunciare. Questo è tutto per ora. Sto aspettando la vostra risposta. 03:28 GMT+3. Postato alle 03:56 GMT+3.
Per sbarazzarsi dei limiti dell'array, dovreste occuparvi delle direzioni dell'array.
Per ottenere gli indici o il tempo delle barre dovremmo copiare il tempo delle barre CopyTime() o CopuRates() insieme alla copia del buffer degli indicatori, dove esiste anche l'OHLC delle barre.
Poiché non possiamo evitare il ciclo, userei la seconda forma della funzione
intCopyBuffer(
int indicator_handle, // handle индикатораint buffer_num, // номер буфера индикатораdatetime start_time, // с какой датыint count, // сколько копируемdouble buffer[] // массив, куда будут скопированы данные
);
La prossima condizione: se viene copiato un valore maggiore di zero, quello è un punto ZigZag e otterremo l'estremo superiore o inferiore confrontando quel valore con High e Low di quella barra.
Gente, per favore aiutatemi a capire cosa diavolo sta succedendo in MQL5 con la contabilità degli ordini.
Ho a che fare con dei programmatori e sembra che non siamo in grado di avere ordini chiaramente basati sui principi usati in MQL4 - non possiamo impostare un numero magico per un ordine, quindi è impossibile selezionare le posizioni necessarie basate su un numero magico semplicemente usando OrdersTotal() e rilevare quale ordine è stato aperto da un EA e quale è stato aperto manualmente, ecc, non possiamo chiudere un certo ordine basato su un ticket, ed è impossibile creare una scala di ordini in una direzione e poi chiudere l'ordine più vecchio, ecc.
Possono davvero le meta-citazioni fare una cosa del genere? Come possiamo lavorare senza?
Gente, per favore aiutatemi a capire cosa diavolo sta succedendo in MQL5 con la contabilità degli ordini.
Ho a che fare con i programmatori e la mia impressione è che non siamo in grado di contare correttamente gli ordini secondo quel principio che era usato in MQL4 - non si può impostare un numero magico per un ordine, non si può semplicemente selezionare le posizioni necessarie cercando OrdersTotal() in base al numero magico e poi determinare quale ordine è stato aperto da un EA e quale è stato aperto manualmente, ecc, non si può chiudere un certo ordine secondo il ticket, non si può creare una scala di ordini in una direzione e poi chiudere il più vecchio di essi, ecc.
Potrebbero essere state le meta-citazioni a fare questo schifo? Come si può lavorare senza?
Dove si trovano questi programmatori?
Tutto questo è una sciocchezza assoluta. Dove mandare un tale programmatore, spero che tu capisca.
Beh, nel caso, per non perdermelo, ecco un suggerimento
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Una domanda alla quale non ho trovato una risposta chiara:
Ho bisogno di usare 2 indicatori con quattro periodi, è necessario scrivere a mano un indicatore 4 volte nell'init e l'altro 4 volte?
Oppure è possibile usarne uno ogni volta, altrimenti ci saranno troppe righe nel file.
Non ho idea di come usarlo.
Una domanda alla quale non ho trovato una risposta chiara:
Ho bisogno di usare 2 indicatori con quattro periodi, è necessario scrivere a mano un indicatore 4 volte nell'init e l'altro 4 volte?
Oppure è possibile usarne uno ogni volta, altrimenti ci saranno troppe righe nel file.
Non ho idea di come usarlo.
Immaginate di dover aprire 8 porte, ognuna con una chiave diversa. Di quante chiavi hai bisogno per aprire tutte le porte?
Un grimaldello e niente più.
Posso usarlo qui, c'è una possibilità e io non lo so? Il lavoro si è fermato a causa dell'incertezza (
Un grimaldello e niente di più.
Posso usarlo qui, forse c'è una possibilità e io non lo so?
No, solo le chiavi qui.
Ho anche provato a cambiare il codice dell'indicatore ZigZag, ma non sono riuscito a riscriverlo in modo che anche i valori zero fossero scritti nei buffer degli indicatori. Ho cercato di riscriverlo in modo tale che i valori zero non superino i limiti dell'array durante l'elaborazione dell'array. Finora, non sono riuscito a capire completamente ciò che è scritto nel codice di ZigZag e come funziona. Sono annoiato, quindi scrivo al forum.
Credo che il trading manuale appartenga all'epoca passata. Non ho abbastanza tempo per fare trading, non voglio nemmeno dormire abbastanza e aprire accordi durante i pasti. Penso di essere in grado di scrivere un Expert Advisor. Non ho intenzione di arrendermi e rinunciare. Questo è tutto per ora. Sto aspettando la vostra risposta. 03:28 GMT+3. Postato alle 03:56 GMT+3.
Ciao 2017.05.05_02:58 GMT+3. Chi può dirmi come ottenere i valori degli ultimi quattro punti ZigZag e i loro indici o tempi di inizio barra in MQL5 nel codice del programma EA? Ci sto lottando da molto tempo, ma finora non è venuto fuori niente. Se applico l'operatore while o for loop, non fa alcuna differenza, lo strategy tester genera un errore in uno dei suoi log: Array overrun nel file include. Ecco il file include. Ottengo l'array di valori ZigZag usando la funzione CopyBuffer() e l'handle ZigZag. Sembra che contenga solo punti ZigZag, quindi non posso passare attraverso l'array in modo sequenziale in ordine crescente. Otteniamo un superamento dell'array.
No. Tutti i punti sono registrati lì, compresi i punti vuoti.
Mykola Nikityuk:
Ho anche provato a cambiare il codice dell'indicatore ZigZag, ma non è stato possibile riscriverlo in modo tale che anche i valori zero fossero scritti nei buffer dell'indicatore. Non sono riuscito a riscriverlo in modo tale da non superare gli array quando li elabora il ciclo. Finora, non sono riuscito a capire completamente ciò che è scritto nel codice di ZigZag e come funziona. Sono annoiato, quindi scrivo sul forum.
Credo che il trading manuale appartenga all'epoca passata. Non ho abbastanza tempo per fare trading, non voglio nemmeno dormire abbastanza e aprire accordi durante i pasti. Penso di essere in grado di scrivere un Expert Advisor. Non ho intenzione di arrendermi e rinunciare. Questo è tutto per ora. Sto aspettando la vostra risposta. 03:28 GMT+3. Postato alle 03:56 GMT+3.
Per sbarazzarsi dei limiti dell'array, dovreste occuparvi delle direzioni dell'array.
Per ottenere gli indici o il tempo delle barre dovremmo copiare il tempo delle barre CopyTime() o CopuRates() insieme alla copia del buffer degli indicatori, dove esiste anche l'OHLC delle barre.
Poiché non possiamo evitare il ciclo, userei la seconda forma della funzione
La prossima condizione: se viene copiato un valore maggiore di zero, quello è un punto ZigZag e otterremo l'estremo superiore o inferiore confrontando quel valore con High e Low di quella barra.
Gente, per favore aiutatemi a capire cosa diavolo sta succedendo in MQL5 con la contabilità degli ordini.
Ho a che fare con dei programmatori e sembra che non siamo in grado di avere ordini chiaramente basati sui principi usati in MQL4 - non possiamo impostare un numero magico per un ordine, quindi è impossibile selezionare le posizioni necessarie basate su un numero magico semplicemente usando OrdersTotal() e rilevare quale ordine è stato aperto da un EA e quale è stato aperto manualmente, ecc, non possiamo chiudere un certo ordine basato su un ticket, ed è impossibile creare una scala di ordini in una direzione e poi chiudere l'ordine più vecchio, ecc.
Possono davvero le meta-citazioni fare una cosa del genere? Come possiamo lavorare senza?
Gente, per favore aiutatemi a capire cosa diavolo sta succedendo in MQL5 con la contabilità degli ordini.
Ho a che fare con i programmatori e la mia impressione è che non siamo in grado di contare correttamente gli ordini secondo quel principio che era usato in MQL4 - non si può impostare un numero magico per un ordine, non si può semplicemente selezionare le posizioni necessarie cercando OrdersTotal() in base al numero magico e poi determinare quale ordine è stato aperto da un EA e quale è stato aperto manualmente, ecc, non si può chiudere un certo ordine secondo il ticket, non si può creare una scala di ordini in una direzione e poi chiudere il più vecchio di essi, ecc.
Potrebbero essere state le meta-citazioni a fare questo schifo? Come si può lavorare senza?
Dove si trovano questi programmatori?
Tutto questo è una sciocchezza assoluta. Dove mandare un tale programmatore, spero che tu capisca.
Beh, nel caso, per non perdermelo, ecco un suggerimento