Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 265
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Denedim, ancak çabucak bozuldu: hafta sonu deliklerle ne yapılacağı belli değil.
Delikler hafta sonları diskolarda çekilir :)
Sanych ne zaman normal alıntı yapmayı öğreneceksin? üç kelime yazmak için forumun yarım sayfasını alıntılamana gerek yok...
Şimdi konuyla ilgili daha fazla
Şamdan paketini kullanarak çeşitli şamdan kombinasyonları ve başka şeyler yaptım, MO'yu eğitmeye çalışırken, hem eğitimde hem de yeni verilerde bu hata 0'ın %100'ü için eğittiği ortaya çıktı, bazı tahmin ediciler olduğu açık. her işlevi anlamamak için geleceğe bakan veriler, ormana göre en önemli olan ve diğerlerinden güçlü bir şekilde öne çıkan ilk 6 öngörücüyü kaldırdım, aralarında olacağını umdum. Geleceğe bakan ve MO'yu tekrar eğitenler olun, hata yaklaşık %3 idi, karoch Ne olduğunu bilmiyorum, neden böyle muhteşem sonuçlar, belki kodumda bir hata ...
Ayıklamakla ilgilenen Karoch, seçimi nasıl yaptığımın kodu burada, hedefim "mum rengi" idi.
Kodda, yalnızca seçimin kendisi, hedef ve diğer manipülasyonlar, istediğinizi yapın
Deneyin, deneyin, çünkü modeliniz için ek 30 özellik gibi
# загружаю последние 500 дней котировок индекса ртс
getSymbols( "SPFB.RTS" ,src = "Finam" ,period= "5min" ,from = Sys.Date()- 500 )
chart_Series( tail(SPFB.RTS, 100 ) )
D <- SPFB.RTS
# cчитаем функции по свечным формациям и прочим добром
library (candlesticks)
X29<- TrendDetectionSMA(D)
X28<- TrendDetectionChannel(D)
X27<- nextCandlePosition(D)
X26<- CSPThreeOutside(D)
X25<- CSPThreeMethods(D)
X24<- CSPThreeInside(D)
X23<- CSPTasukiGap(D)
X22<- CSPStomach(D)
X21<- CSPStar(D)
X20<- CSPShortCandleBody(D)
X19<- CSPShortCandle(D)
X18<- CSPPiercingPattern(D)
X17<- CSPOutsideDay(D)
X16<- CSPNLowerClose(D,N = 3 )
X15<- CSPNHigherClose(D,N = 3 )
X14<- CSPMarubozu(D)
X13<- CSPLongCandleBody(D)
X12<- CSPLongCandle(D)
X11<- CSPKicking(D)
X10<- CSPInvertedHammer(D)
X9 <- CSPInsideDay(D)
X8 <- CSPHarami(D)
X7 <- CSPHammer(D)
X6 <- CSPGap(D)
X5 <- CSPEngulfing(D)
X4 <- CSPDoji(D)
X3 <- CSPDarkCloudCover(D)
X2 <- CandleLength(D)
X1 <- CandleBodyLength(D)
dat <- cbind.data.frame(D, X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,
X11,X12,X13,X14,X15,X16,X17,X18,X19,
X20,X21,X22,X13,X24,X25,X26,X27,X28,X29)
# true , false заменяю на 1 и - 1 а NA-шки на 0
dat[dat== TRUE ] <- 1
dat[dat== 0 ] <- - 1
dat[is.na(dat)] <- 0
# пишем все в файл с которым удобно работать в будущем
save(dat,file = "D:/R/candles_lib/candle_dat.RData" ) # ваш путь
Sanych ne zaman normal alıntı yapmayı öğreneceksin?
Tahminciler geleceğe bakmazlar - hedefi tekrar ederler.
İleri test nerede? Che eğitimi tartışmak için?
not
Hepsi istek üzerine
Tahminciler geleceğe bakmazlar - hedefi tekrar ederler.
İleri test nerede? Che eğitimi tartışmak için?
Sadece kendine öğretmeye çalış ve ne olduğunu yaz, zaten tartışılacak bir şey olacak, umarım ..
nedenini anladım.
Şimdi yeni bir fiyat geldi, tüm tahminciler bunu hesapladı ve daha sonra bu tahmin ediciler kullanılarak aynı fiyat hesaplandı - hiçbir şey tahmin etmiyoruz. Montaj hatası sıfırdır. Şaşırtıcı bir şey görmüyorum.
Tahmin ilginçse, D'yi bir adım sola hareket ettirin. Bu model bir adım ileriyi öngörüyor. belki birkaçı için
nedenini anladım.
Şimdi yeni bir fiyat geldi, tüm tahminciler bunu hesapladı ve daha sonra bu tahmin ediciler kullanılarak aynı fiyat hesaplandı - hiçbir şey tahmin etmiyoruz. Montaj hatası sıfırdır. Şaşırtıcı bir şey görmüyorum.
Tahmin ilginçse, D'yi bir adım sola hareket ettirin. Bu model bir adım ileriyi öngörüyor. belki birkaçı için
Yeni fiyatı mı kastediyorsunuz?
verdiğim kod sadece finanstan indirilen fiyatlardan tahminler yapıyor.
sonra veriler kaydedilir
save(dat,file = "D:/R/candles_lib/candle_dat.RData" ) # ваш путь
o zaman bu mum_dat.RData verilerini yeni bir komut dosyasında zaten açıyoruz, hedefi zaten yapıyoruz ve MO'yu eğitiyoruz, hiçbir şey yok yeni fiyat geldi
onun gelecek bir yeri yok. Doğal olarak hedefi bir adım kaydırdım, bunlar tahminin altında, bu ilk öğretişim değil
yani başka bir şey var
Yoksa seni anlamadım?Yeni fiyatı mı kastediyorsunuz?
verdiğim kod sadece finanstan indirilen fiyatlardan tahminler yapıyor.
sonra veriler kaydedilir
save(dat,file = "D:/R/candles_lib/candle_dat.RData" ) # ваш путь
o zaman bu mum_dat.RData verilerini yeni bir komut dosyasında zaten açıyoruz, hedefi zaten yapıyoruz ve MO'yu eğitiyoruz, hiçbir şey yok yeni fiyat geldi
onun gelecek bir yeri yok. Doğal olarak hedefi bir adım kaydırdım, bunlar tahminin altında, bu ilk öğretişim değil
yani başka bir şey var
Yoksa seni anlamadım?Ve hedef nedir?
önceki kapanışın altında yukarıda kapat
Y <- diff(dat$SPFB.RTS. Close )
Y[Y>= 0 ] <- 1
Y[Y< 0 ] <- 0
dat <- dat[-nrow(dat),]
Y <- as.factor(Y)
tr <- 1 : 10000
ts <- 10001 : 15000
library (randomForest)
cm <- colnames(dat)
colnames(dat) <- paste0( "var_" , 1 :ncol(dat))
model <- randomForest(Y[tr]~., dat[tr,] , ntree= 100 , mtry= 10 )
layout( 1 : 2 )
plot(model)
varImpPlot(model,type = 2 )
pr <- predict(model,dat[ts,])
library (caret)
confusionMatrix(Y[ts] , pr)
önceki kapanışın altında yukarıda kapat
Hedef kaymasının nerede olduğunu anlayamıyorum? Farkına varırken? Ancak 2'den çıkarılarak elde edilen ilk öngörücü dizisine hedefin 1. değeri atanır, yani. İndeks 2 ile hedef için aşağıdaki değerleri BİLİN.
farklılaşma sırasında, seri bir eleman tarafından kısaldığından, kayma otomatik olarak gider, o zaman gereken tek şey numuneyi (gözlemleri içeren tablo) son eleman kadar kısaltmaktır.
işte bir örnek
Y <- diff(SomeData)
cbind.data.frame( Y , SomeData[-length(SomeData)])
alırız
1 10 10
2 10 20
3 - 10 30
4 - 10 20
5 10 10
6 10 20
7 10 30
8 10 40
9 - 10 50
farklılaşma sırasında, seri bir eleman kısaldığından, kayma otomatik olarak gider, o zaman tüm gereken seçimi son eleman kadar kısaltmak
Tahmin edicileri değil, hedefi sola kaydırmak gerekiyor
Tekrar açıklamaya çalışacağım.
İndeks 1'e sahip tahmin ediciler satırı, İKİNCİ ve ilk tahmin ediciler satırından = elde edilir. Sonuç, dizin 1 ile konuma yazılır.
Bir indeksi =1 ve sahip olduğu gibi hedefleyin. Ancak değerini, ikinci satır olan GELECEĞİN tahmincilerinin bilgisine dayanarak tahmin ediyoruz.
Hedefi 1 kaydırın, yani. Y[1:n] yerine Y[2:n] alın ve hesaplayın