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
Anlamadın.
Bu sunucu 20 saniye boyunca YERLEŞTİRİLDİ sipariş durumunu göndermedi.
ORDER_STATE_STARTED sırasının durumunun "donduğu" bir OBVIOUS terminal hatası var
Sonunda anladın mı?
Borsa bu sipariş hakkında tam olarak ne diyor ? Hızlı bir şekilde yayınlandı mı? Evet ise, sunucunun veya MT terminalinin hatası açıktır ve bu durum durumu güncellemez. Ve bununla zaten servis masasına gidebilirsiniz.
Sorunu Hizmet Masasında Mikhail ile tartışmanın bir sonucu olarak:
Görünüşe göre sipariş sisteminin nasıl çalıştığını ve ne anlama geldiğini açıklamak gerekiyor.
Böyle:
1. Bir istek gönderirsiniz
2. MT5 sunucusu bu talebi kontrol eder (parametreler, ön alım satım vb.). Sorun varsa, isteğe yanıt olarak ilgili hata kodunu alırsınız.
Bundan sonra, kendisine bir bilet (#24025010) atayarak yeni bir sipariş başlatır - siparişin durumu başlatıldı olarak ayarlanır. MT5'teki sipariş kimliğini, borsada sipariş verirken borsadaki siparişle ilişkilendirmek için bir sipariş bileti oluşturmanız gerekir.
Terminale, başlatılmış durumda yeni bir sipariş ekleme hakkında bir işlem gönderilir - bu, OnTradeTransaction'da izlenebilir.
3. Ardından, alım satım sunucusu (ağ geçidi aracılığıyla) talebinizi borsaya gönderir, eğer talep başarılı bir şekilde gönderildiyse, talebinize yerleştirilmiş bir yanıt gönderilir - bunun anlamı
"istek gönderildi", çalışmasının sonuçları eşzamansız olarak yürütülecektir, çünkü borsanın ne kadar sürede yanıt vereceği önceden bilinmiyor.
Buna göre, şu anda günlükte bir giriş görüyorsunuz.
4. Bir süre sonra borsa, sistemine bir emir verir, tanımlayıcısını ona atar ve ardından ağ geçidini ve MT5 sunucusunu bu konuda bilgilendirir.
Borsa emir vermişse, borsadaki emir tanımlayıcı MT5'teki emire atanır ve emir durumu başlatıldı => verildi olarak değişir.
Borsa herhangi bir nedenle sipariş vermeyi reddederse, sipariş iptal edilir.
Tüm bunlar, sadece OnTradeTransaction'a gelen işlemleri günlüğe kaydederek izlenebilir.
================================================= =============================
Ne oluyor:
1. Bir sipariş talebi gönderirsiniz - 1-3. paragraflara bakın.
2. Ve MT5'te zaten bir emir varken, henüz borsada değilken, bu emri geri çekmek için bir talep gönderirsiniz.
Uzman Danışmanınızın mantığında uygun kontroller-düzeltmeler yapmanız gerekmektedir.Ancak bu sipariş başlangıç (başlatıldı) durumunda olduğundan ve buna ilişkin bir siparişin varlığı tanımlanmadığından siparişi iptal etmeyi reddettiniz.
çünkü bu durumda davranış tanımsızdır.
ZY Başka bir şey, bir saniye içinde
(ve özellikle 20 saniye) siparişin verilmiş olması gerekirdi, sıralıyoruz, olası sorunlardan birini bulduk - düzeltiyoruz.Sorunu Hizmet Masasında Mikhail ile tartışmanın bir sonucu olarak:
Görünüşe göre sipariş sisteminin nasıl çalıştığını ve ne anlama geldiğini açıklamak gerekiyor.
Böyle:
1. Bir istek gönderirsiniz
2. MT5 sunucusu bu talebi kontrol eder (parametreler, ön alım satım vb.). Sorun varsa, isteğe yanıt olarak ilgili hata kodunu alırsınız.
Bundan sonra, kendisine bir bilet (#24025010) atayarak yeni bir sipariş başlatır - siparişin durumu başlatıldı olarak ayarlanır. MT5'teki sipariş kimliğini, borsada sipariş verirken borsadaki siparişle ilişkilendirmek için bir sipariş bileti oluşturmanız gerekir.
Başlatılmış durumda yeni bir sipariş ekleme hakkında terminale bir işlem gönderilir - bu, OnTradeTransaction'da izlenebilir.
3. Ardından, alım satım sunucusu (ağ geçidi aracılığıyla) talebinizi borsaya gönderir, eğer talep başarılı bir şekilde gönderildiyse, talebinize yerleştirilmiş bir yanıt gönderilir - bunun anlamı
"istek gönderildi", çalışmasının sonuçları eşzamansız olarak yürütülecektir, çünkü borsanın ne kadar sürede yanıt vereceği önceden bilinmiyor.
Buna göre, şu anda günlükte bir giriş görüyorsunuz.
4. Bir süre sonra borsa, sistemine bir emir verir, tanımlayıcısını ona atar ve ardından ağ geçidini ve MT5 sunucusunu bu konuda bilgilendirir.
Borsa emir vermişse, borsadaki emir tanımlayıcı MT5'teki emire atanır ve emir durumu başlatıldı => verildi olarak değişir.
Borsa herhangi bir nedenle sipariş vermeyi reddederse, sipariş iptal edilir.
Tüm bunlar, sadece OnTradeTransaction'a gelen işlemleri günlüğe kaydederek izlenebilir.
================================================= =============================
Ne oluyor:
1. Bir sipariş talebi gönderirsiniz - 1-3. paragraflara bakın.
2. Ve MT5'te zaten bir emir varken, henüz borsada değilken, bu emri geri çekmek için bir talep gönderirsiniz.
Uzman Danışmanınızın mantığında uygun kontroller-düzeltmeler yapmanız gerekmektedir.Ancak bu sipariş başlangıç (başlatıldı) durumunda olduğundan ve buna ilişkin bir siparişin varlığı tanımlanmadığından siparişi iptal etmeyi reddettiniz.
çünkü bu durumda davranış tanımsızdır.
ZY Başka bir şey, bir saniye içinde
(ve özellikle 20 saniye) siparişin verilmiş olması gerekirdi, sıralıyoruz, olası sorunlardan birini bulduk - düzeltiyoruz."Başlatılan" siparişin durumunun hangi noktada "yerleştirildi" durumuna değiştiği belirsizliğini koruyor. Bu, açıklamalarınızın 3. paragrafına göre mi, açıklamalarınızın 4. paragrafına göre mi yoksa her iki durumda da 3. ve 4. paragraflara göre mi oluyor?
4. Bir süre sonra borsa, sistemine bir emir verir, tanımlayıcısını ona atar ve ardından ağ geçidini ve MT5 sunucusunu bu konuda bilgilendirir.
Borsa emir vermişse, borsadaki emir tanımlayıcı MT5'teki emire atanır ve emir durumu başlatıldı => verildi olarak değişir.
3. Ardından, alım satım sunucusu (ağ geçidi aracılığıyla) talebinizi borsaya gönderir, eğer talep başarılı bir şekilde gönderildiyse, talebinize yerleştirilmiş bir yanıt gönderilir - bunun anlamı
"istek gönderildi", çalışmasının sonuçları eşzamansız olarak yürütülecektir, çünkü borsanın ne kadar sürede yanıt vereceği önceden bilinmiyor.
Buna göre, şu anda günlükte bir giriş görüyorsunuz.
2015.11.26 10:48:23.726 Trades 'xxxxxx': buy limit 5.00 SNGR-3.16 at 35501 placed for execution in 7 ms
4. Bir süre sonra borsa, sistemine bir emir verir, tanımlayıcısını ona atar ve ardından ağ geçidini ve MT5 sunucusunu bu konuda bilgilendirir.
Borsa emir vermişse, borsadaki emir tanımlayıcı MT5'teki emire atanır ve emir durumu başlatıldı => verildi olarak değişir.
İşte kafa karışıklığının başka bir nedeni: Günlük, siparişin zaten verildiğini söylüyor, ancak aslında durum henüz değişmedi.
Belki "gönderildi" ve "yerleştirildi" gibi bir şey yazmayın, ancak sipariş borsa tarafından gerçekten kabul edilmiyor mu?
Aşağıdaki ortaya çıkıyor.
Bir sipariş üzerinde herhangi bir işlem gerçekleştirmeden önce (veya sonra),
her seferinde durumuna "bakmanız" gerekir (bir şey düşünmediyseniz düzeltin):
Aşağıdaki ortaya çıkıyor.
Bir sipariş üzerinde herhangi bir işlem gerçekleştirmeden önce (veya sonra),
her seferinde durumuna "bakmanız" gerekir (bir şey düşünmediyseniz düzeltin):
Doğru değil,
HistoryOrderSelect ( bilet ) geçmişine bakarsak, o zaman HistoryOrderGetInteger() , HistoryOrderGetDouble() kullanmamız gerekir.
Doğru değil,
HistoryOrderSelect ( bilet ) geçmişine bakarsak, o zaman HistoryOrderGetInteger() , HistoryOrderGetDouble() kullanmamız gerekir.
Doğru, yazım hatası :)
teşekkürler düzeltildi...