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
Sınıfların programın sonunda değil, sadece başında anlatılması pek uygun değildir.
Editörde, Word'de olduğu gibi, düzenleme penceresini iki bağımsız pencereye bölen bir kaydırıcı yapmak güzel olurdu. Programın iki bölümünü aynı anda kopyalamak, yazmak ve izlemek uygun olacaktır.
Bu olur...
Tek istisna (ve mutlaka değil) hafta sonlarıdır. Bunları atlayabilirsiniz, ancak yine farklı enstrümanlar için eşzamanlı olarak GARANTİLİDİR.
Forex'in aslında hafta sonları çalıştığını biliyor muydunuz?
çoğu broker çalışmıyor
---
hatta bazıları hafta sonları teklif veriyor ve siparişlerle çalışmanıza izin veriyor
hangisi çok uygun
hafta sonları spread'i açabilirler - likidite yok
ama değiştirecek bir şeyi açık arkasına saklamak için bir fırsat var
Formun bir dizgisi ile çalışmak için standart kitaplıklara bir işlev eklemek güzel olurdu: Dizgiyi "başlangıç", "bitiş" ile sınırlı modüllere ayırın ve bunları bir dizi diziye yazın. Örneğin: int count=(string, array,"<h1>","</h1>",flag); .Dize gelen dize olduğunda, dizi giden dize dizisidir, "<h1>" dizedeki modülün başlangıcıdır, "</h1>" dizedeki modülün sonudur. flag - modül sınırlayıcılarının dizinin çıkış satırlarına dahil edilip edilmeyeceğini belirtir, count - bulunan modüllerin sayısı.
Bu durumda, int count=(string, array,"<h1>","</h1>",flag); - dizedeki tüm başlıkların yığınlarını yaratacaktır.
Bu, mevcut araçlar kullanılarak da uygulanabilir, MQL4 ile HTML Ayrıştırma makalesini okuyun
Eh, mevcut araçlarla bunu adım adım yapmanın mümkün olduğu açıktır. Ancak her şeyi aynı anda yapan hazır bir işleve sahip olmak iki sayfa koddan daha iyidir....
Editörde, program kodunun bazı bloklarını gizleme/açma işlevine sahip olmak faydalı olacaktır. Örneğin, "işlevler", "tanımlar", "sınıflar"... bölümleri veya program kodunun iç içe bölümlerini gizleyebilir / açabilirsiniz, örneğin , if ...
Veri erişiminin organizasyonu bölümünü okuyun, geçmişin nasıl doğru bir şekilde sorgulanacağını söylüyor
Bildiriyorum. Ve bir bölüm. Ve ustalaştı. Gerekirse sıralanabilir. Hâlâ MQL'de ustalaşmam gerekiyor, bu yüzden dille ilgili sorularımın neredeyse tamamı aptal olma riskini taşıyor.
Başka bir şeyi yanlış anladım, bu bir: ""Grafiklerdeki maksimum çubuklar" parametresi, grafikler, göstergeler ve mql5 programları için mevcut olan HC formatındaki çubukların sayısını sınırlar. Bu sınırlama, tüm zaman dilimlerinin verileri için geçerlidir ve öncelikle kaydetme amaçlıdır. kaynaklar.
Bu parametrenin büyük değerlerini ayarlarken, daha düşük zaman dilimleri için yeterince derin bir fiyat verisi geçmişi varsa, zaman serilerini ve gösterge arabelleklerini depolamak için bellek tüketiminin yüzlerce megabayta kadar çıkabileceği ve RAM sınırına ulaşabileceği unutulmamalıdır. istemci terminal programı (32-bit MS Windows uygulamaları için 2GB). )."
Bu bölümde, muhtemelen neler olduğunu gerçekten anlamadım, ancak aynı zamanda burada ve şimdi MQL programları hakkında soru sormayacağımı, ancak doğrudan manuel olarak çalışırken terminal tarafından otomatik geçmiş isteği ile ilgili soru sormayacağımı bir kez daha vurguluyorum. grafikle, kaynakları kurtarmak için yukarıdaki nedenler garip görünüyor. Kodunuz kapalı, bu yüzden orada her şeyin nasıl çalıştığını yargılayamam. Her bir şamdan, hastalıklı özellik ve nitelik kümelerine sahip hastalıklı bir nesne mi, yoksa piyasanın yapısal görüntüsünün basitleştirilmiş bir grafik çizimi/yeniden çizimi mi var bilmiyorum. Eksik tarihi dışarı pompalama konusunu atlarsak, kendimizi zaten elimizde olanla sınırlandırırsak, çizim yaklaşımının rasyonelliği ile ilgili soru ortaya çıkar. Ayarlarda çizelgede belirli ve çok sayıda bar ayarlasanız da, grafiğin barlarını iğneye sıkıştırsanız da monitörü çok yüksek bir çözünürlüğe ayarlasanız bile buna inanmıyorum. barların tarihsel DBMS'sinden ekrana doğru bir şekilde yüklenirse, görünen resmin tamamı RAM'i öldürür. LIFO ilkesini mi kullanıyorsunuz? Grafikteki maksimum çubuk sayısı sonsuz büyük olabilir, ancak ekranın arkasında ne var (sağda ne var, solda ne var) hiç bellekte olmamalı ve kaydırırken, sayfaya yüklenmelidir. Ekrandan ayrılan RAM'in boşaltılması anlık olmalıdır, çünkü burada Net ile çalışmıyoruz, sadece yerel olarak mevcut geçmişle çalışıyoruz. Ne tür korkunç 2 GB kısıtlamalarından bahsedebiliriz?
...muhtemelen konu dışıyım, bu yüzden köylüyü şimdiden bağışlayın.
Her fiyat çubuğu, 52 bayt boyutunda MqlRates yapısıyla (başka hiçbir özellik olmadan) tanımlanır:
Çalışan veritabanlarının hacmini tahmin etmek için /bases/servername/symbol/ dizinine bakmanız gerekir. Örneğin, EURUSD için aşağıdakileri görebilirsiniz:
Bu dizin, ticaret sunucusu tarafından verilen orijinal sıkıştırılmış dakika kaplarını içerir. Görüldüğü gibi 1 yıl için dakikalar ortalama 15 mb zaman almaktadır. Bu, trafiği en aza indirmek için çok özel bir sıkıştırma biçimidir.
Gerektiğinde oluşturulan sıkıştırılmış çalışma veritabanları önbellek dizinine yerleştirilir:
Burada 1993'ten bu yana dakikaların (aslında, dakikalar yerine 1999'a kadar günler vardır) sıkıştırılmış ve çalışmaya hazır bir biçimde 231 megabayt kapladığını görebilirsiniz. Aynı zamanda, yakındaki saatler sadece 4 mb kaplar.
52 baytı 4.400.000 çubukla çarparsanız, yaklaşık 230 MB'lık bir değer elde edersiniz. Böyle bir geçmişe bir çalışma arabelleği (çift) ile basit bir Hareketli Ortalama göstergesi uygulamak için 4.400.000 * 8 = 35 MB bellek gerekir.
Bir tüccar, terminal ayarlarında "Pencere başına maksimum çubuk" ayarladığında, açıkça "işlem için belleğe belirtilen sayıda çubuktan fazlasını yüklemeyin" der. Tüm dakika geçmişi yüklenirse (M1 grafiği üzerinde çalışma devam ediyor), birkaç ağır çoklu arabellek göstergesi üst üste bindirilir, uzmanlar kullanılır, o zaman bellek maliyetleri önemli olabilir. Ve "Bir pencereyle çalışıyorum, 500 çubuk görüyorum, gerisi boşaltılabilir" diye sayamazsınız. Kaldırmak imkansız - göstergeler, uzmanlar vb. Bu veriler üzerinde yaşıyor ve çalışıyor.
Verilerin ve göstergelerin her zaman tekil olarak depolandığı çok verimli bir önbelleğe alma modeli uyguladık. Yani, EURUSD:M1'de 5 pencere açmak, verilerle 5 arabellek oluşturulmasını gerektirmez ve parametrelerde kesinlikle aynı olan birkaç göstergenin yalnızca bir kopyası vardır. Göstergeler veya çizelgeler uzun süre kullanılmadığında, verileri otomatik olarak serbest bırakılır ve gerektiğinde geri alınır.
Ek olarak, büyük bir geçmişle kısıtlama olmaksızın çalışabilen istemci terminalinin 64 bit sürümüne sahibiz. 64-bit ortamında MQL5 testleri biter bitmez bu sürüm yayınlanacaktır.