![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
Değişkenlerinizi if ifadelerinden önce ve içeride yazdırın ve nedenini öğrenin.
Tamam teşekkür ederim, bunu yapacağım ve daha fazla araştıracağım. Ayrıca, SL ve TP'nin OrderSend'den ayrılması nedeniyle ilgimi çeken bu kod parçasını da buldum. Buna da bakılacak
Herkese selam
Sorunlarımın çoğunu düzelttim ve EA test cihazında iyi çalışıyor, ancak hala OrdersTotal ile ilgili sorunlar yaşıyorum. Demo modunda bazen hem bekleyen Durdurma emirlerini açar, hem de çoğu zaman sadece alım veya satım emrini açar. Her iki bekleyen siparişin de aynı anda (birkaç saniye içinde) açılmasını istiyorum, ancak yalnızca başka bir sipariş veya bekleyen sipariş açık değilse. Sanırım, bazen emir sayısını hesaplama şansı bulamadan bekleyen emirleri açar ve bazen de bekleyen bir emrin gönderildiğini fark eder ve diğerini açmaz. Ordersend'leri küme parantezleri içine koyarsam, if koşulu karşılandığında her ikisini de uygulayacağını düşündüm. Ayrıca, son mum oluştuğu sürece, yani Zaman değişkeni Zaman[0] mumuyla eşleştiği sürece, onları sildiğimde bekleyen emirleri açmaya devam edeceğini de biliyorum, keneler önemsizdir.
İşte o kod parçası:
Peki bunu yapmamın daha iyi veya daha kolay bir yolu var mı? Teşekkür ederim
Herkese selam
Sorunlarımın çoğunu düzelttim ve EA test cihazında iyi çalışıyor, ancak hala OrdersTotal ile ilgili sorunlar yaşıyorum. Demo modunda bazen hem bekleyen Durdurma emirlerini açar, hem de çoğu zaman sadece alım veya satım emrini açar. Her iki bekleyen siparişin de aynı anda (birkaç saniye içinde) açılmasını istiyorum, ancak yalnızca başka bir sipariş veya bekleyen sipariş açık değilse. Sanırım bazen emir sayısını hesaplama fırsatı bulamadan hem bekleyen emirleri açıyor hem de aslında bekleyen bir emrin gönderildiğini fark ediyor ve diğerini açmıyor. Ordersend'leri küme parantezleri içine koyarsam, if koşulu karşılandığında her ikisini de uygulayacağını düşündüm. Ayrıca, son mum oluştuğu sürece, yani Zaman değişkeni Zaman[0] mumuyla eşleştiği sürece, onları sildiğimde bekleyen emirleri açmaya devam edeceğini de biliyorum, keneler önemsizdir.
İşte o kod parçası:
Peki bunu yapmamın daha iyi veya daha kolay bir yolu var mı? Teşekkür ederim
buystop_ticket ve sellstop_ticket değerlerini kontrol ediyor musunuz? Yalnızca 1 açık varsa, ikincisi hiçbir zaman açılmayacaktır (ilkini manuel olarak kaldırmadığınız sürece).
Cevap için teşekkürler. Aslında hem buystop hem de sellstop emirleri zamanın yaklaşık %50'sinde açılır. Zamanın diğer %50'si ya alış ya da satış gönderilir. Ama bir şey buldum. Son hatayı sordum ve her ikisinin de gönderildiği durumlarda hata yok, ancak yalnızca biri açıldığında, açılmayanda 130 hatası alıyorum. Yani duraklarım geçersiz gibi görünüyor ama nedenini bilmiyorum. İşte SL için kod:
Ayrıca Yazdır işlevini ekledim. "Buystop_ticket ve sellstop_ticket'in değerini kontrol ediyor musunuz?" ile bunu mu kastetmiştiniz? Yani iki değer döndürür:
2016.03.24 17:11:22.532 News_v10 GBPUSD,M1: Buystop bileti =-1
2016.03.24 17:11:23.227 News_v10 GBPUSD,M1: Buystop bileti =49644335
ECN brokerleri başladığında, OrderSend SL/TP seti ile başarısız olur. Çoğu, 600'den beri bunu düzeltti.
Cevap için teşekkürler. Aslında hem buystop hem de sellstop emirleri zamanın yaklaşık %50'sinde açılır. Zamanın diğer %50'si ya alış ya da satış gönderilir. Ama bir şey buldum. Son hatayı sordum ve her ikisinin de gönderildiği durumlarda hata yok, ancak yalnızca biri açıldığında, açılmayanda 130 hatası alıyorum. Yani duraklarım geçersiz gibi görünüyor ama nedenini bilmiyorum. İşte SL için kod:
Ayrıca Yazdır işlevini ekledim. "Buystop_ticket ve sellstop_ticket'in değerini kontrol ediyor musunuz?" ile bunu mu kastetmiştiniz? Yani iki değer döndürür:
2016.03.24 17:11:22.532 News_v10 GBPUSD,M1: Buystop bileti =-1
2016.03.24 17:11:23.227 News_v10 GBPUSD,M1: Buystop bileti =49644335
2 OrderSend()'iniz arasına RefreshRates() eklemeniz gerekir.