Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 305
![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
Herkese iyi akşamlar! Test cihazında açık anlaşmalar hakkında bir iz bırakmayı düşündüm, OrderGet....() üzerinden gitmeye çalıştım ve anlaşmanın siparişler kategorisinden açık bir pozisyona geçtiğini fark ettim, bu yüzden PositionGet'e geçtim.... (), ama yine hiçbir şey işe yaramadı,
yani soru şu ki, şimdi HistoryDealGet...() üzerinden ne yapmalıyım? Yoksa bir şey anlamıyor muyum? Test cihazında açık bir ticarette SL'yi değiştirmek için hangi yol izlenir? Yorumlar için şimdiden teşekkürler.
Lütfen burnumu dürt !!!! MQL5'te bir grafikteki bir grafik nesnenin mevcudiyeti (veya yokluğu) için bir kontrol, örneğin bir trend çizgisi veya dikey olan nasıl uygulanır?
İdeal olarak, "Sipariş Olmazsa" veya "Sipariş Varsa" gibi bir mantık yapmak istiyorum.
Lütfen burnumu dürt !!!! MQL5'te bir grafikteki bir grafik nesnenin mevcudiyeti (veya yokluğu) için bir kontrol, örneğin bir trend çizgisi veya dikey olan nasıl uygulanır?
İdeal olarak, "Sipariş Olmazsa" veya "Sipariş Varsa" gibi bir mantık yapmak istiyorum.
Satın alma algoritmasını doğru bir şekilde nasıl uygulayacağımı söyle?
Şimdi danışman, sinyal geldiğinde, açık pozisyonlar olduğu bilgisi gelene kadar birçok kez satın alıyor, ancak geç oldu. Danışman, ilk satın alma işleminden sonra (koşullar oluştuğunda) borsanın yanıtını nasıl bekletir?
Şimdi sorun şu ki, Bye_opened değişkeni doğru olmalı ve bu, EA'nın stoplar isabet edene kadar fazladan işlem yapmasını engellemeli. Ama değişken değişiklikler Bye_opened olur uzun bir süre ve danışman birkaç kez anlaşma yapmayı başarır .
Kodumda ne eksik? Lütfen kusuru belirtin.
Şimdi sorun şu ki, Bye_opened değişkeni doğru olmalı ve bu, EA'nın stoplara ulaşana kadar fazladan işlem yapmasını engellemeli. Ama değişken değişiklikler Bye_opened olur uzun bir süre ve danışman birkaç kez anlaşma yapmayı başarır .
Değişkenin değişmesinin uzun sürmesi... Bunu nasıl belirlediniz? Tamam, öyle olduğunu farz edelim. O zaman cevap sorunun içinde. Bir pozisyonu açmak için bir gecikmeye ihtiyacınız var, bu yüzden N'nin deneysel olarak kendiniz hesaplandığı yerde Sleep(N) koyun.
Seçenek numarası 2. Cevap yine sorunun içinde. Bye_opened'ı global yapın ve bir pozisyonun başarılı bir şekilde açılmasından hemen sonra aynı modülde değiştirin. Bir pozisyonun varlığını kontrol ettiğiniz gibi sıfırlayın.
...
satırı eklerseniz
OrderSend() komutundan sonra, pozisyonların yeniden açılması olmayacaktır.
Belki önce açılıp açılmadığını kontrol etmek daha iyidir ve ancak o zaman...
???
Görünüşe göre robotu her kene üzerinde çalışıyor. Siparişin sunucuya gönderilmesi ile sunucudan yanıt alınması arasında birkaç tik daha gelecek ve her birinde fazladan bir pozisyon açılacaktır. Önerim yeniden keşif durumunu hariç tutuyor. Ve bir pozisyonun açılıp açılmadığını kontrol etmek gerekir.
Yani aynı şeyden bahsediyorum. Aksi takdirde, kelimenin tam anlamıyla her şeyi anlayacak ve önemli bir kontrolü kaçıracaktır.
Peki kontrol etmenin doğru yolu nedir? Üzgünüm, üstesinden gelemem.
İşte kod (her şey OnTick bloğunda bulunur):
Ekstra ciltleri açmamak için:
Ne yazık ki, bir ticaret açarken bu koşul çalışmaz.