MT용 Python으로 거래 시스템 만들기.

 
Python 으로 거래 시스템을 작성 하려는 아이디어가 있었고 이미 실현되었다면 이 시스템을 공개적으로 사용할 수 있도록 하는 것이 어떻습니까? 나 말고 누군가에게 관심이 될지도 몰라.
그런데 왜 파이썬에서?
- 이것은 여러 측면에서 복잡한 문제입니다. 나는 대답하려고 노력할 것이다.
역사적으로 내 컴퓨터에는 4개의 터미널이 설치되어 있습니다. 그들 중 일부는 본격적인 API를 사용하고 일부는 자체 비표준 언어를 사용하고 일부는 둘 다 사용합니다.
2008년에 첫 번째는 API가 설치된 터미널이었습니다. 그 아래에 첫 번째 시스템이 만들어졌고 결국 C ++/C # 언어가 되었습니다. 다음 터미널(언어 유무)을 추가할 때 시스템은 변경되지 않고 터미널과 시스템 사이에 새로운 인터페이스만 개발되었습니다. 따라서 시스템이 통일되어 다른 단말기와 연동하기 위해서는 필요한 인터페이스만 연결하면 된다. 가장 간단한 버전에서는 하루 이상 걸리지 않습니다. 그리고 특정 단말기를 위해 시스템을 리메이크하고 싶은 마음도 없습니다.
터미널은 데이터 제공자이자 주문 집행자일 뿐입니다. 그게 전부입니다. 그에게 더 이상 필요한 것은 없습니다.
이것이 시스템의 이데올로기입니다.
그러나 이것은 한 측면일 뿐입니다. 향후 게시물의 기타. 자주 쓴다는 약속은 하지 않겠습니다.
 
원하는 Python x에서. 저는 3개월 안에 몇 가지를 Java로 이식할 계획이 있습니다. 그거 생각해 봤어. 그리고 파이썬에서는 어떤 브로커의 API도 전혀 만나지 못했습니다. 비록, .. 물론 있을 수 있습니다.
 
예, 그런데 왜 파이썬입니까?
사실, Python은 내가 작년에 해왔던 Machine Learning(머신 러닝 또는 ML)을 포함하여 수많은 라이브러리(모듈)의 존재에 관심이 있었습니다. 그러나 저는 Python으로 작업한 적이 없습니다. 아직 한 줄도 작성하지 않았습니다.) 글쎄, 나는 추상적인 것을 시도했지만 구체적인 목표는 없었습니다.
그러나 거래 시스템에 Python을 구체적으로 적용하려면 먼저 TS 및 터미널과의 상호 작용을 디버그해야 합니다.
DLL을 통해 MQL에서 Python 함수 를 잘못 호출하는 것을 고려합니다. 이러한 방식으로 Python 함수를 호출하려면 인터프리터를 시작하고 인터프리터를 통해 함수를 호출해야 하므로 각 호출마다 매우 깁니다.
다른 개념이 있습니다. TS는 모든 이전 데이터와 필요한 기록을 저장하는 본격적인 EXE 응용 프로그램입니다. 따라서 이미 실행 중인 애플리케이션에서만 함수를 호출합니다. 호출 시간은 최소화됩니다.
어떤 사람들은 파이썬이 매우 느리다고 말합니다. 이것은 사실이 아닙니다. 대부분의 시스템에서(심지어 하루 중) Python은 충분한 속도를 제공하며 앞으로 이를 보게 될 것입니다. HFT에 관해서는, 우리는 그들과 어떤 속도로도 경쟁할 수 없을 것입니다 - 이것은 다른 돈입니다.) 그리고 다른 스프레드.)
 
Viktar Dzemikhau :
원하는 Python x에서. 저는 3개월 안에 몇 가지를 Java로 이식할 계획이 있습니다. 그거 생각해 봤어. 그리고 파이썬에서는 어떤 브로커의 API도 전혀 만나지 못했습니다. 비록, .. 물론 있을 수 있습니다.

잠깐, API를 만들어 봅시다. 이 주제에서. 한 번에 모든 것이 아닙니다.) 관심이 있다면 포럼에서.

IMHO, Java는 옵션이 아닙니다. 내가 틀릴 수 있습니다.

 
Konstantin Nikitin :
또는 QT를 사용하여 C++를 작성할 수 있습니다. 장점 중 하나는 플랫폼 간 컴파일을 위해 즉시 작성할 수 있다는 것입니다.

동의한다. 그러나 이 스레드의 의도는 Python과 해당 라이브러리(모듈)의 사용입니다. 그리고 결과적으로 크로스 플랫폼(크로스 터미널) API를 얻게 됩니다. 모든 프로그래밍 언어용.

그러나 일반적으로 Python은 대부분의 TS에 충분합니다. 그리고 차량과 모든 터미널 간의 인터페이스를 작성하려면 최대 1일입니다.

그러나 자유 시간에 따라 즉시는 아닙니다. 정기적으로, 나는 아무 약속도 하지 않습니다.

 
Python 인터프리터는 한 번 실행된 다음 어드바이저 또는 표시기에서 사용할 수 있습니다. 모든 것이 이미 완료되었으며 포럼에 있습니다. 기계 학습에 대한 주제가 있습니다. https://github.com/RandomKori/Py36MT5 사용
 
Grigoriy Chaunin :
Python 인터프리터는 한 번 실행된 다음 어드바이저 또는 표시기에서 사용할 수 있습니다. 모든 것이 이미 완료되었으며 포럼에 있습니다. 기계 학습에 대한 주제가 있습니다. https://github.com/RandomKori/Py36MT5 사용

네 감사합니다. 그러나 아이디어는 다릅니다. 구현을 위해서는 본격적인 응용 프로그램 인 EXE가 필요합니다. 하지만 뭔가 도움이 될 수 있습니다. DLL 소스가 없는 것은 유감이지만 중요하지는 않습니다.

 
모든 소스는 거기에 게시됩니다.
 
Grigoriy Chaunin :
모든 소스가 거기에 게시됩니다.

예, 실제로 VS의 전체 DLL 프로젝트 입니다. 부족하다.

그리고 MO 주제에서 나는 어떻게 든이 링크를 놓쳤습니다.

그러나 일반 영웅은 항상 돌아다니다(c). 그리고 우리는 우리 자신의 길을 갈 것입니다.) 이 주제에는 다른 작업이 있습니다.

 

나중에 터미널과 데이터를 교환 할 Python 응용 프로그램을 만드는 것으로 시작하겠습니다. 터미널에서 데이터를 수신하여 출력 창으로 출력하고 SendData 창에서 터미널로 데이터를 전송합니다. 이것은 차량과 터미널의 상호 작용을 해결하는 데 필요합니다.

지금까지 응용 프로그램은 어떤 기능도 수행하지 않습니다.

창은 이렇게 생겼습니다.

첨부 파일의 Python 코드.

파일:
PyTS.txt  2 kb
 
Yuriy Asaulenko :

나중에 터미널과 데이터를 교환할 Python 응용 프로그램을 만드는 것으로 시작하겠습니다. 터미널에서 데이터를 수신하여 출력 창으로 출력하고 SendData 창에서 터미널로 데이터를 전송합니다. 이것은 차량과 터미널의 상호 작용을 해결하는 데 필요합니다.

지금까지 응용 프로그램은 어떤 기능도 수행하지 않습니다.

창은 이렇게 생겼습니다.

첨부 파일의 Python 코드.

코드의 주석은 어디에 있습니까? 여기 있는 모든 사람들이 파이썬과 당신의 아이디어를 이해한다고 생각하십니까? 댓글이 중복될 것입니까?

어떤 종류의 크라코자브리 """ Окно ввода """ ?

import tkinter 라이브러리는 무엇이며 기능(메소드)에 대한 설명은 어디에 있습니까?


사유: