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
Ama sonra OrderModify başarısız olur.
Aşağıdaki kod, son gönderiden yukarıdaki koddan sonra yürütülür.
Günlük:
#ESZ1,M5: Açılış Pozisyonu
#ESZ1,M5: işaret değeri: 12.5000000
#ESZ1,M5: konum boyutu: 10000000000
#ESZ1,M5: Sor/Teklif 1242.00000000/1241.75000000
#ESZ1,M5: Yayılma 0.25000000
#ESZ1,M5: açık #13679252 1.00 satın al #ESZ1 1242.00 tamam
#ESZ1,M5: Sipariş 13679252 Başarıyla Açıldı
#ESZ1,M5: SL: 1241.25000000
#ESZ1,M5: TP: 1242.25000000
#ESZ1,M5: hata=130
Yani önce açma ve sonra stoploss ayarlamak bile işe yaramıyor :-/
Yayılma 0.25
#ESZ1,M5: Yayılma 0.25000000
Tamam, adresinde bir SATIN AL açarsınız. . 1242.00 (Sor)
#ESZ1,M5: açık #13679252 1.00 satın al #ESZ1 1242.00 tamam
#ESZ1,M5: Sipariş 13679252 Başarıyla Açıldı
Ardından, Teklif fiyatı + 2 * Spread ve SL'de bir TP ile değiştirmeye çalışırsınız. Teklif fiyatı - 2 * Fark
#ESZ1,M5: SL: 1241.25000000
#ESZ1,M5: TP: 1242.25000000
FreezeLevel'iniz 0,50 ise bu sizin sorununuzdur. . FreezeLevel'iniz nedir?
aynı sorun. Emir stoploss = 0 ve takeprofit = 0 ile iyi açılır.
Ama sonra OrderModify başarısız olur.
4/5 basamaklı brokerler için ayar yapmıyor. Önce açılmıyor sonra ayar duruyor.
Daha önce cevaplandığı gibi
evet muhtemelen bir ECN komisyoncusu ile işlem yapıyorsunuz, sıfır stoplu emirler açmanız ve açıldıktan sonra emri değiştirmeniz gerekiyor, bu yüzden 50 pip SL ve TP ile ilgili bir sorun var, bu yüzden Raptor'un dediği gibi donma seviyesini ve durma seviyesini de kontrol edin. durum
Ayrıca OrderModify() kodunuzu da kontrol edin .... belki bu şekilde çalışır, ancak OrderOpenPrice() yapmadan önce OrderSelect() kullanarak siparişi seçmeniz gerektiğini düşünüyorum.
Ne yazık ki #130 hala geceleri beni rahatsız ediyor ;)
İşte bir sonraki denemem:
Gördüğünüz gibi, örneği basitleştirdim, takeprofit kullanmadım. Hata kesinlikle stoploss nedeniyle oluşur, bu yüzden kar alma ihtiyacımız yok.
Önce 0 stoploss (ve kar al) ile emri açarım ve daha sonra OrderModify kullanarak stoploss ayarlamaya çalışırım.
Ondan önce Mode_Stoplevel ve Mode_Freezelevel'i kontrol ediyorum ve gerekirse stoploss'u ayarlıyorum. (Logda aşağıda bir ayarlama yapılıyor, çünkü stoploss başlangıçta 50, ama Mode_Stoplevel 75, daha sonra stoploss'u Mode_Stoplevel + 1 olarak ayarladım, yani 76)
RaptorUK ve SDC:
MarketInfo(MODE_FREEZELEVEL) 0 döndürür. Sorunun Freezelevel olduğunu düşünmüyorum.
Çıktıyı günlük dosyasına dahil ettim.
SDC:
Ayrıca emin olmak için OrderOpenPrice'ı çağırmadan önce bir OrderSelect ekledim. Günlükte OrderSelect'in çalıştığını görebilirsiniz, aksi takdirde kod ilerleyemezdi (çıkış -1).
WHRoeder:
SDC'nin basit örneğini takip ettim. Ama şimdi stoploss ayarlarken yukarıda gördüğünüz gibi pip 4/5 Digit ayarını kullanarak genişlettim. Ayrıca OrderModify ile önce stoploss ve Takeprofit ile emrin açıldığını ve ardından stoploss'un ayarlandığını görebilirsiniz. Aşağıdaki günlükte görebileceğiniz gibi S/L ve T/P sıfıra ayarlıyken sipariş başarıyla açılıyor, ancak OrderModify ile bir sonraki adımda S/L'yi hala ayarlayamıyorum.
İşte tam günlük:
Devam eden yardımınız için gerçekten minnettarım ve sanırım sorunu daraltıyoruz :)
Peki sorun başka ne olabilir? Deneyebileceğim başka bir şey var mı?
şinobi
Yayılma 0.25
#ESZ1,M5: Yayılma 0.25000000
Tamam, adresinde bir SATIN AL açarsınız. . 1242.00 (Sor)
#ESZ1,M5: açık #13679252 1.00 satın al #ESZ1 1242.00 tamam
#ESZ1,M5: Sipariş 13679252 Başarıyla Açıldı
Ardından, Teklif fiyatı + 2 * Spread ve SL'de bir TP ile değiştirmeye çalışırsınız. Teklif fiyatı - 2 * Fark
STOP_LEVEL 3 * Spread'iniz değil mi? Durağınız çok yakın. . .
Evet, bu yüzden burada durma seviyesini kontrol ediyorum (yukarıdaki koddan):
Yani son örnekte stoploss, 3*Spread +1 olan 76'ya ayarlandı.
Yeterince uzak olmalı, değil mi?
Hey Raptor,
Evet, bu yüzden burada durma seviyesini kontrol ediyorum (yukarıdaki koddan):
Yani son örnekte stoploss, 3*Spread +1 olan 76'ya ayarlandı.
Yeterince uzak olmalı, değil mi?
İşte yaptığım şey.
Önce çiftleri en yakın çifte yuvarlamak için özel bir işlev yazdım:
Beklediğiniz şeyi yapar. DoubleRound(1237.687360000) ile çağırırsanız, 1237.50 döndürür.
Sonra onu OrderModify'ı çağırmadan hemen önce S/L'mde kullandım. Ve #ESZ1 için 0.25 olan MODE_TICKVALUE kullandım.
Böyle:
Günlükte, yuvarlamanın iyi çalıştığını görebilirsiniz. Ancak stoploss yine de reddedildi :/
Sorunun başka ne olabileceğini hayal bile edemiyorum! Bu #130 gerçekten kalıcı!!!
Satış açtınız
#ESZ1,M5: açık #13708089 1.00 sat #ESZ1 1239.75'te tamam
ve altına bir SL koymaya çalıştım. . .
#ESZ1,M5: SL: 1237.50000000
#ESZ1,M5: hata=130