"Yeni Başlayanlar için MQL5'te Özel Göstergeler" makalesi için tartışma

 

Yeni makale Yeni Başlayanlar için MQL5'te Özel Göstergeler yayınlandı:

Herhangi bir yeni konu, bir acemi için karmaşık ve öğrenmesi zor görünür. Bildiğimiz konular ise bize çok basit ve anlaşılır gelir. Ancak, herkesin bir şeyi sıfırdan ve hatta ana dilimizden öğrenmek zorunda olduğunu hatırlamıyoruz. Aynısı, kişinin kendi alım satım stratejilerini geliştirmesi için geniş olanaklar sunan MQL5 programlama dili için de geçerlidir - bunu temel kavramlardan ve en basit örneklerden öğrenmeye başlayabilirsiniz. Teknik bir göstergenin MetaTrader 5 istemci terminali ile etkileşimi, bu makalede basit özel gösterge SMA örneğinde ele alınmaktadır.

Bu giriş parametrelerinin bildirilmesinden sonra yorumların olduğunu ve bu yorumların göstergenin "Özellikler" penceresinde giriş parametrelerinin adları olarak görüneceğini unutmayın:


Bizim durumumuzda, bu adlar göstergenin değişken adlarından çok daha açıktır. Bu nedenle, bu yorumlar basit olmalıdır.

Yazar: Nikolay Kositsin

 
Başlayanlar için çok ilginç bir makale..... Umarım diğerleri de bunun gibi.... teşekkürler
 
Bir A ile yazılmış ve anlatılmış. Okuduktan sonra kendinize ait bir şeyler yaratmak isteyeceksiniz. Her seferinde kodu yeniden yazmak çok ilginç değildir ve MQL5 yazarları bunun farkına vararak geniş bir yerleşik fonksiyon kütüphanesi oluşturmuşlardır. İşte bunlardan biri:

int iMA(
string symbol, // symbol name
ENUM_TIMEFRAMES period, // period
int ma_period, // averagingperiod
int ma_shift, // indicator horizontal shift
ENUM_MA_METHOD ma_method, // smoothing type
ENUM_APPLIED_PRICE applied_price // price type or handle
);
kullanarak aynı sonucu elde edebilirsiniz. Fakat. int OnCalculate() kısa formunu kullanırken applied_price nasıl elde edilir. Başka bir deyişle, göstergeyi başlatırken "Parametreler" sekmesindeki değerlere nasıl ulaşılır?

Teşekkürler.

 
teşekkür ederim. benim gibi acemiler için çok net bir açıklama. bir sonraki makaleyi bekliyorum ...
 

Teşekkürler, yeni başlayanlar için çok açık ve faydalı.

 

if(prev_calculated==0) // göstergenin ilk başlangıcını kontrol edin
first=MAPeriod-1+begin; // tüm çubuklar için başlangıç indeksi
else first=prev_calculated-1; // yeni çubuklar için başlangıç indeksi

first=MAPeriod-1+begin olduğunda; mevcut çubuk hangisi? [0] mı yoksa [rates_total] mı?

first=prev_calculated-1 olduğunda; büyük bir sayıdır, hesaplamayı tekrarlamak gerekir mi?

 
"Yeni Başlayanlar için MQL5'te Özel Göstergeler" makalesinde, "Göstergelerde artan sırayı [ters sıra yerine] kullanmak daha iyidir" deniyor. Ancak program sürekli çalışırsa, sonunda sonsuza doğru eğilim gösterecektir, yani indeks numaraları için (tamsayı) tampon yakında tükenecektir, değil mi? Bununla nasıl başa çıkıyorsunuz?
Custom Indicators in MQL5 for Newbies
  • 2010.03.03
  • Nikolay Kositsin
  • www.mql5.com
Any new subject seems complicated and hard-to-learn for a newbie. Subjects that we know seem very simple and clear to us. But we simply do not remember, that everyone has to study something from scratch, and even our native language. The same is with the MQL5 programming language that offers wide possibilities of developing one's own trading strategies - you can start learning it from basic notions and simplest examples. Interaction of a technical indicator with the MetaTrader 5 client terminal is consider in this article on the example of the simple custom indicator SMA.
 

Makale için teşekkürler! Yeni başlayanlar için çok faydalı bir materyal ve başka bir dilden geçiş yapan biri için
.

 

Bilgisayar çevirisi mi? İdare edin.

MQL4 ile karşılaştırıldığında, metrik dizisi alt simgeleri geçmişten hesaplanır ve dinamik değil sabittir. Bir hafta veya bir ay boyunca çalıştırdığınızda ne olacağını merak ediyorum. Verilerin hepsi bellekte mi? Eğer hepsi bellekte ise, daha yavaş ve daha yavaş çalışmaz mı?

Ancak, https://www.mql5.com/zh/articles/31中又说 adresinde :

  1. "Bir öğenin dizinini bir dizi olarak ayarlamak MQL4'tekiyle aynıdır" - Bu ne anlama geliyor? Örneğimizde, eleman indeksini bir zaman serisi olarak kullanıyoruz. Başka bir deyişle, mevcut sütun (henüz oluşturulmamış) her zaman [0] indeksine sahiptir, önceki sütun (zaten oluşturulmuş) [1] indeksine sahiptir ve bu böyle devam eder.

Bu yüzden hangi durumun kullanıldığına dikkat edin. MQL4 örneklerinin çoğu current değeri 0 olan bir dizin dizisi kullanır, MQL5 örneklerinin çoğu ise past değeri 0 olan bir dizin dizisi alt simgesi kullanır.

MQL5 初学者:EA 交易技术指标使用指南
MQL5 初学者:EA 交易技术指标使用指南
  • 2013.09.04
  • Sergey Pavlov
  • www.mql5.com
为在EA 交易中获得内置或自定义指标的值,首先应使用相应函数创建指标的处理函数。本文中的示例说明了在创建自己的程序时如何使用技术指标。在本文中说明的指标使用 MQL5 语言构建。本文的目标受众是那些在交易策略开发上不具备太多经验的读者,并旨在通过使用提供的函数库提供简单明了的指标使用方式。
 
DxdCn:

Bilgisayar çevirisi mi? İdare et.

MQL4 ile karşılaştırıldığında, metrik dizisi alt simgeleri geçmişten hesaplanır ve dinamik değil sabittir. Bir hafta veya bir ay boyunca çalıştırdığınızda ne olacağını merak ediyorum? Verilerin tamamı bellekte mi? Eğer hepsi bellekte ise, daha yavaş ve daha yavaş çalışmaz mı?

Ancak, https://www.mql5.com/zh/articles/31中又说 adresinde:

  1. "Bir elemanın indeksini bir dizi olarak ayarlamak MQL4'tekiyle aynıdır" - bu ne anlama geliyor? Örneğimizde, eleman indeksini bir zaman serisi olarak kullanıyoruz. Başka bir deyişle, mevcut sütun (henüz oluşturulmamış) her zaman [0] indeksine sahiptir, bir önceki sütun (zaten oluşturulmuş) [1] indeksine sahiptir ve bu böyle devam eder.

MQL4 örneklerinin çoğunda güncel değeri 0 olan bir gösterge dizisi, MQL5 örneklerinin çoğunda ise geçmiş değeri 0 olan alt simgelere sahip bir gösterge dizisi kullanılır.

ArraySetAsSeries() işlevi MQL5'te dinamik dizileri (en son değerleri daha büyük dizin yönünde saklamak için bellek ayırma) zaman serisi biçimine dönüştürmek için kullanılır, yani en yeni veriler dizin 0'da saklanır, bir sonraki en yeni veriler dizin 1'de saklanır ve bu şekilde en yeni veriler sonsuza kadar dizin 0'da saklanır.

Copybuffer() fonksiyonu ile, dizinin elemanlarını geriye doğru okumaya başlamak için 0. indis konumundan itibaren, satırda kendi tanımından kaç tane olduğunu okuyun.

 

Nicholas!

Bana neden Mass[ i ]= Mass[ i+1]+A; formülünü kullanarak bir döngüde bir gösterge dizisini doldurmaya çalıştığımda A'nın bir değişken olduğunu, derlemenin hatasız geçtiğini, ancak pencereye eklendiğinde dizi aralığı dışında (dizi boyutu dışında) mesajının göründüğünü söyleyebilir misiniz?