Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
if(rates_total-i >= Rates_total-100); işleminden sonra, hesaplamak için yalnızca 100 çubuk kaldığında, iMAOnArray() işlevinin önce ENTIRE dizisini yeniden hesapladığını mı kastediyorsunuz?
if(rates_total-i >= Rates_total-100); işleminden sonra, hesaplamak için yalnızca 100 çubuk kaldığında, iMAOnArray() işlevinin önce ENTIRE dizisini yeniden hesapladığını mı kastediyorsunuz?
iMAOnArray
Dizide depolanan veriler üzerinde hesaplanan Hareketli Ortalama teknik göstergesinin değerini döndürür .
çift iMAOnArray (
çift dizi[] , // dizi
int toplam , // eleman sayısı
int ma_period , // nokta
int ma_shift , // ortalamanın kayması
int ma_method , // ortalama alma yöntemi
int vardiya // vardiya
);
Seçenekler
sıralamak[]
[içinde] Veri içeren dizi.
Toplam
[içinde] Hesaplanacak öğe sayısı. 0, tüm dizi öğeleri anlamına gelir.
Doğru, boyut değerinde 0 parametreli iMAOnArray'e ilk çağrı koşulsuz olarak tüm diziyi hesaplayacaktır, o zaman sadece son veya maksimum 2 son değer hesaplanmış gibi görünüyor, kim bilir, belki her şey yeniden hesaplanır. .. Bu yüzden frenler. Bu nedenle, ofset ile kaç çubuk almak istediğiniz önemli değildir, bu durumda tüm dizi yine de dikkate alınır.
iMAOnArray
Dizide depolanan veriler üzerinde hesaplanan Hareketli Ortalama teknik göstergesinin değerini döndürür .
çift iMAOnArray (
çift dizi[] , // dizi
int toplam , // eleman sayısı
int ma_period , // nokta
int ma_shift , // ortalamanın kayması
int ma_method , // ortalama alma yöntemi
int vardiya // vardiya
);
Seçenekler
sıralamak[]
[içinde] Veri içeren dizi.
Toplam
[içinde] Hesaplanacak öğe sayısı. 0, tüm dizi öğeleri anlamına gelir.
Doğru, boyut değerinde 0 parametreli iMAOnArray'e ilk çağrı koşulsuz olarak tüm diziyi hesaplayacaktır, o zaman sadece son veya maksimum 2 son değer hesaplanmış gibi görünüyor, kim bilir, belki her şey yeniden hesaplanır. .. Bu yüzden frenler. Bu nedenle, ofset ile kaç çubuk almak istediğiniz önemli değildir, bu durumda tüm dizi yine de dikkate alınır.
Yani yanlış anladım. Ve karmaşık hesaplamalarınız olmadan neden fren yok?
Soru bu, koddan çağrıldığında neden yavaşlıyor, ancak grafik üzerine yerleştirildiğinde neden yavaşlıyor. Genel olarak, burada yalnızca geliştiriciler cevabı nerede arayacaklarını bilirler. Grafiklerde çok sayıda karmaşık göstergem var ve bazıları özyinelemeli döngüler bile kullanıyor ve "uzun süre düşünmeleri" gerekiyor, ancak burada basit bir görev var ve hesaplanması çok uzun sürüyor.
Grafik üzerinde basit bir kaplamadan bahsetmiyorum. O test kodundan bahsediyorum. Sonuçta orada denir, yerine bindirilir.
Yine de bana öyle geliyor ki dizinin bir kısmını kopyalayarak bu saçmalığı yendim. Ve MODE_LWMA bile tüm diziyi saymakla aynı şekilde yeniden hesaplar.
Kırmızı - tarih boyunca sayıldı. Yeşil son 50 bar.
...
Yine de bana öyle geliyor ki dizinin bir kısmını kopyalayarak bu saçmalığı yendim. Ve MODE_LWMA bile tüm diziyi saymakla aynı şekilde yeniden hesaplar.
...
O da kazandı.
Grafik üzerinde basit bir kaplamadan bahsetmiyorum. O test kodundan bahsediyorum. Ne de olsa orada neden olur, onun yerine bindirilir.
Yine de bana öyle geliyor ki dizinin bir kısmını kopyalayarak bu saçmalığı yendim. Ve MODE_LWMA bile tüm diziyi saymakla aynı şekilde yeniden hesaplar.
Kırmızı - tarih boyunca sayıldı. Yeşil son 50 bar.
Yazılarımı bir kelimeden, hatta bir cümleden okuduğunuz anlaşılıyor. Neyi yendi? Böyle bir fikrin ( bar sayısının hesaplanmasında sınırlama olan benzer bir kod) hemen aklıma geldiğini yazdım ve hemen denedim ve performans artışı alamadım çünkü. dizi hala tamamen hesaplanır (toplam = 0), sadece son 100 elemanını kopyalamanız (arabelleği doldurmanız) hesaplamaların frenlenmesini kaldırmaz, elemanların ara belleğe alınmasını yavaşlatmaz, ancak, ya tamamen kabul edilen (toplam= 0) ya da yalnızca ilk N elemanın sonuçlarını (toplam=N) döndüren ortalama dizinin hesaplanması, sonuncularına ihtiyaç duyulmasına rağmen, indeksleme yönünü değiştirmek yapar. istenilen etkiyi vermez.
Anlaşılan benim mesajlarım da birinden okunmuş... Bir önceki kod uygun değil, hatanın nerede yapıldığını anladım. Son ekran tamamen farklı bir yaklaşımı gösterir, ancak yalnızca son 50 çubuk sayılır.
Kodu hemen yayınlamaya başlamadım, sadece “hala işe yaramayacak” patamushta gibi bir tepki bekliyordum... Kod gizli değil, göstergenizde nasıl çalışacağını kontrol etmek istiyorsanız, söyle bana.
O da kazandı.
...
Ve sadece srach üretebilirsin. Forumun kaç üyesiyle şimdiki gibi bir tonda iletişim kurduğunuzu sayın. Çık dışarı, Şeytan.Sizinle aynı ve iletişim kurdu. Burada bir koalisyonsunuz, biliyorum.
Dün burada dizi kopyalama yaklaşımının başarısızlığı hakkında yazdılar. LWMA'da burunlarını dürttüler - işe yaradı. EMA ile kontrol etmek için yeterli tyama var, ancak kutsal gücün taşıyıcısı mı? Kilisede bir mum yakmayı unuttun mu?
Bir şeyler üfleyin, kendinizi üfleyin ve her seferinde - ah, bir hata yaptığımı fark ettim.
Srach. Biraz sıkıntı yaşasaydınız, bu konunun sorununun çözüldüğünü uzun zaman önce görürdünüz.
Bir kez daha gösteriş yapmak istedim ama boynuzları kırdılar ve hemen Şeytan'a ağıt yaktılar. Adam!
Anlaşılan benim mesajlarım da birinden okunmuş... Bir önceki kod uygun değil, hatanın nerede yapıldığını anladım. Son ekran tamamen farklı bir yaklaşımı gösterir, ancak yalnızca son 50 çubuk sayılır.
Kodu hemen yayınlamaya başlamadım, sadece “hala işe yaramayacak” patamushta gibi bir tepki bekliyordum... Kod gizli değil, göstergenizde nasıl çalışacağını kontrol etmek istiyorsanız, söyle bana.