EA için Öneriler (Kar Kaybetme) - sayfa 4

 

2 yıllık testte nasıl görünüyor, 1 lota değiştirin, çerçeve 240'a geçin, her iki parametre de birbiriyle senkronize yapılmış = 60. (Ve M60 hariç tüm bu mantık kaldırıldı).

13544 testindeki çubuklar
Modellenmiş keneler 5961890
Modelleme kalitesi %90.00
Uyumsuz grafikler hataları 0
İlk para yatırma 10000.00
Toplam net kar 30459.02
Brüt kar 99716,99
Brüt zarar -69257,97
Kar faktörü 1.44
Beklenen getiri 152.30
Mutlak düşüş 1037.97
Maksimum düşüş 20707.98 (%35.94)
Göreceli düşüş %35,94 (20707,98)
Toplam işlem 200
Kısa pozisyonlar (kazanılan %) 97 (%30.93)
Uzun pozisyonlar (% kazandı) 103 (% 30.10)
Karlı işlemler (toplamın yüzdesi) 61 (%30,50)
Zarar işlemleri (toplamın yüzdesi) 139 (%69,50)
En büyük
kar ticareti 5833.00
zarar ticareti -3156.00
Ortalama
kâr ticareti 1634.70
zarar ticareti -498.26
Maksimum
ardışık kazanç (para olarak kar) 6 (14728.00)
ardışık kayıplar (para kaybı) 12 (-1587.00)
maksimum
ardışık kar (kazanç sayısı) 14728.00 (6)
ardışık kayıp (kayıp sayısı) -9507,00 (5)
Ortalama
art arda galibiyet 1
ardışık kayıplar 3

 
diostar 2011.10.05 12:37

Sen yanlış anladın. MTF sebep, hatta bir sorun değil. prb sadece MA'dır. Çok kısaca açıklamaya çalışayım.

MA geçmişi anlatır. Dolayısıyla, diyelim ki bir H1'de MA sinyali alındığında, beklenti, E, bir sonraki karede, diyelim ki H4, H1'in geçmişiyle "kabul edileceği" yönündedir. Kar etmek, H1 geçmişinin H4 akımında tezahür etmesidir. E oluştuğunda, işlemi kapatmak veya stratejinin istediği her şeyi yapmak anlamına gelir.

Ancak bu durumda, poster tersini aldı. Oldukça basit ticari kusurları, çünkü tüm beklentiler karmakarışık.


Tho Multi-TimeFrame benim güçlü takımım değil. Bu yüzden yanlışsa lütfen düşüncemi düzeltin.

Gönderdiğiniz yukarıdaki Mantıkta:

 if ((Close[ 0 ]<=fastMA30 && Close[ 0 ]<=fastMA60 && Close[ 0 ]<=fastMA240 ))

Kırmızı ile vurguladığım && bana fastMA240'ın da aynı fikirde olması gerektiğini söylüyor.

FastMA240'ın tüm MA'ların En Yavaşı olduğunu görmek. fastMA240'ın sistemi değiştirmeyi yavaşlattığını söylemek mantıklı olmaz mıydı? Ve tüm sistemin fastMA240'ın söyledikleriyle tıkandığını mı?

Şimdi önerinizi alırsak:

 if ((Close[ 0 ]<=fastMA30 && Close[ 0 ]<=fastMA60))

Şimdi bana öyle geliyor ki, fastMA240'ı dışarıda bırakarak sistem değişime daha hızlı yanıt verecek. Ama yine de Şovu yöneten MA60 sorunumuz var.

Sonuç olarak: önemli olan tek şey, uzun vadede karlı bir yaklaşım olup olmadığıdır. IMO, hangisinin daha iyi olduğunu söylemenin bir yolu yok. Yaklaşımınız veya orijinal yazarın test etmeden yaklaşımı :)

Son olarak, yukarıdaki kodlarla ilgili sevmediğim şeyler. 1) Kapat[0]'da olduğu gibi mevcut çubuğun kullanımı, bu kod geriye dönük test edici dostu değildir. 2) <='deki gibi = işaretinin kullanılması, ilk olarak, double türünde olduğu için bir fiyatların = olması çok nadirdir. İkincisi, tüm MA'ların = Kapat[0] olduğu nadir bir durumda, sistem yönsüz hale gelir, örnek: if(xMA>=Kapat[0]){Buy}_____if(xMA<=Kapat[0]){Sell }, =Kapat[0] olduğunda doğru Eylem nedir.

 
diostar :

Sonuçlara bakılırsa, herhangi bir optimizasyon önermeyeceğim. Bu strateji ve mantık konularına bakana kadar.

İlk olarak, bir H1 üzerinde 7 yıllık testi yaptıktan sonra o kadar zamanım olmadı ve EA'daki tüm kod satırlarına bakmak için çok fazla motivasyonum olmadı, ancak kesinlikle 2 sihirli sayının kullanılması beni çok etkiledi - için "yavaş" işlemler ve "hızlı" işlemler. Bu nasıl bir strateji, diye düşündüm.

Ardından, kodlama kalıplarına bakıyorum, yavaş büyü sayısını yorumlamaya çalışıyorum. Ea, beklendiği gibi çalışmadı.

Sonra diğer hızlı sihirli sayıyı yorumladım. Ve sürpriz, sürpriz, ea hatasız derler.

Öyle görünüyor ki, mantık istenenden tamamen eksik mi? Elbette, EA'nız yalnızca bazı yavaş MA mantığına dayalı olarak dolduruyor, ancak asla hızlı değil mi?

Bu EA'nın sahibi olduğunuzdan, tüm bunlara benim basit yollarımdan daha iyi cevaplarınız olmalı.


Uygulanmamış fikirlerim vardı, bu nedenle yavaş ve hızlı sihirli sayılar görüyorsunuz.


EA, siparişler için yalnızca yavaş sihirli sayı kullanıyor ve girişler tarafından taranan yavaş ve hızlı MA'lardan tamamen ayrı.

umarım bu sorunuzu cevaplar

Teşekkürler

 
ubzen :
Sizler bunu küçük bir projeye dönüştürmelisiniz, bundan kazanan bir sistem yaratmalısınız. Herkes EA'nın mevcut sürümüyle başlar ve ona bir şeyler ekler. Ardından, en iyi fikirleri bir araya getirmek için aralarından en güçlü kodlayıcıyı seçersiniz. Hedefi gerçekleştirdiğinizde, onu kod tabanına yerleştirin. Neyin ortaya çıktığını görmek oldukça ilginç olacak.

Gönderilen EA'nın temel bir sürümünden karlı bir EA oluşturmak için böyle bir çabada işbirliği yapmayı çok isterim.

 
mbirrell :

Pazara girmenin başka bir yolunu arardım. Bu göstergeler tarafından sinyal verildiğinde artık çok geçtir. Piyasanın ne yapacağını tahmin etmek için her zaman limit emirleri kullanırım. Bazıları bu yaklaşımı benimsemeye gülebilir ama benim için işe yaradı. Bunun bir sprint olmadığını, bir maraton olduğunu unutmayın.


Mantığınıza kesinlikle katılıyorum, ancak mevcut mantığımı limit sipariş modeline uyacak şekilde nasıl dönüştürebilirim?
 
danjp :

İlginç fikir, ben f c0d3 sorun değil, bir deneyeceğim. Kural işlevimi onun kurallarıyla değiştirebilmeliyim. Bu ona işlem saatleri, e-posta bildirimi, hata kontrolü, yığınlama, limit ve bekleyen emirleri takip eden stop, stop vb. kurallar verir. Bu kuralların EA kabuğumda çalışmasını sağlamak muhtemelen sadece iki gün sürer. Daha sonra, daha karlı hale getirmek için kuralları değiştirmeye bakabilirim.

Bu konuda kesinlikle iyiyim, ancak kodunuzu bu başlıkta paylaşmanızda bir sakınca olur mu?
 
diostar :

onun "kurallarını" görmüş olsaydınız, bunlar şöyle bir şeydir (satış durumu için):

Matematiksel olarak konuşursak, bu tamamen saçmalık. Bunun nedeni, MA'nın beklendiği gibi daha yüksek çerçevedeki, bir çubuğu tamamlamak için gereken daha uzun süre nedeniyle daha düşük olanlardan daha yavaş olmasıdır. Sonuç olarak, bu mantık öncelikle bu alt koşul tarafından belirlenir:

Dolayısıyla, o zamana kadar MA, geçmişi MA240, sonra 60, sonra 30, pazarın satış OLDUĞU perspektiflerinden gösterir. Benim önerim, bu saçma kuralı basitçe "tersine çevirmek" olabilir, bu nedenle kısa giriş yerine uzun gidin ve tam tersi . Sonucun daha güzel olduğu konusunda oldukça olumluyum.



Kısa bir ticareti açıklamama izin verin, uzun bir ticaret için tam tersi:

  • Giriş koşulu 1: Mevcut kapanış fiyatı MA30(100 numune), MA60(100 numune) ve MA240(100 numune) altındaysa düşüş trendindeyiz
 if ((Close[ 0 ]<=fastMA30 && Close[ 0 ]<=fastMA60 && Close[ 0 ]<=fastMA240))
   {
       // we are in a downtrend
       //Comment("\n"+"short only");
      shortEntry();
   }
  • Giriş koşulu 2: TF(15M) girişinin kapanış fiyatının MA30(50 numune) ve MA60(50 numune) üzerine yakın olmasını bekleyin

 if ( iClose ( Symbol (),entryTF, 1 )>=slowMA30 && iClose ( Symbol (),entryTF, 1 )>=slowMA60)
  • Kısa girin

Fikir: MTF Mantığı

  • Fiyat, M30'a dayanan MA30'un altına düştüğünde
  • Fiyat, H1'e dayanan MA60'ın altında olduğunda
  • Fiyat, H4'e dayanan MA240'ın altında olduğunda
  • M15 kapanış fiyatlarının M30'a dayalı MA30'un üzerinde olmasını bekleyin
  • M15 kapanış fiyatlarının M60'a dayalı MA60'ın üzerinde olmasını bekleyin
  • Kısa girin: sipariş parametreleriyle


Ayrıca girişleri tersine çevirmeye çalışacağım ve ne olacağını göreceğim


Umarım bu sorunuzu cevaplar

 
ubzen :

@diostar, ilginç fikirler ve MTF Logics'i ele alın. Bu, MTF Logics hakkında fark ettiğim bir şey, genellikle sisteme bir zaman dilimi hakimdir.

@danjp, evet, Kuralları güvendiğiniz çalışan bir programa sokmanın muhtemelen en hızlı yolu budur. Çoğumuzun zaten üzerine bir mantık bağlayacak bir Şablonumuz olduğu için. Birisi kodlarını vermekte kendini rahat hissetmiyorsa, bir öneri, kodları bir araya getiren kişinin kod tabanımızdan Güvenilir Kitaplıkları kullanması olabilir. (Örnek: OrderReliable.mqh.).

Biliyor musun! Bu fikir hoşuma gitti. Eğer buradan 3 kişiyi üye yapabilirsem Yeni Konu açacağım. Karlı bir EA oluşturmaya çalışmak için işbirliği yapıyoruz. Birden fazla tüccarın aynı sistemle gerçekten ticaret yapıp yapamayacağını görmek iyi bir test olacaktır. :)


Lütfen konuyu buraya yazın, eğer başlatırsanız, kesinlikle katılmak istiyorum
 
danjp :

(1*std) -> (5*std) olan ve aynı çalıştırmada hem SL hem de TP'de 0.3 -> 1.5 olan bir optimize çalıştırması yapardım. 12 aylık bir koşuya başlardım. Bu koşulardan bazılarından iyi sonuçlar alırsanız, EA'ya ticaret rutini için bir saat ekler ve 7 gün 24 saat ticaret yapmak zorunda kalmadan daha da geliştirip geliştiremeyeceğinizi görmek için önceki çalıştırmadan elde ettiğiniz değerleri kullanırdım.

Hayırlı olsun, sonuçları paylaşmaya devam edin.

(1*std) -> (5*std) ve (hem SL hem de TP'de 0,3 - > 1,5) ile geriye dönük test çalıştırmak için herhangi bir belge önerebilir misiniz?
 
diostar :

İleriye dönük test toplamları 156 işlem, bu 39 geriye dönük test işlemlerinden çok daha güvenilirdir. Backtest'in tüm fikri, mümkün olduğu kadar çok işlem yapmak ve hızlı sonuçlarını almaktır. Geri test ne için?







geriye dönük test sadece stratejiyi test etmek ve mantığınızın işe yarayıp yaramadığını görmek içindir, ancak karlı olup olmayacağını yargılamak için yalnızca ileriye dönük testler belirleyebilir


Geriye dönük testte karlı bir EA gördüğünüzde, onu canlı olarak çalıştırdığınızda ve vola, EA'nız bankanızı kırar.