Le librerie devono essere caricate nella descrizione delle funzioni che le utilizzano. Anche se è possibile farlo in questo modo quando si inizializza l'Expert Advisor.
Allora perché è necessario eseguire l'Expert Advisor nel tester?
Durante il debug degli script R per molto tempo, ho identificato un bug che è difficile da cogliere se i dati in arrivo hanno NA. Semplicemente non si innesca il segnale. Nel file "e_SAE_init.r", si raccomanda di aggiungere un termine di pulizia NA alla funzione Test(dt,x) prima che new.data <- predict(prepr, tail(x, 50)): x <- na.omit(x);
Sembra una "stampella", ma non ho ancora pensato a nulla di meglio.
Senza di essa, si verificherà un errore nascosto:
Errore in if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : valore mancante dove è necessario VERO/FALSO
Durante il debug degli script R per molto tempo, ho identificato un bug che è difficile da cogliere se i dati in arrivo hanno NA. Semplicemente non si innesca il segnale. Nel file "e_SAE_init.r", si raccomanda di aggiungere un termine di pulizia NA alla funzione Test(dt,x) prima che new.data <- predict(prepr, tail(x, 50)): x <- na.omit(x);
Sembra una "stampella", ma non ho ancora pensato a nulla di meglio.
Senza di essa, si verificherà un errore nascosto:
Errore in if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : valore mancante dove è necessario TRUE/FALSE
kimkarus:
Durante il debug degli script R per molto tempo, ho trovato un bug che è difficile da cogliere se i dati in arrivo hanno NA. Semplicemente non si innesca il segnale. Nel file "e_SAE_init.r", si raccomanda di aggiungere un termine di pulizia NA alla funzione Test(dt,x) prima che new.data <- predict(prepr, tail(x, 50)): x <- na.omit(x);
Sembra una "stampella", ma non ho ancora pensato a nulla di meglio.
Senza di essa, si verificherà un errore nascosto:
Errore in if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : valore mancante dove è necessario VERO/FALSO
Questa affermazione non è corretta.
Nella funzione Test(dt, x), x è il dato di ingresso calcolato dalla funzione In(). Osserviamolo nello script "i_SAE_fun.r".
Ho letto le tue istruzioni sulla rete neurale usando R ma ho una domanda stupida (scusa, sono un novellino in questo campo!).
Nel tutorial che hai scritto ( https://www.mql5.com/it/articles/1103#ch_3), nella"Sezione 3.3.1 - Source Data" hai descritto una funzione, chiamata pr.OHLC che ho capito molto bene.
Ma se mostri alcuni risultati, non mi è chiaro quali siano i parametri necessari per ottenere i risultati di seguito riportati.
> head(price)
Open High Low Close Med CO
[1,] 1.33848 1.33851 1.33824 1.33844 1.338375 -4e-05
[2,] 1.33843 1.33868 1.33842 1.33851 1.338550 8e-05
[3,] 1.33849 1.33862 1.33846 1.33859 1.338540 1e-04
[4,] 1.33858 1.33861 1.33856 1.33859 1.338585 1e-05
[5,] 1.33862 1.33868 1.33855 1.33855 1.338615 -7e-05
Potreste per favore aiutarmi a risolvere questo problema?
This article is dedicated to a new and perspective direction in machine learning - deep learning or, to be precise, deep neural networks. This is a brief review of second generation neural networks, the architecture of their connections and main types, methods and rules of learning and their main disadvantages followed by the history of the third generation neural network development, their main types, peculiarities and training methods. Conducted are practical experiments on building and training a deep neural network initiated by the weights of a stacked autoencoder with real data. All the stages from selecting input data to metric derivation are discussed in detail. The last part of the article contains a software implementation of a deep neural network in an Expert Advisor with a built-in indicator based on MQL4/R.
Ho letto le tue istruzioni sulla rete neurale usando R, ma ho una domanda stupida (scusa, sono un principiante in questo campo!).
Nel tutorial che hai scritto ( https://www.mql5.com/it/articles/1103#ch_3), nella"Sezione 3.3.1 - Source Data" hai descritto una funzione, chiamata pr.OHLC che ho capito molto bene.
Ma se mostri alcuni risultati non mi è chiaro quali siano i parametri necessari per ottenere i risultati di seguito riportati
Potreste per favore aiutarmi a risolvere questo problema?
Meglio così,
Fabio
Ciao Fabio,
Cosa non è chiaro?
pr.OHLC <- function (o, h, l, c)
{
#Unite quote vectors into a matrix having previously expanded them
#Indexing of time series of vectors in R starts with 1.
#Direction of indexing isfrom old to new ones.
price <- cbind(Open = rev(o), High = rev(h), Low = rev(l), Close = rev(c))
Med <- (price[, 2] + price[, 3])/2 #We calculateaverage price(HIgh + Low)/2
CO <- price[, 4] - price[, 1] # We calculatebodycandles (Close - Open)
#add Med and CO to the matrix
price <- cbind(price, Med, CO)#We are putting it all in a matrix
}
Vladimir Perervenko
Aggiungere all'articolo ulteriori informazioni sul lavoro con R Studio
Buon pomeriggio.
Non capisco il file hosts. Può fornire maggiori dettagli?
Buona fortuna
Vladimir Perervenko
Aggiungere all'articolo ulteriori informazioni sul lavoro con R Studio
Uso un'altra forma di record per controllare i pacchetti installati:
Le librerie devono essere caricate nella descrizione delle funzioni che le utilizzano. Anche se è possibile farlo in questo modo quando si inizializza l'Expert Advisor.
Allora perché è necessario eseguire l'Expert Advisor nel tester?
Buona fortuna
Durante il debug degli script R per molto tempo, ho identificato un bug che è difficile da cogliere se i dati in arrivo hanno NA. Semplicemente non si innesca il segnale. Nel file "e_SAE_init.r", si raccomanda di aggiungere un termine di pulizia NA alla funzione Test(dt,x) prima che new.data <- predict(prepr, tail(x, 50)): x <- na.omit(x);
Sembra una "stampella", ma non ho ancora pensato a nulla di meglio.
Senza di essa, si verificherà un errore nascosto:
Errore in if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : valore mancante dove è necessario VERO/FALSO
Durante il debug degli script R per molto tempo, ho identificato un bug che è difficile da cogliere se i dati in arrivo hanno NA. Semplicemente non si innesca il segnale. Nel file "e_SAE_init.r", si raccomanda di aggiungere un termine di pulizia NA alla funzione Test(dt,x) prima che new.data <- predict(prepr, tail(x, 50)): x <- na.omit(x);
Sembra una "stampella", ma non ho ancora pensato a nulla di meglio.
Senza di essa, si verificherà un errore nascosto:
Errore in if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : valore mancante dove è necessario TRUE/FALSE
Durante il debug degli script R per molto tempo, ho trovato un bug che è difficile da cogliere se i dati in arrivo hanno NA. Semplicemente non si innesca il segnale. Nel file "e_SAE_init.r", si raccomanda di aggiungere un termine di pulizia NA alla funzione Test(dt,x) prima che new.data <- predict(prepr, tail(x, 50)): x <- na.omit(x);
Sembra una "stampella", ma non ho ancora pensato a nulla di meglio.
Senza di essa, si verificherà un errore nascosto:
Errore in if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : valore mancante dove è necessario VERO/FALSO
Questa affermazione non è corretta.
Nella funzione Test(dt, x), x è il dato di ingresso calcolato dalla funzione In(). Osserviamolo nello script "i_SAE_fun.r".
In <- function(p = 16){ require(TTR) adx <- ADX(price, n = p) ar <- aroon(price[ ,c('High', 'Low')], n = p)[ ,'oscillator'] cci <- CCI(price[ ,2:4], n = p) chv <- chaikinVolatility(price[ ,2:4], n = p) cmo <- CMO(price[ ,'Med'], n = p) macd <- MACD(price[ ,'Med'], 12, 26, 9)[ ,'macd'] osma <- macd - MACD(price[ ,'Med'],12, 26, 9)[ ,'signal'] rsi <- RSI(price[ ,'Med'], n = p) stoh <- stoch(price[ ,2:4], 14, 3, 3) smi <- SMI(price[ ,2:4],n = p, nFast = 2, nSlow = 25, nSig = 9) vol <- volatility(price[ ,1:4], n = p, calc="yang.zhang", N=96) In <- cbind(adx, ar, cci, chv, cmo, macd, osma, rsi, stoh, smi, vol) return(In) }Si tratta di una serie di indicatori. Calcoliamoli sulla storia del prezzo[] con una lunghezza di 2000 barre.
Tagliamo i dati non definiti. Condizione: nrow(x) > 500 + max(NA). Cioè, almeno nel nostro caso, 533. Per sicurezza, mettere nrow(x) = 600-700.
Non capisco come si possa avere un NA incerto in x.
Buona fortuna
Ciao Vladimir,
Ecco dal Brasile!!!
Ho letto le tue istruzioni sulla rete neurale usando R ma ho una domanda stupida (scusa, sono un novellino in questo campo!).
Nel tutorial che hai scritto ( https://www.mql5.com/it/articles/1103#ch_3), nella"Sezione 3.3.1 - Source Data" hai descritto una funzione, chiamata pr.OHLC che ho capito molto bene.
Ma se mostri alcuni risultati, non mi è chiaro quali siano i parametri necessari per ottenere i risultati di seguito riportati.
> head(price) Open High Low Close Med CO [1,] 1.33848 1.33851 1.33824 1.33844 1.338375 -4e-05 [2,] 1.33843 1.33868 1.33842 1.33851 1.338550 8e-05 [3,] 1.33849 1.33862 1.33846 1.33859 1.338540 1e-04 [4,] 1.33858 1.33861 1.33856 1.33859 1.338585 1e-05 [5,] 1.33862 1.33868 1.33855 1.33855 1.338615 -7e-05Potreste per favore aiutarmi a risolvere questo problema?
Meglio così,
Fabio
Ciao Vladimir,
Ecco dal Brasile!!!
Ho letto le tue istruzioni sulla rete neurale usando R, ma ho una domanda stupida (scusa, sono un principiante in questo campo!).
Nel tutorial che hai scritto ( https://www.mql5.com/it/articles/1103#ch_3), nella"Sezione 3.3.1 - Source Data" hai descritto una funzione, chiamata pr.OHLC che ho capito molto bene.
Ma se mostri alcuni risultati non mi è chiaro quali siano i parametri necessari per ottenere i risultati di seguito riportati
Potreste per favore aiutarmi a risolvere questo problema?
Meglio così,
Fabio
Ciao Fabio,
Cosa non è chiaro?
pr.OHLC <- function (o, h, l, c) { #Unite quote vectors into a matrix having previously expanded them #Indexing of time series of vectors in R starts with 1. #Direction of indexing is from old to new ones. price <- cbind(Open = rev(o), High = rev(h), Low = rev(l), Close = rev(c)) Med <- (price[, 2] + price[, 3])/2 #We calculate average price (HIgh + Low)/2 CO <- price[, 4] - price[, 1] # We calculate body candles (Close - Open) #add Med and CO to the matrix price <- cbind(price, Med, CO)#We are putting it all in a matrix }Ciao Vladimir,
C'è la possibilità di avere i file per MT5?
Saluti
Fabio lima
Ciao Vladimir,
C'è la possibilità di avere i file per MT5?
Saluti
Fabio lima
Ciao Fabio,
Mi dispiace.
Non scrivo su MKL5.
Cordiali saluti
Vladimir
Una domanda. Non mi è chiaro l'ordine del vettore prezzo.
Si fa un'inversione qui: price <- cbind(Open = rev(o), High = rev(h), Low = rev(l), Close = rev(c))
Qual è l'ordine originale di o, h, l, c?
Una domanda. Non mi è chiaro l'ordine del vettore prezzo.
Si fa un'inversione qui: price <- cbind(Open = rev(o), High = rev(h), Low = rev(l), Close = rev(c))
Qual è l'ordine originale di o,h,l,c ?
Ciao,
La MT4 numera le barre dalla più recente alla più vecchia. La R al contrario, dal vecchio al nuovo, la nuova barra è l'ultima.