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

 
MrBrooklin :

예, Excel에서 엽니다. 열린 파일 EUR_USD_QUOTE.csv의 견적을 실시간으로 업데이트하는 것은 아직 불가능합니다.

그리고 이것은 표를 보고 견적이 어떻게 바뀌는지 확인하는 아이디어였습니다.

안부 인사를 전합니다. 블라디미르.

따라서 Python이나 Excel은 아무 관련이 없습니다. 파일을 열면 데이터가 Excel에서 고려되고 그게 전부입니다. 그런 다음 내장 VBA 에서 프로그램을 작성해야 합니다.

그렇다면 Python 프로그램이 필요하지 않습니다. VBA에서 모든 것을 즉시 수행하는 것이 더 쉽습니다. 나는 그와 조금 일했지만 그가 GET을 할 줄 알고 있다고 확신합니다.

Самоучитель по Excel VBA
Самоучитель по Excel VBA
  • 2020.05.11
  • Антон Андронов
  • office-guru.ru
Данный учебник является введением в язык программирования Excel VBA (Visual Basic for Applications). Изучив VBA, Вы сможете создавать макросы и выполнять в Excel практически любые задачи. Вы очень...
 
Alexey Volchanskiy :

따라서 Python이나 Excel은 아무 관련이 없습니다. 파일을 열면 데이터가 Excel에서 고려되고 그게 전부입니다. 그런 다음 내장 VBA 에서 프로그램을 작성해야 합니다.

그렇다면 Python 프로그램이 필요하지 않습니다. VBA에서 모든 것을 즉시 수행하는 것이 더 쉽습니다. 나는 그와 조금 일했지만 그가 GET을 할 줄 알고 있다고 확신합니다.

안녕하세요 알렉세이입니다!

시간이 만료된 후 EUR_USD_QUOTE.csv 파일이 닫히고 새 견적으로 즉시 다시 열리도록 PYTHON으로 프로그램 코드를 작성할 수 없습니까?

나는 아직 VBA에 대해 아무것도 모르지만 힌트를 주셔서 감사합니다.

안부 인사를 전합니다. 블라디미르.

 
Maxim Dmitrievsky :

엑셀을 여세요? 따라서 파일을 독점적으로 엽니다. 다른 응용 프로그램/사용자가 파일을 변경할 수 있도록 설정의 어딘가에 필요합니다.

도움이 될 수 있습니다 http://blog.depit.ru/odnovremennaya-rabota-v-excel/

그리고 일반적으로 다른 프로그램에서 열린 파일을 변경하는 것은 불가능합니다.

맥심, EUR_USD_QUOTE.csv 파일을 소스코드로 구현한대로 처음에 오픈하게 하고 일정 시간이 지나면 수정된 프로그램 코드의 영향으로 1초만 닫았다가 바로 다시 뜨게 하는 것이 얼마나 어려운지, 하지만 새로운 견적으로? 등등 무한대로...

안부 인사를 전합니다. 블라디미르.

 
MrBrooklin :

맥심, EUR_USD_QUOTE.csv 파일을 소스코드로 구현한대로 처음에 오픈하게 하고 일정 시간이 지나면 수정된 프로그램 코드의 영향으로 1초만 닫았다가 바로 다시 뜨게 하는 것이 얼마나 어려운지, 하지만 새로운 견적으로? 등등 무한대로...

안부 인사를 전합니다. 블라디미르.

이렇게 시도

import csv
import requests
from bs4 import BeautifulSoup
import os


def get_data(url_to_scrap= 'https://ru.investing.com/currencies/streaming-forex-rates-majors' ,
             file=None, save_file= "Name.csv" ):
     if url_to_scrap is not None:
        header = { 'accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' ,
                   'user-agent' : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0' }
        r = requests. get (url_to_scrap, headers=header)
        data = BeautifulSoup(r.content, 'html.parser' )
     else :
        data = BeautifulSoup(open(file), 'html.parser' )
    table = data.find( 'tr' , id= 'pair_1' )
    table = table.find_all(class_= 'pid-1-bid' )
    row_data = []
     for row in table:
        row_data.append([row.get_text()])
    with open(save_file, 'w' ) as save:
         for row in row_data:
            writer = csv.writer(save, delimiter= ';' )
            writer.writerow(row)
    os.startfile(save_file)


from datetime import datetime
import time


t = datetime.now().hour
t2 = t

while True:
    t = datetime.now().hour
     if (t2 != t):
         os.system( "TASKKILL /F /IM excel.exe" )
        get_data(save_file= 'EUR_USD_QUOTE.csv' )
        t2 = t
    time.sleep( 10 )


 
Alexey Volchanskiy :

따라서 Python이나 Excel은 아무 관련이 없습니다. 파일을 열면 Excel의 데이터가 계산되고 그게 전부입니다. 그런 다음 내장 VBA 에 프로그램을 작성해야 합니다.

그리고 그렇다면 Python의 프로그램이 필요하지 않으므로 VBA에서 모든 작업을 한 번에 수행하는 것이 더 쉽습니다. 나는 그와 많이 일하지 않았지만 그가 GET을 할 수 있다고 확신합니다.

VBA도 필요하지 않습니다. 기본적으로 Excel을 사용하기만 하면 됩니다. 영어로 지침을 작성하겠습니다 ... 새 통합 문서를 만드십시오. 데이터 탭 > 데이터 가져오기 > 다른 소스에서 > 웹에서를 클릭한 다음 URL 필드에 웹 주소를 붙여넣습니다. 그런 다음 모든 추가 옵션 새로 고침 > 연결 속성을 클릭하고 n분마다 자동으로 업데이트하도록 구성합니다.

 
MrBrooklin :

맥심, EUR_USD_QUOTE.csv 파일을 소스코드에 구현한대로 먼저 오픈하게 하는 것이 얼마나 어려운지, 잠시 수정된 코드의 영향으로 잠시 닫혔다가 바로 다시 열렸지만 새로운 견적으로 ? 그리고 무한대로...

존경합니다, 블라디미르.

Excel 창을 열어 두면 파일이 Excel에서 쓰기 위해 잠깁니다. 잠긴 파일을 설명하는 논리를 추가해야 합니다. 또한 웹에서 인용구를 긁는 이유는 무엇입니까? 왜 MetaTrader를 사용하여 견적을 수집하지 않습니까? 말도 안돼

import itertools
import os
import pathlib

import bs4
import requests


def main():
    url = 'https://ru.investing.com/currencies/streaming-forex-rates-majors'
    r = requests. get (url, headers={ 'user-agent' : 'Python Agent' })
    soup = bs4.BeautifulSoup(r.content, 'lxml' )
    eurusd_bid = soup.find( 'td' , 'pid-1-bid' ).text.replace( ',' , '.' )
     for i in itertools.count():
        file = pathlib.Path() / f 'eurusd_bid_{i}.csv'
         try :
            file.write_text(eurusd_bid)
            os.startfile(file)
             break
        except PermissionError:
             continue


if __name__ == '__main__' :
    main()
 
Maxim Dmitrievsky :

이렇게 시도


고마워, 맥심!

나는 이미 노력하고 있습니다. 루프가 시작되었지만 파일이 아직 열리지 않습니다. 루프를 실행하고 기다리겠습니다.

안부 인사를 전합니다. 블라디미르.


추신 죄송합니다! 시간 이 걸린다는 사실에 즉시 주의를 기울이지 않았습니다. EUR_USD_QUOTE.csv 파일을 으로 변경했지만 Pycharm 개발 환경의 실행 탭에 다음 메시지가 나타납니다.

�訡��: �� 㤠���� ���� ������ "excel.exe".

그런 다음 1분 정도 더 지나면 파일이 닫히고 다시 열렸지만 이미 Exsel에서는 테이블 왼쪽에 탭이 나타나 이전에 연 텍스트를 저장하도록 제안되었습니다. 다음에 무슨 일이 일어날지 조금 더 기다렸다가 주기가 멈추고 다음 메시지가 나타났습니다.

�ᯥ譮: ����� "EXCEL.EXE", � �����䨪��஬ 4208, �� �����襭.
�ᯥ譮: ����� "EXCEL.EXE", � �����䨪��஬ 3168, �� ����襭.
역추적(가장 최근 호출 마지막):
<module>의 "C:/Users/Vladimir/PycharmProjects/My_Python_Project/9.py" 파일, 37행
get_data(save_file='EUR_USD_QUOTE.csv')
get_data의 파일 "C:/Users/Vladimir/PycharmProjects/My_Python_Project/9.py", 23행
open(save_file, 'w')을 저장으로 사용:
PermissionError: [Errno 13] 권한 거부됨: 'EUR_USD_QUOTE.csv'

지금까지는 그런 결과가 있었지만 이미 진전이 있습니다!

안부 인사를 전합니다. 블라디미르.

 
nicholish en :

Excel 창을 열어 두면 파일이 Excel에서 쓰기 위해 잠깁니다. 잠긴 파일을 설명하는 논리를 추가해야 합니다. 또한 웹에서 인용구를 긁는 이유는 무엇입니까? 왜 MetaTrader를 사용하여 견적을 수집하지 않습니까? 말도 안돼

Excel 창을 열어 두면 파일이 Excel에 쓰기 위해 잠깁니다. 잠긴 파일을 설명하는 논리를 추가해야 합니다. 또한 인터넷에서 견적을 검색하는 이유는 무엇입니까? MetaTrader를 사용하여 견적을 수집하지 않으시겠습니까? 말도 안돼 (본인: 죄송합니다, nicholic en , 저는 영어를 못해서 구글 번역 서비스를 이용했습니다)

파이썬 언어를 사용하여 인터넷에서 따옴표를 사용하여 터미널이 아니라 csv와 같은 일부 파일에서 볼 수 있도록 하는 방법을 배우고 싶습니다. 이게 가장 기본적인 작업인 줄 알았는데 그게 아니더라고요. 내가 잘못된 길을 가고 있는지도 모르지만 아무것도 찾지 않는 사람은 아무것도 찾지 못합니다.

이제 제안한 코드로 이동합니다. Pycharm 개발 환경에서 코드를 실행한 후 다음 메시지 가 나타납니다.

역추적(가장 최근 호출 마지막):
파일 "C:/Users/Vladimir/PycharmProjects/My_Python_Project/10.py", 줄 25, <모듈>
기본()
파일 "C:/Users/Vladimir/PycharmProjects/My_Python_Project/10.py", 13행, 메인
eurusd_bid = 수프.find('td', 'pid-1-bid').text.replace(',', '.')
AttributeError: 'NoneType' 개체에 'text' 속성이 없습니다.

종료 코드 1로 프로세스 완료

코드가 어떻게 작동하는지 보려면 무엇을 변경해야 합니까?

안부 인사를 전합니다. 블라디미르.

 

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

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

미스터브루클린 , 2020.08.19 22:05

고마워, 맥심!

나는 이미 노력하고 있습니다. 루프가 시작되었지만 파일이 아직 열리지 않습니다. 루프를 실행하고 기다리겠습니다.

안부 인사를 전합니다. 블라디미르.


추신 죄송합니다! 시간 이 걸린다는 사실에 즉시 주의를 기울이지 않았습니다. EUR_USD_QUOTE.csv 파일을 으로 변경했지만 Pycharm 개발 환경의 실행 탭에 다음 메시지가 나타납니다.

�訡��: �� 㤠���� ���� ������ "excel.exe".

그런 다음 1분 정도 더 지나면 파일이 닫히고 다시 열렸지만 이미 Exsel에서는 테이블 왼쪽에 탭이 나타나 이전에 연 텍스트를 저장하도록 제안되었습니다. 다음에 무슨 일이 일어날지 조금 더 기다렸다가 주기가 멈추고 다음 메시지가 나타났습니다.

�ᯥ譮: ����� "EXCEL.EXE", � �����䨪��஬ 4208, �� �����襭.
�ᯥ譮: ����� "EXCEL.EXE", � �����䨪��஬ 3168, �� ����襭.
역추적(가장 최근 호출 마지막):
<module>의 "C:/Users/Vladimir/PycharmProjects/My_Python_Project/9.py" 파일, 37행
get_data(save_file='EUR_USD_QUOTE.csv')
get_data의 파일 "C:/Users/Vladimir/PycharmProjects/My_Python_Project/9.py", 23행
open(save_file, 'w')을 저장으로 사용:
PermissionError: [Errno 13] 권한 거부됨: 'EUR_USD_QUOTE.csv'

지금까지는 그런 결과가 있었지만 이미 진전이 있습니다!

안부 인사를 전합니다. 블라디미르.

맥심, 무슨 일이 일어났는지 모르겠지만 코드를 다시 실행하려고 했더니 오, 기적이군요! 한 가지 주의 사항이 있지만 주기의 프로세스가 시작되었습니다. 이전과 마찬가지로 Excel의 왼쪽에는 파일을 저장하라는 제안이 있는 탭이 있지만 이것은 더 이상 중요하지 않습니다. 화면을 붙이고 있습니다. 6주기가 끝날 때까지 기다렸다가 프로그램을 완료했습니다. 이제 코드의 모든 라인을 연구하고 무엇이 작성되고 왜 작성되었는지 이해하려고 노력할 것입니다. 매우 감사합니다!!!

안부 인사를 전합니다. 블라디미르.



추신: 파일을 저장하라는 제안과 함께 탭이 왼쪽에 나타나는 이유를 생각해 냈습니다. 프로그램 코드가 저장하지 않고 파일을 닫는 것뿐입니다. 이것이 Excel이 파일 저장을 제안하고 계속 제안하는 이유일 것입니다.

 

중국어 호출기를 읽으십시오. 많이 생각했는데...

이것은 Python과 MQL을 통합 하는 것에 대한 질문입니다. 두 언어 모두 비슷하지만 MQL은 단순하지만 Python은 기본처럼 원시적입니다. MQL로 프로그래밍하는 사람은 누구나 무릎을 꿇고 Python에서 무언가를 만들 수 있으며 그 반대의 경우도 마찬가지입니다. 이 주제에 대한 관심은 무엇입니까? 첫째, 매우 게으른 사람들을 위한 것입니다. 글쎄요, 아주 비슷한 언어로 뭔가를 작성하세요... 관심은 두 가지 구성 요소에 있을 수 있습니다. Python에 많이 있는 라이브러리와 MQL이 유명한 인터페이스입니다. 그렇다면 Python이 MQL 인터페이스에 액세스하고 MQL이 Python 라이브러리에 액세스하도록 하지 않는 이유는 무엇입니까? 그리고 그게 다야.