Hatalar, hatalar, sorular - sayfa 2634
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
Merhaba!
Bir toplu iş dosyasıyla birden çok MT4 çalıştırmak istiyorum.
Lütfen bana bunu nasıl yapacağımı ve kodumun neden çalışmadığını söyleyin:
En iyi ihtimalle, birkaç MT4 başlatılır, ardından donar.
Tabii ki, RAM sıkıntısı yok.
Ayrıca farklı bilgisayarlarda denedim.
hayır, çalışmıyor.
Bu arada sunucu saati Cumartesi günü durmuyor. burada bunun tersi geçerlidir: terminalde, sunucu zamanı yeni bir teklifin gelmesiyle güncellenir. örneğin, Market Watch'ta açık olan yalnızca bir sembolünüz var (yalnızca test cihazında değil, gerçekte de). ve beş saniye boyunca tık yok - tüm bu süre boyunca sunucu zamanlayıcısı hareket etmeyecek. Cumartesi için bu şekilde geçerlidir: sunucuda zaman geçiyor, ancak terminal bunu bilmiyor çünkü. kene yok. test eden kişi bu süreyi atlayacaktır.
Ben zaten kontrol ettim. Test cihazında TimeLocal, hafta sonları ve TimeTradeServer üzerinde çalışır . ve TimeCurrent doğal olarak mevcut değil. Kene yok, ancak sunucu süresi buna değer.
https://www.mql5.com/ru/forum/328008/page2#comment_14166682
Her zaman olduğu gibi bisikletler.
Burada soru, böyle bir rekorun neden geçmediğidir.
Sonuçta, parametrelerden gelen değişkenlerin başlangıç değerleri vardır.
Ve ölçümlerin boyutu sayılarla belirtilirse
Derleyicinin atlaması, sorun nedir?
Geliştirici nasıl yorum yapacak?
Ne amaçla? Hafta sonu otomatik optimizasyon çalıştırılsın mı? Ardından, OnTik'ten birkaç dakikalık bir zamanlayıcı ayarlamak uygundur. Çalışırsa, keneler durmuştur ve optimize edebilirsiniz.
Başka amaçlar için ise, bunları belirtin.
Hayır, başka amaçlar için değil.
TimeLocal'ın hafta sonları çalıştığını düşünmedim ve şunu yaptım: TimeCurrent'a birkaç saat ekledim ve haftanın gününü kontrol ettim. Cumartesiyse, optimizasyona başlayın.
Bununla, elbette, pazar Cuma günü veya tatil günlerinde farklı şekillerde kapandığından, Cumartesi gününün başlangıcını doğru bir şekilde belirlemek imkansızdır.
Ayrıca, piyasanın kapalı olup olmadığını belirlemek için hiçbir yerde bir araç bulamadım.
Hayır, başka amaçlar için değil.
TimeLocal'ın hafta sonları çalıştığını düşünmedim ve şunu yaptım: TimeCurrent'a birkaç saat ekledim ve haftanın gününü kontrol ettim. Cumartesiyse, optimizasyona başlayın.
Bununla, elbette, pazar Cuma günü veya tatil günlerinde farklı şekillerde kapandığından, Cumartesi gününün başlangıcını doğru bir şekilde belirlemek imkansızdır.
Ayrıca, piyasanın kapalı olup olmadığını belirlemek için hiçbir yerde bir araç bulamadım.
Sınanmış?
SembolBilgiOturumuTicaret
veya
SymbolInfoInteger( SYMBOL_TRADE_MODE )
Hatırladığım bazıları iyi olmalı
Sınanmış?
SembolBilgiOturumuTicaret
veya
SymbolInfoInteger( SYMBOL_TRADE_MODE )
Hatırladığım bazıları iyi olmalı
Hayır, yapmadım. Kılavuz, piyasanın açık olup olmadığının nasıl belirleneceğini özel olarak söylemiyor.
Gerçek şu ki, örneğin pazar Pazartesi günü "açıldığında", örneğin bir komisyoncu için teklifler 02:05'te gelmeye başlar, ancak işlemler birkaç dakika daha kabul edilmez, "Piyasa kapalı" olarak görüntülenir.
Bunun yardımcı olup olmayacağını bilmiyorum.
SYMBOL_START_TIME
Enstrümanda alım satımın başlangıç tarihi (genellikle vadeli işlemler için kullanılır)
Hayır, yapmadım. Kılavuz, piyasanın açık olup olmadığının nasıl belirleneceğini özel olarak söylemiyor.
Gerçek şu ki, örneğin pazar Pazartesi günü "açıldığında", örneğin bir komisyoncu için teklifler 02:05'te gelmeye başlar, ancak işlemler birkaç dakika daha kabul edilmez, "Piyasa kapalı" olarak görüntülenir.
Bunun yardımcı olup olmayacağını bilmiyorum.
SYMBOL_START_TIME
Enstrümanda alım satımın başlangıç tarihi (genellikle vadeli işlemler için kullanılır)
hayır, bu değil, SymbolInfoSessionTrade ayrıca alım satım zamanını ve SymbolInfoSessionQuote'u teklifler geldiğinde gösterir. tatillerde sadece kontrol etmek gerekir, kontrol etmedi.
ap: bu yardımcı olur
bool Ticarete İzin Verilir (
const dize sembolü // sembol
tarih saat test edilmiş_zaman // zaman
);
Her zaman olduğu gibi bisikletler.
Burada soru, böyle bir rekorun neden geçmediğidir.
Sonuçta, parametrelerden gelen değişkenlerin başlangıç değerleri vardır.
Ve ölçümlerin boyutu sayılarla belirtilirse
Derleyicinin atlaması, sorun nedir?
Geliştirici nasıl yorum yapacak?
Roman, ikinci kez belgeleri okumak için temel isteksizliğe başlıyorsunuz.
Bir dizi dizini yalnızca bir tamsayı olabilir . Dört boyutlu dizilerden fazlasına izin verilmez. Dizi elemanlarının numaralandırılması 0'dan başlar. Tek boyutlu bir dizinin son elemanı dizinin boyutundan 1 daha küçük bir sayıya sahiptir, yani 50 tam sayıdan oluşan bir dizinin son elemanına erişim [49] gibi görünecektir. . Aynısı çok boyutlu diziler için de geçerlidir - bir boyut 0'dan boyut-1'e indekslenir. Örnekteki iki boyutlu dizinin son elemanı m[6][49] gibi görünecektir.
Statik diziler zaman serisi olarak temsil edilemez, yani dizinin sonundan başlangıcına kadar dizi öğelerine erişim sağlayan ArraySetAsSeries() işlevi onlara uygulanamaz. Zaman serilerinde olduğu gibi bir diziye erişim sağlamak istiyorsanız, dinamik bir dizi nesnesi kullanın.
Dizinin ötesine erişirken, yürütme alt sistemi kritik bir hata üretecek ve program yürütmesi durdurulacaktır.
Ve mql4 belgelerinde, eğer hafızam beni tamamen değiştirmediyse, bir dizinin boyutu olarak değişkenlerin kullanılmasının kabul edilemez olduğu açıkça belirtilmiştir.
Her zaman olduğu gibi bisikletler.
Burada soru, böyle bir rekorun neden geçmediğidir.
Sonuçta, parametrelerden gelen değişkenlerin başlangıç değerleri vardır.
Ve ölçümlerin boyutu sayılarla belirtilirse
Derleyicinin atlaması, sorun nedir?
Geliştirici nasıl yorum yapacak?
Ben bir geliştirici değilim, ama yorum yapacağım.
Statik bir dizi için, derleyici zaten derleme sırasında bellekte belirli sayıda bayt tahsis etmelidir.
Derleme zamanında satır ve sütun bilinmiyorsa, derleyici ne kadar bellek ayırmalıdır?
İlk değerler, yalnızca çağrıldığında parametreler atlanırsa kullanılır. Gerçek parametreler yalnızca çalışma zamanında bilinir.
Yani, şaka yok, dili öğrenin.
hayır, bu değil, SymbolInfoSessionTrade ayrıca alım satım zamanını ve SymbolInfoSessionQuote'u teklifler geldiğinde gösterir. tatillerde sadece kontrol etmek gerekir, kontrol etmedi.
ap: bu yardımcı olur
bool Ticarete İzin Verilir (
const dize sembolü // sembol
tarih saat test edilmiş_zaman // zaman
);
Bence bu değil. Burada özel bir konu var: https://www.mql5.com/en/forum/40295
Özellikle MQL4 için olduğu için sonuna kadar bakmadım.
Piyasa kapalıysa sunucunun sembol teklifleri göndermemesi gerektiğini düşünüyorum .
Bu, robotumu gerçekten etkilemiyor, çünkü piyasanın "açılmasından" sonra, keneler geldiğinde, trendi, geri dönüşlerini analiz ediyor ve bu biraz zaman alıyor. Bu süre zarfında piyasa açılır.
Ancak bu, şu anda bazı işlemleri manuel olarak yapmak istiyorsak müdahale ediyor. Ve yürütme piyasa ise, talep piyasa açılana kadar askıda kalır ve doğal olarak mevcut fiyattan yürütülür.
Açıkçası, sembolün adını alacak ve doğru/yanlış döndürecek doğrudan bir işlev eksikliği var (piyasa açık/kapalı).