MetaTrader 5 Python 사용자 그룹 - Metatrader에서 Python을 사용하는 방법 - 페이지 46

 

글쎄, 적어도 metatrader5(5.0.21)가 게시되었고 다음이 변경되었음을 알리고 문서를 정렬하십시오. 며칠 동안 변경해야 할 사항은 많지 않습니다. 아니면 터치로 모든 것을 확인해야 합니까?

확인 및 작동:

>>> #--lib---------------------
>>> import MetaTrader5 as mt5
>>> import time
>>> #--init----------
>>> server1 = "MetaQuotes-Demo" ; login1 = 18192632
>>> server2 = "AlpariEvrasia-MT5-Demo" ; login2 = 50468487
>>> logn = login1; server = server1 
>>> if mt5.initialize(timeout = 2000 , login = logn, server = server):
...     Acc = mt5.account_info()
... 
>>> if Acc.server != server:
...         print( "Connect server wrong" )
...         quit()
... 
>>> if Acc.login != logn:
...         print( "Connect login wrong" )
...         quit()
... 
>>> info = mt5.terminal_info()
>>> if info.trade_allowed == False:
...         print( "Auto-trading disabled in Terminal, enable it" )
...         quit()
... 
>>> print(info)
TerminalInfo(community_account=True, community_connection=True, connected=True, dlls_allowed=True, trade_allowed=True, tradeapi_disabled=False, email_enabled=False, ftp_enabled=False, notifications_enabled=False, mqid=False, build= 2340 , maxbars= 100000 , codepage= 1251 , ping_last= 72203 , community_balance= 0.1 , retransmission= 0.8130081300813009 , company= 'MetaQuotes Software Corp.' , name= 'MetaTrader 5' , language= 'Russian' , path= 'C:\\Program Files\\MetaTrader 5' , ...)
>>> if info.trade_allowed == False:
...         print( "Auto-trading disabled in Terminal, enable it" )
...         quit()
... 
>>> #--------------------------
>>> symbol = "EURGBP"
>>> timefr = 4
>>> mt5.symbol_select(symbol)
True
>>> time.sleep( 1 )
>>> #--price----------------
>>> import numpy as np
>>> import pandas as pd
>>> rates = pd.DataFrame(mt5.copy_rates_from_pos(symbol, timefr, 1 , 1000 ))
>>> print(rates)
           time     open     high  ...  tick_volume  spread  real_volume
0      1582230720    0.83800    0.83802   ...           89        5              0
1      1582230960    0.83798    0.83802   ...           99        5              0
2      1582231200    0.83788    0.83795   ...           91        5              0
3      1582231440    0.83790    0.83791   ...           39        6              0
4      1582231680    0.83788    0.83793   ...           66        5              0
..          ...      ...      ...  ...          ...     ...          ...
995    1582642560    0.83624    0.83659   ...           267        1              0
996    1582642800    0.83650    0.83650   ...           293        3              0
997    1582643040    0.83617    0.83627   ...           290        5              0
998    1582643280    0.83623    0.83636   ...           226        6              0
999    1582643520    0.83624    0.83641   ...           109        5              0

[ 1000 rows x 8 columns]

계속 탐색해봅시다 :)

 
Vladimir Perervenko :

글쎄, 적어도 metatrader5(5.0.21)가 게시되었고 다음이 변경되었음을 알리고 문서를 정렬하십시오. 며칠 동안 변경해야 할 사항은 많지 않습니다. 아니면 모든 것을 확인해야 합니까?

Python용 MetaTrader 온라인 문서는 업데이트된 기능과 관련하여 사이트에서 이미 사용할 수 있습니다. 각각에 대한 예가 표시됩니다.

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

물론 나는 그녀를 보았다. 나는 문서에 따라 실행

>>> #--lib---------------------
>>> import MetaTrader5 as mt5
>>> import time
>>> mt5.initialize()
True
>>> mt5.login(login = 18192632 , server = "MetaQuotes-Demo" )
RuntimeError: Invalid arguments
 

이것이 작동하는 방식이며 올바른 초기화입니다.

>>> mt5.initialize(timeout = 2000 , login = 18192632 , server = "MetaQuotes-Demo" )
True
>>> Acc = mt5.account_info()

문서를 수정하면 됩니다.

 
Vladimir Perervenko :

물론 나는 그녀를 보았다. 나는 문서에 따라 실행

로그인 - 필수 무명 매개변수, 로그인 제거= .

mt5.login( 18192632 , server = "MetaQuotes-Demo" )
 
Vladimir Perervenko :

이것이 작동하는 방식이며 올바른 초기화입니다.

문서를 수정하면 됩니다.

게시해 주셔서 감사합니다.

 
Vladimir Perervenko :

이것이 작동하는 방식이며 올바른 초기화입니다.

문서를 수정하면 됩니다.

이제 다시 연결을 시도하면

>>> res = mt5.login(server = "AlpariEvrasia-MT5-Demo" , login = 50468487 )
RuntimeError: Invalid arguments

일반적으로 지금까지 모든 것이 매우 습합니다 ...

 
Vladimir Perervenko :

이제 다시 연결을 시도하면

일반적으로 지금까지 모든 것이 매우 습합니다 ...

문자열을 Renat이 제공한 예제와 일치시키십시오.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

MetaTrader 5 Python 사용자 그룹 - Metatrader에서 Python을 사용하는 방법

레나트 팻쿨린 , 2020.02.18 22:05

import MetaTrader5 as mt5

mt5.initialize(timeout= 10000 )
mt5.initialize(login= 25035662 , password= "oxeb7lpb" , server= "MetaQuotes-Demo" )
mt5.login( 25035662 )
mt5.login( 25035662 , timeout= 10000 )
mt5.login( 25035662 , "oxeb7lpb" )
mt5.login( 25035662 , password= "oxeb7lpb" )
mt5.login( 25035662 , password= "oxeb7lpb" , server= "MetaQuotes-Demo" )
 
얘들아, 지금 터미널에서 열린 포지션 에 대한 정보를받는 것이 불가능하다는 것을 올바르게 이해하고 있습니까?
 
Rashid Zeynalov :
얘들아, 지금 터미널에서 열린 포지션 에 대한 정보를받는 것이 불가능하다는 것을 올바르게 이해하고 있습니까?

있습니다:

initialize(path=None)                              Establish connection with the MetaTrader 5 Terminal
wait()                                             Wait for the MetaTrader 5 Terminal to connect to a broker's server
shutdown()                                         Disconnect from the MetaTrader 5 Terminal

version ()                                          Get the MetaTrader 5 Terminal version
terminal_info()                                    Get the parameters of the MetaTrader 5 terminal
account_info()                                     Returns information of current account

copy_ticks_from(symbol, from, count, flags)                Get ticks starting from the specific date
copy_ticks_range(symbol, from, to, flags)                  Get ticks from the specified period
copy_rates_from(symbol, timeframe, from, count)            Get bars starting from the specific date
copy_rates_from_pos(symbol, timeframe, start_pos, count)   Get bars starting from the specified position
copy_rates_range(symbol, timeframe, date_from, date_to)    Get bars from the specified period

positions_total()                                          Returns the number of open positions
positions_get([symbol=\"SYMBOL\"],[ticket=TICKET])         Returns all open positions, can be filtered by symbol or ticket

orders_total()                                             Returns the number of orders
orders_get([symbol=\"SYMBOL\"],[ticket=TICKET])            Returns all orders, can be filtered by symbol or ticket

history_orders_total(from, to)                             Returns the number of orders in selected range from the history
history_orders_get(from, to)                               Returns orders in selected range from the history or filtered by position id, ticket

history_deals_total(from, to)                              Returns the number of deals in selected range from the history
history_deals_get(from, to)                                Returns deals in selected range from the history or filtered by position id, ticket

order_check(request)                                                Checks if there are enough funds to execute the required trade operation
order_send(request)                                                 Sends trade requests to a server
order_calc_margin(action, symbol, volume, price)                    Calculates the margin required for the specified order
order_calc_profit(action, symbol, volume, price_open, price_close)  Calculates the profit for the current account, in the current market conditions, based on the parameters passed

symbol_info(symbol)                                        Returns full information for a specified symbol
symbol_info_tick(symbol)                                   Returns current prices of a specified symbol
symbol_select(symbol,[enable])                             Selects a symbol in the Market Watch window or removes a symbol from the window

문서가 아직 완료되지 않았습니다.

최신 버전의 라이브러리로 업데이트하는 것을 잊지 마십시오. 이제 21입니다.

pip install --upgrade metatrader5