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
Her şeyin MQL4'teki gibi çalışması gerektiğini söylediniz.
Ancak bu komut dosyası MQL5'te de çalıştırılabilir
Kesin=True ve future tense ile -1 döndürmeniz gerekir.
Ve senaryom sende garip bir hata buldu:
Bu hata, bu kontrol tarafından onaylanır:
Yani algoritmanızdaki anormal durumların varlığı konusunda hala haklıydım.Sonunda hatayı bulduğunuza sevindim.
Kontrol edeceğim, teşekkürler.
Herkese iyi akşamlar. Belki bir şeyi yanlış anlıyorum ve yine de Bars'ın () başlangıcında zaten önerilen standart işlevin neden uygun olmadığı tam olarak açık değil. Ben sürekli kullanıyorum ve hiçbir problem yaşamıyorum. Daha sonra karşılaşabileceğiniz tek şey "aralık dışı dizi" veya TimeCurrent() kullanırken negatif bir değerdir, ancak buna göre kontrol etmeniz gerekir. Örnekler:
Herkese iyi akşamlar. Belki bir şeyi yanlış anlıyorum ve yine de Bars'ın () başlangıcında zaten önerilen standart işlevin neden uygun olmadığı tam olarak açık değil. Ben sürekli kullanıyorum ve hiçbir problem yaşamıyorum. Daha sonra karşılaşabileceğiniz tek şey "aralık dışı dizi" veya TimeCurrent() kullanırken negatif bir değerdir, ancak buna göre kontrol etmeniz gerekir. Örnekler:
32000000000 sayısına bakılırsa, bu aynı zamanda benim eserim. UINT_MAX sadece daha kısa ve daha sağlam görünüyor. ))
Gerçek şu ki, bu seçenek ortaya çıktığı gibi daha doğru:
Ama değil
neredeyse hiçbir dış fark yoktur. Ancak öte yandan, üst sürüm, MQL4'ün standart iBarShift işlevini çok doğru bir şekilde tekrarlar.
32000000000 sayısına bakılırsa, bu aynı zamanda benim eserim. UINT_MAX sadece daha kısa ve daha sağlam görünüyor. ))
Gerçek şu ki, bu seçenek ortaya çıktığı gibi daha doğru:
Ama değil
neredeyse hiçbir dış fark yoktur. Ancak öte yandan, üst sürüm, MQL4'ün standart iBarShift işlevini çok doğru bir şekilde tekrarlar.
Peki nerede durdunuz, en kolay ve doğru olan nedir?
Peki nerede durdunuz, en kolay ve doğru olan nedir?
Şimdilik bu seçenek , ancak şimdi hizmet masasına aboneliğimi iptal ettiğim Barlar işlevinin askıya alınmasıyla ilgili bu hatayı atlaması için onu tamamlamak istiyorum.
Bu hatanın özü, Bars işlevindeki start_time ve stop_time'ın her ikisinin de aynı çubuğun içinde veya gelecekte (sıfır çubuğunun sağında) olması durumunda, bu işlevin 10 saniyeden fazla donmasıdır.
Belki biraz sonra, yine de doğru sürümü daha hızlı yapacağım, ancak daha hantal.
Farklı bir yol seçmeye karar verdim.
iBarShift'i yeniden yapmayacağım, ancak buggy Bars işlevini yeniden yapacağım.
Ayrıca, yeni iBars işlevi yalnızca donma hatasını atlamakla kalmayacak, aynı zamanda orijinal Barlardan daha hızlı çalışacaktır.
Bu fonksiyon diğer algoritmaları kullanabilecek ve mevcut algoritmalar daha hızlı çalışacaktır.
Sadece zamana ihtiyacım var. Bunu ertesi güne kadar yapamayacağım.
Farklı bir yol seçmeye karar verdim.
iBarShift'i yeniden yapmayacağım, ancak buggy Bars işlevini yeniden yapacağım.
Ayrıca, yeni iBars işlevi yalnızca donma hatasını atlamakla kalmayacak, aynı zamanda orijinal Barlardan daha hızlı çalışacaktır.
Bu fonksiyon diğer algoritmaları kullanabilecek ve mevcut algoritmalar daha hızlı çalışacaktır.
Sadece zamana ihtiyacım var. Bunu ertesi güne kadar yapamayacağım.
Çok iyi! İple çekiyorum!
Yaptığım tüm analizlerden, sonuç, bunun iBarShift işlevinin tam bir analogu olduğunu gösteriyor:
açık ara en doğru ve aynı zamanda en hızlı ve en basit ve en kısa algoritmaya sahip.
güzel, ama kafa karıştırıcı bir şey ...
test edilmelidir)
iBars işlevinin çok hantal olduğu ortaya çıkmış olsa da, MQ içindeki takılma hatasını düzeltene kadar normal Barlar yerine onu kullanmanızı tavsiye ederim.
Mantıksal olarak 0 döndürmesi gerektiğinde iBar askıda kalıyor. Genellikle 10 saniyeden fazla döndürür. MQL4'te böyle bir hata yok.
Çoğu görevde, iBar'lar normal Çubuklardan daha hızlı çalışır, çünkü yalnızca hatayı atlamakla kalmaz, aynı zamanda önceki değerleri koruma algoritması sayesinde Çubuklar ve SeriesInfoInteger işlevlerini mümkün olduğunca kullanmamaya çalışır.
Bu işlevi hem yukarı hem de aşağı test etti. Barları tamamen tekrarlıyor gibi görünüyor.
Belki daha zarif bir şekilde yapılabilir. Kimin arzusu var - rica ederim. Hatalar bulursanız, onları düzelteceğiz.
Böyle...
Ardından, iBarsShift işlevinin tam analogu şöyle görünecektir:
Ve çoğu durumda kullanılan son kesin parametre olmayan seçenek şöyle görünecektir:
@Alain Verleyen'in yerleşik Barlar ve iBarShift işleviyle karşılaştırıldığında iBars işlevinin performansını gösteren bir gösterge
Mikrosaniye cinsinden işlev yürütme süresi.