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
böyle bir açıklamada dikkatli olun. sleep() işlevini çalıştırmak için her zaman mantıklı bir neden vardır. Test Cihazında ve hatta göstergelerde.
TimeSeconds()'ın size ne verdiğine bir bakın, ardından TimeCurrent()'in size ne verdiğini düşünün. . . hangisine ihtiyacınız var ve neden?
Simon,
Belirtilen süre için dakikanın başlangıcından itibaren geçen saniye miktarını döndürür.
"hangisine ihtiyacın var ve neden?" - Simon
İkisini de konserde kullanırdım çünkü el ele giderler. - Nathan
TimeSeconds( datetime time ), parantezlerinin içine yerleştirilmiş bir değişken gerektirir. TimeCurrent() daha sonra bu parantezlerin içine yerleştirilir ve bu da bana uygun bir çözüm sunar. Bunu b4'ü yaptım, ancak döndürülen zaman değerlerinin neden atlıyor ve duraklıyor gibi göründüğünü anlamadım (etkin bir onay/kene olmaması nedeniyle).
Buna ne dersin?
Teşekkür ederim.
William,
Bu konuyu açıkladığınız için teşekkür ederiz.
Benim "2" yorumum. kene oluşturulduğunda, dönüş işlevi çağrılır. Daha sonra Start() işlevi, programın bir kez daha yürütülmesini tetikleyen return(0) işlevi çağrıldıktan hemen sonra çağrılır. 2. bölümün bu yorumu doğru mu?
"5 dakika için hesaplarsanız", EA'nın beş dakika için hesaplayacağından nasıl emin olabilirim (EA beş dakika için hesaplasa bile, bunun bir onay işaretinin oluşturulacağını garanti edeceğine inanmıyorum. Onay oluşturma olasılığı artırılır)?
Özür dilerim, bunu okumakta zorluk çekiyorum:
"5 dakika hesaplarsanız ve bir sonraki aramada ses seviyesi (tik sayısı) +1 olur. Canlı bir grafikte, 5 dakika hesaplarsanız, 5 dakikalık tıklamaları ve M1'de birkaç yeni tıklamayı kaçırırsınız. çubuklar oluşmuş olacak."
Cevabınız için çok teşekkürler.
Sleep() kullanmak için mantıklı bir neden olmadığını söylemedim, birçoğu var, Sleep()'in Strateji Test Cihazında çalışmasını beklemek için hiçbir neden olmadığını söyledim. Bir Strateji Test Cihazı tablosunda çalışan bir Göstergede çalışır mı, bilmiyorum, belki de . . . Strateji Test Cihazında çalışan bir EA'da çalışıyor mu, bildiğim kadarıyla hayır çalışmıyor. Strateji Test Cihazında çalışan bir EA duraklatılabilir mi? Evet yapabilir.
Simon,
" Strateji Test Cihazında çalışan bir EA duraklatılabilir mi? Evet olabilir."
Test cihazında bir EA'yı "duraklatmak" için kullanacağınız bu yöntemle ilgili düşüncelerinizi ifade edebilir misiniz?
Teşekkür ederim
William,
Yani, yeni bir onay işareti, bir EA'da start() işlevini çağırır, değil mi?
Size sorum şu: "Yeni bir onay işaretinin yanı sıra start() işlevini çağırmanın başka bir yolunu biliyor musunuz? Muhtemelen Start() işlevini çağırmak için tutarlı bir tekrarlayan eylem?"
(Düşünüyorum, kenelere bağlı olmayan saniyeleri tutarlı bir şekilde izlemenin bir yolu var mı)
"...Bir sonraki onay işareti, oluştuğunda oluşturulur."
Yazmak istediğiniz şeyin "Yeni bir onay işareti oluşturulduğunda Start() daha sonra yürütülür" olduğuna inanıyorum. ;)
Yani, bir EA'nın duraklatılamayacağını veya test cihazında uyuyamayacağını söylüyorsunuz, değil mi?
Sağladığınız bağlantıyı gözden geçireceğim, ancak bu arada, test edilen bir EA baştan geri döndükten sonra "test cihazını duraklatmak için bir duraklatma düğmesine basma" yöntemini açıklayabilir misiniz?
Test cihazında çalıştırıldığında, bu yöntem, canlı bir hesapta "gerçek zamanlı" olarak belirli bir zaman dilimi için duraklatılan EA'nın performansını simüle eder mi?
Test cihazının sınırlamaları olduğunu ve "gerçek zamanlı" performansın simülasyonu için "geçici çözümler" kullanılması gerektiğini anlıyorum.
Çok teşekkürler William.
Ayrıca sana Will dememin bir sakıncası var mı? Bana bir saniye kazandırır. zaman her mesaj. senin araman.
EA'nızın sahip olduğu bir özelliği beğendim ve bu, " Hafta sonundaki pazar boşluğunun SL'yi geçerek zarar görmesini önlemek için tüm siparişleri hafta sonundan önce (pazar Cuma kapanışı) kapatmak istedim."
(Sevinçle alkışlar.) Hahaha! ;) Bu özelliği EA'nıza ekleyerek gereksiz kayıpları azaltmış olursunuz ama bu benim şu anda yapmaya çalıştığımdan farklı. Şu anda saniyeleri güncellemek için kenelere ihtiyaç duymadan sürekli olarak saniyeleri takip etmeye çalışıyorum. Start() işlevini güncellemek için farklı bir yol istiyorum, Anlaşıldı mı?
Teşekkür ederim
Şu anda saniyeleri güncellemek için kenelere ihtiyaç duymadan sürekli olarak saniyeleri takip etmeye çalışıyorum. Start() işlevini güncellemek için farklı bir yol istiyorum, Anlaşıldı mı?
Yapmaya çalıştığınız şeyin, anlayış eksikliğinden dolayı probleminize kusurlu bir çözüm olduğundan şüpheleniyorum. Fiyat 30 saniye boyunca değişmediyse neden bir saniyeden diğerine saniyeyi bilmeniz gerekiyor? fiyat değiştiğinde bir onay işareti alırsınız.
WHRoeder'ın söylediklerinin açıklığa kavuşturulması için bir nokta, tüm onay işaretleri, Strateji Test Cihazı onları çağırmaya/yürütmeye başlamadan önce oluşturulur, test edicide/geçmişte bir .fxt dosyasına kaydedilir, ST bir ilk onay işaretini çağırır ve bu sırayla başlatmaya neden olur( ) çalıştırılacaksa, start() yürütmeyi bitirene kadar bir sonraki onay çağrılmaz/kullanılmaz, bunu anlamak çok önemlidir. Yalnızca start() bittiğinde sonraki onay işareti kullanılacaktır, böylece EA yeniden start()'ı çağırabilir. ST tam hızda çalıştırıldığında, ST'nin hızını yöneten start() çalıştırma hızıdır, bu nedenle çok basit bir start() işlevi ST'nin çok hızlı çalışmasına izin verir, karmaşık bir start() işlevi ST'nin daha yavaş çalışmasına neden olur.
Canlı/Demo durumunda, start() işlevi çok karmaşıksa ve çalışması uzun zaman alıyorsa, belki saniyenin onda biri kadar sürüyorsa, bu durumda bir sonraki onay işaretinin start() tamamlanmadan önce gelmesi mümkündür. kene kaçırılacak ve start() öğesinin çağrılmasına neden olmayacak. . . . bu ST ile olamaz.
Simon,
"Strateji Test Cihazında çalışan bir EA duraklatılabilir mi? Evet olabilir."
Test cihazında bir EA'yı "duraklatmak" için kullanacağınız bu yöntemle ilgili düşüncelerinizi ifade edebilir misiniz?
"hangisine ihtiyacın var ve neden?" - Simon
İkisini de konserde kullanırdım çünkü el ele giderler. - Nathan
TimeSeconds( datetime time ), parantezlerinin içine yerleştirilmiş bir değişken gerektirir. TimeCurrent() daha sonra bu parantezlerin içine yerleştirilir ve bu da bana uygun bir çözüm sunar. Bunu b4'ü yaptım ama döndürülen zaman değerlerinin neden atlıyor ve duraklıyor göründüğünü anlamadım (etkin bir onay/kene olmaması nedeniyle).
Yapmaya çalıştığınız şeyin, anlayış eksikliğinden dolayı probleminize kusurlu bir çözüm olduğundan şüpheleniyorum. Fiyat 30 saniye boyunca değişmediyse neden bir saniyeden diğerine saniyeyi bilmeniz gerekiyor? fiyat değiştiğinde bir onay işareti alırsınız.
WHRoeder'ın söylediklerinin açıklığa kavuşturulması için bir nokta, tüm onay işaretleri, Strateji Test Cihazı onları çağırmaya/yürütmeye başlamadan önce oluşturulur, test edicide/geçmişte bir .fxt dosyasına kaydedilir, ST bir ilk onay işaretini çağırır ve bu sırayla başlatmaya neden olur( ) çalıştırılacaksa, start() yürütmeyi bitirene kadar bir sonraki onay çağrılmaz/kullanılmaz, bunu anlamak çok önemlidir. Yalnızca start() bittiğinde sonraki onay işareti kullanılacaktır, böylece EA yeniden start()'ı çağırabilir. ST tam hızda çalıştırıldığında, ST'nin hızını yöneten start() çalıştırma hızıdır, bu nedenle çok basit bir start() işlevi ST'nin çok hızlı çalışmasına izin verir, karmaşık bir start() işlevi ST'nin daha yavaş çalışmasına neden olur.
Canlı/Demo durumunda, start() işlevi çok karmaşıksa ve çalışması uzun zaman alıyorsa, belki saniyenin onda biri kadar sürüyorsa, bu durumda bir sonraki onay işaretinin start() tamamlanmadan önce gelmesi mümkündür. kene kaçırılacak ve start() öğesinin çağrılmasına neden olmayacak. . . . bu ST ile olamaz.
Simon,
Yapmaya çalıştığınız şeyin, anlayış eksikliğinden dolayı probleminize kusurlu bir çözüm olduğundan şüpheleniyorum. Fiyat 30 saniye boyunca değişmediyse neden bir saniyeden diğerine saniyeyi bilmeniz gerekiyor? fiyat değiştiğinde bir onay işareti alırsınız.
Anlayış eksikliğim olduğunu kabul edeceğim, bu yüzden konuyu MQL4 forumunda tartışıyorum. Fiyat değiştiğinde tasarruf etmek istiyorum (bunu nasıl yapacağımı anlıyorum). Ayrıca, Sleep() kullanarak bir CANLI/DEMO grafiğinde fiyatları her saniye tutarlı bir şekilde nasıl kaydedeceğimi anlıyorum. Amaç: Maksimum bir dakikaya veya daha kısa bir süreye kadar saniyeleri (kenelerin oluşturulmasına dayalı saniyeleri izlemeden) tutarlı bir şekilde takip etmek ve ardından izlenen saniyeleri sıfıra sıfırlamak istiyorum. Bu hedefi neden gerçekleştirmek istediğimi anlıyorum. Bunun nedeni, test cihazında bir EA'yı test etmem gerekiyor ve test ederken Sleep() kullanamıyorum. Doğru ne yapmalı? Toplama seçenekleri.
Ayrıntılar o zaman hm? ;)
Bir zamanlayıcıyı (test cihazında kullanılabilir) bir EA'ya kodlayın. Bu zamanlayıcı 0-30'dan yukarı veya 30-0'dan aşağı doğru sayar. Bu süre yukarı/aşağı sayarken, ayrı bir vektör izleme fiyat hareketim var (çok büyük boyutlu bir vektör).
Şartlarım böyle
Fiyat x puan (0-30 veya 30-0 saniye içinde) giderse , karar verin.
Fiyat x noktayı geçmezse (0-30 veya 30-0 saniye içinde), ArrayInitialize().
Bu Simon'a ne diyorsun?
Teşekkür ederim