Güncellenmiş Tarih Merkezi - 1999'dan beri dakika fiyat tekliflerinin ücretsiz geçmişi - sayfa 8

 
Rosh :
Ne yazık ki, maksimum "Grafikteki maksimum çubuk" sayısını ayarlayın (bugün yaklaşık 3 milyon) ve herhangi bir tarihi izleyebileceksiniz.
yani keyfi olarak bir segment ayarlamak mümkün olmayacak mı?
Örneğin, 2005 için sadece Ağustos?
 
Hayır neden. 'MetaTrader 4 Müşteri Terminalinin Sırları' makalesi, hayatı kolaylaştıran bazı yararlı şeyleri açıklamaktadır, işte bunlardan biri:

 
Tarihte ve genel olarak penceredeki çubuk sayısı sınırını kaldırmak gibi bir arzunuz olmadı mı? Veya sınırsız (sınırsız) gibi bir onay işareti yapın. Bununla ilgili sorular, kullanıcılardan tamamen kaybolacaktır.
Bir penceredeki çubuk sayısı sınırını, bir dosyadan geçmişi yüklemek için daha akıllı bir mantıkla değiştirebilirsiniz. Bu arabelleğin dışındaki verilere geçersek, görüntüleme için bir arabellek olacaktır, daha sonra öncekiler yerine dosyadan bu arabelleğe yeni geçmiş verileri yüklenir - kaydırma elbette biraz yavaşlayabilir. Tüm geçmişi yüklerseniz veya geçmişe doğru daha derine indikçe, VirtualAlloc tarafından oluşturulan arabelleğe yerleştirebilirsiniz, bu durumda, terminalin o anda eriştiği veriler bunun yerine disk belleği dosyasından belleğe yüklenir. bellekten temizlenen ve disk belleği dosyasında kalan öncekilerden - aynı ara belleğe alma, ancak işletim sistemi düzeyinde.
 
elritmo :
Ancak tarihteki çubuk sayısı ve genel olarak pencere üzerindeki sınırı kaldırma arzusu yok muydu? Veya sınırsız (sınırsız) gibi bir onay işareti yapın. Bununla ilgili sorular kullanıcılardan tamamen kaybolacaktı.
Bir penceredeki çubuk sayısı sınırını, bir dosyadan geçmişi yüklemek için daha akıllı bir mantıkla değiştirebilirsiniz. Bu arabelleğin dışındaki verilere geçersek, görüntüleme için bir arabellek olacaktır, daha sonra öncekiler yerine dosyadan bu arabelleğe yeni geçmiş verileri yüklenir - kaydırma elbette biraz yavaşlayabilir. Tüm geçmişi yüklerseniz veya geçmişe doğru daha derine indikçe, VirtualAlloc tarafından oluşturulan arabelleğe yerleştirebilirsiniz, bu durumda, terminalin o anda eriştiği veriler bunun yerine disk belleği dosyasından belleğe yüklenir. bellekten temizlenen ve disk belleği dosyasında kalan öncekilerden - aynı ara belleğe alma, ancak işletim sistemi düzeyinde.
Allah takas etmesin!
Ve otomatik ticaret için terminali sunucuya koyanlar için tarihin sınırlandırılması da gereklidir. Göstergelerin çalışması ve disk alanını sınırlaması için minimum geçmişe ihtiyacı vardır.
 
sınırsız (sınırsız) veya sonsuzluk gibi bir onay işareti yapın. Sınırlandırılması gereken kişi bunu kolayca yapacaktır. Varsayılan olarak - kısıtlama yok, böylece soru yok: Neden tüm geçmiş benim için görüntülenmiyor?
 
Evet ve herkesin varsayılan olarak sınırsız hafızası var ...

Tüm geçmişi görüntülerseniz, sorular olacaktır, neden her şey bu kadar yavaş çalışıyor.
 

Kaydırırken geçmişi dosyadan yükleyebilirsiniz. Ama bana öyle geliyor ki, hafıza yığın üzerinden taşındığı için yavaşlıyor. Bellek ayırmanın başka yaklaşımları da vardır. Büyük diziler için bellek ayırmak için VirtualAlloc kullanılması önerilir. Yığın, 1Mbyte'ı aşmayan dinamik diziler için serbestçe kullanılabilir
MT'de, new[] operatörünü ve cpymem işlevini veya sonra HeapAlloc ve HeapRealloc'u çağıran malloc ve realloc'u kullanarak bellek ayırmayı varsayıyorum. Yetersiz bellek mesajı, öğeleri birbiri ardına yerleştirmek için sürekli bir adres alanı parçası bulamazsa ortaya çıkıyor (bundan emin değilim :)). Veya disk belleği dosyasının boyutu bir noktada yeterli değil.

İşte zaman serileri için bir yığın yerine sanal belleği nasıl kullanabileceğinize dair bir örnek

 MemManager :: MemManager ( int reg_size , int unt_size , void *& p ) {
    unit_size = unt_size ;
    SYSTEM_INFO si ;
    GetSystemInfo ( & si ) ;
    page_size = si . dwPageSize ;
    region_size = ( reg_size / page_size ) * page_size ;
    if ( reg_size % page_size != 0 ) region_size += page_size ;
    next_page = region = ( char * ) VirtualAlloc ( 0 , region_size , MEM_RESERVE , PAGE_READWRITE ) ;
    p = region ;
    capacity = 0 ;
}
 
MemManager ::~ MemManager () {
     VirtualFree ( region , 0 , MEM_RELEASE ) ;
}
 
void MemManager :: realloc ( int sz ) {
    size = sz * unit_size ;
    if ( size <= capacity )
        return ;
    int tmp_size = size - capacity ;
    int inc_size = ( tmp_size / page_size ) * page_size ;
    if ( tmp_size % page_size != 0 ) inc_size += page_size ;
    char * p = ( char * ) VirtualAlloc ( next_page , inc_size , MEM_COMMIT , PAGE_READWRITE ) ;
    next_page += inc_size ;
    capacity += inc_size ;
}
 
Evet, evet, benim de dünya çapında ekonominin nasıl iyileştirileceğine dair birçok fikrim var.
Ayrıca çiftçilere nasıl düzgün bir şekilde saban yapacakları ve kadınlara nasıl doğru doğum yapacakları konusunda değerli tavsiyeler verebilirim.
Ve genel olarak, çok fakir olmama rağmen, buradaki en zeki benim ...
 

Akıllı insanlar başkalarının fikirlerini kullanır; o) İkinci dünyadan sonraki Japonlar gibi...

 
bana 6E'nin hikayesini anlat, Euro FX Para Birimleri -Globex tarih merkezinde değil mi? zagruayutsya neden sadece son iki gün.
Neden: