Regressione bayesiana - Qualcuno ha fatto un EA usando questo algoritmo? - pagina 53

 
Yuriy Asaulenko:

Il problema di C R è che non lo conosco. :) È una questione di tempo, di prendere lentamente la mano.

Quello più difficile è fornire uno scambio di dati in tempo reale tra R - software - MT5. Non mi viene in mente niente di intelligente, tranne i file. Suppongo che lo faranno per cominciare e poi vedremo.

Ma non vedo ancora il protocollo di scambio (interfaccia).

Abbiamo una connessione R-MT4. Ha funzionato per molto tempo. È scritto in Pascal, c'è un codice sorgente.
 
СанСаныч Фоменко:
C'è un fascio R-MT4. Ha funzionato per molto tempo. È scritto in Pascal e c'è un codice sorgente.

Non scrivo in Pascal (è stato molto tempo fa), ma ci sto prendendo la mano. Te ne sarei grato. Ti manderò la mia posta di persona.

Ho iniziato a guardare i Pipes per lo scambio con MT, mentre sto leggendo i documenti.

In CRAN(sezione - Altro) e onet hanno visto COM-DLL per R (sezione - Altro). Non li ho ancora guardati.

Sembra così lontano:

MT - software di elaborazione delle decisioni - R.

 
Yuriy Asaulenko:

Non scrivo in Pascal (è stato molto tempo fa), ma ci sto prendendo la mano. Te ne sarei grato. Ti manderò la mia posta di persona.

Ho iniziato a guardare i Pipes per lo scambio con MT, mentre sto leggendo i documenti.

In CRAN(sezione - Altro) e onet hanno visto COM-DLL per R (sezione - Altro). Non li ho ancora guardati.

Finora si presenta così:

MT - Software di elaborazione delle decisioni - R.

Ho postato questo, è di qualcun altro, l'ho solo spostato nel kodobase

https://www.mql5.com/ru/code/10684

E questo è un esempio.

https://www.mql5.com/ru/code/10718

C'è anche uno in VLAD, che ha uno schema più complicato, ma più promettente.

Il processo decisionale solo in R è estremamente potente: sia R stesso che i suoi pacchetti. Il codice R è estremamente compatto e molto efficiente per algoritmi computazionalmente complessi.

Un'altra sfumatura di R.

R è un interprete, ma il kernel che interpreta le stringhe di R è in C, le cui interfacce sono ben documentate. Inoltre, ci sono pacchetti per comunicare con C. Una soluzione: aggiungere codice al kernel R che si interfaccia con MT.

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

Il processo decisionale solo in R è estremamente potente: sia R stesso che i suoi pacchetti. Il codice R è estremamente compatto e per algoritmi computazionalmente complessi molto efficiente.

Un'altra sfumatura di R.

R è un interprete, ma il kernel che interpreta le stringhe di R è in C, le cui interfacce sono ben documentate. Inoltre, ci sono pacchetti per comunicare con C. Una soluzione: aggiungere codice al kernel R che interagisce con MT.

Questo è comprensibile. Tuttavia, l'integrazione e l'interazione di applicazioni R e C/C++ è davvero ben descritta, per esempio nei pacchetti Rcpp e RInside, ecc. Cioè, un'applicazione C++ interagisce con un kernel R.

Ma come aggiungere codice al kernel R? - Dovete sviluppare il vostro pacchetto per R con collegamento a MT e altri? ? È più complicato, imho, di R assegnare matematica complessa, ottenere risultati e prendere una decisione nell'applicazione.

Comunque, non posso immaginare.

 
Yuriy Asaulenko:

Questo è comprensibile. Tuttavia, l'integrazione e l'interazione di applicazioni R e C/C++ è davvero ben descritta, per esempio nei pacchetti Rcpp e RInside, ecc. Cioè, un'applicazione C++ interagisce con un kernel R.

Ma come aggiungere codice al kernel R? - È necessario creare un proprio pacchetto per R con collegamento a MT e altri? ? È più complicato, imho, di R per fare calcoli complicati, ottenere risultati e prendere decisioni nell'applicazione.

Comunque, nessuna idea.

Che tipo di libro è questo? Scrivere estensioni di R.

Il link è proprio nell'aiuto R.

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

Che tipo di libro è questo? Scrivere estensioni R

Il link è proprio nella guida di R

si tratta di fare i propri pacchetti o di collaborare con loro. :) - Writing R Extensions copre come creare i propri pacchetti, scrivere file di aiuto per R, e le interfacce per i linguaggi stranieri (C, C++, Fortran, ...).

Finora, preferisco le interfacce in lingua straniera (C, C++, Fortran, ...). Ho già provato - in C/C++/C# i nuovi tipi di dati appaiono da R e si rivolgono al kernel tramite DLL. Sembra che la funzionalità dei pacchetti sia chiamata direttamente dal programma. Mi sembra che i tipi di interazione siano molto vicini, solo che in quest'ultimo caso non c'è bisogno di renderlo come un pacchetto. A proposito, R stesso raccomanda di scrivere funzionalità complesse all'interno di script in C/C++/F anche senza impacchettarle come pacchetto (tranne che non so se funziona sotto UNIX, dove il compilatore è integrato nel sistema operativo).

 
Yuriy Asaulenko:

Esattamente circa - o preparare i pacchetti o interagire. :) - Writing R Extensions copre come creare i propri pacchetti, scrivere file di aiuto per R, e le interfacce per i linguaggi stranieri (C, C++, Fortran, ...).

Finora, preferisco le interfacce in lingua straniera (C, C++, Fortran, ...). Ho già provato - in C/C++/C# i nuovi tipi di dati appaiono da R e si rivolgono al kernel tramite DLL. Sembra che la funzionalità dei pacchetti sia chiamata direttamente dal programma. Mi sembra che i tipi di interazione siano molto vicini, solo che in quest'ultimo caso non c'è bisogno di renderlo come un pacchetto. A proposito, R stesso raccomanda di scrivere funzionalità complesse all'interno di script in C/C++/F anche senza impacchettarle come pacchetto (tranne che non so se funziona sotto UNIX, dove il compilatore è integrato nel sistema operativo).

Purtroppo la mia conoscenza in questo campo è estremamente limitata.

Buona fortuna. Vi auguro sinceramente dei risultati.

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

Purtroppo la mia conoscenza in questo campo è estremamente limitata.

Buona fortuna. Vi auguro sinceramente dei risultati.

Grazie.

Ho capito l'interazione generale con R. Ho imparato la funzionalità più semplice. Cosa c'è dopo, non so cosa fare. Non ho assolutamente idea di cosa fare con i pacchetti.

Finora ho bisogno di funzioni di correlazione e autocorrelazione e di regressione polinomiale . Non riesco a orientarmi, non riesco a trovarli. Dove cercarli?

 
Yuriy Asaulenko:

Grazie.

L'interazione con R è generalmente risolta. Ho imparato la funzionalità più semplice. Ma non so cosa fare dopo. Non ho assolutamente idea di cosa fare con i pacchetti.

Finora ho bisogno di funzioni di correlazione e autocorrelazione e di regressione polinomiale . Non riesco a orientarmi, non riesco a trovarli. Dove cercarli?

?var()

?cov()

?cor() 

L'autocorrelazione più semplice:

x <- rnorm(1000, 0, 1)
cor(x[1:999], x[2:1000])

funzione incorporata:

acf(x, lag.max = NULL,
    type = c("correlation", "covariance", "partial"),
    plot = TRUE, na.action = na.fail, demean = TRUE, ...)

pacf(x, lag.max, plot, na.action, ...)

In R for fitting a polynomial regression model (not orthogonal), there are two methods, among them identical. Suppose we seek the values of beta coefficients for a polynomial of degree 1, then 2 nd degree, and 3 rd degree:


fit1 <- lm(sample1$Population ~ sample1$Year)
fit2 <- lm(sample1$Population ~ sample1$Year + I(sample1$Year^2))
fit3 <- lm(sample1$Population ~ sample1$Year + I(sample1$Year^2) + I(sample1$Year^3))

queste funzioni vanno nella base.

 

Puoi provare a cercare i pacchetti per parole chiave nella lista di tutti i pacchetti:https://cran.r-project.org/web/packages/available_packages_by_name.html

Questi pacchetti sono divisi in gruppi e se sapete a quale gruppo appartiene la vostra applicazione, potrebbe essere più facile cercare i pacchetti nel gruppo/go?link=https://cran.r-project.org/web/views/.

Molti altri pacchetti contengono buoni esempi su come utilizzare i manuali e i pdf aggiunti

CRAN Packages By Name
  • cran.r-project.org
The package will formally test two curves represented by discrete data sets to be statistically equal or not when the errors of the two curves were assumed either equal or not using the tube formula to calculate the tail probabilities