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

 
Pythonでトレーディングシステムを書いて みようというアイデアが出て、せっかくだから公開してみようということになったのです。もしかしたら、私以外の人も興味を持つかもしれません。
しかし、なぜPythonなのか?
- いろいろな側面があって、複雑な問題です。答えてみる。
歴史的に、私のパソコンには4つの端末がインストールされています。本格的なAPIを持つもの、独自の非標準言語を持つもの、その両方を持つものがある。
最初のものは、2008年末のAPI付き端末で、最初のシステムを作るために使われ、最終的にはC++/C#の言語に到達しました。さらに端末を追加(言語あり・なし)しても、システムの再設計は行わず、端末とシステム間のインターフェースのみを新たに開発した。このように、システムは統一されており、他の端末と連携するには、必要なインターフェースを接続するだけでよいのです。最もシンプルなケースでは、1日もかからずに完了します。また、特定の端末のためにシステムを作り直すということもありません。
端末はあくまでデータの提供者であり、リクエストの実行者である。それだけです。それ以上は何も求められません。
これが、このシステムのイデオロギーなのです。
しかし、これは一面でしかありません。他は次の記事で。頻繁に書くことを約束するわけではありません。
 
Pythonでは、誰が望んでいるのか?3ヶ月後くらいに、いくつかのものをJavaに移植する予定があります。考えているんです。そして、pythonのブローカーAPIも全く見たことがない。とはいえ...もちろん、あるのかもしれませんね。
 
はい、でもなぜPythonなのですか?
実は、Pythonには、私が去年からやっている機械学習(マシンラーニング、MO)用のライブラリ(モジュール)をはじめ、たくさんのライブラリがあって興味を持ったんです。ただし、Pythonを使った仕事はしていない-まだ一行も書いていない)。まあ、抽象的なことはやってみたんですけど、具体的な目標がないんですよね。
しかし、Pythonをトレーディングシステムに応用するためには、まず、TSやターミナルとのやりとりをデバッグする必要があります。
この方法でPythonの関数を 呼び出すには、インタープリターを実行し、それを使って関数を呼び出す必要があり、これは呼び出しのたびに非常に長い処理となります。
TCは、これまでのデータや必要な履歴をすべて保存する本格的なEXEアプリケーションという、異なるコンセプトを持っています。そのため、すでに動作しているアプリケーションから関数を呼び出すだけで、呼び出しにかかる時間は最小限に抑えられます。
Pythonはとても遅いと言う人がいます - 書いています - 。これは事実ではありません。ほとんどのシステムでは(日中であっても)Pythonの性能は十分すぎるほどであり、それは後ほど見ていきます。HFTに関しては、どんなスピードでも太刀打ちできない。それは他のお金だからだ)。などのスプレッド)。
 
Viktar Dzemikhau:
Pythonでは、誰が望んでいるのかわからない。3ヶ月後くらいに、いくつかのものをJavaに移植する予定があります。考えているところです。そして、pythonでは、どのブローカーのAPIも全く見たことがないのです。とはいえ...もちろん、あるのかもしれませんね。

ちょっと待て、APIもやってみよう。このスレッドでは一度に全部は無理ですが)。興味があれば、フォーラム側で。

IMHOは、Javaは選択肢にない。私が間違っているかもしれません。

 
Konstantin Nikitin:
別の方法として、QTを使用してC++を記述することもできます。メリットとしては、クロスプラットフォームコンパイルに対応した記述がすぐにできることです。

私もそう思います。しかし、このスレッドの意図は、Pythonとそのライブラリ(モジュール)の使用です。そして、最終的にはクロスプラットフォーム(crossterminal)APIを実現することになるのです。どのプログラミング言語でも

しかし、一般的にTCの多くは、Pythonで十分なのです。そして、TCと任意の端末との間で書き込むためのインターフェースは、まあ、せいぜい1日です。

ただし、一度にではなく、空き時間に応じて。定期的に何かを約束するわけではありません。

 
Pythonインタプリタを一度実行すれば、あとはEAやインジケータで利用することができます。全ては既に完成しており、フォーラムで公開されています。機械学習に関するスレッドがあります。使用方法https://github.com/RandomKori/Py36MT5
 
Grigoriy Chaunin:
Pythonインタプリタを一度実行すれば、Expert Advisorやインジケータで使用することができます。全ては既に行われ、フォーラムで公開されています。機械学習に関するスレッドがあります。使用方法https://github.com/RandomKori/Py36MT5

はい、ありがとうございます。でも、発想が違う。実装するには、本格的なアプリケーションであるEXEが必要です。でも、何かと便利かもしれません。DLLのソースコードがないのは残念ですが、決定的なものではありません。

 
ソースはすべてそこに書いてある。
 
Grigoriy Chaunin:
すべてのソースがそこに並べられています。

はい、確かに、DLLプロジェクト 全体がVS.未消化のまま。

そして、なぜかMoDのスレッドでそのリンクを見逃していました。

でも、普通のヒーローは必ず一周するんですよ(C)。そして、自分たちの道を進む)。このスレッドには他のタスクがあります。

 

まずは、端末とデータのやり取りを するPythonアプリケーションを作成してみましょう。端末からのデータを受信して出力ウィンドウに出力したり、SendDataウィンドウから端末にデータを送ったりします。TCと端末の相互作用のテストに必要になる。

今のところ、アプリケーションは何の機能も果たしていない。

こちらがその窓口になります。

添付のPythonコード。

ファイル:
PyTS.txt  2 kb
 
Yuriy Asaulenko:

まずは、端末とデータのやり取りをするPythonアプリケーションを作成してみましょう。端末からのデータを受信して出力ウィンドウに出力したり、SendDataウィンドウから端末にデータを送ったりします。TCと端末の相互作用のテストに必要になる。

今のところ、アプリケーションは何の機能も果たしていない。

こちらがその窓口になります。

添付のPythonコード。

コードのコメントはどこにあるのですか?ここにいる全員がPythonを理解していて、あなたのアイデアやコメントが冗長になると思っていませんか?

なんだこのクソゲー"""はÐÐУ££££££££££££££££££££££££££££££££££££‰‰‰‰‰‰‰‰ポイント?

どのようなライブラリのインポート tkinter、どこにその関数(メソッド)の説明?


理由: