Pythonでトレーディング

 

どなたか、簡単な(負けを承知で、ポイントではない)売買戦略を提案してください。

メッセージは正気である場合、つまり、多かれ少なかれ明確に行われる必要があるものを設定し、このスレッドで、ここで実装し、Pythonで、この戦略にトレードします。

楽しみにしています。)

 

私はM5タイムフレームで動作し、計算を実行し、5分に1回決定を下すことを計画しています)。

dtとしてdatetimeをインポートする


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:


コードを正しく挿入してください。まずコード を押し、次にポップアップウィンドウにコードを 挿入してください。

 
pythonでトレーディングシステムをテストする計画はどうなっているのだろう。
 
Aleksey Nikolayev #:
Pythonでトレーディングシステムをテストする計画ってどうなんでしょうね。

Pythonという 単語を使った記事を検索します。

 
Mikhael1983:

どなたか、簡単な(負けを承知で、ポイントではない)売買戦略を提案してください。

メッセージは正気である場合、つまり、多かれ少なかれ明確に行われる必要があるものを設定し、このスレッドで、ここで実装し、Pythonで、この戦略にトレードします。

待っています )

MT5に標準装備されているMACD Expert Advisorを書き換えます。あらゆる場面で確認できて便利でしょう。

テスト最適化の意図する方法について、より具体的にお伺いします。自作のテスターなのか、Pythonをベースにしたサードパーティ製のテスターなのか?ファイル、ソケットなどによるMQL5との統合?

 

pythonを使ったトレードは良いですね...。

しかし、pythonはデータの分析には向いていますが、取引には向いて いません。

MACDという選択肢を考えるなら、pythonで。

- 見積書を簡単に読み込むことができます。

- MACDデータを簡単に計算することができます。

そして、新しいバーごとに、例えば、MACDの値とシグナルライン、遅行線と速行線の急峻さ、遅行線から離れた価格変動、などの条件を設定します。

履歴から条件を実行し、指定したフォーメーションの一定期間の統計のプラス/マイナスを表示します。それ以外のこと(取引の開始・終了・取消)はすべてMQLで行う必要があります。

テスターを発明する必要はなく、既成のものがあります。

Pythonでは、相場と指標はSQLiteに保存されます。ソケット、ファイル、データベースを介したMQL-Python接続(ソケットが良い)。

すべて...

 

Python - データ解析専用で、解析結果を2D(3D)グラフで表示する機能が充実しています。

copy_rates_from は完全なデータ解析には十分ではありません。指標データ(カスタム指標を含む)の抽出が可能であれば、分析リングは終了しているはずです。

また、パイソンを使った取引は、IMHOではMQL5のPRになると考えています。

 
Mikhael1983:

私はこのスレッドで、この戦略をPythonで実装するつもりです。

利益を得るために静かに待つ」を付け忘れています)