MMA_Breakout_strategy_volume I (MM veya MF olmadan) - WhooDoo22 tarafından kodlanmıştır

 
Yeni kodlayıcıların (ve deneyimli kodlayıcıların) MMA_Breakout_strategy_Volume I'in güncellenmiş bir sürümünü yayınlamasının yararlı olacağını düşündüm, böylece acemi/deneyimli kodlayıcılar bu EA'nın (cilt I) daha sorunsuz çalışması için gereken iki önemli güncellemeyi anlama şansına sahip olabilir. ve daha verimli. Bu sürüm para yönetimini veya piyasa filtrelemesini içermez ve hala I. cilt olarak kabul edilir. (Hala hem para yönetimi hem de piyasa filtreleme özelliklerini cilt I'e nasıl uygulayacağıma karar veriyorum ve sonuçta I. ciltten II. cilte geçiş yapacağım. I'in bir kısmını paylaşacağım. MM (para yönetimi) ve MF (piyasa filtrasyonu) görevlerinin her ikisini de gerçekleştirme düşüncelerim MM: Bildiğiniz gibi, hacim I tek bir emir kullanıyor ve hareketli ortalamalar kesiştiği için emrini kısmen kapatıyor.MM için bu hedef artırmaktır hesap bakiyesi büyüdükçe lot boyutu (örnek: hesap bakiyesi 1.000$ artar, kod bloğu mevcut lot boyutunu mevcut lot boyutunu ikiye katlayacak şekilde ayarlar. Hesap bakiyesi varsa bu kod bloğu ayrıca lot boyutunu mevcut lot boyutunun yarısına düşürür) 1000 $ kaybeder. MM için şu anki hedef bu. MF'ye gelince: Bu kapıyı deneyimsiz kodlama alanıma açmadan önce tüm seçenekleri iyice düşünüyorum. Bu görevi başarmanın birden fazla yolunu düşünebilirim. soru benim için kalıyor, hangi seçeneği seçmeliyim? Cilt II'nin yeni ve farklı tekniklere aşina olmak için MF özellikli versiyonlarını kodlamaya başladım. Deneme yanılmanın tekrarı, bu projenin tamamlanması için bana rehberlik edecek. Cilt I'de yayınlanan en son geri testi doğrulamak için 1999-2012.10'dan M15 EURUSD zaman diliminde çalıştırdığınızdan emin olun (kısmen cilt II olarak da kabul edilir). Bir yan notta, iki ay içinde 10.000 kez indirilen cilt beni çok etkiledi! VAY! :) Çalışmamın kodlayıcılar/tüccarlar için değerli olduğunu kanıtlamasına çok sevindim. Teşekkür ederim. - WhooDoo22.
 
Canlı veya Demo hesabında 0 numaralı bir bileti nasıl seçersiniz? OrderSelect() çağrılarınızdan herhangi biri başarısız olursa ne olur? neden dönüş değerlerini kontrol etmiyor ve hataları bildirmiyorsunuz?

İşlev dönüş değerleri nelerdir? Onları nasıl kullanırım?
 
Merhaba Simon, şu anda MM ve MF'den daha az öncelikli küçük sorunlar olduğunu anlıyorum. MM ve MF'yi ekledikten sonra cilt II'yi incelemeyi planlıyorum. Sihirli numaraya göre siparişleri seçmek için kod, 4-5 basamaklı brokerlerde cilt II'yi çalıştırmak için kod, vb. ekleyerek düzelteceğim. Dikkate alınması gereken birçok küçük not ayrıntısı olduğunu anlıyorum, ancak şimdilik, daha zor iş önce yapılacaktır. Teşvikiniz iyi karşılandı ve ulaştığımda bu köprüyü geçmeyi planlıyorum. Verdiğiniz linki ziyaret edeceğim. Teşekkür ederim.
 
WhooDoo22 :
Merhaba Simon, şu an için MM ve MF'den daha az öncelikli küçük sorunlar olduğunu anlıyorum. MM ve MF'yi ekledikten sonra cilt II'yi incelemeyi planlıyorum. Sihirli numaraya göre siparişleri seçmek için kod, 4-5 basamaklı brokerlerde cilt II'yi çalıştırmak için kod, vb. ekleyerek düzelteceğim. Dikkate alınması gereken birçok küçük not ayrıntısı olduğunu anlıyorum, ancak şimdilik, daha zor iş önce yapılacaktır. Teşvikiniz iyi karşılandı ve ulaştığımda bu köprüyü geçmeyi planlıyorum. Verdiğiniz linki ziyaret edeceğim. Teşekkür ederim.
O linkte yazdıklarımın bir incelik, bir seçenek ya da daha sonraki bir tarihte eklenecek bir şey olduğunu düşünseydim, vaktim olsa yazmaya vakit ayırmazdım. . . . bu temel IMO! 130 hatası hakkında soran kaç gönderi var? veya hata 138 ? dönüş değerlerini kontrol edin, bir sorununuz varsa hatayı ve ilgili tüm değişkenleri yazdırın. . . . o zaman bir sorununuz olduğunda, nedenini belirlemek için gereken bilgilere sahip olacaksınız.

Bir Sipariş vermeye çalıştığınızda ve başarısız olduğunda Sor'un ne olduğunu bulmak için zamanda geriye gidemiyorsunuz. . .
 

Değişken nedir i bunu yaptığınızda nasıl bir bilet numarası olabilir?

i++;

Şu anda 4 canlı işlemim var, bilet numaraları sıralı değil. . .

 

Simon,

Yazdıklarımı bir düşünsem...

RE: Bu düzeltmenin bir zorunluluk olduğunu anlıyorum. Bunu düzelteceğim, düşündüğümden daha erken inanıyorum çünkü bu düzeltmenin uygulanmasında çok kararlı görünüyorsun. Bu düzeltmenin uygulanması gerektiğini ve hata kaynağını izole etmek için hata denetimi işleviyle testler çalıştıracağını kabul ediyorum. Bu Simon'a geri döneceğim. Teşekkür ederim.

değişken nedir ...

RE: i değişkeni kukla bir bilet değişkenidir , ancak ;) i aslında bir bilet değildir; i, EA tarafından basit bir değişken olarak kabul edilir. EA, gerçek bilet numarasını saymak yerine i değişkenini sayar (mevcut bileti saymanın alternatif yöntemi).

  Bunu yaptığınızda nasıl bir bilet numarası olabilir?..

RE: Değişken i aslında bir bilet numarası değil. i, mevcut bilet numarası sayımına ayak uydurmak için EA tarafından sayılan sahte bir bilet değişkenidir. Sonuç olarak, i değişkeni bir bilet numarası olarak kabul edilmez.


Mesajlarınıza bir an önce cevap vermek istedim, ancak açıklama ve tartışma için zamanım olana kadar kapsamlı cevaplar veremem.

Önemli yazınız için teşekkürler!

 
WhooDoo22 :

Simon,

Mesajlarınıza bir an önce cevap vermek istedim, ancak açıklamaya ve tartışmaya zamanım olana kadar kapsamlı cevaplar veremem.

Önemli yazınız için teşekkürler!

Vaktin olduğunda cevap verebilirsin, sorun değil :-)

Eğer ben sahte bir bilet numarasıysam. . . . bunu yapmanın amacı nedir?

OrderClose( i,   0.01 ,Ask, 30 , CLR_NONE ); 

bunun başarısız olacağı garanti değil mi?

 
Sipariş seçmenin birden çok yolu olduğuna inanıyorum, Sipariş seçmenin tüm yöntemleri OrderSelect() işlevini kullanmalıdır. Bununla birlikte, bunun neden başarısız olacağını anlamıyorum çünkü EA, strateji test cihazında tüm siparişler için OrderClose() işlevini hatasız olarak gerçekleştiriyor. Hataların kendilerini göstermesi mümkündür, ancak son zamanlarda hiçbirini fark etmedim. Bunu belirterek daha spesifik olacağım: "i Değişkeni", bilet numarasının yerine geçer VE i değişkeni OrderClose() fonksiyon blokları tarafından kullanılır. Aradan biraz zaman geçti ama kodu yazıldığı gibi yazmamın nedeninin, programı OrdersHistoryTotal () == 0 ise ilk OrderSend() kod bloğunda başlatmam olduğuna inanıyorum. i değişkeni olmayan bir bilet seçmem gerekiyordu. OrdersHistoryTotal() işlevinin hangi bileti seçtiğimi tanıması için bir sipariş göndermek için "yeşil ışık yakabilir". Bunu kelimelerle açıkça ifade etmek benim için zor olabilir. Teşekkür ederim.
 
WhooDoo22 :
Sipariş seçmenin birden çok yolu olduğuna inanıyorum, Sipariş seçmenin tüm yöntemleri OrderSelect() işlevini kullanmalıdır. Bununla birlikte, bunun neden başarısız olacağını anlamıyorum çünkü EA, strateji test cihazında tüm siparişler için OrderClose() işlevini hatasız olarak gerçekleştiriyor.
1'den başlayıp kademeli olarak artan bilet numaralarınızın olduğu bir Demo hesabında nasıl performans gösterir?
 
Hesaplar için sanal ve gerçek fon kavramı dışında demo ve canlı arasındaki farklara aşina değilim. Bu farkın farkında değilim. Şu anda OrdersHistoryTotal()'ın herhangi bir sipariş gönderilmeden VE sonlandırılmadan önce 0'da başladığına inanıyorum. ;) seçilecek bir değişken olmadıkça OrderClose() işlevinin yürütülmeyeceğine inanıyorum. Bu, "i++" altındaki yürütmede ilk kod bloğunda i değişkeninin sunulduğu yerdir. i değişkeni 1 aka i++ olduğunda, OrderClose() işlevi 1'i kontrol eder. OrderClose() işlevi, "evet, görüşürüz, bu siparişi şimdi kapatmakta fayda var. Teşekkürler.
 
WhooDoo22 :
Hesaplar için sanal ve gerçek fon kavramı dışında demo ve canlı arasındaki farklara aşina değilim.
Tamam, Strateji Test Cihazı ile Demo/Live arasındaki farktan bahsediyorum. . . ST'de ilk sipariş bilet 1'dir. . . Az önce bir Demo takası yaptım ve bilet numaram 46322730. . . 2. işlem yapsam bilet numarası 46322731 olmayacak bu durumda bilet numarası için kullandığınız değişkeni artırmak nasıl oluyor?
Neden: