Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 318
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
Güzel gün. Bir danışman var, strateji test cihazında gayet iyi çalışıyor (siparişleri açar vb.). Ama grafiğe koyduğumda hiçbir şey olmuyor. Danışman çalışmıyor. Ve başka bir şey fark ettim - grafikteki danışmanın adının yanında bir çarpı işareti görüntüleniyor. Nasıl düzeltilir?
çizelgeye bir danışman atarken, parametreler içeren bir pencere açılır, farklı sekmeler vardır - ilk "Genel" de " danışmanın ticaret yapmasına izin ver" seçeneğinin yanındaki kutuyu işaretlemeniz gerekir.
danışman zaten atılmışsa ve araç çubuğunda bir çarpı işareti olarak görüntüleniyorsa, "danışmanlar" düğmesini tıklayın (şapkada kırmızı bir daire ve bu dairenin içinde beyaz bir kare olan sarı küp).
Tünaydın. Lütfen bu garip sorunla bana yardım edin.
Sonuç olarak: Çok zamanlı bir gösterge yazıyorum, yani. herhangi bir zamanda açık olmak, diğer tüm zamanlar için aynı şekilde hesaplamalar yapacak ve sinyaller verecek bir gösterge.
Göstergenin temeli RSI'dır.
init()'te, zamanları değiştirirken , gösterge satırına ayrı bir dizi atanır. Ve her biri, bir veya diğer yarısında olduğunuzda bir çizgi olarak görüntülenir, ancak aynı zamanda diğer yarılar için hesaplamalar çalışmaz (iRSI işlevi, hesaplama sırasında aptalca sıfırları döndürür). Onlar. mevcut yarısı hesaplanır, ancak geri kalanı hesaplanmaz.
Kodu getiriyorum:
İlginç olan: gösterge çizgisi için yalnızca bir dizi bırakırsanız ve herhangi bir zaman için yalnızca W1'i hesaplarsanız, o zaman her şey doğru bir şekilde hesaplanır ve herhangi bir (!) zamanda çizilir.
Amaç ne? Başlatma sırasında zamana bağlı olarak gösterge çizgisi için farklı diziler almak mümkün değil mi?
Tünaydın. Lütfen bu garip sorunla bana yardım edin.
Sonuç olarak: Çok zamanlı bir gösterge yazıyorum, yani. herhangi bir zamanda açık olmak, diğer tüm zamanlar için aynı şekilde hesaplamalar yapacak ve sinyaller verecek bir gösterge.
Göstergenin temeli RSI'dır.
init() içinde, zaman değiştirirken, gösterge satırına ayrı bir dizi atanır. Ve her biri, bir veya diğer yarısında olduğunuzda bir çizgi olarak görüntülenir, ancak aynı zamanda diğer yarılar için hesaplamalar çalışmaz (iRSI işlevi, hesaplama sırasında aptalca sıfırları döndürür). Onlar. mevcut yarısı hesaplanır, ancak geri kalanı hesaplanmaz.
Kodu getiriyorum:
İlginç olan: gösterge çizgisi için yalnızca bir dizi bırakırsanız ve herhangi bir zaman için yalnızca W1'i hesaplarsanız, o zaman her şey doğru bir şekilde hesaplanır ve herhangi bir (!) zamanda çizilir.
Amaç ne? Başlatma sırasında zamana bağlı olarak gösterge çizgisi için farklı diziler almak mümkün değil mi?
Sadece W1 ve D1 okunur! Ne istiyorsun? Geri kalanı için kaydolun!
Bu, onunla alakalı değil. Hesapları sadece D1 ve W1 için verdim ki kod çok uzun olmasın. Lütfen dikkat: W1'in hesaplanan değerleri, herhangi bir zamanda her onay işaretine yazdırılır. Yani W1 dışında herhangi bir zaman açıksa, sıfırlar yazdırılır. W1 için çalışıyorsa, geri kalanı için çalışacaktır.
Bu, onunla alakalı değil. Hesapları sadece D1 ve W1 için verdim ki kod çok uzun olmasın. Lütfen dikkat: W1'in hesaplanan değerleri, herhangi bir zamanda her onay işaretine yazdırılır. Yani W1 dışında herhangi bir zaman açıksa, sıfırlar yazdırılır. W1 için çalışıyorsa, geri kalanı için çalışacaktır.
Doğru şekilde! Diğer grafiklerde göstermek için haftalık grafiği de açmanız gerekiyor!
Dürüst olmak gerekirse, bu ifadeyi anlamadım.
Ve başka bir şey göstermene gerek yok. Kodumu çalıştırın ve ihtiyacınız olan her şeyin zaten gösterildiğini göreceksiniz: D1'de RSI D1 tablosu ve W1'de - RSI W1 tablosu gösterilir, ancak aynı zamanda, D1 açıksa, o zaman için RSI hesaplamaları W1'in tümü sıfırdır ve eğer açık W1 ise, o zaman D1 için hesaplamalar sıfırdır. Soru, bunun neden olduğu ve nasıl düzeltileceğidir.
Sorun, dizin dizisinin kendisinin başlatılması ve istenen boyuta yeniden boyutlandırılmasıdır.
Ve init() anahtarında bunu şöyle değiştirdim:Bu nedenle, D1'i açtığımda - RSI_D1[] indeks oluyor ve onunla her şey yolunda ve dizilerin geri kalanı emekleme aşamasında kalıyor.
Bu şekilde denendi: tüm dizileri şöyle bildirdi:
Ancak, ArrayResize GetLastError'da bir hata veriyor:
EURUSD, Daily: dizi yeniden boyutlandırılamıyor
EURUSD Günlük: bazı dizi hatası
Her neyse, biri bana sorunu nasıl çözeceğimi söyleyebilir mi?
Sorun, dizin dizisinin kendisinin başlatılması ve istenen boyuta yeniden boyutlandırılmasıdır.
Ve init() anahtarında bunu şöyle değiştirdim:Bu nedenle, D1'i açtığımda - RSI_D1[] indeks oluyor ve onunla her şey yolunda ve dizilerin geri kalanı emekleme aşamasında kalıyor.
Bu şekilde denendi: tüm dizileri şöyle bildirdi:
Ancak, ArrayResize GetLastError'da bir hata veriyor:
EURUSD, Daily: dizi yeniden boyutlandırılamıyor
EURUSD Günlük: bazı dizi hatası
Her neyse, biri bana sorunu nasıl çözeceğimi söyleyebilir mi?
Dizi dinamikse, değerler yazarken yeni veriler için dizinin boyutunu artırdığınızdan emin olun. DiziYeniden Boyutlandır()
Ancak, ArrayResize GetLastError'da bir hata veriyor:
EURUSD, Daily: dizi yeniden boyutlandırılamıyor
EURUSD Günlük: bazı dizi hatası
Bu konuda yukarıda yazdım:
Ancak, ArrayResize GetLastError'da bir hata veriyor:
EURUSD, Daily: dizi yeniden boyutlandırılamıyor
EURUSD Günlük: bazı dizi hatası
Dürüst olmak gerekirse, bu ifadeyi anlamadım.
Ve başka bir şey göstermene gerek yok. Kodumu çalıştırın ve ihtiyacınız olan her şeyin zaten gösterildiğini göreceksiniz: D1'de RSI D1 grafiği ve W1'de - RSI W1 grafiği gösterilir, ancak aynı zamanda, D1 açıksa, RSI hesaplamaları W1'in tümü sıfırdır ve eğer açık W1 ise, o zaman D1 için hesaplamalar sıfırdır. Soru, bunun neden olduğu ve nasıl düzeltileceğidir.
Çünkü sadece bir arabellek var ve aramanızda sırayla gösteriliyor!