Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 846
![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
Fonksiyonlardan sonra GetLastError yazdım ve bir hata oluşursa bu bloğa (yazıldığı gibi) gitmeyecek ve komutlar yürütülmeyecek mi? Anladığım kadarıyla zincir, örneğin OrderSend() -> GetLastError -> hata bloğu Sleep(3000) RefreshRates() -> bloktan çıkıyor ve koşullar devam ederse, OrderSend() isteği tekrar gidiyor. Ya da benim akıl yürütmem ve temsillerim doğru değil. 1 veya 0 dönüş değerini bloğa yazmamı öneriyorsunuz anlıyorum ama basit fonksiyonlarım SignalBuy türündeki Boolean değerlerine bağlı değil, eğer doğru anladıysam ve dönüş değerleri o zaman olmalı iade.
Fonksiyonlardan sonra GetLastError yazdım ve bir hata oluşursa bu bloğa (yazıldığı gibi) gitmeyecek ve komutlar yürütülmeyecek mi? Anladığım kadarıyla zincir, örneğin OrderSend() -> GetLastError -> hata bloğu Sleep(3000) RefreshRates() -> bloktan çıkıyor ve koşullar devam ederse, OrderSend() isteği tekrar gidiyor. Ya da benim akıl yürütmem ve temsillerim doğru değil. 1 veya 0 dönüş değerini bloğa yazmamı öneriyorsunuz anlıyorum ama basit fonksiyonlarım SignalBuy türündeki Boolean değerlerine bağlı değil, eğer doğru anladıysam ve dönüş değerleri o zaman olmalı iade.
Tavsiye ihtiyacı. Koşullara uygun olarak pozisyon kapatılmalı ve 121 saniye sonra yeni bir pozisyon açılmalıdır. Uyku (121000) ile nasıl yapılır?
Tünaydın!
Tavsiye ihtiyacı. Koşullara uygun olarak pozisyon kapatılmalı ve 121 saniye sonra yeni bir pozisyon açılmalıdır. Uyku (121000) ile nasıl yapılır?
OnTimer() kurtarmaya
İnsanlar Mt4'ü yüklemek istedikten sonra Windows 7'yi yeniden yüklediler, sorun şu ki dosyalar indirilmiyor, ne yapmalıyım?
Teşekkür ederim! OnTimer() hiç kullanılmadı. Bu kod parçası geçersiz OnTick() içindedir. Ardından OpenPosition işlevi ortaya çıkacaktır (OnTimer() tarafından işlenir mi? Yapabiliyorsanız, lütfen kodu düzeltin OnTimer()'ı oraya doğru şekilde nasıl yerleştireceğinizi..
Zamanlayıcı OnInit() içinde başlatılır
Geri sayımı başlatmak için zamanlayıcıda son pozisyonun kapanış saatini bulmanız ve bu andan itibaren 121 saniye saymanız gerekir. Yeni bir pozisyonun açılmasına izin veren bir bayrak iletmek için kapsamı tüm programı kapsayan global bir değişken kullanın. Başlangıçta 121'den büyük bir değer içermesini sağlayabilirsiniz, örneğin 122 (bekleme süresini ayarlardan değiştirebilirsiniz).
OnTick()'te Bu değişkeni kontrol edin. 121'den fazlaysa ve pozisyon yoksa - bir pozisyon açın - ve açılış başarısını kontrol ettikten sonra değişkeni sıfırlayın.
Pozisyon kapanır kapanmaz zamanlayıcı kapanma zamanını görür (bunu sürekli olarak saniyede bir yapar) ve mevcut zamandan pozisyon kapanma zamanına 121 saniyeden az bir süre geçmişse, zaman sayımı başlar - her saniye değeri 1 ile değişken olarak ekleyin.
Aşağı yukarı böyle. Nerede bir hata olabilir - pozisyon henüz kapanmadıysa, kapanma zamanı sıfırdır. Bu, geri sayımın başlatılmasında bir soruna neden olabilir. Örneğin, değişkeni -1'e sıfırlayabilirsiniz.
Evet, OnDeinit() içindeki zamanlayıcıyı yok etmeyi unutmayın:
Zamanlayıcı OnInit() içinde başlatılır
Geri sayımı başlatmak için zamanlayıcıda son pozisyonun kapanış saatini bulmanız ve bu andan itibaren 121 saniye saymanız gerekir. Yeni bir pozisyonun açılmasına izin veren bir bayrak iletmek için kapsamı tüm programı kapsayan global bir değişken kullanın. Başlangıçta 121'den büyük bir değer içermesini sağlayabilirsiniz, örneğin 122 (bekleme süresini ayarlardan değiştirebilirsiniz).
OnTick()'te Bu değişkeni kontrol edin. 121'den fazlaysa ve pozisyon yoksa - bir pozisyon açın - ve açılış başarısını kontrol ettikten sonra değişkeni sıfırlayın.
Pozisyon kapanır kapanmaz zamanlayıcı kapanma zamanını görür (bunu sürekli olarak saniyede bir yapar) ve mevcut zamandan pozisyon kapanma zamanına 121 saniyeden az bir süre geçmişse, zaman sayımı başlar - her saniye değeri 1 ile değişken olarak ekleyin.
Aşağı yukarı böyle. Nerede bir hata olabilir - pozisyon henüz kapanmadıysa, kapanma zamanı sıfırdır. Bu, geri sayımın başlatılmasında bir soruna neden olabilir. Örneğin, değişkeni -1'e sıfırlayabilirsiniz.
Evet, OnDeinit() içindeki zamanlayıcıyı yok etmeyi unutmayın:
Tamam teşekkürler. Bunu tek satırda yapmayı umuyordum, ancak görünüşe göre çalışması daha uzun sürecek.
Tamam teşekkürler. Bunu tek satırda yapmayı umuyordum, ancak görünüşe göre çalışması daha uzun sürecek.