Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 11

 
SS'nin bunu nasıl yapmak istediğini açıklamasını bekleyeceğim.

Ve basit bir çıkışla bir ticareti tahmin etmenin optimal olmayabileceğini düşündüğümü yineleyeceğim.

Ya zaten açılmış anlaşmaları kapatma anını öğrenecek başka bir makineyi eğitirsek? Açıklamama izin ver. Anlaşma bir saat içinde kapatılmalı - makineyi anlaşmaları açması için bu şekilde eğittik.

Açılan her fırsat için, 31 dakikadan başlayarak 90 dakika ile biten her dakika için 60 adet özellikli kayıt (satır) olacaktır. Bu girişlerin yaklaşık yarısı, 60. dakika civarında iyi bir giriş olarak 1 olarak işaretlenecektir.

Sorunun nasıl çözüleceğini ayrıntılı olarak açıklamak diye buna derim.

Ne düşünüyorsun?
 
Alexey Burnakov :

Fikir ilginç. Ayrıca çalışan danışmanlarım var. Belki onları nasıl güncelleyeceğimi düşünürüm. Ama neyin iyileştirilmesi gerektiğini anlamıyorum. Makineye ne öğretilmelidir?

EA'nın pozisyonları açmak ve kapatmak için katı bir mantığı vardır. Makine öğreniminde karar biraz farklı bir şekilde verilir.

Yani tam olarak ne yapacağınız tam olarak belli değil.

Bunu yukarıdaki mesajımdan not alın:

Genel talimatı kıdemli bardan alıyorum. Ancak zamana daha yakından bakıldığında, özellikle alt çubuklar açısından korkunç bir gecikme var. Yani bu D1 ise ve M5 üzerinde işlem yapıyorsam, o zaman yön için dünün verilerinden neredeyse bir gün önce aldığım ortaya çıkıyor. D1 için %30 hata ile bir adım önde olan bir tahmin bile Expert Advisor'ın karlılığını kökten iyileştirdi ve en önemlisi başarısız olmayacağına olan güveni artırdı.

Benim özel durumumda, göstergelerden gelen gecikmeli bilgileri R'den karşılık gelen tahminlere kullanma yolunda ilerliyorum.

 
San Sanych Fomenko :

Bunu yukarıdaki mesajımdan not alın:

Genel talimatı kıdemli bardan alıyorum. Ancak zamana daha yakından bakıldığında, özellikle alt çubuklar açısından korkunç bir gecikme var. Yani bu D1 ise ve M5 üzerinde işlem yapıyorsam, o zaman yön için dünün verilerinden neredeyse bir gün önce aldığım ortaya çıkıyor. D1 için %30 hata ile bir adım ilerideki bir tahmin bile Expert Advisor'ın karlılığını kökten iyileştirdi ve en önemlisi başarısız olmayacağına olan güveni artırdı.

Benim özel durumumda, göstergelerden gelen gecikmeli bilgileri R'den karşılık gelen tahminlere kullanma yolunda ilerliyorum.

Tamam, fikir hakkında açık.
 

Gerçekten büyük haberlerim var.

Bir iş gezisindeyken, akşamları verilerimi öğrenen makineleri sürdüm. Farklı yaklaşım kombinasyonları denedi. Ve öyle görünüyor ki, bir taş çiçek çıktı - aniden.

Genel olarak verdiğim linkteki verilerimle tekrar tekrar eğitime başladım, daha önce blogumda anlatılanları denedim. Ama birkaç numara daha ekledi. Örneğin, tahminin soyut doğruluğunun değil, çapraz doğrulamada daha fazla kârın olduğu eğitim parametrelerinin seçimi.

Bunu yapmak için elbette kendi uygunluk fonksiyonumu yazmam gerekiyordu.

Grafikte - farklı tahmin ufukları ve eğitim parametreleri için Eğitim ve Doğrulama ile ilgili beklenen değer çiftleri. Ayrıca "gri bölge" fikrini, yani hiçbir şey olmadığında böyle bir tahmin alanı kullandım.

Gördüğünüz gibi hem antrenman sırasında hem de validasyon sırasında bunlarla ilişkili değerlerde oldukça makul MO değerleri elde ettim! Simülasyonda 0.00020 (yirmi pipet) yayılımının kullanıldığına dikkat edin.

Ayrıca spreadi dikkate alarak toplam işlem miktarını da hesapladım. Değerler de çok güzel. Maksimum kâr, işlem sayısının belirli bir oranı ve işlemin MO'su ile elde edilir, tüm bunlar 12 saatlik bir planlama ufkunda. Grafikte, tüm planlama ufuklarını, gri bölgenin tüm değerlerini ve modeli eğitmek için en iyi parametreleri yineleyin. Aşağıya bakınız:


Pekala, bu bilgiyi yaymak için, orman eğitimi parametreleri de dahil olmak üzere tüm sonuçların bulunduğu bir dosya ekliyorum. Ama giriş yok. Verilerimden gelen girdiler seçildi. Küçük bir sır olacak. Deneyin tüm kodunu yayın ya da yaymayın - bunun hakkında düşüneceğim. Şimdi bu makinenin MT'si ile entegrasyon yapmak istiyorum, çünkü sonuç bana oldukça işe yarıyor gibi görünüyor.

Alexey

 
Alexey Burnakov :

Gerçekten büyük haberlerim var.

Bir iş gezisindeyken, akşamları verilerimi öğrenen makineleri sürdüm. Farklı yaklaşım kombinasyonları denedi. Ve öyle görünüyor ki, bir taş çiçek çıktı - aniden.

Genel olarak verdiğim linkteki verilerimle tekrar tekrar eğitime başladım, daha önce blogumda anlatılanları denedim. Ama birkaç numara daha ekledi. Örneğin, tahminin soyut doğruluğunun değil, çapraz doğrulamada daha fazla kârın olduğu eğitim parametrelerinin seçimi.

Bunu yapmak için elbette kendi uygunluk fonksiyonumu yazmam gerekiyordu.

Grafikte - farklı tahmin ufukları ve eğitim parametreleri için Eğitim ve Doğrulama ile ilgili beklenen değer çiftleri. Ayrıca "gri bölge" fikrini, yani hiçbir şey olmadığında böyle bir tahmin alanı kullandım.

Gördüğünüz gibi hem antrenman sırasında hem de validasyon sırasında bunlarla ilişkili değerlerde oldukça makul MO değerleri elde ettim! Simülasyonda 0.00020 (yirmi pipet) yayılımının kullanıldığına dikkat edin.

Ayrıca spreadi dikkate alarak toplam işlem miktarını da hesapladım. Değerler de çok güzel. Maksimum kâr, işlem sayısının belirli bir oranı ve işlemin MO'su ile elde edilir, tüm bunlar 12 saatlik bir planlama ufkunda. Grafikte, tüm planlama ufuklarını, gri bölgenin tüm değerlerini ve modeli eğitmek için en iyi parametreleri yineleyin. Aşağıya bakınız:


Pekala, bu bilgiyi yaymak için, orman eğitimi parametreleri de dahil olmak üzere tüm sonuçların bulunduğu bir dosya ekliyorum. Ama giriş yok. Verilerimden gelen girdiler seçildi. Küçük bir sır olacak. Deneyin tüm kodunu yayın ya da yaymayın - bunun hakkında düşüneceğim. Şimdi bu makinenin MT'si ile entegrasyon yapmak istiyorum, çünkü sonuç bana oldukça işe yarıyor gibi görünüyor.

Alexey

Puan cinsinden toplam kâr bir gösterge değildir. İşte bu toplam karın, alındığı tarihteki çubukların sayısına oranı - bu, gösterge niteliğindeki kalite katsayısıdır. Uzun zamandır söylüyorum ve sadece modeli optimize etmek ve değerlendirmek için kullanıyorum.

Sıkı çalışma sonuç getirir.

İyi şanlar

 
Vladimir Perervenko :

Puan cinsinden toplam kâr bir gösterge değildir. İşte bu toplam karın, alındığı tarihteki çubukların sayısına oranı - bu, gösterge niteliğindeki kalite katsayısıdır. Uzun zamandır söylüyorum ve sadece modeli optimize etmek ve değerlendirmek için kullanıyorum.

Sıkı çalışma sonuç getirir.

İyi şanlar

Bana öyle geliyor ki biri diğerini dışlamıyor.

Aleksey, sınıflandırma tahminlerinin tüm tahminlerinin bariz eksisinin üstesinden geldi: 1 piplik bir çubuğun doğru tahmininin değeri ile 10 piplik bir çubuğu tahmin etmenin değerinin tamamen farklı olduğu açıktır.

Tebrikler, Alexey!

 
Vladimir Perervenko :

Puan cinsinden toplam kâr bir gösterge değildir. İşte bu toplam kârın, alındığı tarihteki çubukların sayısına oranı - bu, gösterge niteliğindeki kalite katsayısıdır. Uzun zamandır söylüyorum ve sadece modeli optimize etmek ve değerlendirmek için kullanıyorum.

Sıkı çalışma sonuç getirir.

İyi şanlar

Açıklamama izin ver.

12 saat ilerisini tahmin edin (tam olarak 724 dakika).

Doğrulama örneklerinin her biri için işlem sayısı 5000'den fazladır. Sonuç, 49 doğrulama örneğinin ortalaması alınır. Her numune içindeki işlemler, yaklaşık 12 saatlik artışlarla gerçekleşir, yani belirgin bir bağımlılık ve çakışan sonuçlar yoktur. Şimdi ticaret simülasyon çizelgeleri yayınlayacağım. Che bir şey çok iyi sonuçlar. Ama şimdiye kadar her şey doğrulandı.

 

Denemem için son veriler:

49 doğrulama örneğinde eğitimli bir makineden gelen sinyallere dayalı ticaret simülasyonu (puan olarak):

49 numune için işlem sonucunun puan dağılımı:

Ve doğrulama örneklerinin her birinin ortalama (medyan) MO'su arasında sıfırdan önemli bir fark hakkındaki hipotezleri test etmek:

doğrulama örneği
shapiro testi normallik p değeri
sıfırdan fark için wilcoxon testi p değeri
kastetmek
medyan
ortalama uzak üst %99-kuyruk
ortalama dist alt %99-kuyruk
1
1.11E-65
0
0.000139
0.000095
0.000146
0.000133
2
8.55E-64
0
0.000139
0.000096
0.000145
0.000133
3
8.24E-63
0
0.000137
0.000096
0.000143
0.000131
4
3.31E-66
0
0.000139
0.000095
0.000146
0.000133
5
4.64E-66
0
0.000142
0.000097
0.000149
0.000136
6
7.08E-63
0
0.000141
0.000097
0.000147
0.000135
7
8.72E-65
0
0.000135
0.000096
0.000141
0.000129
sekiz
4.52E-65
0
0.000139
0.000096
0.000145
0.000132
dokuz
4.31E-64
0
0.000143
0.000102
0.000149
0.000137
on
4.53E-66
0
0.000141
0.000099
0.000147
0.000134
on bir
8.97E-67
0
0.000143
0.000098
0.000149
0.000136
12
2.21E-63
0
0.000139
0.000102
0.000145
0.000133
on üç
1.16E-63
0
0.000142
0.000099
0.000148
0.000135
on dört
7.82E-64
0
0.000138
0.000097
0.000144
0.000132
on beş
1.41E-65
0
0.000146
0.000103
0.000152
0.000140
on altı
8.17E-63
0
0.000135
0.000097
0.000140
0.000129
17
6.54E-65
0
0.000143
0.000099
0.000149
0.000136
on sekiz
6.70E-66
0
0.000138
0.000096
0.000144
0.000132
on dokuz
1.86E-65
0
0.000143
0.000099
0.000149
0.000136
20
1.79E-66
0
0.000142
0.000098
0.000148
0.000135
21
2.37E-62
0
0.000136
0.000099
0.000142
0.000131
22
5.51E-65
0
0.000141
0.000100
0.000147
0.000135
23
7.15E-67
0
0.000142
0.000097
0.000149
0.000136
24
1.06E-65
0
0.000144
0.000102
0.000150
0.000137
25
4.01E-65
0
0.000147
0.000101
0.000153
0.000140
26
2.33E-64
0
0.000141
0.000098
0.000147
0.000135
27
7.85E-65
0
0.000141
0.000100
0.000147
0.000134
28
2.07E-64
0
0.000141
0.000098
0.000147
0.000134
29
2.01E-63
0
0.000140
0.000098
0.000146
0.000134
otuz
2.77E-64
0
0.000139
0.000098
0.000145
0.000133
31
1.43E-66
0
0.000145
0.000098
0.000151
0.000138
32
1.08E-65
0
0.000141
0.000098
0.000147
0.000134
33
3.47E-62
0
0.000136
0.000099
0.000141
0.000130
34
6.04E-67
0
0.000140
0.000096
0.000147
0.000134
35
2.32E-65
0
0.000145
0.000100
0.000152
0.000139
36
6.39E-65
0
0.000143
0.000098
0.000149
0.000137
37
1.10E-61
0
0.000141
0.000103
0.000147
0.000135
38
6.74E-63
0
0.000142
0.000100
0.000148
0.000136
39
2.54E-64
0
0.000141
0.000098
0.000147
0.000135
40
2.45E-64
0
0.000139
0.000098
0.000145
0.000133
41
6.25E-66
0
0.000141
0.000099
0.000148
0.000135
42
3.99E-66
0
0.000141
0.000097
0.000147
0.000135
43
1.35E-66
0
0.000142
0.000098
0.000148
0.000135
44
1.01E-63
0
0.000134
0.000097
0.000140
0.000128
45
1.56E-64
0
0.000139
0.000097
0.000145
0.000133
46
3.11E-66
0
0.000145
0.000103
0.000152
0.000139
47
6.11E-66
0
0.000138
0.000099
0.000144
0.000131
48
2.99E-66
0
0.000146
0.000101
0.000152
0.000139
49
1.84E-63
0
0.000138
0.000098
0.000144
0.000131

Örnekler içindeki dağılım normal değildir. Wilcoxon testi, MO'nun sıfırdan önemli ölçüde farklı olduğunu gösterir.

Bu arada, doğrulama numunelerinin son 3/5 bölümlerindeki noktaların toplamının eğrisinin büyümesinin niteliğindeki değişiklik anlaşılabilir.

Örneklerimin içinde 5 ana dal için yaklaşık olarak eşit sayıda gözlemim var ve bunlar aşağıdaki sırayla gidiyor:

dat_eurusd 
dat_audusd 
dat_gbpusd 
dat_usdcad 
dat_usdchf

Son üç çift için volatilitenin daha yüksek ve spread'in daha yüksek olduğundan eminim (20 değil, 25-30 pip almalısınız). Bu nedenle, brüt sonuçları ve tahmin edilen varış noktalarının yüzdesi daha iyidir. Ancak artan bir yayılmanın getirilmesi istatistikleri yine de sıfırlamayacaktır. Sadece neler olduğunu anlamak için.

CHTD.

 
San Sanych Fomenko :

Bana öyle geliyor ki biri diğerini dışlamıyor.

Aleksey, sınıflandırma tahminlerinin tüm tahminlerinin bariz eksisinin üstesinden geldi: 1 piplik bir çubuğun doğru tahmininin değeri ile 10 piplik bir çubuğu tahmin etmenin değerinin tamamen farklı olduğu açıktır.

Tebrikler, Alexey!

Teşekkürler, San Sanich. Her şey çalışıyor. Başlangıç için MT4'ü başlatmaya çalışacağım.
 

Dikkat. Kodda harika sonuçlar veren bir hata bulundu. Detaylı bilgilendirmeden önce tüm optimizasyonum iptal edildi!

Ar ile birlikte MT4 konusunda bir danışman yaptım. Ve kodun ayrıntılı bir taramasını yaptığım ve büyük bir hata bulduğum sonuçlarda tutarsızlıklar gördüm. Şimdiye kadar karlı bir şey bulamadım, ortaya çıktı. Deney devam ediyor.
Neden: