MT用のPythonトレーディングシステムを作る。 - ページ 8

 
Vitaly Muzichenko:

現在値より 右側に利益が出るようにエントリーする)

入り方は聞いていない。

ヒント:3時間前に売りシグナルを発動させた。違うか?

 
Maxim Dmitrievsky:

quantopian.comにはテスターがあるので、興味のある方はどうぞ。そして、成功した戦略にも資金を提供する

ロシア市場の流動性の低さを解消するために、彼は刻苦勉励している。10万ルーブル、10万ルーブルあれば、ビール、多分魚で儲けるしかないでしょう。

そして、このような人たちが、自らを成功したトレーダーと称して、誇らしげにフォーラムを歩き回っているのです))

 
TheXpert:

流動性の低いロシア市場を切り崩す。万ルーブル、10万ルーブルもらっても、ビール1本、魚1匹くらいしか儲からないでしょう。

そして、このような人たちが、このフォーラムで、自らを成功したトレーダーと 誇らしげに歩き回っているのです))

アンドレイ、もっと稼げるかどうか......。あなたには、FXの取引以外にも多くの能力があります。邪魔だったらごめんね。

 

前回の連載の内容を読者に思い出してもらおう。

このトピックの課題は、トレーディングシステム(TS)を作ることではなく、PythonできっちりTSを作ることです。Pythonが選ばれた理由は、機械学習を含む豊富なデータ処理ライブラリがあり、様々な言語間インターフェースをシステムに掛けるのではなく、TSから直接これらのライブラリを利用できるのは非常に良いことだと思います。また、Pythonは同じMatLabと比較しても見劣りしない優れたシミュレーション環境であり、システムのシミュレーションとその実行環境を両立させることが理想的です。すなわち、モデルから他のプログラミング言語へTSを転送する段階を完全に排除し、モデルを直接TSで使用する。

現在、ストラテジーテンプレート、ストラテジーテスターを 実装しており、これらはすべてシンプルなストラテジーでテストされています。すべてのソースは、一つ前の投稿の添付ファイルからダウンロードできます。また、昔の作戦をもとに、TSのモデルを作りました。モデルは先物SBRF-12.17とSBRF-06.18でテストされています。

また、今日は先物SBRF-09.18でテストしましたが、SBRF-06.18と同様の結果で、グラフを提示する意味がないと思います。

さて、今後の予定について。

1)リアルとバーチャルの取引に対応したシステムを導入したい。仮想取引とは、ブローカーにリクエストを送らず、取引の開始・終了をログに書き出すもので、この例ではSQLiteデータベースのテーブルを使用しています。通常、この段階は1カ月程度で、システムの開発とセットになっています。この段階での端末との接続は、端末→DLL→SQLiteデータベース→Pythonというスキームで計画されています。通信プロトコルは、ファイル交換とほぼ同様です。

2.システムはまだ未完成です。ベースとなる旧システムは大幅に変更され、実質的には基本原理だけが残っている。同じことを何度もやる意味はないと思う。今のところ、設定に操作は加えられていません。一般的には、まだまだノコギリを使うことが多い。

この2つのステージを組み合わせたいのですが、今はそんな機会もなく、自由に使えるパソコンもありません。そして、その両方を行いたいと考えています。したいとも思わないが、したい。今のところ、私の優先順位は決まっていません。

いずれにせよ、やるべきことは山積みで、当面は新しい成果を期待することはできない。

 
昔、パイソンでプログラミングをしていました。面白いトピックですね、これからも続けてください。
 

正直、このPythonはクラスと一緒でウザイです。ここでは、その関数の一部をご紹介します。

 def Condition(self,i,c=4):
        dt=0
        L1=not self.Sh and not self.Lo and self.Dev[i]> self.DevL
        if L1  and self.history[i][c] < self.Dev[i] - self.Fr[i]:
            self.Lo=True
            self.Pmin=self.history[i][c]
        elif L1 and self.history[i][c] > self.Dev[i] + self.Fr[i]:
           self. Sh=True
           self.Pmax=self.history[i][c]

この小さなコードの中で、selfという 単語が何回繰り返されているか数えてみてください

そして、いつでもどこでも、どのセリフでも何度も。この無意味なことは、どのクラスのどの機能(メソッド)でも常に繰り返されることになる。

 
Yuriy Asaulenko:

Pythonで トレーディングシステムを 書くというアイデアが浮かびました。

...

なぜC++やC#ではダメなのか?

面白いのは、MQL5で書くこともできるのに、なぜこのゆっくりと忍び寄るPythonの層なのでしょうか?
 
Yuriy Zaytsev:

なぜC++やC#ではダメなのか?

面白いのは、MQL5で書くこともできるのに、なぜこのゆっくりと忍び寄るPythonの層なのでしょうか?

C++とC#ではすでに持っています)。

それ以外は、このスレッドの最初の投稿か、3-4つ前の投稿を読んでください)。

 
Yuriy Asaulenko:

C++とC#ではすでに持っています)。

それ以外の方は、このスレッドの最初の投稿か、3-4つ前の投稿をお読みください)。

このようなシステムの多くは、作者がこのツールやあのツールをよく知っているから書かれているのだと思います。

そして、大体において、ほとんどのものがMQL5で書くことができるのです。

 
Yuriy Zaytsev:

この手のシステムは、作者がこのツール、このツールをよく知っているから書いている、というのがほとんどだと思うんです。

大体、ほとんどのものがMQL5で書けます。

MQLで全部書けるなら、本当に他には何もいらない。

すでに書かれ、実践され、利用可能になっているアルゴリズムの詳細を書くことはできませんし、そうしたいとも思いません。MQLに書き換えたり適応させたりするのではなく、そのまま使いたいのです。ちなみに、これがOOPのメインコンセプトである。