Hatalar, hatalar, sorular - sayfa 3035

 
Ivan Titov :

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

 
Slava :

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?

 
Roman :

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.

 
Slava :

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.

 
Slava :

İ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?

 
Alain Verleyen :

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.

 
mktr8591 :

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.

 
Anton :

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ı?

 
fonksiyonunun sonucu nedir?

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?

 
Aleksey Vyazmikin :

"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.

Neden: