Sie sollten Bibliotheken in der Beschreibung von Funktionen laden, die sie verwenden. Obwohl Sie dies auch bei der Initialisierung des Expert Advisors tun können.
Warum müssen Sie also den Expert Advisor im Testprogramm ausführen?
Beim Debuggen von R-Skripten für eine lange Zeit, identifiziert einen Fehler, der schwer zu fangen ist, wenn die eingehenden Daten NA hat. Es wird einfach nicht das Signal auslösen. In der Datei "e_SAE_init.r" wird empfohlen, der Funktion Test(dt,x) einen NA-Bereinigungsterm hinzuzufügen, bevor new.data <- predict(prepr, tail(x, 50)): x <- na.omit(x);
Dies scheint eine "Krücke" zu sein, aber mir ist noch nichts Besseres eingefallen.
Ohne sie wird ein versteckter Fehler auftreten:
Fehler in if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : fehlender Wert bei TRUE/FALSE erforderlich
Beim Debuggen von R-Skripten für eine lange Zeit, identifiziert einen Fehler, der schwer zu fangen ist, wenn die eingehenden Daten NA hat. Es wird einfach nicht das Signal auslösen. In der Datei "e_SAE_init.r" wird empfohlen, der Funktion Test(dt,x) einen NA-Bereinigungsterm hinzuzufügen, bevor new.data <- predict(prepr, tail(x, 50)): x <- na.omit(x);
Dies scheint eine "Krücke" zu sein, aber mir ist noch nichts Besseres eingefallen.
Ohne sie wird ein versteckter Fehler auftreten:
Fehler in if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : fehlender Wert wo TRUE/FALSE benötigt
kimkarus:
Beim langen Debuggen von R-Skripten habe ich einen Fehler gefunden, der schwer zu finden ist, wenn die eingehenden Daten NA haben. Es wird einfach nicht das Signal auslösen. In der Datei "e_SAE_init.r" wird empfohlen, einen NA-Bereinigungsterm zur Funktion Test(dt,x) hinzuzufügen, bevor new.data <- predict(prepr, tail(x, 50)): x <- na.omit(x);
Dies scheint eine "Krücke" zu sein, aber mir ist noch nichts Besseres eingefallen.
Ohne sie wird ein versteckter Fehler auftreten:
Fehler in if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : fehlender Wert wo TRUE/FALSE benötigt
Diese Aussage ist falsch.
In der Funktion Test(dt, x) ist x die von der Funktion In() berechneten Eingabedaten. Schauen wir uns das im Skript "i_SAE_fun.r" an
Dies ist eine Reihe von Indikatoren. Berechnen wir sie auf der Preis[]-Historie mit einer Länge von 2000 Balken.
> x <- In()Laden des erforderlichen Pakets: TTR Schauen wir uns an, welche Daten wir erhalten haben
> summary(x)
DIp DIn DX
Min. :20.24 Min. : 9.546 Min. : 0.04605
1st Qu.:43.61 1st Qu.: 31.022 1st Qu.:10.28793
Median :50.46 Median : 39.297 Median :19.31075
Mean :49.01 Mean : 41.833 Mean :21.82957
3rd Qu.:55.78 3rd Qu.: 49.441 3rd Qu.:31.18539
Max. :74.50 Max. :116.050 Max. :71.84495
NA's :16 NA's :16 NA's :16
ADX ar cci
Min. : 7.038 Min. :-100.000 Min. :-364.2786
1st Qu.:15.559 1st Qu.: -56.250 1st Qu.: -86.9604
Median :20.450 Median : -12.500 Median : -6.4301
Mean :21.878 Mean : -1.147 Mean : -0.3145
3rd Qu.:27.330 3rd Qu.: 56.250 3rd Qu.: 86.1551
Max. :47.191 Max. : 100.000 Max. : 331.4449
NA's :31 NA's :16 NA's :15
chv cmo macd
Min. :-0.63538 Min. :-88.8628 Min. :-0.219469
1st Qu.:-0.28769 1st Qu.:-29.6125 1st Qu.:-0.030508
Median :-0.01415 Median : -0.8713 Median : 0.001847
Mean : 0.12162 Mean : -1.6646 Mean : 0.009282
3rd Qu.: 0.35276 3rd Qu.: 27.7824 3rd Qu.: 0.037112
Max. : 7.37405 Max. : 86.9767 Max. : 0.703234
NA's :31 NA's :16 NA's :25
osma rsi fastK
Min. :-0.10903 Min. : 8.614 Min. :0.0000
1st Qu.:-0.01063 1st Qu.:41.108 1st Qu.:0.2246
Median :-0.00016 Median :50.547 Median :0.4553
Mean :-0.00006 Mean :49.953 Mean :0.4793
3rd Qu.: 0.01021 3rd Qu.:58.706 3rd Qu.:0.7425
Max. : 0.28849 Max. :84.854 Max. :1.0000
NA's :33 NA's :16 NA's :13
fastD slowD SMI
Min. :0.01645 Min. :0.03279 Min. :-77.616
1st Qu.:0.23056 1st Qu.:0.23618 1st Qu.:-27.662
Median :0.45989 Median :0.46420 Median : -2.998
Mean :0.47916 Mean :0.47922 Mean : -3.468
3rd Qu.:0.72776 3rd Qu.:0.71850 3rd Qu.: 21.330
Max. :0.98610 Max. :0.96254 Max. : 73.964
NA's :15 NA's :17 NA's :25
signal vol
Min. :-74.526 Min. :0.001235
1st Qu.:-24.781 1st Qu.:0.003168
Median : -2.446 Median :0.004686
Mean : -3.358 Mean :0.005457
3rd Qu.: 19.029 3rd Qu.:0.006484
Max. : 71.664 Max. :0.047742
NA's :33 NA's :16
Alle Variablen haben NA. Aber sie stehen am Anfang!!! Wie es bei allen Indikatoren üblich ist.
Wenn wir also in das Skript schreiben
new.data <- predict(prepr, tail(x, 500));
Wir schneiden die undefinierten Daten ab. Bedingung: nrow(x) > 500 + max(NA). D.h. in unserem Fall mindestens 533. Um sicher zu gehen, setzen Sie nrow(x) = 600-700.
Ich verstehe nicht, wie Sie eine unsichere NA in x erhalten haben.
Ich habe Ihre Anweisungen über das Neuronale Netzwerk mit R gelesen, aber ich habe eine dumme Frage (sorry, ich bin Neuling in diesem Bereich!)
In dem Tutorial, das Sie geschrieben haben ( https://www.mql5.com/de/articles/1103#ch_3), haben Sie im"Abschnitt 3.3.1 - Quelldaten" eine Funktion namens pr.OHLC beschrieben, die ich sehr gut verstanden habe.
Aber Sie zeigen einige Ergebnisse, bei denen mir nicht klar war, welche Parameter für die folgenden Ergebnisse erforderlich sind
> 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
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.
Ich habe Ihre Anweisungen über das Neuronale Netzwerk mit R gelesen, aber ich habe eine dumme Frage (sorry, ich bin Neuling in diesem Bereich!)
In dem Tutorial, das Sie geschrieben haben ( https://www.mql5.com/de/articles/1103#ch_3), haben Sie im"Abschnitt 3.3.1 - Quelldaten" eine Funktion namens pr.OHLC beschrieben, die ich sehr gut verstanden habe.
Aber Sie zeigen einige Ergebnisse, bei denen mir nicht klar war, welche Parameter für die folgenden Ergebnisse erforderlich sind
Könnten Sie mir in dieser Hinsicht bitte helfen?
Am besten,
Fábio
Hallo Fabio,
Was ist nicht klar?
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
}
Wladimir Perervenko
Ergänzen Sie den Artikel um zusätzliche Informationen zur Arbeit mit R Studio
Schönen guten Tag.
Ich verstehe das mit der hosts-Datei nicht. Können Sie mehr Details geben?
Viel Glück!
Wladimir Perervenko
Ergänzen Sie den Artikel um zusätzliche Informationen zur Arbeit mit R Studio
Ich verwende eine andere Form der Aufzeichnung, um installierte Pakete zu überprüfen:
Sie sollten Bibliotheken in der Beschreibung von Funktionen laden, die sie verwenden. Obwohl Sie dies auch bei der Initialisierung des Expert Advisors tun können.
Warum müssen Sie also den Expert Advisor im Testprogramm ausführen?
Viel Erfolg!
Beim Debuggen von R-Skripten für eine lange Zeit, identifiziert einen Fehler, der schwer zu fangen ist, wenn die eingehenden Daten NA hat. Es wird einfach nicht das Signal auslösen. In der Datei "e_SAE_init.r" wird empfohlen, der Funktion Test(dt,x) einen NA-Bereinigungsterm hinzuzufügen, bevor new.data <- predict(prepr, tail(x, 50)): x <- na.omit(x);
Dies scheint eine "Krücke" zu sein, aber mir ist noch nichts Besseres eingefallen.
Ohne sie wird ein versteckter Fehler auftreten:
Fehler in if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : fehlender Wert bei TRUE/FALSE erforderlich
Beim Debuggen von R-Skripten für eine lange Zeit, identifiziert einen Fehler, der schwer zu fangen ist, wenn die eingehenden Daten NA hat. Es wird einfach nicht das Signal auslösen. In der Datei "e_SAE_init.r" wird empfohlen, der Funktion Test(dt,x) einen NA-Bereinigungsterm hinzuzufügen, bevor new.data <- predict(prepr, tail(x, 50)): x <- na.omit(x);
Dies scheint eine "Krücke" zu sein, aber mir ist noch nichts Besseres eingefallen.
Ohne sie wird ein versteckter Fehler auftreten:
Fehler in if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : fehlender Wert wo TRUE/FALSE benötigt
Beim langen Debuggen von R-Skripten habe ich einen Fehler gefunden, der schwer zu finden ist, wenn die eingehenden Daten NA haben. Es wird einfach nicht das Signal auslösen. In der Datei "e_SAE_init.r" wird empfohlen, einen NA-Bereinigungsterm zur Funktion Test(dt,x) hinzuzufügen, bevor new.data <- predict(prepr, tail(x, 50)): x <- na.omit(x);
Dies scheint eine "Krücke" zu sein, aber mir ist noch nichts Besseres eingefallen.
Ohne sie wird ein versteckter Fehler auftreten:
Fehler in if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : fehlender Wert wo TRUE/FALSE benötigt
Diese Aussage ist falsch.
In der Funktion Test(dt, x) ist x die von der Funktion In() berechneten Eingabedaten. Schauen wir uns das im Skript "i_SAE_fun.r" an
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) }Dies ist eine Reihe von Indikatoren. Berechnen wir sie auf der Preis[]-Historie mit einer Länge von 2000 Balken.
Wir schneiden die undefinierten Daten ab. Bedingung: nrow(x) > 500 + max(NA). D.h. in unserem Fall mindestens 533. Um sicher zu gehen, setzen Sie nrow(x) = 600-700.
Ich verstehe nicht, wie Sie eine unsichere NA in x erhalten haben.
Viel Glück!
Hallo Wladimir,
Hier ist aus Brasilien!!!
Ich habe Ihre Anweisungen über das Neuronale Netzwerk mit R gelesen, aber ich habe eine dumme Frage (sorry, ich bin Neuling in diesem Bereich!)
In dem Tutorial, das Sie geschrieben haben ( https://www.mql5.com/de/articles/1103#ch_3), haben Sie im"Abschnitt 3.3.1 - Quelldaten" eine Funktion namens pr.OHLC beschrieben, die ich sehr gut verstanden habe.
Aber Sie zeigen einige Ergebnisse, bei denen mir nicht klar war, welche Parameter für die folgenden Ergebnisse erforderlich sind
> 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-05Könnten Sie mir in dieser Hinsicht bitte helfen?
Am besten,
Fábio
Hallo Wladimir,
Hier ist aus Brasilien!!!
Ich habe Ihre Anweisungen über das Neuronale Netzwerk mit R gelesen, aber ich habe eine dumme Frage (sorry, ich bin Neuling in diesem Bereich!)
In dem Tutorial, das Sie geschrieben haben ( https://www.mql5.com/de/articles/1103#ch_3), haben Sie im"Abschnitt 3.3.1 - Quelldaten" eine Funktion namens pr.OHLC beschrieben, die ich sehr gut verstanden habe.
Aber Sie zeigen einige Ergebnisse, bei denen mir nicht klar war, welche Parameter für die folgenden Ergebnisse erforderlich sind
Könnten Sie mir in dieser Hinsicht bitte helfen?
Am besten,
Fábio
Hallo Fabio,
Was ist nicht klar?
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 }Hallo Vladimir,
Gibt es eine Möglichkeit, die Dateien für MT5 zu bekommen?
Mit freundlichen Grüßen
Fabio Lima
Hallo Vladimir,
Gibt es eine Möglichkeit, die Dateien für MT5 zu bekommen?
Mit freundlichen Grüßen
Fabio Lima
Hallo Fabio,
es tut mir leid.
Ich schreibe nicht über MKL5.
Mit freundlichen Grüßen
Vladimir
Eine Frage. Ich bin mir über die Reihenfolge des Preisvektors nicht im Klaren.
Sie machen hier eine Umkehrung: Preis <- cbind(Open = rev(o), High = rev(h), Low = rev(l), Close = rev(c))
Wie lautet die ursprüngliche Reihenfolge von o,h,l,c?
Eine Frage. Ich bin mir über die Reihenfolge des Preisvektors nicht im Klaren.
Sie machen hier eine Umkehrung: Preis <- cbind(Open = rev(o), High = rev(h), Low = rev(l), Close = rev(c))
Wie lautet die ursprüngliche Reihenfolge von o,h,l,c ?
Hallo,
Der MT4 nummeriert die Balken vom jüngsten zum ältesten. Die R im Gegenteil, von der alten zur neuen, neue Bar zuletzt.