Sivoraksha-ia : Garip ama aynı zamanda boş bir masa gelir. Terminalin kendisinde, Hızlı'da olduğu gibi, yüklemelerin çalışması için herhangi bir şey açmanız gerekiyor mu?
İstenen çifti içeren herhangi bir çizelge (keneler için).
Python API'sini kullanan order_send() isteğinden sonra döndürülen OrderSendResult yapısıyla ilgili bir sorunum var. Döndürülen alanlardan biri, aracının işlem hakkındaki yorumunu içermesi gereken "yorum"dur. Ancak bu alan, aracıyı olması gerektiği gibi döndürmek yerine, isteğe iletilen yorumu döndürür.
Hatayı yeniden oluşturmak için aşağıdakileri yapın:
1. Yorum oluşturacak bir sorgu oluşturun. "Yorum" sorgusunu sahte bir yorumla doldurun.
2. Python API'sinden order_send() komutunu kullanarak bir istek gönderin.
3. Döndürülen OrderSendResult nesnesinde "yorum" alanını kontrol edin.
'Yorum' alanına aynı yorum iletilecektir, ancak bu, aracı tarafından döndürülen ve MT5 Terminalinin 'Günlük' sekmesinde kontrol edilebilen yorum olmalıdır.
Bunu kimse onaylayabilir mi? Aracının yorumunu almanın bir yolu var mı?
Python'da işlemlerin sanal muhasebesini düzenlemek istiyorum. Bu, çeşitli ticaret stratejilerinin özelliklerini ayırt etmek için gereklidir. Kullanılmış komisyoncu - Açılış. Ağ yok. Alet üzerindeki pozisyon ortaktır, dur ve al pozisyon için ortaktır. Bunu bu şekilde yapmaya karar verdim - Durmadan ve almadan, biraz hacimle bazı stratejiler kullanarak piyasada bir anlaşma açıyorum. Bunun yerine, aynı hacimde stop ve limit emirleri koydum. Alınan siparişlerin biletleri tabloda ayrı olarak saklanır. Orders = mt5.orders_get(symbol=symb) yaptığım her belirli zaman diliminde, bilinen bekleyen biletlerin bir listesini alıyorum order.ticket.tolist()
Daha sonra, fırsatlar tablomu gözden geçiriyorum ve alınan açık siparişler listesinde bir stop emri bileti veya limit emri bileti olup olmadığını öğreniyorum. Stop yoksa zararı durdur sanal olarak tetiklenir, limit yoksa kar al. Daha sonra bu işleme ait girdileri tablomdan silerim ve bu işlem için bekleyenleri de silerim. Ve bir şey dışında her şey yolunda gidiyor - bu işlemdeki sanal karı nasıl hesaplayacağımı bilmiyorum. Fotoğraf, satış stopunun 141430 fiyatına nasıl ayarlandığını gösteriyor, ancak gerçek hayatta kayma meydana geldi ve açılış fiyatı 141350. Tetiklenen bir gecikme için talepte bulunuyorum: Deals = mt5.history_orders_get(ticket=246525084) ( fotoğraftaki gibi, sistem yerleştirirken bu bileti hatırladı), ancak yanıt, siparişin yürütülmesi hakkında bilgi içermiyor, sadece yerleşimi hakkında bilgi içeriyor. Tarih, satış durdurma işleminin aslında 15215696 numaralı biletle yapılan anlaşma tarafından yapıldığını gösteriyor ve bu bilete talepte bulunarak istediğiniz fiyatı anlaşmadan çıkarabilirsiniz. Ama önce, bir şekilde anlaşmadan bu bileti bulmam gerekiyor. Bu fırsat biletini bekleyen bir emir (satış durdurma) bileti ile nasıl eşleştirilir?
Benim sorunumda ilerledi. Kapatılan pozisyonların geçmişini talep ederek mt5. history_deals_get kapalı bekleyen bir bileti ve işlem fiyatını emirler arasında bulabilirsiniz. Bu, parametrelerde bir zaman aralığı belirtirsem işe yarar. Ayrıca sipariş biletinin kendisine aktarılmasıyla aynı işleve bir çağrı var - mt5.history_deals_get(bilet=TICKET) - ancak yanıt (-2, 'Terminal: Geçersiz parametreler'). Bu parametreye sahip bir işlev hiç çalışıyor mu?
Sevgili geliştiriciler, bir önceki soruma yorum yapabilir misiniz? History_deals_get işlevi (bilet=TICKET) çalışmıyor. Yanıt her zaman (-2, 'Terminal: Geçersiz parametreler') şeklindedir. Aynı işlev ancak farklı bir parametreyle history_deals_get(position=POSITION) çalışıyor, ancak tam olarak sipariş biletine göre bir anlaşma bulmam gerekiyor.
Sevgili, MOEX'te ticaret yapanlar var mı? Terminale bağlantı başlatılırken sunucuya yeniden bağlanıp sertifika için parola girmesini istemesiyle aynı sorunu yaşayan kim?
Garip ama aynı zamanda boş bir masa gelir. Terminalin kendisinde, Hızlı'da olduğu gibi, yüklemelerin çalışması için herhangi bir şey açmanız gerekiyor mu?
İstenen çifti içeren herhangi bir çizelge (keneler için).
Bunu kimse onaylayabilir mi? Aracının yorumunu almanın bir yolu var mı?
Belgelere bir açıklama ekler misiniz?
Katma
Python'da işlemlerin sanal muhasebesini düzenlemek istiyorum. Bu, çeşitli ticaret stratejilerinin özelliklerini ayırt etmek için gereklidir. Kullanılmış komisyoncu - Açılış. Ağ yok. Alet üzerindeki pozisyon ortaktır, dur ve al pozisyon için ortaktır. Bunu bu şekilde yapmaya karar verdim - Durmadan ve almadan, biraz hacimle bazı stratejiler kullanarak piyasada bir anlaşma açıyorum. Bunun yerine, aynı hacimde stop ve limit emirleri koydum. Alınan siparişlerin biletleri tabloda ayrı olarak saklanır. Orders = mt5.orders_get(symbol=symb) yaptığım her belirli zaman diliminde, bilinen bekleyen biletlerin bir listesini alıyorum order.ticket.tolist()
Daha sonra, fırsatlar tablomu gözden geçiriyorum ve alınan açık siparişler listesinde bir stop emri bileti veya limit emri bileti olup olmadığını öğreniyorum. Stop yoksa zararı durdur sanal olarak tetiklenir, limit yoksa kar al. Daha sonra bu işleme ait girdileri tablomdan silerim ve bu işlem için bekleyenleri de silerim. Ve bir şey dışında her şey yolunda gidiyor - bu işlemdeki sanal karı nasıl hesaplayacağımı bilmiyorum. Fotoğraf, satış stopunun 141430 fiyatına nasıl ayarlandığını gösteriyor, ancak gerçek hayatta kayma meydana geldi ve açılış fiyatı 141350. Tetiklenen bir gecikme için talepte bulunuyorum: Deals = mt5.history_orders_get(ticket=246525084) ( fotoğraftaki gibi, sistem yerleştirirken bu bileti hatırladı), ancak yanıt, siparişin yürütülmesi hakkında bilgi içermiyor, sadece yerleşimi hakkında bilgi içeriyor. Tarih, satış durdurma işleminin aslında 15215696 numaralı biletle yapılan anlaşma tarafından yapıldığını gösteriyor ve bu bilete talepte bulunarak istediğiniz fiyatı anlaşmadan çıkarabilirsiniz. Ama önce, bir şekilde anlaşmadan bu bileti bulmam gerekiyor. Bu fırsat biletini bekleyen bir emir (satış durdurma) bileti ile nasıl eşleştirilir?
order_send ve order_check döndürür Yok. Nereye bakacağımı bilmiyorum. Bana neyin yanlış olduğunu söyle. Rica ederim.
kod
Çözüm
Sorunu çözmek için yönetildi. İstekte hacim, fiyat, sl, tp alanları float türünde olmalıdır. İşte böyle çalışır
request = { "action": mt. TRADE_ACTION_PENDING , "symbol": "Si- 6.21 ", "volume": 1. , "type": mt. ORDER_TYPE_BUY_LIMIT , "price": 77300. , "sl": 0. , "tp": 0. , "deviation": 0 , "magic": 123 , "comment": "test", "type_time": mt. ORDER_TIME_DAY , "type_filling": mt. ORDER_FILLING_RETURN , }Meslektaşlarım lütfen bana söyleyin:
1. Python'da mt5'ten enstrümanlar için mevcut ticaret seansı aralıklarını nasıl çıkarabilir ve bunları periyodik olarak güncelleyebilirsiniz?
2. Açık pozisyonlarda Takip Eden Durdurma talep etmek ve değiştirmek için bir yöntemin kütüphanede görünmesini beklemeli miyiz?