Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1208
![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
Evet, önemli değil. Fark konusunda şüphelerim vardı çünkü emirleri ve pozisyonları verirken onlara pozisyonlarım, emirlerim için "yorumlar" verdim. Sonuç olarak, bir emir bir pozisyona girdiğinde, emir yorumunu devralır.
Sonra, yorumlar yoluyla pozisyonları kontrol ederken, kafa karışıklığı ortaya çıktı ... sonra yorumları farklı çıktı. Neyse düzelttim.
Kodunuzda SELL_LIMIT'in çalıştığı durumda pozisyonların nasıl kapatıldığını hiç bulamadım veya anlamadım. Sermaye tarafından.
Görünüşe göre tüm pozisyonları kapatma olasılığı için bir kontrol yapıldı ve üzerine bir bayrak kondu.
ancak CloseAllPositions() içinde;
böyle bir şey eksik.
Vaka için tüm pozisyonları kapatmanız gereken - çalıştı SELL_LIMIT
Belki de aynı m_account.Equity()>= m_account.Balance()+ 15'i bir şekilde farklı şekilde uygulamışsınızdır?
Yoksa gerçekten işinize yaramıyor mu? Belki de benim anlayışımda ortalamanın ne olduğunu açıklamamış olmamdan dolayı.
Yukarıda dikkatinizi çekmiştim - bekleyen siparişlerin bununla hiçbir ilgisi yok . Bekleyen bir siparişin kârı olamaz. "Kesinlikle" kelimesinden. Bu iş çözülene kadar devam edemeyiz.
Eklendi: İki durum için örnek bir çözüm gösterdim:
Yukarıda dikkatinizi çekmiştim - bekleyen siparişlerin bununla hiçbir ilgisi yok . Bekleyen bir siparişin kârı olamaz. "Kesinlikle" kelimesinden. Bu iş çözülene kadar devam edemeyiz.
Vladimir. Tabii ki, bekleyen bir siparişin kârı olamaz. Tabii ki kârdan bahsediyoruz, açık pozisyonlardan bahsediyoruz.
Sadece bu pozisyonların nasıl açıldığı konusunda bir fark var. Onlar için farklı bir kapatma yöntemine ihtiyacımız var.
İkinci pozisyon ex'den açılmışsa. SELL_STOP emirleri, daha sonra bunlardan biri, en yüksek pozisyon karı olan kapatılmalıdır. Aldın ve işe yarıyor.
İkinci pozisyon ex'den açılmışsa. SELL_LIMIT siparişler, o zaman her ikisi de Equity tarafından kapatılmalıdır ( m_account.Equity()>= m_account.Balance()+ 15) Eğer birinin SL'si daha önce çalışmıyorsa.
Katma.
İki durum için örnek bir çözüm gösterdim:
İkinci koşul için her şey yolunda görünüyor. Ama nedense ikinci şartımda ikinci pozisyonu açıyor ve 0 -1.2'ye hemen yakın kapatıyor.
Belki orada toplam karı belirtmiyorum?
InpProfitTarget = 15; Eğer buradaysa, çalışmıyor.
Vladimir. Tabii ki, bekleyen bir siparişin kârı olamaz. Tabii ki kârdan bahsediyoruz, açık pozisyonlardan bahsediyoruz.
Sadece bu pozisyonların nasıl açıldığı konusunda bir fark var. Onlar için farklı bir kapatma yöntemine ihtiyacımız var.
İkinci pozisyon ex'den açılmışsa. SELL_STOP emirleri, daha sonra bunlardan biri, en yüksek pozisyon karı olan kapatılmalıdır. Aldın ve işe yarıyor.
İkinci pozisyon ex'den açılmışsa. SELL_LIMIT siparişler, o zaman her ikisi de Equity tarafından kapatılmalıdır ( m_account.Equity()>= m_account.Balance()+ 15) Eğer birinin SL'si daha önce çalışmıyorsa.
Afedersiniz:
İki durum için örnek bir çözüm gösterdim:
O zaman lütfen kendin bir şeyler yap.
Afedersiniz:
İki durum için örnek bir çözüm gösterdim:
O zaman lütfen kendin bir şeyler yap.
Yardımın için teşekkürler Vladimir, deniyorum.
2. İkiden fazla pozisyonumuz var - toplam karı belirtilenden büyükse, tüm pozisyonları kapatıyoruz.
Ancak buna değil , ikincisinin SELL_LIMIT tetiklemesi ile açıldığı iki veya daha fazla pozisyona ihtiyacım vardı.
Yine de sabrınız ve sıkı çalışmanız için teşekkürler. Tabii ki karar vereceğim, bir şekilde kendi yolumda acı çekeceğim ve karar vereceğim)))
İyi akşamlar beyler, konu üretmemek için - soru şu - iyi tanımlanmış bir al ve dur ile bekleyen bir durdurma emri komut dosyası tarafından belirlenir, yürütülmez ve yorumlarda [likidite eksikliği] yazılır - nasıl başa çıkılır - komut dosyasını yürütmeye kadar döngüye alın, daha fazla kayma ayarlayın veya tekrarlanan isteklerin sayısını belirtin ya da ne? Ya da nereye kazacağınıza burnunuzu sokun.
Her zaman belgeleri kazmalısınız
ORDER_TIME_GTC
Sipariş, geri çekilene kadar kuyrukta olacak
Her zaman belgeleri kazmalısınız
ORDER_TIME_GTC
Sipariş, geri çekilene kadar kuyrukta olacak
Teşekkür ederim muhtemelen bu
İyi akşamlar!
1 açık pozisyon var.
Expert Advisor, PositionClose() yöntemini kullanarak bir pozisyonu kapatır;
Sonuç yazdırılır ResultRetcode= 10009. Kod açıklaması: 0.00'da yapılır
Aşağıdaki kodda, (PositionSelect (_Symbol)) hangi gözlemenin başarıyla geçtiği kontrol edilir.
Onlar. PositionClose()'un yürütülmesi ile açık pozisyonun kaybolması arasında, programın yanlış yöne dönmeyi başardığı bir süre geçer.
Bu durumu yetkin bir şekilde nasıl çözebilirim?
Yeni bir test yapmak için testten sonra neden her seferinde terminali yeniden başlatmam gerekiyor?
Tüm nesneleri siliyorum. Dosyaları kapatıyorum. Test durdurulduğundaki günlük:
Ve bir dahaki sefere artık başlamadığında - terminali kapatıp tekrar açmanız gerekir. 2361 oluşturun.