Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 407

 
first_may :

Tünaydın.

Lütfen bana mql5'teki önceki mumdaki Tenkan ve Kijun'un değerini nasıl elde edeceğimi söyler misiniz?

Lütfen iIchimoku için bir örneğe bakın.
 
Karputov Vladimir :
Lütfen iIchimoku için bir örneğe bakın.

Soruyu sormadan önce baktım. mql4'te daha basitti, örneğin son mumda

double tenkan_sen= iIchimoku ( NULL ,0,9,26,52, MODE_TENKANSEN ,1);

Ve burada bir nesnenin yaratıldığını fark ettim.

tutamaç= iIchimoku (isim, nokta ,tenkan_sen,kijun_sen,senkou_span_b);

Ama ondan tenkan değerini nasıl alacağımı çözemiyorum :(. Tenkan ve kinjun'un basit bir kesişimini izlemek istiyorum ve hepsi bu.

 
first_may :

Soruyu sormadan önce baktım. mql4'te daha basitti, örneğin son mumda

double tenkan_sen= iIchimoku ( NULL ,0,9,26,52, MODE_TENKANSEN ,1);

Ve burada bir nesnenin yaratıldığını fark ettim.

tutamaç= iIchimoku (isim, nokta ,tenkan_sen,kijun_sen,senkou_span_b);

Ama ondan tenkan değerini nasıl alacağımı çözemiyorum :(. Tenkan ve kinjun'un basit bir kesişimini izlemek istiyorum ve hepsi bu.

Bir göstergede mi yoksa bir danışmanda mı izlemek istiyorsunuz?
 
Karputov Vladimir :
Bir göstergede mi yoksa bir danışmanda mı izlemek istiyorsunuz?
Bir danışmanda. Sesli uyarıların biçimini görüntüleyin.
 
first_may :
Bir danışmanda. Sesli uyarıların biçimini görüntüleyin.
CopyBuffer() işlevine bir göz atın .
 

örnekte

ma_handle= iMA ( Sembol (),0, nokta ,shift,smootMode,fiyat); - bir nesne oluşturulur

if ( CopyBuffer (ma_handle,0,0,to_copy,MABuffer)<=0) return (0); - MABuffer dizisi, ma_handle nesnelerinin değerleriyle doldurulur

Ve şimdi MABuffer'dan mum değerleri alabilir misiniz?

 
first_may :

örnekte

ma_handle= iMA ( Sembol (),0, nokta ,shift,smootMode,fiyat); - bir nesne oluşturulur

if ( CopyBuffer (ma_handle,0,0,to_copy,MABuffer)<=0) return (0); - MABuffer dizisi, ma_handle nesnelerinin değerleriyle doldurulur

Ve şimdi MABuffer'dan mum değerleri alabilir misiniz?

Evet. MABuffer'da CopyBuffer() işlevini kullanarak MA değerlerini belirttiğiniz aralıkta aldınız. MABuffer elbette bir dizidir.

 
Tapochun :

Evet. MABuffer'da CopyBuffer() işlevini kullanarak MA değerlerini belirttiğiniz aralıkta aldınız. MABuffer elbette bir dizidir.

Ve prosedürde yapmak doğru

int   OnCalculate ( const   int oranlar_toplam,
                 const   int önceki_hesaplanmış,
                 const   tarihsaat &saat[],
                 const   çift &aç[],
                 const   çift &yüksek[],
                 const   çift &düşük[],
                 const   çift &kapat[],
                 const   uzun &tick_volume[],
                 const   uzun &hacim[],

                 const   int &spread[])

Değeri ekranda görüntülemek istesem bile?

 
Standart dize dizesinin uzunluğu 0 ila 255 karakter arasındadır. Uzunluk parametresini belirtmeden ( varsayılan olarak uzunluk=0 ) FileReadString kullanarak dosyadaki satırları satır satır okudum. Yani satır, mevcut konumdan "\r\n" yeni satır işaretine kadar okunur. Dosyadaki satırın 255 karakterden fazla sürmesi durumunda nasıl olunur (ve bu oldukça sık mümkündür). Satırları gerçekten parçalara ayırmak istemiyorum çünkü satırlar sıkı bir şekilde yapılandırılmıştır (dosya html kodu içerir). Fikir şu ki, başlangıçta tüm dosyayı satır satır bir diziye okudum ve sonra onu sadece analiz ettim (çözümledim) ve ihtiyacım olan bilgiyi çıkardım. Satırlar kesilirse, ayrıştırıcı çalışmayı durduracaktır, çünkü gerekli bilgilerin işaretleri ayrılabilir ve farklı okuma satırlarına düşebilir. uzun dize hayır (Başka bir fikriniz var mı?
 
first_may :

Ve prosedürde yapmak doğru

int   OnCalculate ( const   int oranlar_toplam,
                 const   int önceki_hesaplanmış,
                 const   tarihsaat &saat[],
                 const   çift &aç[],
                 const   çift &yüksek[],
                 const   çift &düşük[],
                 const   çift &kapat[],
                 const   uzun &tick_volume[],
                 const   uzun &hacim[],

                 const   int &spread[])

Değeri ekranda görüntülemek istesem bile?

Her şey göstergenin mantığına bağlıdır. Çoğu zaman - evet, OnCalculate() işlevinde .