Vous devez charger les bibliothèques dans la description des fonctions qui les utilisent. Bien que vous puissiez le faire de cette façon lors de l'initialisation de l'Expert Advisor.
Alors pourquoi avez-vous besoin d'exécuter l'Expert Advisor dans le testeur ?
En déboguant des scripts R depuis longtemps, j'ai identifié un bug qui est difficile à attraper si les données entrantes ont NA. Le signal ne se déclenche tout simplement pas. Dans le fichier "e_SAE_init.r", il est recommandé d'ajouter un terme de nettoyage NA à la fonction Test(dt,x) avant new.data <- predict(prepr, tail(x, 50)) : x <- na.omit(x) ;
Cela semble être une "béquille", mais je n'ai pas encore trouvé mieux.
Sans cela, une erreur cachée se produira :
Erreur dans if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : valeur manquante lorsque TRUE/FALSE est nécessaire
En déboguant des scripts R depuis longtemps, j'ai identifié un bug qui est difficile à attraper si les données entrantes ont NA. Le signal ne se déclenche tout simplement pas. Dans le fichier "e_SAE_init.r", il est recommandé d'ajouter un terme de nettoyage NA à la fonction Test(dt,x) avant new.data <- predict(prepr, tail(x, 50)) : x <- na.omit(x) ;
Cela semble être une "béquille", mais je n'ai pas encore trouvé mieux.
Sans cela, une erreur cachée se produira :
Erreur dans if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : valeur manquante là où TRUE/FALSE est nécessaire
kimkarus:
En déboguant des scripts R depuis longtemps, j'ai trouvé un bogue qui est difficile à attraper si les données entrantes ont NA. Le signal ne se déclenche tout simplement pas. Dans le fichier "e_SAE_init.r", il est recommandé d'ajouter un terme de nettoyage NA à la fonction Test(dt,x) avant new.data <- predict(prepr, tail(x, 50)) : x <- na.omit(x) ;
Cela semble être une "béquille", mais je n'ai pas encore trouvé mieux.
Sans cela, une erreur cachée se produira :
Erreur dans if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : valeur manquante lorsque TRUE/FALSE est nécessaire
Cette affirmation est incorrecte.
Dans la fonction Test(dt, x), x est la donnée d'entrée calculée par la fonction In(). Examinons-le dans le script "i_SAE_fun.r".
Il s'agit d'un certain nombre d'indicateurs. Calculons-les sur l'historique price[] avec une longueur de 2000 barres.
> x <- In()Loading required package : TTR Voyons les données que nous avons obtenues
> 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
Toutes les variables ont NA. Mais elles sont situées au début !!! Comme c'est normal pour tous les indicateurs.
Par conséquent, lorsque nous écrivons dans le script
new.data <- predict(prepr, tail(x, 500));
Nous coupons les données non définies. Condition : nrow(x) > 500 + max(NA). C'est à dire au moins dans notre cas 533. Pour être sûr, mettez nrow(x) = 600-700.
Je ne vois pas comment vous avez obtenu un NA incertain dans x.
J'ai lu vos instructions sur les réseaux neuronaux utilisant R, mais j'ai une question stupide (désolé, je suis un débutant dans ce domaine !).
Dans le tutoriel que vous avez écrit ( https://www.mql5.com/fr/articles/1103#ch_3), dans la"Section 3.3.1 - Source Data" vous décrivez une fonction, appelée pr.OHLC que j'ai très bien comprise.
Mais vous montrez quelques résultats dont je ne comprends pas bien quels sont les paramètres nécessaires aux résultats ci-dessous.
> 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
Pourriez-vous, s'il vous plaît, m'aider à ce sujet ?
Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées,
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.
J'ai lu vos instructions sur les réseaux neuronaux utilisant R, mais j'ai une question stupide (désolé, je suis un débutant dans ce domaine !).
Dans le tutoriel que vous avez écrit ( https://www.mql5.com/fr/articles/1103#ch_3), dans la"Section 3.3.1 - Source Data" vous décrivez une fonction, appelée pr.OHLC que j'ai très bien comprise.
Mais vous montrez quelques résultats dont je ne comprends pas bien quels sont les paramètres nécessaires aux résultats ci-dessous.
Pourriez-vous, s'il vous plaît, m'aider à ce sujet ?
Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées,
Fábio
Bonjour Fabio,
Qu'est-ce qui n'est pas clair ?
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
}
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Vladimir Perervenko
Ajouter à l'article des informations supplémentaires sur le travail avec R Studio
Bonjour.
Je ne comprends pas ce qu'est le fichier hosts. Pouvez-vous me donner plus de détails ?
Je vous remercie de votre compréhension et vous prie d'agréer, Madame, Monsieur, mes salutations distinguées.
Vladimir Perervenko
Ajouter à l'article des informations supplémentaires sur le travail avec R Studio
J'utilise une autre forme d'enregistrement pour vérifier les paquets installés :
Vous devez charger les bibliothèques dans la description des fonctions qui les utilisent. Bien que vous puissiez le faire de cette façon lors de l'initialisation de l'Expert Advisor.
Alors pourquoi avez-vous besoin d'exécuter l'Expert Advisor dans le testeur ?
Nous vous souhaitons bonne chance.
En déboguant des scripts R depuis longtemps, j'ai identifié un bug qui est difficile à attraper si les données entrantes ont NA. Le signal ne se déclenche tout simplement pas. Dans le fichier "e_SAE_init.r", il est recommandé d'ajouter un terme de nettoyage NA à la fonction Test(dt,x) avant new.data <- predict(prepr, tail(x, 50)) : x <- na.omit(x) ;
Cela semble être une "béquille", mais je n'ai pas encore trouvé mieux.
Sans cela, une erreur cachée se produira :
Erreur dans if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : valeur manquante lorsque TRUE/FALSE est nécessaire
En déboguant des scripts R depuis longtemps, j'ai identifié un bug qui est difficile à attraper si les données entrantes ont NA. Le signal ne se déclenche tout simplement pas. Dans le fichier "e_SAE_init.r", il est recommandé d'ajouter un terme de nettoyage NA à la fonction Test(dt,x) avant new.data <- predict(prepr, tail(x, 50)) : x <- na.omit(x) ;
Cela semble être une "béquille", mais je n'ai pas encore trouvé mieux.
Sans cela, une erreur cachée se produira :
Erreur dans if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : valeur manquante là où TRUE/FALSE est nécessaire
En déboguant des scripts R depuis longtemps, j'ai trouvé un bogue qui est difficile à attraper si les données entrantes ont NA. Le signal ne se déclenche tout simplement pas. Dans le fichier "e_SAE_init.r", il est recommandé d'ajouter un terme de nettoyage NA à la fonction Test(dt,x) avant new.data <- predict(prepr, tail(x, 50)) : x <- na.omit(x) ;
Cela semble être une "béquille", mais je n'ai pas encore trouvé mieux.
Sans cela, une erreur cachée se produira :
Erreur dans if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : valeur manquante lorsque TRUE/FALSE est nécessaire
Cette affirmation est incorrecte.
Dans la fonction Test(dt, x), x est la donnée d'entrée calculée par la fonction In(). Examinons-le dans le 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) }Il s'agit d'un certain nombre d'indicateurs. Calculons-les sur l'historique price[] avec une longueur de 2000 barres.
Nous coupons les données non définies. Condition : nrow(x) > 500 + max(NA). C'est à dire au moins dans notre cas 533. Pour être sûr, mettez nrow(x) = 600-700.
Je ne vois pas comment vous avez obtenu un NA incertain dans x.
Bonne chance
Bonjour Vladimir,
Voici du Brésil !!!
J'ai lu vos instructions sur les réseaux neuronaux utilisant R, mais j'ai une question stupide (désolé, je suis un débutant dans ce domaine !).
Dans le tutoriel que vous avez écrit ( https://www.mql5.com/fr/articles/1103#ch_3), dans la"Section 3.3.1 - Source Data" vous décrivez une fonction, appelée pr.OHLC que j'ai très bien comprise.
Mais vous montrez quelques résultats dont je ne comprends pas bien quels sont les paramètres nécessaires aux résultats ci-dessous.
> 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-05Pourriez-vous, s'il vous plaît, m'aider à ce sujet ?
Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées,
Fábio
Bonjour Vladimir,
Voici du Brésil !!!
J'ai lu vos instructions sur les réseaux neuronaux utilisant R, mais j'ai une question stupide (désolé, je suis un débutant dans ce domaine !).
Dans le tutoriel que vous avez écrit ( https://www.mql5.com/fr/articles/1103#ch_3), dans la"Section 3.3.1 - Source Data" vous décrivez une fonction, appelée pr.OHLC que j'ai très bien comprise.
Mais vous montrez quelques résultats dont je ne comprends pas bien quels sont les paramètres nécessaires aux résultats ci-dessous.
Pourriez-vous, s'il vous plaît, m'aider à ce sujet ?
Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées,
Fábio
Bonjour Fabio,
Qu'est-ce qui n'est pas clair ?
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 }Bonjour Vladimir,
Est-il possible d'avoir les fichiers pour MT5 ?
Merci de votre compréhension.
Fabio lima
Bonjour Vladimir,
Est-il possible d'avoir les fichiers pour MT5 ?
Merci de votre compréhension.
Fabio lima
Bonjour Fabio,
Je suis désolé.
Je n'écris pas sur la MKL5.
Je vous prie d'agréer, Monsieur, l'expression de mes salutations distinguées.
Vladimir
Une question . Je ne comprends pas bien l'ordre du vecteur prix.
Vous faites un renversement ici : price <- cbind(Open = rev(o), High = rev(h), Low = rev(l), Close = rev(c))
Quel est l'ordre original de o,h,l,c ?
Une question . Je ne comprends pas bien l'ordre du vecteur prix.
Vous faites un renversement ici : price <- cbind(Open = rev(o), High = rev(h), Low = rev(l), Close = rev(c))
Quel est l'ordre original de o,h,l,c ?
Bonjour,
La numérotation MT4 va du plus récent au plus ancien. Le R au contraire, de l'ancien au nouveau, nouvelle barre en dernier.