[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 409
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
Bir grafik açıldığında ve güncellendiğinde, sunucuya yeni veriler için bir istek gönderilir. Bazı açgözlü DC'ler, paralarını daha güçlü sunucularda ve daha geniş bir kanalda değil, ceplerine koymayı tercih ediyor. Zayıf sunucunun "askıda kalmaması" için terminalden gelen istek sayısını sınırlamaları gerekir. MRC'nin günde yalnızca 2000 isteği vardır. Bu, ticaret taleplerini hesaba katmadan, TF'lerin sayısı ile çarpılan enstrümanlarının sayısından 10 kat daha azdır.
MQL4'teki eklemeler, kodu düzenlemeye yardımcı olur. Örneğin, göstergem 3000 satır için böyle görünüyor.
Gerçek şu ki, kütüphaneleri gördüm ve belgelerde de genellikle global değişkenlerin bildirildiği kodun en üstünde include bildirdikleri söyleniyor. Eğer içermelerde fonksiyonlar varsa, o zaman global değişkenlerin bildirildiği yerde, o yere dahil edilmesinin bir sonucu olarak aslında bir fonksiyonun olacağını ve bir seçenek olarak, bir şekilde değişkenlerin bir şekilde olacağını hayal etmek bence garip. . Kodlar böyle yazılmaz. Expert Advisor'da kullanılan değişkenler ve harici kullanıcı değişkenleri en üstte bildirilmişse, kimse bunların yanına işlev koymaz! Ancak, işlevlerin bulunduğu içerme yerleştirilir ve bu, anladığım kadarıyla normal kabul edilir. Burada kafamı en çok karıştıran şey bu.
Nedense mantıklı gelmiyor...
Öte yandan, içerme bir yere yerleştirilirse. Diyelim ki bir bazda bir alım satım sinyali almaktan sorumlu olan birkaç fonksiyon yerine, bu mantıklı ve okunabilir bir an olacaktır.
Ne yazık ki, derleyici tek bir içermenin aynı modülde birden fazla kullanılmasına izin vermiyor. Bu genellikle tekrarlayan koddan tasarruf sağlar.
Herkese iyi günler.
MarketInfo ( ) ve Print ( ) fonksiyonlarını öğrenme
İşte bu işlevleri kullanan basit bir kod
Test cihazı, TF 60 dak.
Grafikten gelen istek, RefreshRates'e değil, CopyRates ArrayCopySeries'e benzer. CopyRates, ticari olmayan tek sunucu kıpırdatma işlevidir.
RefreshRates() kontrol edildi. Bu Expert Advisor, örneğin EURUSD'de başlatılırsa ve ayarlara başka bir enstrüman eklenirse, uzun süredir açılmamış bir pencere (böylece geçmiş yok), o zaman geçmiş görünür.
Yine de RefreshRates() sunucuyu çağırır ve geçmişi hızlandırır. Sonuç olarak, tarihin gelişini kontrol etmek gerekir.
Ve destek olarak, tek bir işlevin sunucuya doğrudan erişmediğini söyleyecekler. Gibi, her şey terminalden yapılır :-)
GetProfitFromDateInCurrency () kullanıyorsanız (orijinal olan ÖNEMLİ: Orada sürümünüzde ne "alabileceğinizi" bilmiyorum), o zaman şöyle çağırmanız gerekir:
ve fonksiyon, cari günün başlangıcından beri kapatılan siparişlerde kârı döndürür.
Ve koddaki TÜM saçmalıklar Print () aracılığıyla yakalanır.
çalışmıyor. Tüm geçmiş için işlemlerde mevcut tüm karı verir.
işte orijinal işlev ve doğal olarak hiçbir şeyi değiştirmedim
işte onun meydan okuması ve baskısı
RefreshRates() kontrol edildi. Bu Expert Advisor, örneğin EURUSD'de başlatılırsa ve ayarlara başka bir enstrüman eklenirse, uzun süredir açılmamış bir pencere (böylece geçmiş yok), o zaman geçmiş görünür.
Yine de RefreshRates() sunucuyu çağırır ve geçmişi hızlandırır. Sonuç olarak, tarihin gelişini kontrol etmek gerekir.
Ve destek olarak, tek bir işlevin sunucuya doğrudan erişmediğini söyleyecekler. Gibi, her şey terminalden yapılır :-)
Vadim, senaryonu ana dallar ve yen ile çaprazlar dışında hiçbir enstrümanı açmadığım terminalde çalıştırdım. Genel olarak, işte ekran görüntüsü:
Hiçbir şey indirilmiyor, tk. yorumlara bakılırsa piyasa veri dizisi boş..
Vadim, senaryonu ana dallar ve yen ile çaprazlar dışında hiçbir enstrüman açmadığım terminalde çalıştırdım. Genel olarak, işte ekran görüntüsü:
Hiçbir şey indirilmiyor, tk. yorumlara bakılırsa piyasa veri dizisi boş..
Evet. Ayrıca, EA'sında sadece RefreshRates() değil, MarketInfo() olduğunu da fark etmedi.
Kontrol edilen RefreshRates(). Bu Expert Advisor, örneğin EURUSD'de başlatılırsa ve ayarlara başka bir enstrüman eklenirse, uzun süredir açılmamış bir pencere (böylece geçmiş yok), o zaman geçmiş görünür.
Yine de RefreshRates() sunucuyu çağırır ve geçmişi hızlandırır. Sonuç olarak, tarihin gelişini kontrol etmek gerekir.
Ve destek olarak, tek bir işlevin sunucuya doğrudan erişmediğini söyleyecekler. Gibi, her şey terminalden yapılır :-)
Etkileyici düzeyde şiddet içeren fanteziler. Veriler neden sadece bazı semboller (henüz açılmamış) için ortaya çıktı ve piyasa incelemesinde bulunanların tümü için görünmüyor? RefreshRates() işlevi, bazı karakterlerin güncellenmesi gerektiğini ve bazılarının gerekmediğini zor bir şekilde nasıl öğrendi?
Junko, saçmalamayı kes.
çalışmıyor. Tüm geçmiş için işlemlerden elde edilen tüm karı dağıtır.
işte orijinal işlev ve doğal olarak hiçbir şeyi değiştirmedim
işte onun meydan okuması ve baskısı
Pekala, sorun değil. Fonksiyonu satır satır "okuyorsunuz" ve nasıl çalıştığını anlayacağım, eğer kendiniz yazarsanız ve her şey yerine oturacaktır ..
Bir işlev parametreniz var:
günün son çubuğunun açılış saati, yani. o gün açılmadan önce kapatılan tüm pozisyonlar hesaplanacak ve özetlenecektir! mantıklı mı? Bu yüzden ihtiyacınız olan veya elinizde ne varsa başka bir çubuk koyun. Ama kendin gör.
Evet. Ayrıca, EA'sında sadece RefreshRates() değil, MarketInfo() olduğunu da fark etmedi.
Diğer tüm özellikler:
DoubleToStr(iOpen(sTool, 0, i), Rakamlar), " ",
DoubleToStr(iLow(sTool, 0, i), Rakamlar), " ",
DoubleToStr(iHigh(sTool, 0, i), Rakamlar), " ",
DoubleToStr( iClose (sTool, 0, i), Rakamlar), " ",
DoubleToStr(iVolume(sTool, 0, i), 0), "\n");
Doğal olarak, veriler güncellenecektir.