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
La soluzione più semplice per MQ sarebbe quella di dare i parametri della funzione
invece delle variabili, che esistono come parametri ora. La soluzione naturalmente è unilaterale perché non saremo in grado di trasferire i dati tra gli EAs in ogni caso, ma è sempre meglio di niente.
Ancora meglio sarebbe qualcosa come questo
Essere in grado di inviare a un destinatario specifico e ricevere da un mittente specifico. E non solo inviare per qualche grafico e rendere pubblico il manico. Beh, qualcosa del genere.
C'è un compito simile: la finestra dell'indicatore deve essere rimossa e ripristinata da Expert Advisor. Ma i dati calcolati rimangono costanti.
Una soluzione semplice è quella di creare un indicatore per calcolare i dati (chiamiamolo "Calculate") e un indicatore per visualizzare i dati in una finestra separata, chiamiamolo "Plot". L'indicatore "Plot" è chiamato da iCustom("Calculate"), ma anche l'Expert Advisor è chiamato prima da iCustom("Calculate"). Sono chiamati con gli stessi parametri. Ho detto da qualche parte che due indicatori con gli stessi parametri non vengono creati in un grafico, ma creano un handle aggiuntivo che si riferisce all'handle principale del processo dell'indicatore già avviato.
Da qui la domanda: dopo aver cancellato Plot dall'EA e averlo aggiunto di nuovo, l'indicatore Calculate lanciato in Plot sarà calcolato di nuovo o prenderà solo i dati calcolati dell'indicatore Calculate lanciato nell'EA?
Ho detto da qualche parte che due indicatori con gli stessi parametri non vengono creati in un grafico, ma viene creato solo un handle aggiuntivo che si riferisce all'handle principale di un processo indicatore già in esecuzione.
Guida di riferimento MQL5 / Indicatori tecnici / Funzioni per lavorare con gli indicatori tecnici:
"Tutte le funzioni come iMA, iAC, iMACD, iIchimoku, ecc., creano una copia dell'indicatore tecnico appropriato nella cache globale del terminale client. Se esiste già una copia dell'indicatore con questi parametri, non viene creata una nuova copia, ma viene incrementato il contatore dei riferimenti a questa copia.
Queste funzioni restituiscono l'handle della copia dell'indicatore corrispondente. Usando questa maniglia, potete successivamente recuperare i dati calcolati dall'indicatore corrispondente..."
"Nota. Più chiamate della funzione indicatore con gli stessi parametri all'interno di un programma mql5 non aumenteranno il contatore di riferimento molte volte, il contatore sarà aumentato solo una volta di 1. . ..".
Guida di riferimento MQL5 / Indicatori tecnici / Funzioni per lavorare con gli indicatori tecnici:
...
"Nota. L'accesso multiplo alla funzione indicatore con gli stessi parametri all'interno di un programma mql5 non porta all'aumento multiplo del contatore dell'indicatore, il contatore sarà aumentato solo una volta di 1. ...".
Sì, è esattamente questo. Grazie per il suggerimento.
Non capisco esattamente questa linea. È possibile considerare l'indicatore lanciato nell'Expert Advisor come un unico programma o si tratta di due programmi?
Se la prima ipotesi è fatta, allora tutto è a posto. Ma se il compilatore li tratta come programmi diversi, allora c'è un problema.
L'indicatore in esecuzione nell'EA può essere considerato come un unico programma o si tratta di due programmi?
1. Il manuale dice:"Tutte le funzioni come iMA, iAC, iMACD, iIchimoku, ecc, creano una copia dell' indicatore tecnico corrispondente nella cache globale del terminale client".
Lo leggo come (riferito alla tua domanda):"Tutte le funzioni, come iMA, iAC, iMACD, iIchimoku , ecc.sono chiamate da un particolare programma mql5 ecreano una copia dell'indicatore tecnico appropriato nella cache globale del terminale client". Pertanto, la frase comune"EA E esegue l'indicatore I" significa che EA E chiama la funzione I, che crea una copia dell'indicatore nella cache globale del terminale client e fa sì che EA E riceva l'handle di quella copia.
2. se "EA E chiama la funzione indicatore I", allora significa che chiama la funzione indicatore "all'interno di un programma mql5".
1. Il manuale di riferimento dice:"Tutte le funzioni come iMA, iAC, iMACD, iIchimoku, ecc, creano una copia dell' indicatore tecnico pertinente nella cache globale del terminale client".
Lo leggo come (riferito alla tua domanda):"Tutte le funzioni, come iMA, iAC, iMACD, iIchimoku, ecc. sono chiamate da un particolare programma mql5 e creano una copia dell'indicatore tecnico appropriato nella cache globale del terminale client". Pertanto, la frase comune"EA E esegue l'indicatore I" significa che EA E chiama la funzione I nella cache globale del terminale client, che crea una copia dell'indicatore, e EA E ottiene l'handle di quella copia.
2) Se "EA E chiama la funzione indicatore I", allora stiamo parlando di chiamare la funzione indicatore "all'interno di un singolo programma mql5".
Ho capito. La frase chiave qui è"nella cache globale del terminale client".
Se è così, allora è tutto a posto. Un'altra domanda è stata chiarita.
Ho scaricato la build 420 da quihttps://www.mql5.com/ru/forum/23/page11 ma in realtà installa la 412. Ho un problema o nel filemetaquotes.net ho dimenticato di cambiare?
Quindi aspettate e dovrebbe aggiornarsi all'ultima versione.
SZS lasciate il terminale in funzione e fatevi gli affari vostri, dopo un po' vedrete nel terminale il messaggio che ha scaricato tale e tale versione e chiedete di riavviare il terminale.
Buon pomeriggio!
Dopo l'aggiornamento alla versione 420 ho iniziato a testare il mio EA e ho notato che ha iniziato a "perdere" per qualche motivo. Ho analizzato i miei trade e ho notato che lo stop loss viene attivato a prezzi inesistenti. Per esempio, ho impostato lo stop loss a 1,06520 su EURUSD, ma funziona, anche se il prezzo massimo è 1,05920. Quando guardo oltre, vedo un sacco di questi affari. Il Take Profit è attivato dallo stesso principio (a prezzi non esistenti) - il delta è lo stesso - 600 punti. Nel tester sul grafico le frecce su e giù "pendono" in aria, lontano dalle barre.
Uno screenshot è allegato.
Buon pomeriggio!
Dopo l'aggiornamento alla versione 420 ho iniziato a testare il mio EA e ho notato che ha iniziato a "perdere" per qualche motivo. Ho analizzato i miei trade e ho notato che lo stop loss viene attivato a prezzi inesistenti. Per esempio, ho impostato lo stop loss a 1,06520 su EURUSD, ma funziona, anche se il prezzo massimo è 1,05920. Quando guardo oltre, vedo molti di questi affari. Il Take Profit è attivato dallo stesso principio (a prezzi non esistenti) - il delta è lo stesso - 600 punti. Nel tester sul grafico le frecce su e giù "pendono" in aria, lontano dalle barre.
Uno screenshot è allegato.