Göstergeler: Heikin Ashi Lines

Heikin Ashi Lines:

Heikin Ashi'yi görüntülemenin daha basit bir yolu

Heikin Ashi Lines

Author: FMIC

   // OnCalculate döngüsü sıralama makrolarını tanımla
      #ifdef __MQL4__   // MQL4 için (seri olarak)
         #define  MOnCalcNext(  _index          ) ( _index--             )
         #define  MOnCalcBack(  _index, _offset ) ( _index + _offset     )
         #define  MOnCalcCheck( _index          ) ( _index >= 0          )
         #define  MOnCalcValid( _index          ) ( _index < rates_total )
         #define  MOnCalcStart \
            ( rates_total - ( prev_calculated < 1 ? 1 : prev_calculated ) )
      #else             // MQL5 için (seri dışı olarak)
         #define  MOnCalcNext(  _index          ) ( _index++             )
         #define  MOnCalcBack(  _index, _offset ) ( _index - _offset     )
         #define  MOnCalcCheck( _index          ) ( _index < rates_total )
         #define  MOnCalcValid( _index          ) ( _index >= 0          )
         #define  MOnCalcStart \
            ( prev_calculated < 1 ? 0 : prev_calculated - 1 )
      #endif

Neden ArraySetAsSeries() işlevini kullanmıyorsunuz? Bu sayede, dilin her iki sürümü için de aynı makroları kullanmak mümkün olur.

Eleştirmiyorum, sadece merak ediyorum.

Sanırım sizin için daha kullanışlı oluyor.

İnanılmaz bir şekilde
[Silindi]
Vladislav Boyko #: Neden ArraySetAsSeries() işlevini kullanmıyorsunuz? Bu, dilin her iki sürümü için de aynı makroları kullanmayı mümkün kılardı. Eleştirmiyorum, sadece merak ediyorum. Sanırım sizin için daha pratik oluyor.

Ben, biraz daha fazla verimlilik adına, kararın çalışma zamanında değil derleme zamanında verilmesi için ArraySetAsSeries() yerine makroları kullanmayı tercih ediyorum.

Bu durumda, çok basit bir gösterge olduğu için aslında pek bir fark yaratmıyor, ancak çok daha karmaşık göstergeler için fark yaratabilir.

[Silindi]
Roberto Jacobs #: İnanılmaz bir şekilde

Özür dilerim, ancak yazınızın anlamını tam olarak anlayamadım. Biraz daha ayrıntılı anlatabilir misiniz?

Fernando Carreiro #:

Biraz daha fazla verimlilik elde etmek amacıyla, kararın çalışma zamanında gerçekleştirilen ArraySetAsSeries() yerine derleme zamanında alınmasını sağlamak için makro kullanmayı tercih ediyorum.

Bu durumda, çok basit bir gösterge olduğu için aslında pek bir fark yaratmaz, ancak çok daha karmaşık göstergeler söz konusu olduğunda fark yaratabilir.

Teşekkürler!

Teşekkürler Fernando, bir acemiye gerçekten çok yardımcı oldu. Ayrıca “Herkese Açık Projeler” ipucunu paylaştığın için de teşekkürler. Orada olduğunu bile bilmiyordum. Nedense bu özelliği gözden kaçırmışım. Umarım bu özelliğin nasıl kullanıldığına dair bir dokümantasyon bulabilirim.
[Silindi]
Vladislav Boyko #: Teşekkürler!
linfo2 #: Teşekkürler Fernando, yeni başlayanlar için inanılmaz derecede yardımcı oldu. Ayrıca Kamuya Açık Projeler ipucu için de teşekkürler. Orada olduğunu bile bilmiyordum. Nedense bu özelliği gözden kaçırmışım. Umarım bu özelliğin nasıl kullanıldığına dair bir dokümantasyon bulabilirim.

Rica ederim!

Heiken-Ashi için hesaplamaların nasıl yapıldığını araştırıyordum; maksimum değerler için “mevcut dönemin en yüksek, açılış veya kapanış değerlerinden en yüksek olanı” ve “minimum değerler için” ise “mevcut dönemin en düşük, açılış veya kapanış değerlerinden en düşük olanı” olarak açıklanıyor. Bu, en yüksek ve en düşük değerlerin çubuklarla örtüştüğünü söylemekle aynı şey değil mi? Eğer öyleyse, bunları çizgi olarak gösterme fikriniz hem basit hem de dahice; normal mum grafiğinden vazgeçmeden Heiken-Ashi trendini ilk bakışta görebilirsiniz.

Moderatör tarafından otomatik çeviri uygulanmıştır. İngilizce forumda lütfen İngilizce yazınız.

[Silindi]
@Daniel Eduardo San Martin #: Bu, en yüksek ve en düşük değerlerin çubuklarla örtüştüğünü söylemekle aynı şey değil mi?

Çoğu zaman evet, ancak Heikin Ashi Açılış (hareketli ortalama) normal mumun en yüksek/en düşük seviyesinin ötesindeyse, o zaman bu seviye Heikin Ashi En Yüksek/En Düşük seviyesi olur.

Fernando Carreiro #:

Özür dilerim, ancak gönderinizin anlamını tam olarak anlayamadım. Biraz daha ayrıntılı anlatabilir misiniz?

Kodunuzun çok iyi ve güçlü olduğunu düşünüyorum. mq5 dosyasını indirmedim.
Paylaştığınız MT4 kodunu MetaEditor MQL5'e kopyalayıp yapıştırdım ve mq5 olarak kaydettim; her şey sorunsuz çalışıyor.