Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 103
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
7.43 yatağa gitmediyse .. Öyleyse, kâsenin yazıldığını varsayacağım!
Hayır neden böyle küfür edersin :)) Yusuf Kâse'yi benim için yarattı. Bavullarımda oturuyorum cennetten man bekliyorum Maldivlere gideceğim :))
Pekala, bana orada ne yaptığını göster... Burada telepat yok - onlar tatilde.
Danışmanın genel kodunu attım ki ne yapması gerektiği daha net anlaşılsın.
Nerede aptal olduğunu sana tekrar söyleyeceğim
açık gecikme: tam tersi olmadan bir gecikme veya bir yönde bir dizi gecikme açar.
Emirlerin silinmesi: her seferinde, bazen normalde akşamları açıkça belirtilen bir saatte ve bazen iki günde bir sorunsuz bir şekilde siler veya hiç kapanmaz ..
Pekala, durum şu:
İlk açık bekleyen bir kârla kapanırsa, ikincisini hemen sileriz - Ben de doğru yazdığımdan şüpheliyim, ancak iş yerinde kontrol edemiyorum çünkü iki zıt pozisyon açmak istemiyorum = ((((((
Son kapatılanı ararken, ilk önce en son kapatılanı bulmanız gerekir, ancak alım yoluyla kapanışı kontrol etmek döngünün dışına çıkarılmalıdır, aksi takdirde her bir kapalı siparişi alımla kapatma için kontrol eder ve, eğer öyleyse, döngüye yakalanan ilkinin zamanını hatırlar, en geç değil, alarak kapatılır.
Peki, bu kod optimizasyonu . Gördüğüm kadarıyla sonuç bundan değişmeyecek. Sadece hesaplamak daha uzun sürecek. Kodu düzelttim ama aynı şekilde çalışıyor..
Yine de, sanki içinde bir tür söve var.
Danışmanın genel kodunu attım ki ne yapması gerektiği daha net anlaşılsın.
Sana nerede aptal olduğunu tekrar söyleyeceğim
açık gecikme: tam tersi olmadan bir gecikme veya bir yönde bir dizi gecikme açar.
Emirlerin silinmesi: her seferinde, bazen normalde akşamları açıkça belirtilen bir saatte ve bazen iki günde bir sorunsuz bir şekilde siler veya hiç kapanmaz ..
Pekala, durum şu:
İlk açık bekleyen bir kârla kapanırsa, ikincisini hemen sileriz - Ben de doğru yazdığımdan şüpheliyim, ancak iş yerinde kontrol edemiyorum çünkü iki zıt pozisyon açmak istemiyorum = ((((((
Soruya soruyla cevap vereceğim. Bu ne:
Anlat bana anlamadım :)
Bir pozisyon açma kontrolleri, bir pozisyon açma girişiminden sonra yapılmalıdır. Onlar.
Arama emrini gönderdikten sonra yerleştirirsiniz.
Gecikme açmak için fiyatın sırasıyla Sor veya Bid'den daha yüksek veya daha düşük olması gerekir. Bunun gibi körfez için:
if (OOP > Ask)
Peki, bu kod optimizasyonu. Sonuç, gördüğüm kadarıyla bundan değişmeyecek. Sadece hesaplamak daha uzun sürecek. Kodu düzelttim ama aynı çalışıyor..
Yine de, sanki içinde bir tür söve var.
Hayır, bu sadece kod optimizasyonu değil. Bu sadece ikincisinin arayışıdır. Tüm kapatılan siparişlerin sayımını tamamladığınızda ve bunların en son kapatılanını bulduğunuzda, ancak bundan sonra kapanış için kontrol etmeniz gerekir ve eğer öyleyse, alma ile kapatılır, ancak o zaman aramaya devam etmek mantıklıdır. dinlenmek için.
Döngünün içine alma ile kapanış kontrolünü koyarsak, ne elde ederiz? Bir mantık hatası alıyoruz:
Diyelim ki bir yıl önce kapatılmış bir sipariş seçtiniz. Her durumda, süresi -1'den büyük olacaktır, bu da onu bir çekimle kapatmak için kontrol ettiğimiz anlamına gelir (sonuçta bu kontrol döngü içindeki koddadır). Evet, alımla kapandı... İşleviniz bundan sonra ne yapacak? Bu doğru - bununla çalışmaya devam ediyor , bir yıl önce, siparişle kapandı. Hala hataların olduğu bir yere bakacağım. Eve yeni geldim...
Yazıldı: 2. Son açık pozisyon alımla kapatılırsa, her şeyi kapatın!
Pekala, bunun gibi bir anlama geliyor:
Kontrol etmek istediğimiz sembolü, büyü ve delta (nokta olarak mesafe == emir alımı ile kapanış fiyatı arasındaki fark) fonksiyona aşağıdaki gibi iletiyoruz:
Fonksiyonu kontrol etmedim dizimin üstüne yazdım. Yani hataları aramak size kalmış.
Bunu int yapabilir ve dönüş kodlarını kullanabilirsiniz. Örneğin, istenen pozisyon yoksa veya mevcutsa, ancak zararda kapatılırsa, -1'i döndürün,
varsa ve kârla kapatılırsa, ancak delta içinde değilse, 0 döndürür;
varsa ve kârla ve alımla (delta dahilinde) kapatılırsa, 1...
Hayal gücünün kapsamı çok büyük ...
Döngünün içine alma ile kapanış kontrolünü koyarsak, ne elde ederiz? Bir mantık hatası alıyoruz:
Diyelim ki bir yıl önce kapatılmış bir sipariş seçtiniz. Her durumda, süresi -1'den büyük olacaktır, bu da onu bir çekimle kapatmak için kontrol ettiğimiz anlamına gelir (sonuçta bu kontrol döngü içindeki koddadır). Evet, tik üzerinde kapalı ..
Yani döngü tüm siparişlerdeyse, her durumda döngü tüm siparişlerden geçecektir. Her siparişin kapanış zamanı, seçilen bir önceki siparişle karşılaştırılacaktır. Sadece burada performans ile cant geliyor. Çünkü Kâr al, yalnızca sonuncusu için değil, her kapalı pozisyon için döngüde sürekli olarak kontrol edilecektir. Böyle !?
Böyle.
Ama açılış fiyatı ile Open[] var.
Anladım, teşekkürler :)
Yani döngü tüm siparişlerdeyse, her durumda döngü tüm siparişlerden geçecektir. Her siparişin kapanış zamanı, seçilen bir önceki siparişle karşılaştırılacaktır. Sadece burada performans ile cant geliyor. Çünkü kar al, sadece sonuncusu için değil, her kapalı pozisyon için döngüde sürekli olarak kontrol edilecektir. Böyle !?
Yani döngü tüm siparişlerdeyse, her durumda döngü tüm siparişlerden geçecektir. Her siparişin kapanış zamanı, seçilen bir önceki siparişle karşılaştırılacaktır. Sadece burada performans ile cant geliyor. Çünkü kar al, sadece sonuncusu için değil, her kapalı pozisyon için döngüde sürekli olarak kontrol edilecektir. Böyle !?
İşte ortak: