Hatalar, hatalar, sorular - sayfa 3035
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
Bugün serbest çalışma sayfalarında bir hata oluştu:
Chrome tarayıcı. Neyle bağlantılı?
Mesaj için teşekkürler. Sabit
Kendiniz kontrol edemiyor musunuz?
Kontrol edebilirsiniz, sadece anlayış olmadığında kontrol edin))
Ve verilerin henüz hazır olmadığı anı hayal edemiyorum.
Bu örnekte OnCalculate ile nasıl çalışılacağının teorisini anlamak istiyorum.
Geçerli döngü yinelemesinde veriler hazır değilse, limit+1 sayacı döndürülmeli mi, yoksa ne?
Kontrol edebilirsiniz, sadece anlaşılmadığında kontrol edin))
Ve verilerin henüz hazır olmadığı anı hayal edemiyorum.
Bu örnekte OnCalculate ile nasıl çalışılacağının teorisini anlamak istiyorum.
Geçerli döngü yinelemesinde veriler hazır değilse, limit+1 sayacı döndürülmeli mi, yoksa ne?
Sıfır iade edilmelidir.
4. Tüm zaman serileri en küçüğünden en büyüğüne doğru işlenir. Önce bir onay işareti uygulanıyor, ardından verilen zaman serilerinde oluşturulan tüm göstergeler hesaplanıyor. M1 üzerinde çalışan bir göstergeden aynı H1 sembolü için veri isterseniz, uygulanan onay işaretiyle asla veri alamazsınız. Hangi hileleri kullanırsanız kullanın, veriler her zaman bir tık geri olacaktır. Çünkü zaman dilimlerinin sıralı işlenmesiyle sembol başına bir iş parçacığı.
Açıklamanın biraz belirsiz olduğu ortaya çıktı. Her ihtimale karşı açıklığa kavuşturacağım. Evet, bir onay işareti işlenirken, tüm zaman serileri en düşükten en yükseğe doğru sırayla işlenir. Her bir işaret, her bir zaman serisinin verilerine eklenir, ardından sırayla her bir zaman serisi için göstergeler hesaplanır . Onlar. OnCalculate() içindeki gösterge için, zaman serilerinin verileri (tümü) koşulsuz olarak güncellenir, ancak daha yüksek zaman dilimlerinin göstergelerinin verileri henüz yeniden hesaplanmamıştır.
İlk istekte, gösterge sembolünden veri almayabilir, ancak yalnızca bir nedenden dolayı farklı bir zaman çerçevesi alabilir - gerekli zaman serisi henüz oluşturulmamıştır veya talep olmadığında bir süre geçtikten sonra zaten yok edilmiştir.
Başarısız bir istekten sonra , grafiğinize bir güncelleme komutu göndermeniz ve OnCalculate'den hemen çıkmanız yeterlidir. OnCalculate'in aranacağı ve bu ana kadar gerekli zaman serilerinin hazırlanacağı garanti edilir.
Sinek yakalamak için çekiç kullanmak gibi.
Bildiğiniz gibi bu komut, söz konusu sembolün tüm çizelgelerindeki tüm göstergeleri günceller. Aynı sembolün birden fazla grafiğinde birden fazla göstergeniz varsa, her gösterge kendi ChartSetSymbolPeriod() komutunu göndereceğinden, bir tür döngü ile kolayca sonuçlanabilirsiniz.
Yalnızca CURRENT göstergesini güncellemek için bir komut ekleyebilir misiniz?
Sinek yakalamak için çekiç kullanmak gibi.
Bildiğiniz gibi bu komut, söz konusu sembolün tüm çizelgelerindeki tüm göstergeleri günceller. Aynı sembolün birden fazla grafiğinde birden fazla göstergeniz varsa, her gösterge kendi ChartSetSymbolPeriod() komutunu göndereceğinden, bir tür döngü ile kolayca sonuçlayabilirsiniz.
Yalnızca CURRENT göstergesini güncellemek için bir komut ekleyebilir misiniz?
Kodda mantıksal hatalar varsa her şey elde edilebilir.
Aslında OnTick, aynı sembol için OnCalculate ile senkronize değil. Teorik olarak, OnTick gecikebilir ve başladığında, tüm TF'lerdeki tüm göstergeler hesaplanacak mı?
Tam tersi bir durum görüyorum - göstergeler, barın açıldığı sırada yeni bir tik işaretinin gelmesiyle hesaplanmıyor.
Açıklamanın biraz belirsiz olduğu ortaya çıktı. Her ihtimale karşı açıklığa kavuşturacağım. Evet, bir onay işareti işlenirken, tüm zaman serileri en düşükten en yükseğe doğru sırayla işlenir. Her bir işaret, her bir zaman serisinin verilerine eklenir, ardından sırayla her bir zaman serisi için göstergeler hesaplanır . Onlar. OnCalculate() içindeki gösterge için, zaman serilerinin verileri (tümü) koşulsuz olarak güncellenir, ancak daha yüksek zaman dilimlerinin göstergelerinin verileri henüz yeniden hesaplanmamıştır.
"Sırayla her zaman serisindeki göstergelerin hesaplanması " ne anlama geliyor? " ENUM_TIMEFRAMES'e bağlı olarak dönem"?
int iCustom (
sicim sembol , // sembol adı
ENUM_TIMEFRAMES nokta , // nokta
sicim isim // klasör/kullanıcı gösterge_adı
... // gösterge giriş parametrelerinin listesi
);
Aynı ENUM_TIMEFRAMES değerine sahip iki gösterge varsa Biri diğerinin verileri üzerinden hesaplanırken, o zaman sıralı hesaplamanın doğruluğu nasıl sağlanır?
Doğru anladım, eğer gösterge hesaplanırsa ( ENUM_TIMEFRAMES periyodu) M1'de, daha sonra OHLC bilgisi talep edildiğinde, her halükarda herhangi bir üst zaman dilimi için son tik hakkında güncel bilgi alacak mı?
iSpread?
Terminaldeki Semboller/Çubuklar'da çubuklar için bir talepte bulunursanız, yayılma değerine yaklaşık olarak benzer olduğunu görüyorum.
Aynı zamanda doğal olarak bu değerler SYMBOL_SPREAD tarafından yayınlanan gerçek değerlere karşılık gelmemektedir.
Neden böyle bir fark? Ve iSpread tarafından ne tür gerçekçi olmayan bir yayılma yapılır?
"Sırayla her zaman serisindeki göstergelerin hesaplanması " ne anlama geliyor? " ENUM_TIMEFRAMES'e bağlı olarak dönem"?
int iCustom (
sicim sembol , // sembol adı
ENUM_TIMEFRAMES nokta , // nokta
sicim isim // klasör/kullanıcı gösterge_adı
... // gösterge giriş parametrelerinin listesi
);
Aynı ENUM_TIMEFRAMES değerine sahip iki gösterge varsa Biri diğerinin verileri üzerinden hesaplanırken, o zaman sıralı hesaplamanın doğruluğu nasıl sağlanır?
Bu, terminal tarafından sağlanır.
Doğru anladım, eğer gösterge hesaplanırsa ( ENUM_TIMEFRAMES periyodu) M1'de, daha sonra OHLC bilgisi talep edildiğinde, her halükarda herhangi bir üst zaman dilimi için son tik hakkında güncel bilgi alacak mı?
Evet kesinlikle.