Hatalar, hatalar, sorular - sayfa 907

 
x100intraday :

Tersine. Kişisel görsel kontrol altında, tüm geçmiş ilk çalıştırmada indirilir, indirme tamamlandıktan sonra, M1'de 1994'ün başına çıkış ile Ana Sayfa tuşu ile kontrol edilir. Ardından, sık kullandığım zaman dilimlerini ve ayrıca çoklu zaman dilimi göstergesiyle ilgili zaman dilimlerini manuel olarak atlıyorum, oluşmalarını bekliyorum ve terminali yeniden başlatıyorum. Her şey.

Anladığım kadarıyla, tüm TF'ler M1'den anında oluşturulur. Onlar. terminali yeniden başlattığınızda, önceki tüm yapıları "unutursunuz" ve yeni bir başlangıçta, terminalin bunları hesaplamak için tekrar zamana ihtiyacı vardır.

Tüm hesaplamalardan önce , bu komut dosyasında yapıldığı gibi, gerekli tüm geçmişin yüklenmesini (kullanılan tüm semboller ve zaman dilimleri için) göstergenize eklemeye çalışın:

   for ( int s= 0 ; s<SymbolsCount; s++)
     {
       for ( int p= 0 ; p<PeriodsCount; p++)
        {
           if (!CheckLoadHistory(SymbolsName[s],StringToPeriod(PeriodsName[p]),BarsCount)) return ;
         }
     }
sHistoryExport - удобный скрипт для экспорта исторических данных в формате МetaТrader 4
sHistoryExport - удобный скрипт для экспорта исторических данных в формате МetaТrader 4
  • oylar: 14
  • 2012.11.12
  • Andrey Khatimlianskii
  • www.mql5.com
Экспорт всех необходимых инструментов и тайм-фреймов одним кликом с загрузкой и проверкой истории.
 
komposter :

Anladığım kadarıyla, tüm TF'ler M1'den anında oluşturulur. Onlar. terminali yeniden başlattığınızda, önceki tüm yapıları "unutursunuz" ve yeni bir başlangıçta, terminalin bunları hesaplamak için tekrar zamana ihtiyacı vardır.

Tüm hesaplamalardan önce , bu komut dosyasında yapıldığı gibi, gerekli tüm geçmişin yüklenmesini (kullanılan tüm semboller ve zaman dilimleri için) göstergenize eklemeye çalışın:

Bir şey olursa, bu dizinden bahsediyorum:

C:\Program Files\MetaTrader 5\Bases\MetaQuotes-Demo\history\NZDUSD\cache ,

"binalar" derken M1 dışı zaman çerçevelerinin oluşumunu kastediyorsak. Ancak, terminalin ilk lansmanı sırasında ve oluşumları için M1 dışı zaman dilimlerini ve üzerlerinde daha fazla çalışma olasılığını atlarken, terminal sadece manuel olarak değil tamamen çalışmaya hazır olsa bile, onları bu yolda görmeyeceğiz. . Bununla birlikte, zaten terminalin boşaltılmasından sonra ve sonraki başlatmalar sırasında, aynı dizinde önceden oluşturulmuş zaman dilimleri kolayca gözlemlenebilir. Ancak, boşaltma ile buharlaşmadıkları, kaldıkları ve yalnızca sonraki başlatmalar sırasında eklendikleri için, terminalin istenen zaman çerçevesini tamamen yeniden hesaplamak için zamana ihtiyacı olması olası değildir.

Ancak gösterge ile ilgili olarak - evet, her şey anında gerekli tüm derinliğe kadar yeniden hesaplandığında, önceki hesaplamaların yerel tasarrufuyla, böyle bir fikir olmasına rağmen henüz rahatsız etmemeye karar verdim.

Anladığım kadarıyla kodunuz, yerel geçmişin sunucu ile ön senkronizasyonundan başka bir şey değil mi? Eğer öyleyse, bunu uzun zamandır planlıyorum ama hala koduma bu kadar basit bir blok eklemek için zamanım yok.

 
komposter , terminalin ilk lansmanda tam teşekküllü çalışmaya hazır olduğunu kasten belirtmeme rağmen (gerekli geçmişi önceden indirdikten ve seçenekleri ayarladıktan sonra), hala kendimi kişisel olarak sigortalıyorum ve kararlı davranışının bir kaydını tutmaya başlıyorum. terminali yalnızca ikinci başlatmadan itibaren (bu belirsizlik nedeniyle, yeniden oluşturulmuş M1 olmayan zaman çerçevelerinin diskte güvenli bir şekilde bulunduğu ve RAM'de bir yerde donmadığı ve işletim sistemi nedeniyle bellek eksikliği ile hantal ve zor değiş tokuş etmeye başlayabileceğinden dolayıdır) kendisi ve burada hasardan uzak değil). Bu nedenle, teorik olarak, gösterge MT5'in ikinci lansmanından itibaren başarısız olmamalıdır. Ve nedense benim için sadece onda durdu, MT5'in diğer dokuz lansmanı hiçbir şeyi değiştirmese de, her şey monotondu.
 
x100intraday :

Anladığım kadarıyla kodunuz, yerel geçmişin sunucu ile ön senkronizasyonundan başka bir şey değil mi? Eğer öyleyse, bunu uzun zamandır planlıyorum ama hala koduma bu kadar basit bir blok eklemek için zamanım yok.

Sadece sunucu ile senkronizasyon değil, aynı zamanda tüm TF'lerin oluşturulması.

Kütüphaneyi indirin, 3 satırlık kodu indikatörünüze yapıştırın ve sonuca bakın.

 

En az 30 görünür çubuk varken, ChartGetInteger(0, CHART_FIRST_VISIBLE_BAR ,0) işlevinin göstergeyi test ederken neden sıfıra döndüğünü anlamıyorum

(ChartGetInteger(0,CHART_VISIBLE_BARS,0) işlevi tarafından kontrol edilir

Normal grafiklerde - her şey yolunda, biri diğerinden 1 farklı, ancak test ederken böyle saçmalıklar ...

Nasıl üstesinden gelinir?

 
Поясните, почему в данном простом индикаторе с двумя массивами - второй  имеет нулевой размер??

{Код удалил после ответа на вопрос чтобы не занимал место}



 
dimonsky : ?
 #property indicator_plots 2
 
avoitenko :
Teşekkürler!!!
 
Burada ikinci bir hesap kullanabilir miyim? Doğal olarak kredi doldurmak amacıyla değil
 
Zeleniy :

Burada ikinci bir hesap kullanabilir miyim? Doğal olarak kredi doldurmak amacıyla değil
Gayet doğal bir soru. Ne için? ))