Hatalar, hatalar, sorular - sayfa 2936
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Sonuç:
Garip, belirtilmemiş numara da ne? Yardım'da bulamadım ve google'da da aramadım. EMPTY_VALUE gibi görünmüyor.
Bir tür çöp
Değer ayarla
Bir tür çöp
Değer ayarla
Evet, benim için pratik için değil, tamamen teorik meraktan. Başka bir sayı daha çok çöp gibi görünüyordu (9xxx - tam olarak hatırlayamadım) ve yalnızca bir kez göründü ve ayrıca artık yeniden üretilmesi mümkün değildi, ancak yukarıdaki sayı sabitti ve zaman zaman tekrarlandı. (İlginç bir şekilde, sizde ve diğerlerinde aynı şey var mı?) Ben buna paralel, asıl mesele, diğer programcıların buna acı bir şekilde tökezlememesi.
Evet, benim için pratik için değil, tamamen teorik meraktan. Başka bir sayı daha çok çöp gibi görünüyordu (9xxx - tam olarak hatırlayamadım) ve yalnızca bir kez göründü ve ayrıca artık yeniden üretilmesi mümkün değildi, ancak yukarıdaki sayı sabitti ve zaman zaman tekrarlandı. (İlginç bir şekilde, sizde ve diğerlerinde aynı şey var mı?) Ben buna paralel, asıl mesele, diğer programcıların buna acı bir şekilde tökezlememesi.
"0" aldım, birkaç kez kontrol ettim
"0" aldım, birkaç kez kontrol ettim
Hmm... Bir durumun diğeriyle nasıl ilişkili olduğunu bilmiyorum, ancak bunu farklı döviz çiftlerinde bir gösterge olarak başlattım - sayılar farklıdır ( her tik ile her enstrümanda aynı sayı tekrarlanır), hatta vardı sıfır. Garip. Ama kendi numarasıyla başlatma olmadan gerçekten çöp gibi görünüyor.
Hmm... Bir durumun diğeriyle nasıl ilişkili olduğunu bilmiyorum, ancak bunu farklı döviz çiftlerinde bir gösterge olarak başlattım - sayılar farklıdır ( her tik ile her enstrümanda aynı sayı tekrarlanır), hatta vardı sıfır. Garip. Ama kendi numarasıyla başlatma olmadan gerçekten çöp gibi görünüyor.
Kodu tiklerle yapıştırarak tekrar kontrol edildi
MT4'te sürekli 0
mt5'te evet, o zaman 0 son derece nadirdir, o zaman sayı 511026368'dir.
Hmm... Bir durumun diğeriyle nasıl ilişkili olduğunu bilmiyorum, ancak bunu farklı döviz çiftlerinde bir gösterge olarak başlattım - sayılar farklıdır (her enstrümanda aynı numara her tik ile tekrarlanır ), hatta vardı sıfır. Garip. Ama kendi numarasıyla başlatma olmadan gerçekten çöp gibi görünüyor.
Bir dizi (ve diğer tüm değişkenler), oluşturulduğunda bellek tahsis edilir. Dizi başlatılmazsa, bu bellekte geçmiş kullanımlardan geriye kalanlar = çöp.
Değerleri programdan değiştirmezseniz, bu belleğe hiçbir şey olmaz, çöp değerini korur.
MT4'te tüm değişkenler ve diziler sıfıra başlatılmaya zorlanır.
CExpert.TradeEventOrderTriggered() çağrılmadı
FORTS piyasasıyla çalışırken, BCS-Demo sunucusu, bekleyen siparişler tetiklendiğinde CExpert.TradeEventOrderTriggered() çağrısının kararsızlığı bulundu.
MQL5 standart kitaplığının CExpert::CheckTradeState yönteminin kodu, pozisyonlar, siparişler, anlaşmalar ve geçmiş hakkında bilgi edinmenin olası uyumsuzluğunu hesaba katmaz.
Kod geçmiş verilere göre yürütülürse koşullar doğru işlenir. Gerçek verilerle çalışırken, pozisyonlarda, anlaşmalarda, emirlerde ve tarihteki değişiklikler hakkında eşzamanlı olmayan bilgi alma durumları olabilir, ayrıca bilgi edinme sırası keyfidir.
bool CExpert::CheckTradeState(void) yöntemi çağrı günlüğü. CheckTradeState()'e yapılan bir çağrı 2 satıra karşılık gelir " CheckTradeState: ....."
Günlükten şunları görebilirsiniz:
1. Bekleyen emirleri tetikledikten sonra, geçmiş uzunluğu, anlaşmalar, emirler ve pozisyonlar hakkındaki bilgilerden sonra güncellenir, bu da koddaki 1. koşulun yerine getirilmesini imkansız hale getirir.
2. Emir, işlem ve pozisyon sayısındaki değişiklikler hakkında bilgi almanın senkronizasyonu bozulabilir, bu da koddaki 2. koşulun yerine getirilmesini imkansız hale getirir (ilk problemi bir şekilde atlarsanız ve ilk if'yi uygularsanız). Belki de bu senkronizasyonsuzluk, sipariş 2 aşamada (parçalar halinde: 1 lot + 1 lot) yürütüldüğünde meydana geldi, ancak bu durumda neden işlem sayısı +2 değil de +1.
Bu kodla mahvettim:
Bloğun anlamı: asenkron modda, geçmiş yüklenmediğinde mümkün olan prosedürün sonuna ulaştıysak, geçmişi getiririz, ancak sipariş sayısının değerlerini hatırlamıyoruz, vb.
Not: Standart kitaplığın bu bölümünün az gelişmiş olduğu görülüyor. Özellikle arka arkaya 3 kez yazılan bir kod parçası utanç verici.
Sorunun fark edileceği ve bir yerlerde bir şeylerin düzeltileceği umuduyla buraya yazıyorum.
Market'teki Expert Advisors'ın EX5 dosyalarının boyutlarına baktım. İzlediğim her şey 200 Kb'den az. Onu bu kadar küçük yapan nedir? Basit kod?
Yazarların sadece dahiler olduğunu düşünüyorum, en çok satanların% 90'ının platform hakkında hiçbir sorusu yok - buna göre doğuştan gelen bilgilerle kod yazıyorlar)))
soru budur:
Veri kaynağını bağlarım:
bir hata alıyorum:
'Common\Files\EURUSD_tick.bin' kaynak dosyası bulunamadı
kaynak dosyası açılamıyor .....\\MQL5\Experts\Virtual\Common\Files\EURUSD_tick.bin' (3)
dosya EA klasöründe veya Dosyalar klasöründe bulunuyorsa, her şey yolunda demektir.
Ortak klasörden bir kaynak bağlamanın imkansız olduğu ortaya çıktı mı? -ya da kayıt olmak için bir yola mı ihtiyacınız var?
Yazarların sadece dahiler olduğunu düşünüyorum, en çok satanların% 90'ının platform hakkında hiçbir sorusu yok - buna göre doğuştan gelen bilgilerle kod yazıyorlar)))
Sorularınız için, diğer hesaplar.
Ortak klasörden bir kaynak bağlamak imkansız mı? -ya da kayıt olmak için bir yola mı ihtiyacınız var?
Bilmemek.