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

 
Maxim Dmitrievsky :

문자열로 명령과 매개변수 목록을 구분 기호로 구분하여 보낼 수 있습니다. EA가 메시지를 구문 분석할 때 수행할 작업을 이해합니다.


주문 보내기 명령?

문자열의 형식은 무엇이어야 합니까? 끈? 소켓에 대한 예제에서 mql5 소켓 클라이언트의 문자열 이 result에 전달되었음을 알 수 있습니다. socketreceive( int sock, int timeout).. result+= CharArrayToString (rsp, 0 ,rsp_len); .. 결과 반환 ;

[삭제]  
slukin :

주문 보내기 명령?

문자열의 형식은 무엇이어야 합니까? 끈? 소켓에 대한 예제에서 mql5 소켓 클라이언트의 문자열 이 result에 전달되었음을 알 수 있습니다. socketreceive( int sock, int timeout).. result+= CharArrayToString (rsp, 0 ,rsp_len); .. 결과 반환 ;

OrderSend()가 아니라 첫 번째 3개의 문자(예: "BUY")가 있는 문자열일 뿐이며 인수 목록(lot, take, next)이 나옵니다. EA는 라인을 읽고 첫 3글자가 매수임을 확인하고 트리거 요청을 생성합니다.

저것들. 자유 형식으로 응용 프로그램 간의 간단한 교환 프로토콜을 생각해 보세요.
 
Maxim Dmitrievsky :

OrderSend()가 아니라 첫 번째 3개의 문자(예: "BUY")가 있는 문자열일 뿐이며 인수 목록(lot, take, next)이 나옵니다. EA는 라인을 읽고 첫 3글자가 매수임을 확인하고 트리거 요청을 생성합니다.

저것들. 자유 형식으로 응용 프로그램 간의 간단한 교환 프로토콜을 생각해 보세요.


숙련된 개발자의 예가 매우 도움이 될 것입니다.

 
Roffild :

나는 이미 본격적인 Python을 터미널에 연결했으며 , 여러분 모두는 브레이크 소켓과 파이프를 통해 교환을 구동합니다.

어렵지 않은 경우 단일 테스트에 시간이 얼마나 걸리는지 쓰십시오.

즉, 테스터에서 최적화가 얼마나 오래 걸리는가에 대한 질문이 흥미롭고 잘못된 계산이 있습니까?

이전 댓글에서 그것을 알아내려면 약간의 배경 지식(JAVA 지식 등)이 필요하다고 썼습니다.

저는 C#과 Python을 조금 알고 MQL4,5로 프로그래밍할 수 있습니다. 라이브러리를 마스터하는 것이 상대적으로 쉬울까요? 라이브러리가 얼마나 복잡한가요?

[삭제]  
slukin :

숙련된 개발자의 예가 매우 도움이 될 것입니다.

기사가 나중이 아니면 예제와 함께 아직 씹을 시간이 없습니다

 
forexman77 :

어렵지 않은 경우 단일 테스트에 시간이 얼마나 걸리는지 쓰십시오.

즉, 테스터에서 최적화가 얼마나 오래 걸리는가에 대한 질문이 흥미롭고 잘못된 계산이 있습니까?

이전 댓글에서 그것을 알아내려면 약간의 배경 지식(JAVA 지식 등)이 필요하다고 썼습니다.

저는 C#과 Python을 조금 알고 MQL4,5로 프로그래밍할 수 있습니다. 라이브러리를 마스터하는 것이 상대적으로 쉬울까요? 라이브러리가 얼마나 복잡한가요?

평소와 같이 테스터에서 최적화합니다. 불안정한 소켓이나 파일이 아닌 RAM을 통해 전송되기 때문에 Python 및 역방향으로 전송할 때 데이터 손상으로 인한 잘못된 계산은 제외됩니다.

예, MQL, Java, Python 코드를 라이브러리에 넣었습니다. 하지만 Apache Spark 등이 필요하지 않다면 Java를 사용할 필요가 없습니다.

 

MetaTrader 5 플랫폼 베타 빌드 2055: Python과의 통합, C++과 같은 범위 및 전략 테스터의 대규모 개선

Terminal: Добавлено API для запроса данных из терминала MetaTrader 5 через приложения, использующие язык  Python

Python은 스크립트 및 애플리케이션 개발을 위한 최신 고급 프로그래밍 언어입니다. 기계 학습, 프로세스 자동화, 데이터 분석 및 시각화를 위한 많은 라이브러리가 포함되어 있습니다.

Python용 MetaTrader 패키지 는 MetaTrader 5 터미널에서 직접 프로세스 간 통신을 통해 교환 정보를 쉽고 빠르게 얻을 수 있도록 설계되었으며, 이러한 방식으로 얻은 데이터는 추가로 통계 계산 및 머신 러닝에 사용할 수 있습니다.



연결

  1. https://www.python.org/downloads/windows 에서 최신 버전의 Python을 다운로드합니다.
  2. Python을 설치할 때 명령줄에서 Python 스크립트를 실행할 수 있도록 "Path%에 Python XX 추가" 확인란을 선택합니다.
  3. 명령줄에서 MetaTrader5 모듈 설치
    pip install MetaTrader5
  4. matplotlib 및 pytz 패키지 추가
    pip install matplotlib
    pip install pytz

기능

  • MT5Initialize - MetaTrader 5 터미널과의 연결을 설정합니다.
  • MT5Shutdown - MetaTrader 5 터미널에 대한 이전에 설정된 연결을 닫습니다.
  • MT5TerminalInfo - 연결된 MetaTrader 5 터미널의 상태 및 매개변수를 가져옵니다.
  • MT5Version - MetaTrader 5 터미널의 버전을 반환합니다.
  • MT5WaitForTerminal - MetaTrader 5 터미널이 거래 서버에 연결될 때까지 기다립니다.
  • MT5CopyRatesFrom - 지정된 날짜부터 MetaTrader 5 터미널에서 막대를 가져옵니다.
  • MT5CopyRatesFromPos - 지정된 인덱스에서 시작하여 MetaTrader 5 터미널에서 막대를 가져옵니다.
  • MT5CopyRatesRange - MetaTrader 5 터미널에서 지정된 날짜 범위의 막대를 가져옵니다.
  • MT5CopyTicksFrom - 지정된 날짜부터 MetaTrader 5 터미널에서 틱을 수신합니다.
  • MT5CopyTicksRange - MetaTrader 5 터미널에서 지정된 날짜 범위에 대한 틱을 가져옵니다.
Welcome to Python.org
Welcome to Python.org
  • 2019.05.15
  • www.python.org
The official home of the Python Programming Language
 

그래서 무엇? 이 방향으로 일하는 사람이 있습니까? 열정이 없습니다.

행운을 빕니다

 
Vladimir Perervenko :

그래서 무엇? 이 방향으로 일하는 사람이 있습니까? 열정이 없습니다.

행운을 빕니다

이에, 없습니다. 그리고 NS 테스트를 위해 파이썬을 사용합니다.
 
Roffild :

평소와 같이 테스터에서 최적화합니다. 불안정한 소켓이나 파일 이 아닌 RAM을 통해 전송되기 때문에 Python 및 역방향으로 전송할 때 데이터 손상으로 인한 잘못된 계산은 제외됩니다.

예, MQL, Java, Python 코드를 라이브러리에 넣었습니다. 하지만 Apache Spark 등이 필요하지 않다면 Java를 사용할 필요가 없습니다.

메모리가 빠르다는 점에는 동의하지만 소켓이나 파이프가 안정적이지 않고 커넥터를 구성할 때 엄청난 메모리 속도가 불필요하다는 점에는 동의하지 않습니다. 레이턴시 교환이 있습니다 <--- (중간 서버가 가능합니다) ---> 한 기계 내부의 수백 개의 직렬 소켓으로도 충분합니다 ...