Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 547

 
voron_026:

Se non le dispiace che lo dica. Potresti dirmi esattamente dove inizia il calcolo nel codice? È difficile da capire.

E se ho capito bene, allora questa parte deve essere inserita nel codice EA come una funzione personalizzata?

Non posso dirlo, perché non c'è un codice. Quello che avete presentato è un file eseguibile. Il file di codice ha l'estensione mq4.

 
Ihor Herasko:

Non posso dirlo, perché non c'è un codice. Quello che avete presentato è un file eseguibile. Il file di codice ha un'estensione mq4.

Capito. Ti sto mostrando il codice mql

 
voron_026:

Capito. Ti invio il codice mql.

Questo è ciò che dovresti includere nel tuo EA. Tranne che senza visualizzare gli oggetti grafici, se non avete intenzione di mostrarli. Senza una qualsiasi parte di questo codice, niente funzionerà. Non dimenticate di includere la libreria premium_mt4.dll. Senza di esso, il programma non sarà in grado di ricevere dati dal sito web di clusterdelta.

 
Ihor Herasko:

Questo è tutto ciò che deve essere incluso nell'EA.

Si può fare come funzione separata?

Possiamo specificare un buffer nel codice dell'indicatore e connetterci ad esso attraverso icustom?

 
voron_026:

Si può fare come funzione separata? considerando che il contenuto dell'intestazione dell'indicatore è scritto nell'intestazione dell'EA

Puoi specificare un buffer nel codice dell'indicatore e connetterti ad esso attraverso icustom?

L'intestazione è una pubblicità per il codificatore, non c'è bisogno di includerla.

Senza guardare il codice, posso supporre che puoi impostare i buffer e leggerli dall'EA.

 
Alexey Viktorov:

Posso supporre che sia possibile impostare i buffer e leggerli dall'EA.

Come fare, se l'indicatore funziona tramite dll? Scrivere la funzione per caricare i dati da dll nel buffer?

O non capisco qualcosa di sbagliato?

 
Alexey Viktorov:

Senza guardare il codice, posso supporre che puoi impostare i buffer e farli leggere dall'EA.

È un errore non guardare il codice. I buffer non possono essere usati lì, in linea di principio. Si tratta di un profilo di mercato - linee orizzontali, che teoricamente può essere illimitato, e il numero di buffer è limitato a 512. Sì, certo, questa quantità può essere sufficiente, ma perché occupare la memoria per l'intera profondità della storia diverse decine di volte, se abbiamo bisogno di visualizzare i dati per un giorno?

 
voron_026:

Come fare, se l'indicatore funziona tramite dll? Scrivere la funzione di caricamento dei dati dalla dll al buffer?

Copia la descrizione della DLL nell'Expert Advisor. Questa è la parte più facile del compito. E non dimenticate la disponibilità di questa DLL, quando trasferite l'Expert Advisor.

Successivamente, dobbiamo distribuire i dati nelle funzioni appropriate dell'EA (riscrivere parte dell'indicatore OnInit nell'EA OnInit, ecc.), aggiungere i parametri di tuning all'EA, in modo da poter personalizzare l'indicatore, rimuovere l'output grafico e, soprattutto, decidere come i dati saranno trasferiti per essere utilizzati nell'EA. Nessuno deciderà questo per voi, perché non sapete come questi dati saranno utilizzati ulteriormente.

 
Ihor Herasko:

Copiate la descrizione della DLL nell'EA. Questo è il più facile dei compiti. E non dimenticate la disponibilità di questa DLL, quando trasferite l'EA.

Successivamente, dobbiamo distribuire i dati nelle funzioni appropriate dell'EA (riscrivere parte dell'indicatore OnInit nell'EA OnInit, ecc.), aggiungere i parametri di tuning all'EA, in modo da poter personalizzare l'indicatore, rimuovere l'output grafico e, soprattutto, decidere come i dati saranno trasferiti per essere utilizzati nell'EA. Nessuno deciderà questo per voi, perché non sapete come questi dati saranno ulteriormente utilizzati.

Ti ho preso. Grazie mille, lavorerò.

 
Ihor Herasko:

È molto sbagliato non guardare il codice. I buffer non possono essere usati lì, in linea di principio. Si tratta di un profilo di mercato - linee orizzontali, che teoricamente può essere illimitato, e il numero di buffer è limitato a 512. Sì, certo, questo numero potrebbe essere sufficiente, ma perché occupare la memoria per l'intera profondità della storia diverse decine di volte, se avete bisogno di visualizzare i dati per un giorno?

Bene, allora la pigrizia è nata prima di noi. :))) E non ho affermato che tutti gli elementi grafici possono essere sostituiti da buffer di indicatori. Proprio in questo caso, dobbiamo capire quante linee di tutte le linee create sono prese in considerazione nel processo decisionale. E di conseguenza, si può cercare di fare con il minor numero di buffer.

Motivazione: