Discussione sull’articolo "Reti neurali di terza generazione: Reti profonde" - pagina 11

 
kimkarus:

Il tester di Meta Trader 4 genera un errore:

i_SAE EURUSD,M30: array fuori range in 'i_SAE.mq4' (140,22)

Rterm si avvia correttamente, due istanze.

Secondo il codice è Time[]. Ho fatto funzionare l'indicatore per barre, per ticks, inizializzato insieme all'Expert Advisor. Non è servito.

Esiste una soluzione?

Di norma, si verifica quando la cronologia a sinistra del punto di attivazione è inferiore a "back" (cioè meno di 700 barre).

Non è possibile diminuire questo valore. Questo è il valore minimo.

Da molto tempo non si verificano errori di questo tipo.

Controllate o pompate la cronologia. Inoltre, non eseguite l'indicatore al limite della cronologia.

Buona fortuna

 
kimkarus:

Niente di particolare, ho solo inizializzato Expert Advisor e indicatore nella console e in studio (progetto R, tutto secondo le istruzioni dell'articolo).

È possibile ottenere mt4Rb7.dll per 64 bit e mql5?

Non funziona senza di essa, solo in metatrader 4.

Non sono ancora riuscito ad aggiungere un tester (mql4).

R versione 3.2.2

MT5 non è stato coinvolto e non ho intenzione di farlo. La DLL funziona ora con R a 64 bit in MT4 (32p).

Secondo le mie conoscenze, il lavoro della DLL in MT5 non dovrebbe causare alcun problema. Anche se non conosco le peculiarità di MT5.

E in cosa vedete il vantaggio di usare MT5? Cosa è impossibile fare in MT4 rispetto a MT5? Quindi per lo sviluppo generale.

Buona fortuna

 

Gli errori sembrano essere scomparsi. Ma la seconda istanza di Rterm non viene lanciata quando si richiama l'indicatore dall'Expert Advisor tramite iCustom(). C'è un altro modo per lanciare l'indicatore insieme all'Expert Advisor, a parte includere l'indicatore nell'Expert Advisor?

Riguardo a MQL5. Ho appena iniziato a padroneggiare il linguaggio.

Da quello che ho imparato. C'è un indubbio vantaggio nel creare un Expert Advisor basato sul voto degli indicatori (segnali), sullo scambio di buffer di indicatori.

Naturalmente, tutto è implementato in MQL4, ma attraverso "stampelle", non fuori dalla scatola. Ci sono anche alcune difficoltà quando si trasferisce il codice da MQL4 a MQL5 a causa della mancanza di funzioni semplici di base in MQL5, che erano necessarie prima, ma ora sono nascoste.

Per quanto riguarda mt4Rb7.dll. Questa libreria è compilata come oggetto di sistema a 32 bit e pertanto non funzionerà in Meta Trader 5, poiché funziona come libreria a 64 bit. Solo la versione a 32 bit di Meta Trader è adatta, la quinta versione non l'ho trovata. Per questo motivo sto eseguendo i test con la quarta versione.

 
kimkarus:

Gli errori sembrano essere scomparsi. Ma la seconda istanza di Rterm non viene lanciata quando si richiama l'indicatore dall'Expert Advisor tramite iCustom(). C'è un altro modo per lanciare l'indicatore insieme all'Expert Advisor, a parte includere l'indicatore nell'Expert Advisor?

Riguardo a MQL5. Ho appena iniziato a padroneggiare il linguaggio.

Da quello che ho imparato. C'è un indubbio vantaggio nel creare un Expert Advisor basato sul voto degli indicatori (segnali), sullo scambio di buffer di indicatori.

Naturalmente, tutto è implementato in MQL4, ma attraverso "stampelle", non fuori dalla scatola. Ci sono anche alcune difficoltà quando si trasferisce il codice da MQL4 a MQL5 a causa della mancanza di funzioni semplici di base in MQL5, che erano necessarie prima, ma ora sono nascoste.

Per quanto riguarda mt4Rb7.dll. Questa libreria è compilata come oggetto di sistema a 32 bit e pertanto non funzionerà in Meta Trader 5, poiché funziona come libreria a 64 bit. Solo la versione a 32 bit di Meta Trader è adatta, la quinta versione non l'ho trovata. Per questo motivo sto eseguendo il test con la quarta.

Permettetemi i miei cinque centesimi.

Perché è così difficile con R? Alcuni indicatori, server...

In fondo, tutto funziona (almeno per me) attraverso la libreria inclusa. Si scrive una variabile stringa in µl, che è una chiamata di funzione, la si passa a R, che esegue il numero necessario di funzioni di R, e la felicità è arrivata....

O mi manca qualcosa?

File:
 
СанСаныч Фоменко:

Permettetemi i miei cinque centesimi.

Perché è così difficile con R? Alcuni indicatori, server...

In fondo, tutto funziona (almeno per me) attraverso la libreria fornita. Si scrive una variabile stringa in µl, che è una chiamata di funzione, la si passa a R, che esegue il numero necessario di funzioni R, e la felicità è arrivata....

O mi sfugge qualcosa?

A quanto pare si tratta di un malinteso.

Voglio eseguire tutto questo nel tester di mql4.

Senza il tester, tutto funziona bene, la felicità è lì.

In MQL5 non funziona, a causa della diversa digitalizzazione degli oggetti da eseguire.

Qual è la differenza tra la libreria allegata per lavorare con R dall'articolo e quella che suggerite (il peso è diverso)?

 
kimkarus:

A quanto pare c'è un malinteso.

Voglio eseguire nel tester mql4 tutte queste cose.

Senza il tester, tutto funziona bene, la felicità è lì.

In MQL5 non funziona, a causa della diversa digitalizzazione degli oggetti da lanciare.

Qual è la differenza tra la libreria allegata per lavorare con R dall'articolo e quella che suggerite (il peso è diverso)?

Ora sto utilizzando questa libreria.

Sulla versione precedente di MT4 (fino alla 540) ho utilizzato il tester senza alcun problema.

La libreria stessa è scritta in pascal, il codice sorgente è disponibile. Non vedo alcun problema nell'utilizzo di questa libreria in mcl4 o mcl5.

Penso che l'intero problema sia nell'intricato circuito in cui il tester si spegne.

 
СанСаныч Фоменко:

Permettetemi i miei cinque centesimi.

Perché è così difficile con R? Alcuni indicatori, server...

In fondo, tutto funziona (almeno per me) attraverso la libreria fornita. Si scrive una variabile stringa in µl, che è una chiamata di funzione, la si passa a R, che esegue il numero necessario di funzioni R, e la felicità arriva....

O mi sfugge qualcosa?

Saluti SanSanych.

La variante client-server è interessante per diversi motivi:

- lavorare su molti strumenti allo stesso tempo.

- Ma la cosa principale è che il server consente lo scambio bidirezionale e non bloccante di informazioni non solo client<->server (i client possono essere fino a 128) ma anche tra client e altri server. In altre parole, durante i lunghi calcoli è possibile scambiare dati con il server e con altri client. L'unica limitazione è che non si può richiedere il risultato di un calcolo prima che sia terminato, altrimenti Rterm si blocca. Questo permette di costruire un sistema gerarchico complesso con un Rterm che controlla tutti gli altri. Naturalmente, se ne avete bisogno.

- È possibile passare i dati a un indicatore, che disegnerà le informazioni necessarie sul grafico. La mia esperienza dice che non esiste un controllo più affidabile di quello visivo. E il disegno dal Consulente esperto è problematico.

Naturalmente, tutto può essere raccolto nell'Expert Advisor, ma quando si lavora su più coppie, sorgono alcuni problemi, che ovviamente possono essere risolti in altri modi.

Questo è un modo di lavorare, ma non significa che sia l'unico o quello ideale.

Nell'articolo cerco di mostrare il maggior numero possibile di varianti di lavoro. E l'utente sceglierà quello di cui ha bisogno.

Dal complesso è facile ricavare il semplice, il contrario è difficile. Anche se a mio parere la variante client-server proposta non è così complicata. Guardate la quantità di codice su MKL5 che è necessaria per risolvere un tale problema.

Buona fortuna

 
kimkarus:

A quanto pare c'è un malinteso.

Voglio eseguire nel tester mql4 tutte queste cose.

Senza il tester, tutto funziona bene, la felicità è lì.

In MQL5 non funziona, a causa della diversa digitalizzazione degli oggetti da lanciare.

Qual è la differenza tra la libreria allegata per lavorare con R dall'articolo e quella che offrite (il peso è diverso)?

Posso chiedere perché è necessario eseguire l'Expert Advisor nel tester?
 
kimkarus:

Gli errori sembrano essere scomparsi. Ma la seconda istanza di Rterm non viene lanciata quando si richiama l'indicatore dall'Expert Advisor tramite iCustom(). C'è un altro modo per lanciare l'indicatore insieme all'Expert Advisor, a parte includere l'indicatore nell'Expert Advisor?

Di quale indicatore stiamo parlando? Quale indicatore si vuole utilizzare tramite iCustom()?

Per quanto riguarda MQL5. Ho appena iniziato a padroneggiare il linguaggio.

Da quello che ho imparato. C'è un indubbio vantaggio nel creare un Expert Advisor basato sul voto degli indicatori (segnali), scambiando i buffer degli indicatori.

Tutti i calcoli, compresi quelli degli indicatori, devono essere eseguiti in R. E non ci sono restrizioni per le vostre fantasie in termini di matematica. Solo le citazioni sono prese dalla MT!

Naturalmente, tutto può essere implementato in MQL4, ma attraverso "stampelle", non fuori dalla scatola. Ci sono anche alcune difficoltà quando si trasferisce il codice da MQL4 a MQL5 a causa della mancanza di funzioni semplici di base in MQL5, che erano necessarie prima, ma ora sono nascoste.

Per quanto riguarda mt4Rb7.dll. Questa libreria è compilata come oggetto di sistema a 32 bit e pertanto non funzionerà in Meta Trader 5, poiché funziona come libreria a 64 bit. Solo la versione a 32 bit di Meta Trader è adatta, la quinta versione non l'ho trovata. Per questo motivo, per il momento sto testando la quarta.

Provate a scrivere all'autore. Ha una filiale dove appare di tanto in tanto. Ma secondo le mie informazioni, la libreria non è stata riprogettata per MT5.

Dovete riorganizzare un po' le vostre idee sulla struttura dell'Expert Advisor. Un Expert Advisor deve fare il suo lavoro (eseguire ordini, monitorare posizioni, ecc. ecc.). Per realizzare questi compiti, non importa in quale linguaggio (MKL4 o MKL5) verrà implementato. È una questione di preferenze. I calcoli, le analisi e altri compiti complessi devono essere implementati nel processo R.

Separare il "fare" dal "pensare". Nessun MKL è progettato per "pensare". È stato sviluppato per "fare".

È necessario utilizzare ciascun linguaggio per ciò per cui è stato progettato.

Buona fortuna

 

Vladimir Perervenko

Aggiungere ulteriori informazioni sul lavoro con R Studio all'articolo

  • Per eseguire tutto correttamente è necessario assicurarsi che non ci siano altri riferimenti a "localhost" nel file hosts.
  • Assicuratevi di installare tutti i pacchetti e di eseguirli con il comando (nell'area di lavoro di R):

install.packages("R.matlab")
install.packages("deepnet")
installare.pacchetti("caret")
installare.pacchetti("h2o")
installare.pacchetti("TTR")
installare.pacchetti("rminer")
pacchetti install.package("foreach")
pacchetti install.package("doParallel")
pacchetti install.package("svSocket")
installare.pacchetti("lattice")
installare.pacchetti("ggplot2")
installare.pacchetti("statmod")
installare.pacchetti("kknn")
installare.pacchetti("iteratori")
installare.pacchetti("parallel")

libreria("R.matlab")
libreria("deepnet")
libreria("caret")
libreria("h2o")
libreria("TTR")
libreria("rminer")
libreria("foreach")
libreria("doParallel")
libreria("svSocket")
libreria("lattice")
libreria("ggplot2")
libreria("statmod")
libreria("kknn")
libreria("iteratori")
libreria("parallel")