Gönderiyi güncelledim.
Yeni başlayanlar için Tamsayı temsillerini kullanmayı deneyin ve testi yeniden çalıştırın. Bunun sorununuzu çözüp çözmediğine bakın, o zaman bunun hakkında biraz daha konuşacağız. Düzenleme: Bunun ordertype'ın 0'dan başlayacağı gerçeğiyle bir ilgisi olduğunu düşünüyorum. Ve orderselect son seçilen siparişi yerinde tutacak.
Yeni başlayanlar için Tamsayı temsillerini kullanmayı deneyin ve testi yeniden çalıştırın. Bunun sorununuzu çözüp çözmediğine bakın, o zaman bunun hakkında biraz daha konuşacağız.
Düzenleme: Bunun ordertype'ın 0'dan başlayacağı gerçeğiyle bir ilgisi olduğunu düşünüyorum. Ve orderselect son seçilen siparişi yerinde tutacak.
Olabilir . . .
orderType'ı olamayacağı bir şey olarak bildirmeyi deneyin. . . Örneğin
int orderType = 10 ;
. . . sonra ne olduğunu görün, mesaj almazsanız sipariş seçiminiz çalışmıyor.
Olabilir . . .
orderType'ı olamayacağı bir şey olarak bildirmeyi deneyin. . . Örneğin
. . . sonra ne olduğunu görün, mesaj almazsanız sipariş seçiminiz çalışmıyor.
İlk bildirdiğimde tamamen aynı şekilde çalışır: int orderType = 10;
Ayrıca bir değişken bildirmek yerine her zaman OrderType() kullanmayı denedim, ancak aynı sorun var.
Ayrıca siparişi değiştirmeden hemen önce OrderSelect'i (...) aramaya çalıştım ama değişiklik olmadı.
Biraz Print() ekleyin; ifadeler, böylece neyin yanlış gittiğini görebilirsiniz. . . Örneğin
if ( /*OrderMagicNumber()==Magic &&*/ OrderSymbol()== Symbol ()) { Print ( "orderType = " ,orderType); if ((orderType == OP_BUY || orderType == OP_BUYSTOP)) {
. . . ardından Uzmanlar sekmesine bir göz atın.
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Bir EA kodlamaya çalışıyorum ve kodumun bir yerinde açık ve bekleyen siparişlerin stoploss'unu güncellemem gerekiyor. Siparişle ilgili bilgileri içeren bir uyarı görüntülüyorum.
Çalıştırdığımda, "Satın alma emri için Sayı: 2 Stoploss 1.44705: 46450421 orderType: 1" gibi bir mesaj alıyorum.
orderType: 1, 46450421 siparişinin bir OP_SELL siparişi olduğu anlamına gelir, öyledir, ancak neden "if ((orderType == OP_SELL) yerine "if ((orderType == OP_BUY || orderType == OP_BUYSTOP))" testini tetikliyor || orderType == OP_SELLSTOP))"?
Lütfen yardım et :-)
Daniel