しかし、MT端末は、MQの気まぐれで、C: \<much letters and numbers>Filesという自分のディレクトリにしかファイルを読み書きできません。もちろん、Pythonのコードで設定を変更し、ネイティブのMQフォルダにスワップさせることもできますが、私はターミナルがそこからファイルを読み書きする必要があり、ターミナルが望んでいる場所にはできません。今後、より一層、必要になってくるでしょう。
全てはWindowsのツールで解決する。TerminalのフォルダC:<<a lot of letters and numbers>> \Filesに、フォルダC:<<PyTS>>への参照を入れると、ターミナルは(OSも)サブフォルダFilesPyTSとして解釈し、ターミナルはそこに、本来のものと同様にC:<<PyTS>>に書き込みをします)。
これで準備が整いましたので、いよいよPython TSとMT端末を連携させます。しかし、そのためには、いくつかのアクションが必要です。
しかし、MT端末は、MQの気まぐれで、C: \<much letters and numbers>Filesという自分のディレクトリにしかファイルを読み書きできません。もちろん、Pythonのコードで設定を変更し、ネイティブのMQフォルダにスワップさせることもできますが、私はターミナルがそこからファイルを読み書きする必要があり、ターミナルが望んでいる場所にはできません。今後、より一層、必要になってくるでしょう。
実は、この問題は、数年前に、私のトピック -https://www.mql5.com/ru/forum/79922 で解決しています。
全てはWindowsのツールで解決する。TerminalのフォルダC:<<a lot of letters and numbers>> \Filesに、フォルダC:<<PyTS>>への参照を入れると、ターミナルは(OSも)サブフォルダFilesPyTSとして解釈し、ターミナルはそこに、本来のものと同様にC:<<PyTS>>に書き込みをします)。
これは、WindowsネイティブのMKLINKユーティリティを使用して、コマンドラインから実行されます。自分でできない人のために、ここで詳しく説明します。
実行-cmd、またはメニュー-ユーティリティ-Windows-コマンドプロンプトと入力します。MKLINKまたはmklinkと入力するウィンドウが表示されます。ここにあります。
ここでcd...と数回タイプし、C:Ⅾを表示させます。
そして、Windowsのエクスプローラーを開き、ターミナルがファイルを置いているC:㊧に行き、パスを選択しコピーするCtrl-Ins。
コマンドプロンプトウィンドウに戻り、そこでcd <space>と書き、Shift-Insで...へのパスを貼り付けます。\をクリックし、Enter。私たちはそれを理解しています。
ここで、コマンドラインに - mklink /D PyTS c:\PyTS , と書き、いつものように - Enter します。ここで、私たちはそれを手に入れます。
リンクが作成されたことが確認できます。フォルダ......㊧に出現したことがわかり、アクセスしてみると......フォルダC:㊧にファイルが表示されます。))それだけです。
これで、terminalで...FilesPyTSというフォルダに書き込まれたファイルは全て、実際にはC:FilesPyTSというフォルダに書き込まれることになります。
.
MQLのコードも添付ファイルにあります。- MQLは履歴を読み取り、Pythonアプリケーションに渡します。Pythonはそれを受け入れてプリントします。Pythonでは、スタートボタンを押すことを忘れないでください。)
MQLのコードにコメントを書く必要はないかな~、リファレンスがあるし)。MTからのデータ転送はタイマーで行うので、現段階ではその方が都合がいいのです。
一旦、中断します。今度は、戦略で問題を解きましょう。何かご提案があれば-検討します)。
繰り返しになりますが、ファイル共有は修正に手間がかからないため、戦略 策定やデバッグに 最適です。ほとんどの実戦的な戦略には、やはり適しています。しかし、必要であれば、プログラムに大きな変更を加えることなく、いつでも他のものと交換することができます - 1〜2日のことです。
頻繁に書くことを約束するわけではなく、手に入った時だけ書きます。プロジェクトは、ほとんど時間をかけずに水面下で進められています。
グラフを表示するシステムも良いと思った。
一般に、Pythonはシンプルな言語なので、2〜3日勉強すれば十分です。しかし、モジュールを扱うのはもっと大変で、何千ものモジュールがあり、誰が何をするのか、なぜするのかが必ずしも明らかではありません。 グラフィックについては、そのようなことがあり、私は長い間それを解決する必要がありました。しかし、結果は次のようになります。
CSVファイルを読み込み、グラフを描画するプログラムです。
ローソク足約5万本分の価格をクローズ単位で表示したチャートです。
虫眼鏡をクリックして、このようにチャート領域で矩形を選択すると。
をクリックすると、グラフが拡大 表示されます。
これは繰り返し行うことができます。チャートの移動や画像保存も可能で、もちろん全画面拡大も可能です。
必要なファイルはすべてアプリケーションに含まれています。zipを任意のフォルダに解凍し、CSVGraph.pyを実行します。
実行する前に、インポートしたいモジュールがインストールされているかどうかを確認することを忘れないでください。
おバカなことはご近所さんや素人の音頭取りに任せて、自分たちで速報をまとめましょう。
すでにご存知の方は プロであれば、すでにPythonをある程度知っていて、CSVファイルの扱い方も知っていて、チャートを作ったり、ターミナルでデータをやり取りする方法も知っているはずです。これだけでもすでに、取引戦略の開発、シミュレーション、テストには十分です。ティックを使用せず、5~10秒間隔でターミナルにアクセスし、TF1分以上のストラテジーを動作させている場合、すでにPhytonで直接動作するストラテジーを作成し、データの配信と注文の「実行」だけをターミナルに任せている可能性があります。
それに、あなたはすでにプログラミングとPhyton環境を知っていて、機械学習の地元の謝意者の間で人気のあるRという言語と環境を超えるレベルです。すでにPythonで非常に複雑なインジケータ戦略まで構築できるようになりますが、Pythonのすべての機能(Rと同様)はモジュールを使って実装することができます。このトピックでは、tkinter、numpy、matplotlibの3つのモジュールだけを使用しました。
さて、Pythonがより高度な戦略を構築するために必要なのは、例えば機械学習を利用することです。このとき、-scikit-learn モジュールを使用することができます。scikit-learnを 使用することで、以下の機能が利用可能になります。メソッドのセットはいかがでしょうか?- RやMachine Learningのトピックでは馴染みのない、ベイズ分類からランダムフォレスト、ニューラルネットワークまで、すでにかなりのものが揃っています。
これはPythonの機械学習モジュールのひとつに過ぎず、十数種類ある。scikit-learn モジュールは、その中でも特に優れているわけでもなく、先進的でもないと言われています。それは、誰が何を必要としているかによります。その他は、インターネットで検索すればすぐに見つかります。
PS Pythonを始める人、これから始める人へ。
いくつかのPython開発環境を試しましたが、(私も含めて)初心者に最も便利なAnacondaで止まって います。便利なのは、Pythonをはじめ、必要なものがすでにインストールされていることです。私はAnacondaと 一緒にインストールされたSpyderを 使用しているエディタです。 また、VSCodeエディタをインストールすることをお勧めします。
私の選択に納得がいかないかもしれません。
必要な指標はすべて揃っている。Pythonで作成した図をご覧ください(Pythonでは、あらゆる種類のグラフを高速に描くことができ、非常に便利です)。これは、1回のジャンプに対する応答-1(t)、つまり過渡的な関数である。実は、標準テストの1つ。
fmは従来の移動平均(キャリブレーションにのみ使用)、f1は係数計算を変更したEMA、f2は非標準の指標です。
しかし、共通の知人がよく言っていた。
何度も言っていることだが、おそらくもう一度言うだろう...。MT供給による指標(標準的な...つまり古いスラブ系の指標...異教徒!!)より優れたものは誰も発明していない。
そこで、科学で頭を誤魔化さないために、定番のEMAや攻略ソースを入手します。しかし、私のインジケータでストラテジーを作ってテストしてみます。もしかしたら、他のものを詮索されないように、しかし機能を損なわないように隠しておくかもしれません。
しかし、これはEMAの横断のためではありません。すべての目的は、機械学習戦略です。今のところ、さまざまな分類方法を試しています。そして、これがテスト結果です。
今のところ、ガウシアン、RBF SVM、ニューラルネットワーク、ナイーブベイズが上位を占めています。Pythonのプログラムはすでに出来上がっていて、インターネットのどこかに公開されていますが、データの準備はユーザー次第です。
さあ、行こう。
必要な指標はすべて揃っている。Pythonで作成した図をご覧ください(Pythonでは、あらゆる種類のグラフを高速に描くことができ、非常に便利です)。これは、1回のジャンプに対する応答-1(t)、つまり過渡的な関数である。実は、標準テストの1つ。
fmは従来の移動平均(キャリブレーションにのみ使用)、f1は係数計算を変更したEMA、f2は非標準の指標です。
しかし、共通の知人がよく言っていた。
そこで、科学で頭を騙さないために、標準的なEMAと攻略の元となるものを入手します。しかし、私のインジケータでストラテジーを作ってテストしてみます。もしかしたら、他のものを詮索されないように、しかし機能を損なわないように隠しておくかもしれません。
しかし、これはEMAの横断のためではありません。すべての目的は、機械学習戦略です。今のところ、さまざまな分類方法を試しています。そして、これがテスト結果です。
今のところ、ガウシアン、RBF SVM、ニューラルネットワーク、ナイーブベイズが上位を占めています。Pythonのプログラムはすでに出来上がっていて、インターネットのどこかに公開されていますが、データの準備はユーザー次第です。
さあ、行こう。
ニューラルネットワークに切り替えたのは残念です。しかし、ほとんどは非常に便利だと思います。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
機械学習ロボット
ユリイ・アサウレンコ さん 2018.09.21 00:45
それはないでしょう。最大でも以前と同じようにやってくれる。
ニューラルネットワークに切り替えたのは残念です。しかし、ほとんどは非常に便利だと思います。
このスレッドではNSなどMoD方式への切り替えは予定していません。今のところ、少なくとも)。見てみよう。
ここで行われているのは、Pythonのシステムテンプレートです。このテンプレートへの具体的な記入は、特定のユーザーの問題である。
まあ、Pythonのライブラリの能力を示すことは、余分なことではないと思っています。
プログラムを起動すると、ストラテジーがテストされ、全取引のレポートがCSVファイルに保存され、利益グラフがコンソールに表示され、ディスクに保存することができます。