파이썬으로 거래하기

 

나는 누군가에게 단순한(분명히 수익성이 없고 요점이 아닌) 거래 전략을 제안하도록 요청합니다.

메시지가 제정신이라면, 즉 수행해야 하는 작업이 다소 명확하게 설명될 것입니다. 이 스레드에서 Python 언어로 이 전략을 사용하여 거래를 구현할 것입니다.

기다리고 있어요)

 

어떤 식으로든 편리하게 사용할 수 있는 코드로 시작하겠습니다(M5 기간으로 작업하고 계산을 수행하고 5분마다 한 번씩 결정을 내릴 계획입니다).

datetime을 dt로 가져오기


 class date_time(dt. datetime ):
   
    '''
    Класс описывает отсчёт даты и времени.
    Представляет собой расширение класса datetime библиотеки datetime . 
    '''
   
    @property
    def M5_view(self):
        minute = (self.minute// 5 )* 5
         if minute < 10 :
            _minute = ' 0 '+str(minute)
         else :
            _minute = str(minute)
         return self.strftime('%Y%m%d%H')+_minute
   
    @property
    def nice_view(self):
         return self.strftime('%Y.%m.%d %H:%M:%S')
   
    def __str__(self):
         return self.M5_view
   
    def __repr__(self):
         return self.__str__()


이 클래스 덕분에 무슨 일이 일어나고 있는지 기록하는 것이 편리할 것입니다.

예를 들어 다음과 같이 작성합니다.

dt_stamp_read = ...
print('\n'+date_time.now().nice_view, '- начал работу, планирую прочитать файлы с ценами в {}'.format(dt_stamp_read.nice_view))

다음과 같은 출력을 얻습니다.

 2021.12 . 11 22 : 41 : 23 - начал работу, планирую прочитать файлы с ценами в 2021.12 . 11 22 : 45 : 30
 

또한 다음이 필요합니다.

 class Bar:
    
    '''
    Класс описывает бар, то есть структуру данных,
    удобную для описания изменения цен финансовых инструментов на интервалах времени.  
    '''
    
    def __init__(self, instrument, time_frame, time_close, price_open, price_low, price_high, price_close, pips_value):
        self.instrument = instrument
        self.time_frame = time_frame   
        self.time_close = time_close
        self.time_open = self.time_close - dt.timedelta(minutes=self.time_frame)
        self.price_open = price_open
        self.price_low = price_low
        self.price_high = price_high
        self.price_close = price_close
        self.w = pips_value
    
    def __str__(self):
        str1 = '(Bar: instrument={} time_frame={} time_open={} time_close={}\n'
        str2 = 'open={} low={} high={} close={} pips_value={})'
         return (str1+str2).format(self.instrument, self.time_frame, self.time_open.M5_view, self.time_close.M5_view,
                                  self.price_open, self.price_low, self.price_high, self.price_close, self.w)
    
    def __repr__(self):
         return self.__str__()

여기의 글꼴은 고정 폭이 아니므로 서식이 시각적으로 약간 떨어져 있습니다.

 
그리고 MQL에서의 구현과 비교할 때 어떤 이점이 있습니까?
 
Mikhael1983 :


코드를 올바르게 삽입하십시오: 먼저 버튼을 누르십시오 암호 를 클릭한 다음 팝업 창 에 코드를 붙여넣 습니다.

 
파이썬에서 거래 시스템을 어떻게 테스트할 계획인지 궁금합니다.
 
Aleksey Nikolayev # :
파이썬에서 거래 시스템을 어떻게 테스트할 계획인지 궁금합니다.

Python 이라는 단어에 대한 기사를 검색합니다.

 
Mikhael1983 :

나는 누군가에게 단순한(분명히 수익성이 없고 요점이 아닌) 거래 전략을 제안하도록 요청합니다.

메시지가 제정신이라면, 즉 수행해야 하는 작업이 다소 명확하게 설명될 것입니다. 이 스레드에서 Python 언어로 이 전략을 사용하여 거래를 구현할 것입니다.

기다리고 있어요)

MT5와 함께 제공되는 표준 MACD Expert Advisor를 다시 작성하십시오. 모든 단계에서 확인하는 것이 편리합니다.

보다 구체적으로 제안된 테스트 최적화 방법에 대해 질문하겠습니다. 자체 작성 또는 타사 Python 테스터? 파일, 소켓 등을 통한 MQL5와의 통합?

 

파이썬으로 거래하면 좋은데..

그러나 파이썬은 데이터 분석을 위한 좋은 도구이지만 거래 는 아닙니다.

MACD 옵션을 고려한다면 파이썬에서:

- 따옴표를 다운로드하기 쉽습니다.

- MACD 데이터를 쉽게 계산할 수 있습니다.

또한, 각각의 새로운 막대에서 일반적인 조건을 취합니다. 예를 들면 MACD 값과 신호선, 느린 선과 빠른 선의 기울기, 느린 선에서 멀어지는 가격..

이력을 통해 조건을 실행하고 특정 기간 동안 지정된 포메이션에 대한 플러스/마이너스 통계를 반환합니다. 다른 모든 것(거래 열기/닫기/유지)은 MQL에서 수행됩니다.

테스터를 만들 필요가 없습니다. 준비된 테스터가 있습니다.

Python에서 SQLite의 따옴표 및 표시기 저장. 소켓, 파일 또는 데이터베이스를 통한 MQL-python 통신(소켓이 더 좋음).

모두..

 

Python - 분석 결과를 2D(3D) 그래프 형식으로 표시할 수 있는 풍부한 기능을 갖춘 데이터 분석 전용입니다.

copy_rates_from 은 완전한 데이터 분석에 충분하지 않습니다. 지표 데이터(사용자 데이터 포함)를 추출할 수 있다면 분석 링이 닫힙니다.

그리고 파이썬, IMHO를 통한 거래는 MQL5의 PR 움직임입니다.

 
Mikhael1983 :

여기 이 스레드에서 Python에서 이 전략을 사용하여 거래를 구현합니다.

"조용히 이익을 기다리며"를 추가하는 것을 잊었습니다)
사유: