Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1496
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
"ticks dizisindeki maksimum değeri bulun" - neyin maksimum değerini buluyoruz?
ticks[copied-1].bid veya ticks[copied-1].flags
Sadece şaka)))))
Büyük olasılıkla CopyTicks'i CopyRates ile karıştırdınız, ancak orada da bir dizi yapıya sahipsiniz ve yapının hangi öğesine ihtiyacınız olduğunu belirtiyorsunuz.
double PrevClose = rates[copied-1].close;
Kodunuzda fazladan bir satır var.
Buna ihtiyacınız yok çünkü CopyTicks ve CopyRates kopyalama sırasında dizi boyutunu kendisi ayırır.İpucu için teşekkür ederim. Bilmiyordum. Her ihtimale karşı bu satırı ekliyorum.
Şakanızı doğru anladım mı, oranlarda tüm fiyatların ortalaması alınır ve çubuğu hesaba katarken, tiklerde dikkate alınmaz mı? Bu yüzden çubuk fiyatlarını değil, keyfi bir zaman aralığını kullanmak için tik aldım. Benzer formülümdeki CopyRates, kopyalanan değişkeni saat aralığı için ulong türünün maksimum değeriyle doldurdu. Bu sorunu da çözemedim.
İpucu için teşekkürler. Bilmiyordum. Her ihtimale karşı bu satırı ekliyorum.
Kurların tüm fiyatların ortalamasını aldığı ve çubuğu hesaba kattığı, ancak tiklerin hesaba katılmadığı şakanızı doğru anlıyor muyum? Bu yüzden çubuk fiyatlarını değil, keyfi bir zaman aralığını kullanmak için tik aldım. Benzer formülümdeki CopyRates, kopyalanan değişkeni saat aralığı için ulong türünün maksimum değeriyle doldurdu. Bu sorunu da çözemedim.
Her şey yanlış.
MqlRates bir yapıdır ve siz onu bir değişken olarak ele alıyorsunuz.
MqlTick de bir yapıdır.
Sıcak ve yumuşak olanı birleştirmeye çalışıyorsunuz, bu yüzden derleyici sizi anlamıyor.
Ben de anlamıyorum)))))
Belki faydalı bir şey önerebilirim, ancak kodunuzdan ne bulmaya çalıştığınız net değil.
Her şey yanlış.
MqlRates bir yapıdır ve siz onu bir değişken olarak ele alırsınız.
MqlTick de bir yapıdır.
Sıcak ve yumuşak olanı birleştirmeye çalışıyorsunuz, bu yüzden derleyici sizi anlamıyor.
Ben de öyle))))
Belki faydalı bir şey önerebilirim, ancak kodunuzdan ne bulmaya çalıştığınız net değil.
Görev, WPR'yi (Williams Yüzde Aralığı) değiştirmektir, böylece çubuklardan bağımsız olarak keyfi bir süre için WPR değerlerinin farkını elde etmektir.
Elde etmek istediğiniz şeyin bu olması mümkündür (ancak kesin değildir).
double lowestLow = ArrayMinimum(bid, 0, copied);
Teşekkür ederim. Dersi doğru anladıysam, elde ettiğim şey şu:
Ancak maalesef bid_arr[i] = ticks[i].bid; satırında Uzman Danışman, 'namemyexpert.mq5' (204,12) içindeki aralık dışı dizi nedeniyle grafikten çıktı.Teşekkür ederim. Dersimi doğru öğrendiysem, ortaya çıkan şey şu:
Zaten tüm tikler üzerinden döngü yaptığımız için bu döngüde kopyalama yapamayız ama maksimum-minimumları tek seferde ararız.
Bu arada kopyalama yapacaksak önce kopyaladığımız dizilerin boyutlarını ayarlamamız iyi olur, döngü bunu bizim için yapmayacak, ilk iterasyonda dizinin dışına uçacağız. Sadece CopyTicksRange hedef dizinin kendisini yeniden boyutlandıracaktır.
Zaten tüm keneler arasında döngü yaptığımız için, bu döngüde kopyalayamayız, ancak bu maksimum-minimumları bir kerede arayabiliriz.
Bu arada kopyalama yapacaksak önce kopyaladığımız dizilerin boyutlarını ayarlamak iyi olur, döngü bunu bizim için yapmayacak, ilk iterasyonda dizinin dışına uçacağız. Sadece CopyTicksRange hedef dizinin kendisini yeniden boyutlandıracaktır.
Ben mükemmeliyetçi biriyim, bir dizi yapının elemanlarını tek tek sıralamak cama straforla vurmak gibidir.
Zaten tüm keneler arasında döngü yaptığımız için, bu döngüde kopyalayamayız, ancak bu maksimum-minimumları bir kerede arayabiliriz.
Bu arada kopyalama yapacaksak önce kopyaladığımız dizilerin boyutlarını ayarlamak iyi olur, döngü bunu bizim için yapmayacak, ilk iterasyonda dizinin dışına uçacağız. Sadece CopyTicksRange hedef dizinin kendisini yeniden boyutlandıracaktır.
Özür dilerim. Dikkatsizliğim. Düzeltildi. Teşekkürler. ArrayMaximum değerinin bir fiyat değil, bir indeks olduğunu unutmuşum. Ama şimdi düzeltildi.
ArrayMaximum ticks dizisi ile çalışmadığından, bir döngü içinde if ile alternatif hesaplamalar denedim. Bu neden daha iyi?
Neden daha iyi?