l'ha gettato in tslab per avere un aspetto migliore
Sembra che sia un buon abbinamento.
Ho guardato gli scambi.
L'ho guardato come se fosse un trader manuale con una seduta estremamente lunga e un vago algoritmo di trading...
Forrest certamente non ha potuto identificare nulla, ma è stato interessante e informativo )))
Quindi è necessario leggere quale periodo e insegnare due modelli. Uno per gli scambi, l'altro per i tempi. O multiclasse. Guarda la descrizione del bot, forse è brutto e non si adatta
Potrebbe essere utile... Ho un molti a molti senza ricorrenza. E nessun livello di convoluzione. E ho scelto questo modello dopo aver analizzato il meccanismo neuronale. Stiamo cercando un denominatore comune, vero? Argomentare.
Eppure, con noi, l'ordine è importante. È sempre possibile, per esempio, ottenere SB mescolando gli incrementi in modo casuale.
Mi sono anche ricordato che una volta hai scritto qui sull'estrazione di modelli sequenziali e sul problema dell'allineamento delle sequenze. Sembra anche essere uno dei metodi per risolvere il problema. Anche se l'appartenenza delle sequenze a una classe non significa necessariamente che siano simili.
apriori_cspade <- function(apri_supp=0.1,arpi_conf=0.1, liS ,
maxgap=NULL, maxlen=5,rhs=NULL,
apri_maxlen=2,apri_minlen=2,verbose=T,
redundant.rules = F, cspade_supp=0.5 , cspade_conf=0.5){
library(arules)
targ <- NULLif(!is.null(rhs)) {
targ <- list(rhs=rhs, default="lhs")
apri <- apriori(liS, parameter=list(support=apri_supp,
confidence=arpi_conf,
minlen=apri_minlen,
maxlen=apri_maxlen),
appearance = targ,
control = list(verbose=verbose))
}
if(is.null(rhs)){
apri <- apriori(liS, parameter=list(support=apri_supp,
confidence=arpi_conf,
target="rules",
minlen=apri_minlen,
maxlen=apri_maxlen),
control = list(verbose=verbose))
}
ar <- as(apri,"data.frame")
ar <- as.character(ar$rules)
ar <- gsub("[{}>]","" ,ar)
ar <- unlist(stringr::str_split(ar ,pattern = "="))
ar <- ar[!duplicated(ar)]
ar <- stringr::str_trim(ar)
for(i in 1:length(liS)) liS[[i]] <- liS[[i]] [ liS[[i]] %in% ar ]
liS <- liS[ unlist(lapply(liS ,function(x) length(x)>2 )) ]
if( length(liS) <= 0 ) return(NULL)
library(arulesSequences)
cspade.form <- as.data.frame(matrix(ncol = 4,nrow = 0))
for(i in 1:length(liS)){
Q <- liS[[i]]
cspade.form <- rbind(cspade.form,
cbind.data.frame( ID = rep(i,length(Q)),
evID = 1:length(Q),
SIZE = rep(1,length(Q)),
ITEM = Q))}
write.table(cspade.form , file = "D:\\R2\\arulesSeq\\seq\\temp.txt",
append = F,sep = ",",row.names = F,col.names = F)
x <- read_baskets(con = "D:\\R2\\arulesSeq\\seq\\temp.txt",sep = ",",
info = c("sequenceID","eventID","SIZE"))
mod <- cspade(x, parameter=list(support = cspade_supp,
maxlen = maxlen,
maxgap=maxgap),
control=list(verbose = verbose))
gc(reset = T,verbose = F)
rules <- ruleInduction(mod, confidence = cspade_conf, control=list(verbose = verbose))
if(redundant.rules) rules <- rules[!is.redundant(rules)]
final <- as(rules,"data.frame")
# parse rules
R <- final$rule
R <- gsub( "[\"<>{}]","",R)
R <- stringr::str_split(gsub("=",",",R) , pattern = ",")
R <- lapply(R,trimws)
li <- list(rules=final, parse.rules=R)
return(li)}
La funzione è "sporca", ma funziona, cambiate i percorsi nella funzione per le vostre esigenze e installate i pacchetti corretti.
Ma dovete sapere che gli algoritmi che cercano tali "sequenze sparse" di questo tipo sono molto voraci, c'è una ricerca enorme, nonostante il fatto che l'algoritmo stesso faccia una ricerca efficiente e sia scritto in C++
eseguire la funzione e cercare le sequenze che portano alle nostre etichette
La funzione è "sporca", l'ho scritta per me stesso, ma funziona, cambia i percorsi nella funzione per te e installa i pacchetti corretti.
Ma dovete sapere che gli algoritmi che cercano tali "sequenze sparse" di questo tipo sono molto voraci, c'è una ricerca enorme, nonostante il fatto che l'algoritmo stesso faccia una ricerca efficiente e sia scritto in C++
Grazie, penserò a come aggiungerlo ai miei problemi.
Se avete domande, chiedete pure. Ho passato molto tempo su questo approccio, quindi sono più o meno informato, infatti penso che questo approccio sia il più promettente
Код и данные — фундамент ИИ-системы. Оба эти компонента играют важную роль в разработке надёжной модели, но на каком из них следует сосредоточиться больше? В этой статье мы сравним методики, ставящие в центр данные , либо модель , и посмотрим, какая из них лучше; также мы поговорим о том, как внедрять датацентрическую инфраструктуру...
A mio parere, una combinazione armoniosa di entrambi gli approcci, tenendo conto delle specificità dei nostri obiettivi. I segnali dovrebbero "catturare" la "fisica" del mercato, e i modelli dovrebbero essere costruiti per aumentare i profitti (piuttosto che la probabilità di avere ragione, per esempio)
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Scarica il bot dal mercato, eseguilo nel tester MT5, poi c'è un'opzione per salvare il rapporto con tutte le operazioni e altre informazioni
È possibile automatizzare, compresa l'esecuzione del test e il caricamento delle transazioni in csv -https://www.mql5.com/ru/code/26132
Scaturita una strategia d'oro dal mercato ))
Curva maiuscola nel mio tester.
l'ha gettato in tslab per avere un aspetto migliore
Sembra che sia un buon abbinamento.
Ho guardato gli scambi.
L'ho guardato come se fosse un trader manuale con una seduta estremamente lunga e un vago algoritmo di trading...
Forrest certamente non ha potuto identificare nulla, ma è stato interessante e informativo )))
Può essere automatizzato, compresa l'esecuzione di un test e il caricamento delle transazioni in csv -https://www.mql5.com/ru/code/26132
Potrebbe essere utile... Ho un molti a molti senza ricorrenza. E nessun livello di convoluzione. E ho scelto questo modello dopo aver analizzato il meccanismo neuronale. Stiamo cercando un denominatore comune, vero? Argomentare.
Grazie, darò un'occhiata.
Eppure, con noi, l'ordine è importante. È sempre possibile, per esempio, ottenere SB mescolando gli incrementi in modo casuale.
Mi sono anche ricordato che una volta hai scritto qui sull'estrazione di modelli sequenziali e sul problema dell'allineamento delle sequenze. Sembra anche essere uno dei metodi per risolvere il problema. Anche se l'appartenenza delle sequenze a una classe non significa necessariamente che siano simili.
dati
eseguiamo la funzione e cerchiamo le sequenze che portano ai nostri segni
La funzione è "sporca", ma funziona, cambiate i percorsi nella funzione per le vostre esigenze e installate i pacchetti corretti.
Ma dovete sapere che gli algoritmi che cercano tali "sequenze sparse" di questo tipo sono molto voraci, c'è una ricerca enorme, nonostante il fatto che l'algoritmo stesso faccia una ricerca efficiente e sia scritto in C++dati
eseguire la funzione e cercare le sequenze che portano alle nostre etichette
La funzione è "sporca", l'ho scritta per me stesso, ma funziona, cambia i percorsi nella funzione per te e installa i pacchetti corretti.
Ma dovete sapere che gli algoritmi che cercano tali "sequenze sparse" di questo tipo sono molto voraci, c'è una ricerca enorme, nonostante il fatto che l'algoritmo stesso faccia una ricerca efficiente e sia scritto in C++Grazie, penserò a come aggiungerlo ai miei problemi.
Grazie, penserò a come allegarlo ai miei compiti.
Un approccio o entrambi?
https://habr.com/ru/post/661457/
Un approccio o entrambi?
https://habr.com/ru/post/661457/
È raro vedere una tale rivelazione. Ma è il giusto approccio al mercato.
Un approccio o entrambi?
https://habr.com/ru/post/661457/
A mio parere, una combinazione armoniosa di entrambi gli approcci, tenendo conto delle specificità dei nostri obiettivi. I segnali dovrebbero "catturare" la "fisica" del mercato, e i modelli dovrebbero essere costruiti per aumentare i profitti (piuttosto che la probabilità di avere ragione, per esempio)