Molanis Hata Herkes? - sayfa 3

 

RJo :

Bunu söyledikten sonra, SB'den kusurlu bir mq4 ile işlevsel bir ex4 henüz görmedim.

Arızalı mql4 kodu gönderdiniz. . . Görünüşe göre Molanis, EA Builder'dan daha iyi değil.
 
RJo :


Ah, yani... bilgisayarlar ticarette en iyisidir ve bu nedenle insandan vazgeçilmelidir.


Hayır.... bilgisayarlar Otomatik Ticarette en iyisidir ;)
 
RaptorUK :
Arızalı mql4 kodu gönderdiniz. . . Görünüşe göre Molanis, EA Builder'dan daha iyi değil.


ex4 dosyasında olduğu gibi, mq4'ten daha işlevsel olan ex4 dosyasına göre "arızalı". İlk mesajımda belirttiğim gibi, ben bir kodlayıcı değilim. Evet. Özel teşhisiniz için teşekkürler. Ah evet... sende yoktu.

 
RJo :


ex4 dosyasında olduğu gibi, mq4'ten daha işlevsel olan ex4 dosyasına göre "arızalı". İlk mesajımda belirttiğim gibi, ben bir kodlayıcı değilim. Evet. Özel teşhisiniz için teşekkürler. Ah evet... sende yoktu.

WHRoeder'ın zaten vermiş olduğu şeyi kopyalamama gerek yok. .
 
JDeel :

Neden assembler'da programlamaya başlamıyoruz? Her şeyi mevcut en düşük seviyede (makine kodundan sonra) kontrol edebiliriz. Evet, bunu öğrenmek için daha fazla çaba gerekiyor, ancak kesinlikle çok küçük ve süper optimize edilmiş kod alacağız! Bu çoooooooooook harika, değil mi millet?

deVries , Molanis benim aracım değil ve EA'yı hiç kullanmadım. Ama EA Builders'ın hayranı olmadığınızı görüyorum ve onlarla asla çalışmayı denememenizi tavsiye edebilirim. Sadece MQL4/MQL5 kullanın, bu yasak değildir. En çok pembe rengi sevenler ve en çok mavi rengi sevenler vardır. Bu hep böyleydi ve olmaya devam edecek.


Sözlerimi değiştirmeyin.... Yazdığım aracınızı kullanarak bir Expert Advisor'ı doğru kodlayabileceğinizi bize kanıtlayın. Yine de demek istediğim...

Molanis'in senin aletin olduğunu asla yazmadım. EABuilders için Google'da arama yaparsanız, başkalarını da bulacaksınız. Belki de NoProgra Builder kullanıcısısınız...

ve MetaTrader4 için EA'larınızı doğru bir şekilde kodlayabilen bir araç olduğunu ve ardından bu oluşturucu ile kanıtlayabildiğini düşünüyorsunuz.

Ancak EABuilder'ları kullanmanızı tavsiye eden veya onları kullanmaya teşvik eden insanlar var..

Herhangi bir ürünü tanıtmak istiyorsanız, o ürünün iyi olduğundan emin olun ve bunu kanıtlayın.

Ve hala bunu başaran birini görmedim...

Bu araçların en büyük dezavantajı, bir araç ürününüzü üretebildiğinde mq4'ün temellerini bilmenin gerekmediğini düşünen insanlar olacak.

Ama o aletten ne kalite aldıklarını bilmiyorlar.... Veya interneti kullanarak alabilecekleri (ücretsiz veya ücretsiz olmayan) programlardaki hataları tanımıyorlar.

 
RJo :

Özel teşhisiniz için teşekkürler. Ah evet... sende yoktu.

Size özel bir örnek vereceğim. . .

 int CLOSELONG( string symbol_c) {
 CloseAllPositions(symbol_c,OP_BUY,MagicNumberLong);
 CloseAllPositions(symbol_c,OP_BUY,MagicNumberLong);
 return ( 0 );
}

//CLOSESHORT closes short positions
/*
*** Generated with Molanis Strategy Builder 3.1 ***
*** www.molanis.com ***
*** Released 2010-02-20 ***
*/
int CLOSESHORT( string symbol_c) {
 CloseAllPositions(symbol_c,OP_SELL,MagicNumberShort);
 CloseAllPositions(symbol_c,OP_SELL,MagicNumberShort);
 return ( 0 );
}

Bu 2 İşlev , aynı işlevi iki kez çağırır. . CloseAllPositions, ilki Uzunlar için, ikincisi Kısalar için. . . bunu neden yapsın? CloseAllPositions ilk çalıştırıldığında kapatamadığı Emirleri temizlemek için bunu yapıyor, neden pozisyonları kapatamıyor? çünkü bu pozisyonları kapatmak için kullanılan döngü yukarı ve aşağı sayar. . . ve bu konuda oluşturduğum konuyu okuduğunuz için bunun neden başarısız olduğunu zaten biliyorsunuz.

Bu yüzden, Molanis'teki iyi insanlar neden bazı pozisyonların açık bırakıldığını anlamak yerine bir düzeltmeye gittiler. . . ilkinden sonra toparlamak için aynı işlevi ikinci kez çağırın.

 

Molanis kodunu gönderdiğiniz için teşekkürler, RJo, daha sonra gözden geçireceğim - Molanis'in lot hesaplaması çok korkunç. Molanis / EA SB kullanıcılarının mql öğrenene kadar mutlu bir kullanıcı olduğunu düşünün ve o zamana kadar Molanis/ EA SB'yi tamamen farklı bir bakış açısıyla görecekler.

Bence Molanis/EA SB'yi veya birini kullanma kararımızı savunmaktansa önce paramızı savunmamız daha iyi. ;).

 
RJo :
Hintçe:


Kodları gönderdiğiniz için teşekkür ederiz....

WHRoeder hataları o kadar çabuk işaret ediyor ki, ben değilim ve tekrar söylemenin bir anlamı yok

Ancak kodlamayı bilmiyorsanız, burada gördüğünüz başka bir şey yapabilirsiniz....

.

Göstergenin davranışını görmek için bir test yaptım ve bu da iki resim yapılmış bir tür uyarı veriyor.

1 Ocak 2012'den itibaren 1 Dakikada Test (EA'nın ticaret yapmamasını sağlar)

Bu resimde göstergenin test edilmeden önceki davranışını görüyorsunuz.

Ve test başladığında davranış

Bu davranış, teste göstergeyi kullanmayan bir EA yerleştirip yerleştirmediğinizi de göreceksiniz.

.

Tamamen farklı bir davranış gibi görünüyor Bu ayrıca, kullanmadan önce koda veya göstergenin davranışına daha yakından bakmanız için bir uyarıdır.

.

İndikatörün bu kodu Molanis tarafından yapılmamış gibi görünüyor çünkü ..... ile başlıyor.

 // This is Not Tested , Use At Your Own Risk !

//+--------------------------------------------------------------------------+
//| 3 MA Cross w_Alert v2.mq4                                                |
//| Copyright © 2005, Jason Robinson (jnrtrading)                            |
//| http://www.jnrtading.co.uk                                               |
//| 3 ma conversion and Alert , David Honeywell , transport.david@gmail.com  |
//| http://finance.groups.yahoo.com/group/MetaTrader_Experts_and_Indicators/ |
//+--------------------------------------------------------------------------+

/*
  +-------------------------------------------------------------------------------+
  | Allows you to enter 3 ma periods and it will then show you and alert you at   |
  | which point the 2 faster ma's "OPEN" are both above or below the Slowest ma . |
  +-------------------------------------------------------------------------------+
*/    

Bu göstergenin hatasını, geleceği hesaplaması olduğunu düşünün.

   for (i = 0 ; i <= limit; i++)
    {
      
      counter=i;
      Range= 0 ;
      AvgRange= 0 ;
       for (counter=i ;counter<=i+ 9 ;counter++)
       {
         AvgRange=AvgRange+ MathAbs (High[counter]-Low[counter]);
       }
      Range=AvgRange/ 10 ;
       
      fasterMAnow      = iMA ( NULL , 0 , FasterMA, FasterShift, FasterMode, PRICE_CLOSE , i+ 1 );
      fasterMAprevious = iMA ( NULL , 0 , FasterMA, FasterShift, FasterMode, PRICE_CLOSE , i+ 2 );
      fasterMAafter    = iMA ( NULL , 0 , FasterMA, FasterShift, FasterMode, PRICE_CLOSE , i- 1 );
      
      mediumMAnow      = iMA ( NULL , 0 , MediumMA, MediumShift, MediumMode, PRICE_CLOSE , i+ 1 );
      mediumMAprevious = iMA ( NULL , 0 , MediumMA, MediumShift, MediumMode, PRICE_CLOSE , i+ 2 );
      mediumMAafter    = iMA ( NULL , 0 , MediumMA, MediumShift, MediumMode, PRICE_CLOSE , i- 1 );
      
      slowerMAnow      = iMA ( NULL , 0 , SlowerMA, SlowerShift, SlowerMode, PRICE_CLOSE , i+ 1 );
      slowerMAprevious = iMA ( NULL , 0 , SlowerMA, SlowerShift, SlowerMode, PRICE_CLOSE , i+ 2 );
      slowerMAafter    = iMA ( NULL , 0 , SlowerMA, SlowerShift, SlowerMode, PRICE_CLOSE , i- 1 );
"i = 0" olduğunda "i-1" gelecek.....
 
WHRoeder :

Ichi_Cloud_EA.mql4 belirli bir sıra olmadan

  1. Market_info aracılığıyla hesaplamak yerine harici Is_micro_account
  2. micro_account ve NormalizeDouble kullanımı, lotStep'in 0,1 0r 0,01 olduğunu varsayar. Başka hiçbir aracı tanımlı değere izin verilmez.
  3. hesaplamak yerine harici FiveDigits. Yalnızca 3 veya 5 için test, standart çiftlere, jpy tipi çiftlere izin verir. Metal ticareti BAŞARISIZ . Geçersiz ayarlar için neden test.
  4. global PipMultiplier, grafik değişikliğinde asla sıfırlanmaz.
  5. çok sayıda harici bool, strateji testine tabi tutulamaz.
  6. İki sihirli sayı kullanmak için bir neden yok
  7. Yalnızca TradingStartTime ve TradingEndTime arasında saat olduğunda işlem yapılır. Gece yarısından sonra saat ayarlama imkanı yoktur (örn. 2000'de başlar, 0600'de biter, yani yalnızca Sidney oturumu)
  8. ÖncekiBarCount==Çubuklar'ı kullanır. Çubuklar güvenilmez (tabloda maksimum çubuklar) Hacim güvenilmezdir (keneleri kaçırabilirsiniz) her zaman zamanı kullanın.
  9. daha basit ve daha hızlı Kapat[1] yerine iClose(Symbol(),0,1) kullanır
  10. Init Slippage'de = Slippage*PipMultiplier; çizelgeleri (çift veya zaman çerçevesi) değiştirdiğiniz HER ZAMAN anlamına gelir Kayma 3, 30, 300, 3000 artar !!
  11. magiccond ve diğer bool kullanımı if (koşul) boolVar= true; başka boolVar = yanlış; daha basit olan boolVar = koşulunu ne zaman kullanabilir;
  12. Tam olarak aynı iClose ve iCustom çağrıları 4+ kez çağrılırsa (iClose() <> iCustom()) değerleri asla önbelleğe almaz.
  13. Kapatırken sayar. çağrı işlevi iki kez. Saymak, diğer tüm siparişleri kaçıracağı anlamına gelir. Fonksiyonu iki kez çağırmak, 4 veya daha fazla açık siparişte başarısız olduğu anlamına gelir. Her zaman geri sayım.
  14. "M-HATA : Süre sonu en az 1 dakika olmalıdır." Bu son kullanma süresinde sadece bir ilan vardı, 10 dakikadan fazla olmalı!
  15. Bekleyen emir için Normaliszedouble(price, Digits) çağırır ve ticksize != Point olduğunda çalışmaz .

En çok #10 ile ilgilendiğim için önce onu araştırdım. Bunu bulduğumda Molanis'e dev bir destek talebi yazmanın ortasındaydım:

EA'nın kodunda kullanılan kayma, harici bir tamsayı değişkenidir (harici int).

"init() harici değişkenlerin yürütülmesinden önce, bir kullanıcı tarafından ayarlar araç çubuğunda ayarlanan değerler alınır ve init() harici değişkenlerin yürütülmesinde, bir kullanıcı tarafından ayarlanan yeni değerlere sahip olur. Böylece harici değişkenlerin yeni değerleri, init()'in yürütülmesinden başlayan bir Expert Advisor'ın yeni bir oturumunun (init - start - deinit) anı." ( https://book.mql4.com/variables/types ).

Öyle görünüyor ki... init() yürütülürken genel değişkenler genellikle eski değerler lehine yoksayılırken, init() yürütülürken harici değişkenler güncellenir. Grafikleri kaç kez değiştirirsem değiştireyim, kayma 3'te (veya bunu neye ayarladıysam) ayarlı kalıyor. EA'nın bu şekilde çalışmak üzere tasarlandığına inanıyorum.

 
RJo :
Öyle görünüyor ki... init() yürütülürken genel değişkenler genellikle eski değerler lehine yoksayılırken, init() yürütülürken harici değişkenler güncellenir.

Grafikleri kaç kez değiştirirsem değiştireyim, kayma 3'te (veya bunu neye ayarladıysam) ayarlı kalıyor. EA'nın bu şekilde çalışmak üzere tasarlandığına inanıyorum.

YANLIŞ Gönderdiğiniz bağlantıyı ( https://book.mql4.com/variables/types ) OKUMA zahmetine bile girdiniz mi, "Global değişkenler, özel işlevlerin yürütülmesini belirtmeden önce yalnızca bir kez başlatılır " diyor.

Genel ve statik değişken, başlatma/başlatma döngüsü sırasında değil, EA YÜKLENDİĞİNDE ayarlanır.

Slippage = Slippage * 10'dan hemen sonra bir print ifadesi ekleyin ve çalıştırın ve çizelgeleri veya zaman dilimlerini değiştirin ve bizim belgelerine inanmak istemiyorsanız günlüğe bakın..