Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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 güzel tavsiye...
tekrarlıyorum
Sonuçları kontrol etmeniz gerekir. sipariş.
Bir sipariş verilmişse, bu bir anlaşmanın yapılmış olduğu anlamına gelmez.
Ayrıca , siparişin durumunu ve tarihte görünüp görünmediğini de kontrol etmeniz gerekir.
Borsa pozisyonlarla çalışmaz, sadece emirlerle çalışır.
Geçenlerde siparişlerin yeniden açılması konusunu gündeme getirdim. Çünkü sorunu çözdüğümü sanıyordum. Bir hafta boyunca her şey çok iyi çalıştı. Ancak bugün sadece açarken benzer bir sorunla karşılaştım.
Finam'da, Açılış 9'da birçok emir açıldı... gerçi her durumda sadece bir emir açılmış olmalıydı.
İşte EA'dan bir kod parçası
onlar. Başarılı bir işlemden sonra , başlangıçta 0'a eşit olan OpenOrders değişkeninin arttığı koddan görülebilir.
ve 0'dan büyükse, o zaman siparişin başka açılması olmamalıdır, ancak sipariş yığınının tamamı Sipariş1 yorumuyla açıktır.
Bir sipariş açma işlevinde, olumlu bir yanıt olup olmadığını ve bir sipariş biletinin alınıp alınmadığını kontrol ediyorum , ancak bir nedenden dolayı bu işlev, siparişin gerçekten ayarlanmış olmasına rağmen false döndürüyor.
Neyin yanlış olduğunu açıklayın, bu problem nasıl çözülür?
Söyle bana, bu kodu hangi pazar için yazıyorsun?
Degis tokus icin
tekrarlıyorum
Ayrıca , siparişin durumunu ve tarihte görünüp görünmediğini de kontrol etmeniz gerekir.
Borsa pozisyonlarla çalışmaz, sadece emirlerle çalışır.
Pekala, Sergey, bak .... bu, isteğin sonucuyla ilgili belgelerden
anlaştık mı
Tamamlanmışsa, anlaşma bileti. Bir ticaret işlemi sırasında rapor edildi TRADE_ACTION_DEAL
sipariş
Yerleştirildiyse bilet sipariş edin. TRADE_ACTION_PENDING ticaret operasyonu sırasında rapor edildi
Bekleyen bir siparişim yok, TRADE_ACTION_DEAL kullanıyorum
Muhtemelen limit tüccarları olarak çalışıyorsunuz, o zaman her şey doğru .... ve işte mevcut fiyattan piyasadan giriş.Pekala, Sergey, bak .... bu, isteğin sonucuyla ilgili belgelerden
anlaştık mı
Tamamlanmışsa, anlaşma bileti. Bir ticaret işlemi sırasında rapor edildi TRADE_ACTION_DEAL
sipariş
Yerleştirildiyse bilet sipariş edin. TRADE_ACTION_PENDING ticaret operasyonu sırasında rapor edildi
Bekleyen bir siparişim yok, TRADE_ACTION_DEAL kullanıyorum
Muhtemelen limit tüccarları olarak çalışıyorsunuz, o zaman her şey doğru .... ve işte mevcut fiyattan piyasadan giriş.SetTypeDoldurma
SetTypeDoldurma
Yürütme için sipariş türünü ayarlar
İhtiyacınız olanı yükleyin.
Bu arada, siparişi baskı ile göndermenin sonuçlarını kontrol ettim.
yani bilet her durumda 0'a eşit çıkıyor
res= OrderSend (Request,Results);
if (res)
{
Print ( _Symbol +" Test True order "+( string )Results.deal);
if (Results.deal> 0 ) return ( true );
else return ( false );
}
Print ( _Symbol +" Test False order "+( string )Results.deal);
return ( false );
Bu arada, siparişi baskı ile göndermenin sonuçlarını kontrol ettim .
yani bilet her durumda 0'a eşit çıkıyor
İlerleme devam ediyor...
Bu arada, siparişin baskı ile gönderilmesinin sonuçlarını kontrol ettim.
yani bilet her durumda 0'a eşit çıkıyor
res= OrderSend (Request,Results);
if (res)
{
Print ( _Symbol +" Test True order "+( string )Results.deal);
if (Results.deal> 0 ) return ( true );
else return ( false );
}
Print ( _Symbol +" Test False order "+( string )Results.deal);
return ( false );
Dönüş kodları nerede? Nasıl anlaşılır - bir hata var mıydı, yok muydu?
Bir örnek verdim: çift koruma ve bir biletin çıktısı ve bir dönüş kodu.
Örnek bulamadım. Bunu açıklayayım.
Piyasada emir verirken emrin gerçekleşmesi veya reddedilmesi gerekir (çünkü FOK dolumunuz vardır)
Bu nedenle, bir anlaşma için beklemenize gerek yok, ancak bir BİLET almanız gerekiyor.
Bir bilet aldıktan sonra, bu biletle OnTradeTransaction() 'a "gidin"
TRADE_TRANSACTION_HISTORY_ADD'yi dinleyin çünkü piyasa emirleri yine de tarihe karışıyor
ve siparişe ne olduğunu görmek için bilete bakın.