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

 
Roman :

계산된 값과 배열을 Py에서 mt5로 전송하는 함수가 없다는 것을 올바르게 이해하고 있습니까?

그리고 네트워크 솔루션을 사용하거나 메모리를 통한 전송을 위해 모듈을 잘라야 합니까?

데이터 가져오기에 중점을 둔 MT5 <-> Python 통신용 라이브러리입니다.

Python 프로그램에서 요청 및 거래 요청만 터미널로 이동합니다. python은 가변 MQL5 환경에 대한 액세스 권한이 없지만 좁은 터미널 쿼리 인터페이스로 엄격하게 제한되어 있기 때문에 python에서 대량 데이터를 보낼 이유가 없습니다.


Python 통합의 범위는 다음과 같습니다.

  1. 차트 시장 데이터, 포지션 및 거래 내역 수신
  2. 전송 및 제어 거래 작업
  3. 네비게이터에서 직접 *.py 파일 실행
  4. 데이터 접근의 편리함과 목발 없는 본격적인 거래로 Python 개발자를 Metatrader 생태계로 유인
  5. 헤지 펀드, 투자 회사 및 은행에서 퀀트 개발자로 구성된 소수의 전문 그룹을 유치하여 자신의 동물원을 편리하게 대체할 수 있습니다.
  6. Python에서 사용할 수 있는 다양한 수학 및 AI 라이브러리에 대한 액세스 권한 부여

Python 라이브러리는 MQL5를 대체하지 않으며 기능 확장 요청을 수락하지 않습니다.
 
Renat Fatkhullin :

데이터 가져오기에 중점을 둔 MT5 <-> Python 통신용 라이브러리입니다.

Python 프로그램에서 요청 및 거래 요청만 터미널로 이동합니다. python은 가변 MQL5 환경에 대한 액세스 권한이 없지만 좁은 터미널 쿼리 인터페이스로 엄격하게 제한되어 있기 때문에 python에서 대량 데이터를 보낼 이유가 없습니다.


Python 통합의 범위는 다음과 같습니다.

  1. 차트 시장 데이터, 포지션 및 거래 내역 수신
  2. 전송 및 제어 거래 작업
  3. 네비게이터에서 직접 *.py 파일 실행
  4. 데이터 접근의 편리함과 목발 없는 본격적인 거래로 Python 개발자를 Metatrader 생태계로 유인
  5. 헤지 펀드, 투자 회사 및 은행에서 퀀트 개발자로 구성된 소수의 전문 그룹을 유치하여 자신의 동물원을 편리하게 대체할 수 있습니다.
  6. Python에서 사용할 수 있는 다양한 수학 및 AI 라이브러리에 대한 액세스 권한 부여

Python 라이브러리는 MQL5를 대체하지 않으며 기능 확장 요청을 수락하지 않습니다.

다시 이 샌드박스가... 질문을 이해하지 못했을 수도 있고 해결책이 있습니다.
배열을 mql 프로그램에 전달하려면 Py 스크립트가 필요합니다.
계산된 데이터 배열을 전송해야 하는 이유가 있습니다.
실시간 사용자 정의 mql 차트를 작성합니다.
실시간 mql 표시기 구축용.
mql 전문가에서 실시간 계산을 사용합니다.
네비게이터에서 직접 *.py 파일을 실행하면 mt5에서 전문적인 사용자 정의 차트를 작성하는 문제가 해결되지 않습니다.
Py 스크립트에서 계산된 실시간 사용자 정의 mt5 차트가 필요합니다.
이를 위해서는 Py 스크립트에서 배열을 전달해야 합니다.

 
좋은 사람들, 여기에서 보류 주문 을 만드는 방법과 가능한 경우 예를 알려주십시오.
 
Roman :

배열을 mql 프로그램에 전달하려면 Py 스크립트가 필요합니다.

대답은 완전하고 명확했습니다.

 
Renat Fatkhullin :

대답은 완전하고 명확했습니다.

답은 읽히지만 제한 이유는 명확하지 않습니다.
개방형 Py 스크립트에서 제어되는 배열이 mql 프로그램에 어떻게 해를 끼칠 수 있습니까?
우리가 다시 길을 벗어나 목발, 같은 소켓, dll 등을 사용한다면 우리는 어떤 동물원을 말하는 것입니까?
mt5에 대한 전문 솔루션을 만들기 위해 인공 장벽이 만들어지고 있습니다.

 
alex.alexen :
좋은 사람들, 여기에서 보류 주문 을 만드는 방법과 가능한 경우 예를 알려주십시오.

미리 만들어진 함수는 없지만 __init__.py에서 간단한 주문이 이루어지는 것을 볼 수 있습니다. 보류 중인 주문은 비슷한 방식으로 수행됩니다.

 # internal order send
def _RawOrder(order_type, symbol, volume, price, comment=None, ticket=None):
    order = {
       "action" :     TRADE_ACTION_DEAL ,
       "symbol" :    symbol,
       "volume" :    volume,
       "type" :      order_type,
       "price" :     price,
       "deviation" : 10 ,
    }
     if comment != None:
        order[ "comment" ] = comment
     if ticket != None:
        order[ "position" ] = ticket
    r = order_send(order)
     return r

# Buy order                
def Buy(symbol, volume, price=None, *, comment=None, ticket=None):
     # with direct call
     if price != None:
         return _RawOrder( ORDER_TYPE_BUY , symbol, volume, price, comment, ticket)
     # no price, we try several times with current price
     for tries in range( 10 ):
        info = symbol_info_tick(symbol)
        r = _RawOrder( ORDER_TYPE_BUY , symbol, volume, info.ask, comment, ticket)
         if r.retcode != TRADE_RETCODE_REQUOTE and r.retcode != TRADE_RETCODE_PRICE_OFF :
             break
     return r

# Sell order
def Sell(symbol, volume, price=None, *, comment=None, ticket=None):
     # with direct call
     if price != None:
         return _RawOrder( ORDER_TYPE_SELL , symbol, volume, price, comment, ticket)
     # no price, we try several times with current price
     for tries in range( 10 ):
        info = symbol_info_tick(symbol)
        r = _RawOrder( ORDER_TYPE_SELL , symbol, volume, info.bid, comment, ticket)
         if r.retcode != TRADE_RETCODE_REQUOTE and r.retcode != TRADE_RETCODE_PRICE_OFF :
             break
     return r

order_send에 전달된 필드:

action, magic, order, symbol, volume, price, stoplimit, sl, tp, deviation, type, type_filling, type_time, expiration, comment, position, position_by

비슷합니다: https://www.mql5.com/en/docs/trading/ordersend

Документация по MQL5: Торговые функции / OrderSend
Документация по MQL5: Торговые функции / OrderSend
  • www.mql5.com
Торговый запрос проходит несколько стадий проверок на торговом сервере. В первую очередь проверяется корректность заполнения всех необходимых полей параметра , и при отсутствии ошибок сервер принимает ордер для дальнейшей обработки. При успешном принятии ордера торговым сервером функция OrderSend() возвращает значение true. Рекомендуется...
 

안녕하세요.

아마도 질문이 이미 요청되었지만 검색(google, forum)에서 긍정적인 결과를 얻지 못했을 것입니다. Ubuntu PC에 설치된 jupyter 노트북에서 MetaTrader5 패키지를 사용할 수 있었던 것 같습니다. 내 PC에 몇 가지 문제가 있은 후 HDD를 새 것으로 설치하면서 교체했습니다. 이 절차 후에 패키지와의 연결이 끊겼고 pip install MetaTrader5 명령으로 패키지를 설치하려고 하면 다음 메시지가 나타납니다.

오류: MetaTrader5 요구 사항을 충족하는 버전을 찾을 수 없습니다(버전: 없음).

오류: MetaTrader5에 대해 일치하는 배포판을 찾을 수 없습니다.

친절하게 조언:
1. Ubuntu PC에 패키지를 설치할 수 있습니까?
2. 그렇다면 설치 오류를 해결하기 위해 어떤 단계를 수행할 수 있습니까?

Документация по MQL5: Интеграция / MetaTrader для Python
Документация по MQL5: Интеграция / MetaTrader для Python
  • www.mql5.com
MT5Tick(time=datetime.datetime(2019, 4, 1, 3, 2, 3, 512000), bid=1.5764200000000002, ask=1.57837, last=0.0, volume=0.0, flags=134) MT5Tick(time=datetime.datetime(2019, 4, 1, 3, 2, 8, 70000), bid=1.57643, ask=1.57837, last=0.0, volume=0.0, flags=130...
 
wildzes :

안녕하세요.

아마도 질문이 이미 요청되었지만 검색(google, forum)에서 긍정적인 결과를 얻지 못했을 것입니다. Ubuntu PC에 설치된 jupyter 노트북에서 MetaTrader5 패키지를 사용할 수 있는 것 같습니다. 내 PC에 몇 가지 문제가 있은 후 HDD를 새 것으로 설치하면서 교체했습니다. 이 절차 후에 패키지와의 연결이 끊겼고 pip install MetaTrader5 명령으로 패키지를 설치하려고 하면 다음 메시지가 나타납니다.

오류: MetaTrader5 요구 사항을 충족하는 버전을 찾을 수 없습니다(버전: 없음).

오류: MetaTrader5에 대해 일치하는 배포판을 찾을 수 없습니다.

친절하게 조언:
1. Ubuntu PC에 패키지를 설치할 수 있습니까?
2. 그렇다면 설치 오류를 해결하기 위해 어떤 단계를 수행할 수 있습니까?

아니요, 라이브러리는 Windows 버전의 터미널과 함께 작동하므로 Windows 버전의 Python 전용입니다.

 
Renat Fatkhullin :
통합 라이브러리의 새 버전을 작성 중이며 여기에 필요한 계정에 대한 명시적 선택 및 권한 부여를 추가합니다 .

다중 버전 관리는 편집기 설정에서 특정 버전의 인터프리터에 대한 경로를 지정하여 지원됩니다.

패키지는 수동으로 설치되며 환경 문제가 아닙니다. 또한 자동으로 수행하는 것은 위험하며, 이해도가 낮은 사용자가 있는 경우에도 마찬가지입니다.

디버거가 없으므로 다른 환경에서 디버그할 수 있습니다. 우리는 파이썬을 위한 본격적인 디버거를 만드는 작업을 하는 것이 아니라 실행 환경과 터미널과의 통합만 합니다.


나중에 될까요? 또는?

 
Almaz :

미리 만들어진 함수는 없지만 __init__.py에서 간단한 주문이 이루어지는 것을 볼 수 있습니다. 보류 중인 주문은 비슷한 방식으로 수행됩니다.

order_send에 전달된 필드:

비슷합니다: https://www.mql5.com/ru/docs/trading/ordersend

이 _init_.py는 어디에서 왔습니까? 어디에서 볼 수 있습니까?