MT için Python'da bir ticaret sistemi yapmak. - sayfa 10

 
Yuriy Asaulenko :

Optimizasyon ve her türlü parametre seçimi ve sayımı ile ilgilenmiyorum. Başka bir metodoloji, ancak MatLab, R, SciLab, vb. gibi bir ortama da ihtiyacınız var. Python daha da kötü değil.

Benim de 10^6 bara ihtiyacım yok. Her şey için - her şey 6, maksimum 9 ay için dakikalar içinde yeterlidir. Şimdi test 3 ay -2,5 m, ancak sistem hala basit.

En uzunu ML öğrenmektir, ancak burada Python'dan daha iyi bir şey düşünemezsiniz ve burada sadece bir betik dili olarak var. Diyelim ki sinir ağının yanıtı 5 katman, yaklaşık 60 nöron - 3-5 ms.

Şimdiye kadar, korku hikayelerinin gerçek kanıtlarını görmüyorum.

Hayır, hiçbir şekilde korkutmaya ya da abartmaya çalışmıyorum, tüm analitik altyapıyı kendiniz yazmanız bile zaten süper!

Her şeyi doğru yapıyorsun, sadece kendimle karşılaştığım ve tökezlediğim şeyler hakkındaki düşüncelerimi yüksek sesle dile getiriyorum, eğer istemiyorsan, yoluna çıkmayacağım))

 
pantural :

Hayır, hiçbir şekilde korkutmaya ya da abartmaya çalışmıyorum, tüm analitik altyapıyı kendiniz yazmanız bile zaten süper!

Her şeyi doğru yapıyorsun, sadece kendimle karşılaştığım ve tökezlediğim şeyler hakkındaki düşüncelerimi yüksek sesle dile getiriyorum, eğer istemiyorsan, yoluna çıkmayacağım))

Evet, iyi iletişim kuruyoruz. Farklı görüşler iyidir. Rakipler her zaman iyidir.)

 
Yuriy Asaulenko :

Evet, iyi iletişim kuruyoruz. Farklı görüşler iyidir. Rakipler her zaman iyidir.)

TAMAM. O halde https://c.mql5.com/3/236/Public.zip'i okuduktan sonra başka ne diyebilirim ki...

Tabii ki yapı ve netlik isterim, çünkü biz bir piton olduğumuz için "böl ve yönet" üzerinde çalışıyoruz.

En azından, veri besleme modüllerinin "arayüzleri", bunların (veri beslemesi) analizleri / tahminleri, alım satım sonuçlarının yürütülmesi ve analitiği gibi bir şeye net bir ayrım yapmak gerekir, ideal olarak bu modüller bağımsız olmalıdır.

Ayrıntılardan soyutlamak, esas olarak en az dört karmaşık nesne, veri, bu verilerin modelleri, piyasadaki modellerin uygulanması (yürütülmesi) ve bu aktivitenin tahmin nesnesi olmalıdır.

En basit durumda, besleme sadece bir mum dizisi olacaktır, böyle bir beslemeyle çalışmanın tek inceliği, model / yürütme / tahmin modüllerini geleceğe bakmaktan güvenilir bir şekilde korumaktır, en basit model herhangi bir gösterge olabilir, örneğin, modüle edilmiş veya en saf haliyle RSI, stokastik veya sinir ağı göstergesi. Dejenere bir yürütme sistemi (stratejiler), tahminlerin bir ticaret sinyaline yorumlanması ve örneğin, tahmin modülündeki bazı seviyeler aşıldığında, boşta / gerçek yürütülmesidir. peki, tahmin "test" tir, aslında, bir test cihazı tüm veri besleme serisi üzerinde sadece boş bir çalışmadır, piyasanın mevcut durumu, model modülleri / yürütme / tahmin ile gerçekte olduğu gibi çalışmak teknik olarak daha doğrudur , ancak tüm satıra hemen sinyaller gönderip ardından bunları test cihazında ayrı ayrı çalıştırmanızdan çok daha yavaş olacaktır, ancak geleceği gözetleme ve gerçekçi olmayan sonuçlar alma konusunda büyük bir tehlike vardır.


Not: Şimdi tüm forex guruları bana acele edecek, ancak algoritmik ticarette zararı durdur ve takip eden durakların zararlı bir teknoloji olduğunu söylemeliyim, şans için bir pozisyon açtığımda ve sadece manuel, epizodik ticaret için. bir pikniğe gitti ve AI sürekli olarak piyasayı izlediğinde, o zaman SİZİN yerel düşüşünüze bağlı olarak hareket etmenin bir anlamı yoktur, gelecekteki piyasa hareketinin buna hiçbir bağımlılığı yoktur ve AI kararları bu temelde alınmamalıdır. .

 
pantural :

TAMAM. O halde https://c.mql5.com/3/236/Public.zip'i okuduktan sonra başka ne diyebilirim ki...

Gereksiz yere Public'e saldırdın. Bu, basit bir 2-MA stratejisi, takip eden bir durdurma ve bir test cihazı içeren basit bir strateji şablonu. Herkesin anlayabileceği kadar basit bir kod içermeli ve daha fazlasını içermemelidir. Ayrıca gösterge stratejileri ile deneme yapma imkanına sahiptir. Ve Python'da modelleme stratejilerine başlamak herkesin aklına gelirse, o zaman bu şablon sizin takdirinize göre değiştirilebilir veya geliştirilebilir.

Aslında, hem sistemin çeşitli modüllerini test etmek için hem de bu konuda daha sonra yayınlanmak üzere hemen yapıldı. Her durumda, düşündüğünüz gibi değil. Genel olarak, her şey göründüğü gibi değildir.

 
pantural :

PS Bu arada, test cihazınızın neden doğru çalıştığını düşünüyorsunuz? Test cihazı sinsi bir şeydir ....

pantural :

"test", aslında, test cihazı veri akışının tüm satırı boyunca sadece boş bir çalışmadır, piyasanın mevcut durumu, model modülleri / yürütme / tahminler ile gerçekte olduğu gibi çalışmak teknik olarak daha doğrudur, ancak bu, tüm sıraya hemen sinyaller gönderip ardından bunları test cihazında ayrı ayrı çalıştırmanızdan çok daha yavaş olacaktır, ancak bu şekilde geleceği gözetleme ve gerçekçi olmayan sonuçlar alma konusunda büyük bir tehlike vardır.

İlgi Sor. Ayrıca ilginç çünkü forumda test etmenin harikalarıyla ilgili efsaneler zaten var.) Aslında, bu yüzden tamamen kontrol edebileceğimiz kendi test cihazımıza ihtiyacımız var.

Test cihazı nedir - stratejiye, test cihazının birlikte çalışması gereken mum sayısını (veya başka bir şeyin, bir kene, diyelim ki sayısı) söylemesi gereken bir döngüdür. Ek olarak, test cihazı stratejinin durumu hakkında veri toplar ve bir şekilde kullanıcı tarafından daha fazla işlenmek üzere bir arşivde düzenler. Herşey. Neden korkuyorsun, burada aldatma nedir? Test eden kişi elinden gelenin en iyisini yapsa bile hiçbir şey yapamayacaktır.)

Test etmenin sinsiliğinin tek bir nedeni olabilir - gerçek hayatta stratejinin kendisi, test etmedekinden başka veri türleri ile çalışır. Örneğin, mum yerine kene ile. Ve bize eğlenceli bir hayat garanti.

Stratejide sadece Open veya sadece Close kullandığımız sürece ve gerçek hayatta sadece bu ve başka hiçbir şey kullanılmadığı sürece hiçbir şey bizi tehdit etmez (tabi bariz hatalar yoksa). Ancak OHLCV'yi testlerde kullanmaya çalıştığımız anda geleceğe bakmak için birçok fırsatımız var. Birincisi, HL'nin zaman damgası yoktur ve ikincisi, mum çubuğunun içindeki fiyat istediği gibi davranabilir ve fiyat davranışıyla ilgili herhangi bir varsayım, yalnızca testin bozulmasına yol açabilir.

Böyle bir analizle, eylemlerimizde çok sınırlıyız ve aslında OHLCV bilgisini sadece bir sonraki mumun başında kullanabiliriz. Hemen hemen risk almadan yapabileceğimiz tek şey, mevcut mumdaki fiyat stop değerinin altına düşerse ticareti kapatmaktır. Dur, elbette, mevcut çubuk üzerinde değişmemelidir.

PS Sanırım şimdi keneler üzerinde test yapmaktan bahsedecekler.) Test ederken kene kullanmıyorum ve kene analizinin bir uçağın yörünge ve hareket parametrelerini gövde titreşimlerini ölçerek ve hareket parametrelerini hesaplamaya çalışmakla benzer olduğunu düşünüyorum. yörünge dalgalanmaları.

 
Ve kendi test cihazımı yapmak zorunda kaldım, parametreleri seçmiyor, bu da etkiliyor ama giriş/çıkış koşullarının belirlenmesi şeklinde bir strateji oluşturulması, TP/SL hesaplanması, ortaya çıkan strateji bir "siyah" değil Kutu". "Geleceğe bakmak" konusuna çok detaylı bir şekilde yaklaştı, bu en önemli konulardan biri, testçi varsa verilerde gelecek hakkında bilgi bulur.
 
Yuriy Asaulenko :

İlgi Sor. Ayrıca ilginç çünkü forumda test etmenin harikalarıyla ilgili efsaneler zaten var.) Aslında, bu yüzden tamamen kontrol edebileceğimiz kendi test cihazımıza ihtiyacımız var.

Test cihazı nedir - stratejiye, test cihazının birlikte çalışması gereken mum sayısını (veya başka bir şeyin, bir kene, diyelim ki sayısı) söylemesi gereken bir döngüdür. Ek olarak, test cihazı stratejinin durumu hakkında veri toplar ve bir şekilde kullanıcı tarafından daha fazla işlenmek üzere bir arşivde düzenler. Herşey. Neden korkuyorsun, burada aldatma nedir? Test eden kişi elinden gelenin en iyisini yapsa bile hiçbir şey yapamayacaktır.)

Test etmenin sinsiliğinin tek bir nedeni olabilir - gerçek hayatta stratejinin kendisi, test etmedekinden başka veri türleri ile çalışır. Örneğin, mum yerine kene ile. Ve bize eğlenceli bir hayat garanti.

Stratejide sadece Open veya sadece Close kullandığımız sürece ve gerçek hayatta sadece bu ve başka hiçbir şey kullanılmadığı sürece hiçbir şey bizi tehdit etmez (tabi bariz hatalar yoksa). Ancak OHLCV'yi testlerde kullanmaya çalıştığımız anda geleceğe bakmak için birçok fırsatımız var. Birincisi, HL'nin zaman damgaları yoktur ve ikincisi, mum çubuğunun içindeki fiyat istediği gibi davranabilir ve fiyat davranışıyla ilgili bazı varsayımlar yalnızca testin bozulmasına yol açabilir.

Böyle bir analizle, eylemlerimizde çok sınırlıyız ve aslında OHLCV bilgisini sadece bir sonraki mumun başında kullanabiliriz. Hemen hemen risk almadan yapabileceğimiz tek şey, mevcut mumdaki fiyat stop değerinin altına düşerse ticareti kapatmaktır. Durdururken, tabii ki mevcut barda değişmemelidir.

PS Sanırım şimdi keneler üzerinde test yapmaktan bahsedecekler.) Test ederken kene kullanmıyorum ve kene analizinin bir uçağın yörünge ve hareket parametrelerini gövde titreşimlerini ölçerek ve hareket parametrelerini hesaplamaya çalışmakla benzer olduğunu düşünüyorum. yörünge dalgalanmaları.

Pek çok şeye katılıyorum, test cihazının kendine ait, şeffaf ve akıllı olması gerekiyor, basit bir durumda algoritmanın kendisi (sadece en iyi için pazarlar (teklif, sask)) yaklaşık 10 satır koddur, ancak içinde bile kendinizi çekebilirsiniz bacakta. Örneğin, "anında yürütme" kullanırsanız, yani, sinyal anında anlaşmayı hesaplarsanız, bu, örneğin bir kişi mumlardan bir tane yakınlaştırdığında ve sonra bu diziden biraz fark aldığında olur. vuruşlar ve daha sonra tekrar kapanışa (teklif veya talep) göre bir işlemin açıldığı/kapatıldığı sinyal anında, bu hata gerçek olandan biraz daha pozitif bir test sonucu verecektir, açık olmayacaktır. Öte yandan, bir öncekinin sinyaline dayalı bir anlaşma için bir sonraki mumu alırsanız, sonuç gerçek olandan önemli ölçüde daha olumsuz olacaktır, klasik olarak sinyal açılışlarla hesaplanır ve anlaşma ile hesaplanır. aynı mumun kapanışları, ancak bu aynı zamanda tamamen vızıltı değil, uygulama, açılış sinyallerinin daha iyi olduğunu ve bazılarının daha karmaşık bir şekilde karışmasına rağmen ortalama (H + L + C) / 3'te anlaşmalar yaptığını gösteriyor.

Bu arada, keneler pahasına, "tiko-mumlara" paketlenirlerse, yani açık ve kapalı arasında geçen keneler içeren mumların yapısı, gösterge hesaplanabilirse, her şey oldukça süslü ve asildir. mumlar tarafından ve mum içindeki keneler tarafından yürütülür, IMHO pek mantıklı gelmese de, sonuçlar oldukça yakın olacaktır.

Burada, bir bardakla, karmaşıklık ve belirsizlik eklenir, neyse ki bu, yalnızca bu bardağı büyük ölçüde kurutabilecek / doldurabilecek miktarları kullananlar için geçerlidir ve genel olarak camsız mümkündür.

 
pantural :

Pek çok şeye katılıyorum, test cihazının kendine ait, şeffaf ve akıllı olması gerekiyor, basit bir durumda algoritmanın kendisi (sadece en iyi için pazarlar (teklif, sask)) yaklaşık 10 satır koddur, ancak içinde bile kendinizi çekebilirsiniz ayağında. Örneğin, "anında yürütme" kullanırsanız, yani, sinyal anında anlaşmayı hesaplarsanız, bu, örneğin bir kişi mumlardan bir tane yakınlaştırdığında ve sonra bu diziden biraz fark aldığında olur. vuruşlar ve daha sonra tekrar kapanışa (teklif veya talep) göre bir işlemin açıldığı/kapatıldığı sinyal anında, bu hata gerçek olandan biraz daha pozitif bir test sonucu verecektir, açık olmayacaktır. Öte yandan, bir öncekinin sinyaline dayalı bir anlaşma için bir sonraki mumu alırsanız, sonuç gerçek olandan önemli ölçüde daha olumsuz olacaktır, klasik olarak sinyal açılışlarla hesaplanır ve anlaşma ile hesaplanır. aynı mumun kapanışları, ancak bu aynı zamanda tamamen vızıltı değil, uygulama, açılış sinyallerinin daha iyi olduğunu ve bazılarının daha karmaşık bir şekilde karışmasına rağmen ortalama (H + L + C) / 3 anlaşmalar yaptığını gösteriyor.

Bu arada, keneler pahasına, "tiko-mumlara" paketlenirlerse, yani açık ve kapalı arasında geçen keneler içeren mumların yapısı, gösterge hesaplanabilirse, her şey oldukça süslü ve asildir. mumlar tarafından ve mum içindeki keneler tarafından yürütülür, IMHO pek mantıklı gelmese de, sonuçlar oldukça yakın olacaktır.

Burada, bir bardakla, karmaşıklık ve belirsizlik eklenir, neyse ki bu, yalnızca bu bardağı büyük ölçüde kurutabilecek / doldurabilecek miktarları kullananlar için geçerlidir ve genel olarak camsız mümkündür.

Ve biliyorsun, ben bile bir şekilde sana aşık oldum. Ne yapılmaması gerektiğini ne kadar net yazmışsın. Ve gerçekten birçoğu. Bunu anlamıyorlar!!! Yasaklanmana şaşmamalı. Ah ne garip
 

Bir gösterge buldum, buna Stokastik Osilatör adını verdim.) Genel olarak, klasik Stokastik Osilatörün derin bir modernizasyonu var, ancak ortak genlere rağmen, Pts'nin soyundan geliyor. klasik Stokastik Osilatör ile çok az ortak noktası vardır. Matematik tamamen farklıdır, ancak dış benzerlik açıktır.

Şimdiye kadar, gösterge yalnızca Python'da uygulandı. Amacı, bir ticarete girme anını belirlemek ve destek mekanizmasının bir parçası olarak. Bunu iyi ve zamanında yaptığını çizimden zaten görebilirsiniz.

Doğal olarak, göstergenin kendi başına kullanılması amaçlanmamıştır, ancak yalnızca diğer yöntem ve göstergelerle ortak yaşamda kullanılması amaçlanmıştır.

Göstergeyi MQL'ye kaydırıp değiştirmemeyi ve Piyasaya koymayı düşünüyorum.

 

Teoriden Pratiğe konusunu okuyanlar, sistemimin ve A_K2 sisteminin yaklaşık olarak aynı ideolojiye göre inşa edildiğini zaten biliyorlar - kanalda çalışıyorlar. Tek fark, benimkinin bir yıl önce inşa edilmiş olması. Daha önce, bu stratejinin küçük değişikliklerle birlikte Python'da uygulandığını ve test edildiğini zaten yazmıştım, ancak onu devreye sokmanın bir anlamı yok - yeni bir şey beklenmiyor.

Çünkü Çok fazla fikrim yoktu, her türlü göstergeyi geliştiriyordum - bunlardan biri yukarıdaki bir yazı. On adet perçinli. Sonuç olarak, yılanı kirpi ile geçmek için fikir oluştu: kanaldaki çalışmayı trend çalışmasıyla tek bir tutarlı sistemde birleştirmek. Genel olarak, henüz denemedim, ancak bazı unsurları çoktan çözdüm. Her şey uyuyor gibi görünüyor, ancak sorular var. Pratikte ne olduğunu söylemek zor, belki de hiçbir şey. Bakalım.