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
Double MarketInfo(string symbol, int type) fonksiyonunu, giriş parametrelerinin özelliklerine göre farklı veri türleri döndüren bir fonksiyon seti olarak taşımayı öneriyorum
Örneğin, bu fonksiyonlar:
int MarketInfoInt(string sembol, int tip);
string MarketInfoStr(string sembol, int tip)....
Bir keresinde geliştiricilerle REFERANSLAR ve fonksiyonların sonuçları hakkında iletişim kurdum, ancak bunu yapmayı reddettiler (ve bu üzücü).
PS
Bu temelde, şu an için en iyi çözümün gerekli tüm fonksiyonları içerecek olan MarketInfo kütüphanesi olacağını düşünüyorum.
Bu arada, bu tam olarak kendi kütüphanemde yaptığım şey :)
Bence bir geçiş ortamında TF'yi idare etmek için iki özelliğe ihtiyaç vardır:
1. Saniye sayısını TF'ye dönüştürür - örneğin ENUM_TIMEFRAMES SecondToPeriod (int Value);
2. Periyodu saniyeye dönüştürür - örneğin int PeriodToSecond(ENUM_TIMEFRAMES Value).
Bunu en başta geçiş modülümde başarıyla yaptım (ayrıca bir DLL seçeneği de var).
PS
MQL4 ile uyumu en üst düzeye çıkarmak için, şahsen standart olmayan tüm dönemlerden kurtuldum
işlev iyi ve kullanışlı ama uygulama....
Ben olsam şu şekilde yapardım
tüm fonksiyonlarda sadece dizilerin boyutunu tanımlamanız gerekir
Tıpkı Az Buki Vedi gibi.
İşlev iyi ve yararlı ama uygulama..... sapkınlık.
İşiniz mi?
WHERE BREAK!!!!!! keder programcıları!!!!
tüm işlevlerde dizilerin boyutunu
basitçe az'buki vedi olarak tanımlamanız yeterlidir.
Her zaman değil, zaman serilerine ve göstergelere erişim bölümüne bakın:
Zaman serileri ve göstergelerle çalışmak için fonksiyonlar. Bir zaman serisinin normal bir diziden farkı, zaman serisi elemanlarının indekslenmesinin dizinin sonundan başına (en yeni veriden en eskisine) doğru yapılmasıdır. Zaman serileri ve göstergelerin değerlerini kopyalamak için yalnızca dinamik dizilerin kullanılması önerilir, çünkü kopyalama işlevleri gerekli büyüklükteki dizi-değer alıcılarını bağımsız olarak ayırır.
Bu kuralın önemlibir istisnasıvardır : zaman serileri ve gösterge değerlerinin kopyalanması sık sık yapılması gerekiyorsa, örneğin Uzman Danışmanlarda her OnTick() çağrısında veya göstergelerde her OnCalculate ( ) çağrısında, bu durumda statik olarak dağıtılmış diziler kullanmak daha iyidir, çünkü dinamik diziler için bellek ayırma işlemleriek zaman gerektirir ve bu Uzman Danışmanların test ve optimizasyonunu etkileyecektir.
Her zaman değil, Zaman Serilerine ve Göstergelere Erişim bölümüne bakın:
Uygulamamın gösterdiği gibi, bunu yapmak yapmamaktan daha iyidir.
Aksi takdirde bir veri erişim hatası ortaya çıkar
özellikle global dizilerde.
İlk olarak, belirli bir boyuta sahip bir dizide indeksleme statiktir ve ters çevirme dizilerinin bu tehlikeli anları yoktur.
İkincisi, diziler için alan daha tutumlu bir şekilde tahsis edilir
ve üçüncü olarak, dizi erişim hatası olasılığı birçok kez azalır.
Bu nedenle, bu işlevlerin dizi boyutunu belirlemek için bir işleve ihtiyaç duyduğuna inanıyorum.
işlev iyi ve kullanışlıdır, ancak işte uygulama....
Ben olsam bu şekilde yapardım
Makale değiştirilmiştir:
Bu tasarımın işlevselliği hakkında çok fazla şüphe duymaya başladım. Bloğun mantığını ne kadar anlamaya çalışsam da yapamadım (ve çok uğraştım)....