MetaTrader 5 Python Kullanıcı Grubu - Metatrader'da Python nasıl kullanılır - sayfa 58

 
Дмитрий Прокопьев :

Teşekkürler, bu örneği gördüm, işe yarıyor.

Ben başka bir şeyden bahsediyorum.


position_get - TradePosition'ın bir listesini döndürür. Prensip olarak, normlara panda atabilir ve iyi çalışabilirsiniz.

Ancak her şey bir panda ile sınırlı değildir ve aşağıdaki gibi bir şeye ihtiyacınız varsa:

[{'ticket': 164661016, 'time': 1585075408, 'time_msc': 1585075408163, 'time_update': 1585075408, 'time_update_msc': 1585075408163, 'type': 1, 'magic': 0, 'identifier': 164661016, 'reason': 0, 'volume': 0.01, 'price_open': 120.306, 'sl': 0.0, 'tp': 0.0, 'price_current': 120.328, 'swap': 0.0, 'profit': -0.2, 'symbol': 'EURJPY', 'comment': '', 'external_id': ''}, 
{'ticket': 164661051, 'time': 1585075426, 'time_msc': 1585075426062, 'time_update': 1585075426, 'time_update_msc': 1585075426062, 'type': 0, 'magic': 0, 'identifier': 164661051, 'reason': 0, 'volume': 0.01, 'price_open': 1.07798, 'sl': 0.0, 'tp': 0.0, 'price_current': 1.07881, 'swap': 0.0, 'profit': 0.83, 'symbol': 'EURUSD', 'comment': '', 'external_id': ''}]

position_get için örneğe bakın, kullanılan birkaç satır var

Misal:

içe aktarmak   MetaTrader5   gibi   mt5
içe aktarmak   pandalar   gibi   pd
pd . set_option ( 'display.max_columns' , 500 ) # kaç sütun gösterilecek
pd . set_option ( 'display.width', 1500 ) # maks. görüntülenecek tablo genişliği
# MetaTrader5 paketiyle ilgili verileri göster
print ( "MetaTrader5 paket yazarı: " , mt5.__author__ )
print ( "MetaTrader5 paket versiyonu: " , mt5.__version__ )
yazdır ()
# MetaTrader 5 terminaline bağlantı kurun
mt5.initialize () değilse :
print ( "initialize() başarısız, hata kodu =" , mt5.last_error() )
     çıkış yapmak()
 
# USDCHF'de açık pozisyonlar alın
pozisyonlar = mt5.positions_get ( sembol = "USDCHF" )
Eğer   pozisyonlar == Yok :
     print ( "USDCHF'de pozisyon yok, hata kodu={}" .format( mt5.last_error() ))
elif len (pozisyonlar)>0 :
     print ( "USDCHF'deki toplam pozisyonlar =", len (konumlar) )
# tüm açık pozisyonları göster
     için   konum   içinde   pozisyon :
         yazdır ( konum )
 
# isimleri "*USD*" içeren sembollerdeki pozisyonların bir listesini alın
usd_positions = mt5.positions_get ( grup = "*USD*" )
Eğer   usd_positions == Yok :
     print ( "group=\"*USD*\" ile pozisyon yok, hata kodu={}" .format ( mt5.last_error () ))
elif len (usd_positions)>0 :
     print ( "positions_get(group=\"*USD*\")={}" .format ( len ( usd_positions) ))
     # bu pozisyonları pandas.DataFrame kullanarak bir tablo olarak göster
df= pd.DataFrame ( list ( usd_positions ),columns= usd_positions [0]._asdict().keys())
df[ 'zaman' ] = pd.to_datetime(df[ 'zaman' ], birim='s')
df.drop([ 'time_update', 'time_msc', 'time_update_msc', 'external_id' ], axis=1, inplace=Doğru)

     yazdır (df)
 
# MetaTrader 5 terminaline bağlantıyı tamamlayın
mt5.kapatma ()
 
 
Sonuç:
MetaTrader5 paketinin yazarı: MetaQuotes Software Corp.
MetaTrader5 paket sürümü: 5.0.29
 
position_get(group="*USD*")=5
bilet zaman türü sihirli tanımlayıcı neden hacim fiyat_açık sl tp fiyat_geçerli takas kar sembolü yorum
0 548297723 2020-03-18 15:00:55 1 0 548297723 3 0.01 1.09301 1.11490 1.06236 1.10101 -0.10 -8.00 EURUSD
1 548655158 2020-03-18 20:31:26 0 0 548655158 3 0.01 1.08676 1.06107 1.12446 1.10098 -0.08 14.22 EURUSD
2 548663803 2020-03-18 20:40:04 0 0 548663803 3 0.01 1.08640 1.06351 1.11833 1.10098 -0.08 14.58 EURUSD
3 548847168 2020-03-19 01:10:05 0 0 548847168 3 0.01 1.09545 1.05524 1.15122 1.10098 -0.06 5,53 EURUSD
4 548847194 2020-03-19 01:10:07 0 0 548847194 3 0.02 1.09536 1.04478 1.16587 1.10098 -0.08 11.24 EURUSD

Документация по MQL5: Интеграция / MetaTrader для Python / positions_get
Документация по MQL5: Интеграция / MetaTrader для Python / positions_get
  • www.mql5.com
ticket                time  type  magic  identifier  reason  volume  price_open       sl       tp  price_current  swap  profit  symbol comment 0  548297723 2020-03-18 15:00:55     1      0   548297723       3    0.01     1.09301  1.11490  1.06236        1.10101 -0.10   -8.00  EURUSD        ...
 

Yardıma 3 yeni işlevin açıklamaları eklendi:

Ayrıca pek çok fonksiyonun açıklamalarında da son hali verildikçe değişiklikler yapıldı. Hemen hemen tüm örnekler, yeni işlevselliği yansıtacak şekilde yeniden yazılmıştır. Doğru, sitedeki aşağıdaki işlevlerin örnekleri henüz güncellenmedi, biraz sonra olacaklar:

Документация по MQL5: Интеграция / MetaTrader для Python / last_error
Документация по MQL5: Интеграция / MetaTrader для Python / last_error
  • www.mql5.com
позволяет получить код ошибки в случае неуспешного выполнения какой-либо функции библиотеки MetaTrader 5. Является аналогом GetLastError(), но используются свои коды ошибок. Возможные значения:
 
Дмитрий Прокопьев :

Beyler, bir sonraki şubede çocuklar ikisinden biri hakkında sorular soruyorlar:

URL: https://www.mql5.com/en/forum/306742/page11#comment_15595095

destek verecek misiniz?

o başlıkta cevaplandı

 
Rashid Umarov :

position_get için örneğe bakın, kullanılan birkaç satır var

Teşekkür ederim!

 
Rashid Umarov :

o başlıkta cevaplandı

Rashid, söyle bana, test cihazı c'yi veya MetaTrader5'i kullanmak mümkün mü?

Testte modelleme yaparken, çok etkili bir unsur vardır - Yerel ağ çiftliğinde modelleme görevlerinin paralelleştirilmesi veya

MQL5 Cloud, MetaTrader5 ile tester kaynağını kullanmak istiyorum.

 
Vladimir Perervenko :

Bu neden senin için? Python'da hesaplayamaz mısın? Sürpriz.

Evet, henüz python'a aşina değilim, sadece lua'dan ona geçeceğim, bu yüzden materyali inceliyorum ...
 

Yardım, kitaplığın nasıl kurulacağını ve güncelleneceğini gösterir - https://www.mql5.com/ru/docs/integration/python_metatrader5

Установка пакета в командной строке:

pip yükleme MetaTrader5

Komut satırında bir paketi güncelleme:

pip kurulumu -- MetaTrader5'i yükseltin



Документация по MQL5: Интеграция / MetaTrader для Python
Документация по MQL5: Интеграция / MetaTrader для Python
  • www.mql5.com
Python является современным высокоуровневым языком программирования для разработки сценариев и приложений. Содержит множество библиотек для машинного обучения, автоматизации процессов, анализа и визуализации данных. Пакет MetaTrader для Python предназначен для...
 
Rashid Umarov :

Yardım, kitaplığın nasıl kurulacağını ve güncelleneceğini gösterir - https://www.mql5.com/ru/docs/integration/python_metatrader5

Dürüst olmak gerekirse, her şey net değil. Çünkü VS olmadan çalışmaz ve VS'den tam olarak neyin gerekli olduğu net değildir (çünkü gerekli olmadığı için tüm stüdyoyu kurmak istemem);

Belirtirseniz - harika olacak.

 
Alexey Kozitsyn :

Dürüst olmak gerekirse, her şey net değil. Çünkü VS olmadan çalışmaz ve VS'den tam olarak neyin gerekli olduğu net değildir (çünkü gerekli olmadığı için tüm stüdyoyu kurmak istemem);

Belirtirseniz - harika olacak.

Neden VS'ye ihtiyacınız var? Python VS gerektirmez.

Google, pencere python gibi bir şey ve iyi olacaksın.

 

Geliştiricilerin beyleri, burada bir sonraki dalda iyi bir açıklama alındı.

Bu, **kwarg'ların işlenmesiyle ilgilidir, testlerin yazılması durumunda bu çok önemli bir noktadır.

https://www.mql5.com/en/forum/306742/page12#comment_15660939