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

 
그리고 또 다른 흥미로운 질문은 도커 컨테이너에서 모든 환경과 함께 파이썬 프로그램을 실행하고 터미널이 외부에 있다면 작동할까요?
 
Dmitri Custurov :
Python 프로그램이 내부적으로 로깅, 멀티스레딩, 소켓을 통해 터미널에 연결을 수행하는 경우 차트에서 실행하면 이 모든 것이 올바르게 작동합니까?

터미널은 자체 인터프리터를 시작하고 표준 출력을 터미널의 전문가 탭 및 내부 로깅으로 리디렉션합니다. 인터프리터 프로세스는 다이어그램을 닫으면 종료되므로 "atexit" 콜백 함수를 등록할 수 없습니다. 또한 로그 이벤트가 도착할 때 터미널이 로그 파일에 쓰지 않기 때문에 로그 텍스트에 즉시 액세스할 수 없습니다. 즉시 등록할 내 래퍼 패키지를 사용해 볼 수 있습니다.

import atexit
import logging
import os
from pathlib import Path

import pymt5adapter as mta


def main(conn):
     try :
        symbol, timeframe = mta.parse_args()
        conn.logger.info(f 'Script dropped on {symbol} {mta.TIMEFRAME(timeframe).name}' )
         return True
    except TypeError:
        conn.logger.warning(f 'Missing... Drop on chart or start script with commandline args...' )
         return False


if __name__ == '__main__' :
    desktop_log_path = Path.home() / 'Desktop/python_mt5.log'
    atexit.register(lambda: os.startfile(desktop_log_path))
    logger = mta.get_logger(path_to_logfile=desktop_log_path, loglevel=logging.DEBUG)
    with mta.connected(raise_on_errors=True, logger=logger) as conn:
        main(conn)
 
Dmitri Custurov : 그리고 또 다른 흥미로운 질문은 모든 환경이 도커 컨테이너에 있는 파이썬 프로그램을 실행하고 터미널이 외부에 있다면 작동할까요?

나는 당신이 도커 리눅스 컨테이너를 사용하고 있다고 가정하므로 MetaTrader5 패키지와 함께 작동하지 않을 것입니다. python virtualenv를 사용할 수 있습니다. 스크립트를 차트에 넣으면 작동하지 않지만 환경을 활성화하고 명령줄에서 실행하면 작동합니다.

 
로그인/비밀번호뿐만 아니라 SSL 인증서의 비밀번호도 필요한 경우 확장 인증을 어떻게 해야 합니까?
 
Dmitri Custurov :
로그인/비밀번호뿐만 아니라 SSL 인증서의 비밀번호도 필요한 경우 확장 인증을 어떻게 해야 합니까?

인증서 암호는 생성 중에 사용자가 설정합니다. 그런 다음 인증서에서 공개 키를 추출하여 등록을 위해 브로커에 전달합니다. 브로커 웹 사이트의 지침을 읽으십시오.

 
Alexey Viktorov :

인증서 암호는 생성 중에 사용자가 설정합니다. 그런 다음 인증서에서 공개 키를 추출하여 등록을 위해 브로커에 전달합니다. 브로커 웹 사이트의 지침을 읽으십시오.

나는 이것에있어

initialize(
   path,                     // путь к EXE-файлу терминала MetaTrader 5
   login=LOGIN,               // номер счета
   password= "PASSWORD" ,       // пароль
   server= "SERVER" ,           // имя сервера, как оно задано в терминале
   timeout=TIMEOUT,           // таймаут
   portable=False             // режим portable
   )

인증서 비밀번호 입력란이 없습니다. 터미널에서 확장 권한 부여가 사용되는 경우 파이썬에서의 연결은 어떻게 작동합니까?

 
Dmitri Custurov :

나는 이것에있어

인증서 비밀번호 입력란이 없습니다. 터미널에서 확장 권한 부여가 사용되는 경우 파이썬에서의 연결은 어떻게 작동합니까?

따라서 즉시 완전한 질문을 작성해야 했습니다. 잘 모르겠고 아무 말도 하지 않겠습니다.

 
Dmitri Custurov :

나는 이것에있어

인증서 비밀번호 입력란이 없습니다. 터미널에서 확장 권한 부여가 사용되는 경우 파이썬에서의 연결은 어떻게 작동합니까?

이미 활성화되어 터미널에 저장된 인증서가 사용됩니다.

그러나 pfx 파일을 /config/certificates에 직접 넣을 수 있습니다.
 
Alexey Viktorov :

따라서 즉시 완전한 질문을 작성해야 했습니다. 잘 모르겠고 아무 말도 하지 않겠습니다.

실례합니다. 이 스레드의 맥락에서 명확해질 것이라고 생각했기 때문에 더 명확하게 나를 표현할 필요가있었습니다.

 
Renat Fatkhullin :
이미 활성화되어 터미널에 저장된 인증서가 사용됩니다.

그러나 pfx 파일을 /config/certificates에 직접 넣을 수 있습니다.

고맙습니다.