"Yeni Başlayanlar için MQL5’te Uzman Danışman Yazmak İçin Adım Adım Açıklamalı Kılavuz" makalesi için tartışma - sayfa 3

 

Bazı zorluklardan sonra test cihazı tamamen çalıştı ve makalede belirtilen sonuçlarla örtüşen sonuçlar üretti.

Zorluklar hakkında. Geçmişin indirilmesi çok uzun sürdü (8 Mbps'de 55 dakika), birkaç kesinti oldu, test cihazını 2 kez yeniden başlatmak zorunda kaldım. Sonunda test cihazı dondu. MT 5'i kapattım, ancak tekrar açamadım. Sistemi tamamen yeniden başlatmak zorunda kaldım. Bundan sonra MT5 sessizce açıldı ve şaşırtıcı bir şekilde test cihazı tamamen çalıştı (yaklaşık 2 dakika) ve makalede belirtilen tüm sonuçları verdi (test parametrelerini tam olarak makalede belirtildiği gibi belirledim). Ve farklı zaman dilimlerinde daha fazla test sorunsuz bir şekilde devam etti.

Özet. Makale harika. Uzman Danışman uygulanabilir. Daha fazla araştıracağım.

 
ArraySetAsSeries çağrılarının neden OnInit() değil de OnTick() gövdesinde olduğunu merak ediyorum.
Документация по MQL5: Операции с массивами / ArraySetAsSeries
Документация по MQL5: Операции с массивами / ArraySetAsSeries
  • www.mql5.com
Операции с массивами / ArraySetAsSeries - Документация по MQL5
 
Также это лучшее место для получения хэндлов технических индикаторов, которые будут использоваться (в нашем случае это индикаторы ADX ve Hareketli Ortalama).

Neden burada teknik göstergelerin ne işe yaradığını söylemiyorsunuz ?

Nedir bu? Bir gösterge tanımlayıcısı mı?

 
vas:

Neden burada teknik göstergelerin ne işe yaradığını söylemiyorsunuz ?

Nedir bu? Bir gösterge tanımlayıcısı mı?

Gösterge tanıtıcısı, göstergenin hesaplandığı iş parçacığının tanımlayıcısıdır ve veri akışını adreslediğiniz tanıtıcıyı çağırır.

Ve tanıtıcıyı döndüren işlev bu iş parçacığını oluşturur (başlatır). Bu nedenle geliştiriciler, hala veri hesaplama sürecinde olabileceğinden, akışa oluşturulduktan hemen sonra erişilmesini önermemektedir.

 

Harika bir makale! Açıkça yapılandırılmış ve kolay anlaşılır.

"OnInit()" in ilk "if" koşulundaki dönüş ifadesinden şüpheliyim. Belki de parametre -1 olmalı, 0 değil de her neyse, ya da if koşulu gereksiz.

 

https://www.mql5.com/tr/articles/100 makalesindeki uzmanı standart kütüphanenin sınıfları üzerinde uygulamaya çalıştım.

Elde ettiğim sonuçları gönderiyorum.

Ne yazık ki, aynı işlem işe yaramadı, çünkü makaledeki kodda hatalar var.

ExpertADX-MA.mq5 dosyası Experts\Advisors içine yerleştirilmelidir. -bu Uzman Danışman

SignalADX-MA.mqhdosyası Include\Expert\Signal içine yerleştirilmelidir - bu ticaret sinyalleri sınıfıdır.

TrailingFixedPips.mqh dosyası Include\Expert\Trailing(değiştirme ile) içine yerleştirilmelidir - bazı küçük değişikliklerle standart teslimattan bir dosyadır.

Expert.mqh dosyası Include\Expert (değiştirilerek)içineyerleştirilmelidir . -std'den dosya. standart teslimattan küçük değişikliklerle dosya

Standart teslimatın değişiklikleri bir sonraki derlemede yapılacaktır.

Not: Trol, Uzman'da "vidalanmıştır" (işçilerin isteği üzerine).

Onu "sökmek" için, satırı yorumlamanız gerekir:

      if(!ExtExpert.InitTrailing(new CTrailingFixedPips)) return(-3);

ExpertADX-MA.mq5 dosyasında .

Пошаговое руководство по написанию MQL5-советников для начинающих
Пошаговое руководство по написанию MQL5-советников для начинающих
  • 2010.06.09
  • Samuel
  • www.mql5.com
Написание советников на MQL5 проще чем кажется, вы легко можете этому научиться. В этом руководстве вы познакомитесь с основными моментами, необходимыми для написания простого советника на основе конкретной торговой стратегии. Рассмотрена структура советника, использование встроенных технических индикаторов и торговых функций, вопросы отладки и тестирования советника на исторических данных.
Dosyalar:
 

Yeni Başlayanlar için Adım Adım MQL5 Uzman Danışmanları Yazma Kılavuzu makalesinde yer alan EA kodundaki hatalar düzeltildi.

Lütfen Uzman Danışman kodunun güncellenmiş sürümünü indirin.
 

Yukarıdaki EA kodunda.

Dinamik dizi double maVal[] global kapsamda bildirilir.

ve void OnTick () işlev alanında değil.

Uzman Danışmanın 24 saattir çalıştığını varsayalım.

Soru: Dinamik dizi için ayrılan belleğe ne olacak? Ne kadar hızlı bir şekilde çöplerle tıkanacak?

Ya da başka bir deyişle, şu soruyu formüle edeceğim: Bu durumda bir bellek sızıntısı var mı?

 

Yazınız için teşekkür ederim!

 
Bu makale için çok müteşekkirim, çok yardımcı oldu. EA'm için kodlarımı yazdıktan sonra hata ayıklama düğmesine bastım ve 10 hatam olduğu söylendi, makalenizde bu hataları düzeltmek için herhangi bir bilgi yok. Peki bu sorunu nasıl çözebilirim, lütfen mümkün olan en kısa sürede geri yazın ?