[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 517
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
Millet, burada sadece yeni bir mum göründüğünde siparişin nasıl açılacağını sormuştum. TF D1 kullanıyorum.
Önceki mumların analizine dayanarak belirli seviyelerde (buystop_lvl ve sellstop_lvl) gecikmeler belirlemeye karar verdim.
Bu nedenle, gün başında yerleştirilmeleri gerekir ve yeni bir mum gelirse onları silin ve bekleyenlerin aktif olup olmadığı önemli değil, çalışıyorsa, piyasa emirleri olmalıdır. da kapatılsın. En fazla 2 emir, buystop ve sellstop.
İşte yazdıklarım:
1. Önce bekleyen veya piyasa emri olup olmadığına bakarım, varsa silerim/kapatırım.
2. Ardından mevduatları hesaplanan seviyelere göre ayarladım:
3. Burada bana önerilen yeni çubuğun (NewBar) işlevi:
Sonuç olarak, mumun açılmasıyla birlikte siparişlerin verildiği ve hemen silindiği gerçeğine sahibim. Ve böylece sürekli.
Kodu (1) noktasından yorumladığımda, genellikle bir piperdi, test cihazında fiyat mevduata yaklaştı, ancak açılmadı, yani. pazarlanabilir hale gelmedi.
İşte, söyle bana sorun ne olabilir?
Bu NewBar() işlevi arka arkaya iki kez kullanılamaz
Böyle bir şey daha iyi:
bool newBar = NewBar();
// ve metnin daha aşağısında, NewBar()'ı newBar ile değiştirerek
Ve genellikle NewBar nafig'i atın, son siparişin açılış saatine bakın ve Time[0] ile karşılaştırın. Daha fazlaysa - o zaman durumunuz, her şeyi silebilirsiniz.
Evet, olması gerektiği gibi görünüyor. Bunun için de teşekkürler :)
Lanet olsun, hala nasıl yapacağımı bilmiyorum. Silme ve kapatma emirlerini içeren kodun sadece bir sonraki mumda çalışması gerekir. Ama üzerinde, başkalarının da açılması gerekecek. Böylece program tekrar kaldırmaya tırmanacak. Bir çeşit bayrağa ihtiyaç var ama beyinler nasıl yapılacağını anlamak için şimdiden terliyor :)
OrderSend() işlevi hakkında dikkatlice okuyun. Bekleyen siparişler için bir parametresi vardır:
Mevcut günün başında bekleyen bir emir açarken = iTime (Symbol(), PERIOD_D1, 0), bu zamana bir gün daha ekleyin - 1440 * 60. Ve çalışmayan bekleyen emirler başlangıçta silinecektir. ertesi günün.
PS Geçerli çubuğun sonu, iBarShift() işlevi aracılığıyla da kontrol edilebilir:
veya bu koşula göre, son siparişin OrderTicket()'ini takip ederek diğer bazı "vücut hareketleri".
OrderSend() işlevi hakkında dikkatlice okuyun. Bekleyen siparişler için bir parametresi vardır:
Mevcut günün başında bekleyen bir emir açarken = iTime (Symbol(), PERIOD_D1, 0), bu zamana bir gün daha ekleyin - 1440 * 60. Ve çalışmayan bekleyen emirler başlangıçta silinecektir. ertesi günün.
DC'nin kampanyayı desteklemediğini okudum.
DC'nin kampanyayı desteklemediğini okudum.
Görünüşe göre evet, ya da belki benimkiyle bir terminali olan bir tür pervaz. Bir sonraki başlıkta HESAP GEÇMİŞİ sekmesindeki raporlarımın da kaydedilmediğini söylemiştim...