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

 
Roman :

다이아몬드 감사합니다.
오류가 없습니다.
경로가 올바르게 표시됩니다.
mt5.initialize()에서 정확한 경로를 삭제하고 터미널을 다시 시작하면 그림이 표시되기 시작했습니다.

원시 문자열을 사용하거나 모든 백슬래시를 이스케이프해야 합니다.

option1 = r'C:\Program Files\MetaTrader 5\terminal64.exe'
option2 = 'C:\\Program Files\\MetaTrader 5\\terminal64.exe'
 
nicholi shen :

원시 문자열을 사용하거나 모든 백슬래시를 이스케이프해야 합니다.

나는 또한 Almaz가 정확한 경로에 대해 썼을 때 차폐에 대해 생각했습니다. 예, 역시 효과가 있었습니다. 감사해요

 
Almaz :

차트의 막대 수에 제한이 있습니다. 터미널에서 이 제한을 제거해야 합니다(도구->옵션->차트의 최대 막대).
터미널의 다음 빌드에서는 이러한 요청을 시도할 때 오류(없음)를 반환합니다.

당신의 충고에 감사합니다.

이제 MT5가 모든 데이터를 올바르게 전달하고 있습니다.

 

파이썬 3.8

어셈블리 2470

패키지 5.0.33


Orders_get 함수 실패

주문이 없으면 환불은 "NO"입니다.

import MetaTrader5 as mt5

if not mt5.initialize():
    print( "initialize() failed, error code =" , mt5.last_error())
    quit()

orders = mt5.orders_get(symbol= "GBPUSD" )
if orders is None:
    print( "No orders on GBPUSD, error code={}" .format(mt5.last_error()))
elif len(orders) > 0 :
    print( "Total orders on GBPUSD:" , len(orders))
     for order in orders:
        print(order)

mt5.shutdown()


 
Christian :

파이썬 3.8

어셈블리 2470

패키지 5.0.33


Orders_get 함수 실패

주문이 없으면 환불은 "NO"입니다.


모든 것이 정확하고 빈 세트가 반환되었습니다. 주문이 없다는 표시, 이것은 오류가 아니며 요청이 성공적으로 처리되었습니다. 명백한 오류의 경우 None 이 반환됩니다. 그러나 브로커의 서버에 없는 기호에 대한 빈 집합도 반환한다는 사실은 버그가 수정되었으며 다음 터미널 업데이트에서 사용할 수 있습니다.
 
Almaz :
모든 것이 정확하고 빈 세트가 반환되었습니다. 주문이 없다는 표시, 이것은 오류가 아니며 요청이 성공적으로 처리되었습니다. 명백한 오류의 경우 None 이 반환됩니다. 그러나 브로커의 서버에 없는 기호에 대한 빈 집합도 반환한다는 사실은 버그가 수정되었으며 다음 터미널 업데이트에서 사용할 수 있습니다.

알겠습니다. 정말 이해가 가나요?


답변에는 2가지 유형만 있습니다.

1. 아니오

2. 길이가 0보다 큰 튜플


다음 빌드에서 > 2470

 
Christian :

알겠습니다. 정말 이해가 가나요?


답변에는 2가지 유형만 있습니다.

1. 아니요

2. 길이가 0보다 큰 튜플


다음 빌드에서 > 2470

아니요.

1. 오류가 발생하면 없음

2. 길이가 0보다 큰 튜플

 
Rashid Umarov :

아니요.

1. 오류가 발생하면 없음

2. 길이가 >=0인 튜플

알겠습니다. 이제 알겠습니다.

고마워

 
Дмитрий Прокопьев :

mt5.terminal_info()는 다음을 보여줍니다.

경로 값 ='C:\\Works\\MT5 - 터미널\\MetaTrader 5', data_path ='C:\\Works\\MT5 - 터미널\\MetaTrader 5', commondata_path ='C:\\Users\\rip \\AppData\\Roaming\\MetaQuotes\\터미널\\공통'

동일합니다. 그래야만 합니까?

아래 코드:

 
Almaz :

@알마즈
copy_xxx_xxx 기능을 처음 실행할 때, 터미널이 일정 시간 동안 시작되지 않았을 때,
함수는 히스토리 페이징의 동기화를 기다리지 않고 히스토리를 건너뛰고 기존 결과를 즉시 리턴합니다.
즉, 첫 번째 함수 호출 은 히스토리를 건너뛴 결과를 반환합니다.
기록이 바뀌면 후속 호출에서만 올바른 결과가 반환됩니다.
이 순간을 고칠 수 있습니까? 그리고 copy_xxx_xxx 함수는 처음 호출될 때 히스토리가 교환될 때까지 기다렸습니다.