アルゴリズム取引におけるPython

 

MQL5は、金融市場取引用の高性能アプリケーションを作成するために特別に設計されたプログラミング言語です。

MQL5は、アルゴリズム取引で使用される他の特殊なプログラミング言語よりも高速な実行と高いパフォーマンスを提供します。その言語の構文はC++に似ています。

MQL5はOpenCLをサポートしており、すぐに使える統計、ファジーロジック、およびALGLIBライブラリを提供します。MetaEditor開発環境は、スマート関数インポートを使用して.NETライブラリのネイティブサポートを提供するため、特別なラッパーは必要ありません。MQL5プログラムを作成するときには、サードパーティのC++DLLを使用できます。C++ソースコードファイル(CPPおよびH)は、MQ5およびMQHファイルと同様に、直接編集できます。


Pythonは、人気のあるハイレベルの汎用言語です。Pythonには、NumPy、Pandas、Scikit-learnなど、データ分析と科学計算用の広範なライブラリとツールがあり、機械学習の分野で広く使用されています。

また、複雑なニューラルネットワークを作成および訓練するためのTensorFlowおよびPyTorch機械学習フレームワークもサポートされています。Python は機械学習コミュニティで人気があるため、開発者が知識を学び、共有できるオンラインリソースやコミュニティが数多くあります。


Python統合パッケージを使用すると、トレーダーはMetaTrader 5ターミナルから直接プロセス間通信を介して取引データを取得し、取引操作を実行し、データを統計計算と機械学習に使用することができます。

 

導入とセットアップ



導入とセットアップ | Python を使用した取引

Trading with Python シリーズはこのビデオで紹介されており、Python のセットアップとブローカーでの取引口座の開設の基本を説明しています。このチュートリアルでは、Python と MT5 IDE のダウンロード、MetaTrader5 ライブラリのインストール、取引を開始するための Python スクリプトの作成のプロセスを順を追って説明します。講演者は、IOC および GTC メソッドを使用して注文を実行する方法について説明し、スクリプトがどのように注文を MT5 サーバーに送信するかを実演します。このビデオは、注文の実行が成功し、チャンネル登録への招待で終了します。

  • 00:00:00 このセクションでは、ビデオで「Trading with Python」シリーズの紹介が提供され、Python の開始方法、ブローカーで取引口座を開設する方法、メタ エディターで Python プログラムを作成する方法が説明されています。 MT5IDEです。このビデオでは、Python をダウンロードし、パスに追加されていることを確認し、MetaTrader5 ライブラリをインストールし、メタ エディタを開いて最初の Python スクリプトを作成するまでを説明します。このビデオでは、プロセスをデモンストレーションするために、シンボル、ロットサイズ、価格、ストップロス、テイクプロフィット、偏差、マジックナンバー、コメントを定義して取引を開始するサンプルスクリプトを提供しています。スクリプトは MetaTrader5 プラットフォームで実行され、取引が開始されます。

  • 00:05:00 このセクションでは、スピーカーは、注文を約定するための GTC (キャンセルに進む) および IOC (即時またはキャンセル) メソッドの使用について説明します。IOC は、注文の一部を約定し、それができない場合に残りをキャンセルする注文タイプです。完全に満たされました。次に、スクリプトがどのように注文を MT5 サーバーに送信し、注文が成功したか失敗したかを確認する print ステートメントを含める方法について説明します。 MT5 上のスクリプトのデモンストレーションは、注文が正常に実行されたことを示しています。最後にビデオは終了し、スピーカーは視聴者に感謝の意を表し、チャンネル登録を勧めます。
 

Jupyter Notebook と市場データ



Jupyter Notebook と市場データ | Python を使った取引 #1

「Jupyter Notebook & Market Data | Trading with Python #1」ビデオでは、Jupyter Notebook と市場データについて視聴者に紹介しています。 Jupyter Notebook は、データの視覚化と分析、戦略開発、バックテストに使用される人気のある Web ベースのコーディング環境です。視聴者は、Metatrader 5 からトレイルシンボルを抽出し、市場データをリクエストすることで、テクニカルデータや OHLC データなどの市場データにアクセスできます。ナレーターは、Python で datetime ライブラリを使用して買値と売値を取得する方法と、time モジュールを使用して while ループ経由で定期的にデータをリクエストし、リアルタイム更新を行う方法を示します。

  • 00:00:00 このセクションでは、Jupyter Notebook と市場データについて視聴者に紹介します。 Jupyter Notebook は、データ サイエンティストやマシンの専門家の間で人気のある Web ベースのコーディング環境であり、データ視覚化のための Django として機能します。 Jupyter Notebook の利点には、データ分析、視覚化、戦略開発、バックテストが含まれます。一方、視聴者は、Metatrader 5 からトレイルシンボルを抽出し、市場データをリクエストすることで、テクニカルデータや OHLC データなどの特定の市場データを使用できます。視聴者は、MT5 環境で取引戦略を展開して、リスクを管理し、取引を監視することもできます。このビデオでは、pip を使用して Jupiter Notebook をインストールする方法と、Jupiter サーバーに移動する前に Trading With Python というディレクトリを作成する方法を説明しています。最後に、特定のシンボルから価格データをリクエストするには、閲覧者はコード「空の 5 ドット シンボル情報ティック」を使用できます。

  • 00:05:00 ビデオのこのセクションでは、ナレーターが、日時ライブラリを使用して Python で買値と売値を取得する方法を示します。まず、Unix タイムスタンプを datetime オブジェクトに変換する方法と、time モジュールを使用して while ループ経由でデータを定期的にリクエストする方法を示します。結果の出力には、更新された売値と買値がリアルタイムで表示されます。
 

Python を MetaTrader 5 に接続する



Python を MetaTrader5 に接続する

このビデオチュートリアルでは、パンダやプロットリーなどの必要なライブラリのインポート、取引口座の初期化とログイン、口座情報の取得、現在の価格、OHLC データ、およびシンボルのデータの取得など、Python を MetaTrader 5 プラットフォームと統合する方法を示しています。過去のティックとトランザクション。このチュートリアルでは、Python を介してプラットフォームと対話し、注文を表示したり、ポジションをオープンおよびクローズするために取引を送信したり、チケット ID を使用してポジションをクローズしたりする方法についても説明します。プレゼンターは視聴者に統合プロセスについて質問するよう勧めます。

  • 00:00:00 このセクションでは、ビデオ チュートリアルで MetaTrader 5 プラットフォームへの Python の統合を紹介します。このプラットフォームには、個人が市場データを要求し、データを分析し、アルゴリズム戦略を使用して取引を実行できる独自のドキュメントがあります。このビデオでは、Python を操作するために、MetaTrader5、pandas、plotly、datetime ライブラリをインポートすることによる最も基本的なコマンドを説明しています。次に、ビデオでは取引口座の初期化とログイン、ログイン番号、レバレッジ、残高、資本などの口座情報の取得について説明します。このセクションは、mt.symbolstotal を使用してブローカーが提供するシンボルの総数を取得する方法と、empty.symbols を使用して各シンボルの証拠金要件や契約サイズなどのデータを取得する方法の説明で終わります。

  • 00:05:00 このセクションでは、講演者は、Python と MetaTrader 5 を使用してシンボルからデータを取得する方法について説明します。講演者は、空のドット シンボル get コマンドを使用すると、空のドットを使用しながらすべてのシンボルのデータを取得できると説明します特定のシンボル名を持つシンボル情報は、そのシンボルのデータのみを返します。また、スピーカーは、シンボル情報ティックを使用してシンボルの現在の価格を取得する方法と、空のドット コピー レート範囲を使用して始値、高値、安値、終値 (OHLC) データまたはローソク足データを取得する方法も示します。データ分析を実行し、このデータに基づいて指標を調整することで、独自の取引戦略を開発できます。最後に、講演者は、mt dot copy ティック範囲を使用してシンボルの実際のティックと取引をチェックし、プラットフォーム内のすべての買値と売値の履歴を確認する方法をデモンストレーションします。

  • 00:10:00 ビデオのこのセクションでは、Python を使用して MetaTrader5 プラットフォームと対話する方法に焦点を当てています。ユーザーは、現在の注文の合計数を取得したり、注文とポジションの詳細を確認したり、過去の注文と取引を表示したりできます。さらに、視聴者は、Python から MetaTrader 5 に取引を送信してポジションをオープンおよびクローズする方法を学ぶことができます。

  • 00:15:00 このセクションでは、MetaTrader5 を使用して Python で取引を開始および終了する方法をビデオで説明します。 MetaTrader5 のリクエストには、アクション、シンボル、ボリューム、タイプ、ストップロス、テイクプロフィット、偏差、マジック、コメント、注文時間、タイプ充填などのパラメーターが必要です。次にビデオでは、アルゴ取引を有効にし、Python を介して注文を実行する方法を示します。これにより、プラットフォームを通じてポジションのオープンが確認されます。最後に、ビデオではポジション番号とボリュームを指定してポジションを決済する方法を説明し、MetaTrader5 を通じて特定のチケット ID でポジションを決済できることを Python を介して実証します。

  • 00:20:00 ビデオのこのセクションでは、プレゼンターが Python と MetaTrader5 を使用してポジションを決済する方法をデモンストレーションします。彼は、ポジションのチケット ID をコピーすることで、クローズする必要があるポジションに置き換えることができることを示しました。置き換えが成功すると、ポジションはクローズされ、プラットフォームにはオープン ポジションがゼロと表示されます。プレゼンターは視聴者に、MetaTrader5 のドキュメントや MetaTrader5 への Python スクリプトの統合に関する質問をコメント セクションで行うよう呼びかけています。
 

単純な取引ロボットをコーディングする



単純な取引ロボットをコーディングする | Python を使った取引

このビデオチュートリアルでは、MetaTrader 5 プラットフォームを使用して Python で単純な取引ロボットをコーディングする方法を示します。ロボットは単純な移動平均クロスオーバー戦略を使用し、ローソク足が移動平均を上回って終了したときに買いが発生し、ローソク足が移動平均を下回って終了したときに売りを実行します。プレゼンターは、成行注文、決済注文、特定のシンボルのエクスポージャーの取得などの関数を含む、この戦略のために Python で記述されたコードについて説明します。シグナル関数は戦略に基づいて取引シグナルを生成し、ロボット設定はシンボル、出来高、時間枠、偏差のパラメーターを定義します。このビデオでは、取引戦略のロジックとその実装に必要なコード、それぞれ買い注文または売り注文につながる買いシグナルと売りシグナルも取り上げています。視聴者は、潜在的なビデオトピックの取引アイデアや戦略を提案することが推奨されます。

  • 00:00:00 ビデオ チュートリアルのこのセクションでは、作成者が Python と MetaTrader 5 (MT5) プラットフォームを使用して単純な取引ロボットをコーディングする方法を説明します。取引ロボットは単純な移動平均クロスオーバー戦略を使用し、ローソク足が移動平均を上回って終了したときに買いが発生し、ローソク足が移動平均を下回って終了したときに売りが行われます。作成者は、この戦略用に Python で書かれたコードをデモンストレーションします。これには、自動取引戦略のコーディングを容易にするために開発された関数が含まれています。これらの機能には、注文を出す成行注文、注文を閉じるためのクローズ注文、および特定のシンボルのエクスポージャを取得するエクスポージャの取得が含まれます。作成者は、単純な移動平均クロスオーバー戦略に基づいて取引シグナルを生成するために使用されるシグナル関数についても説明します。最後に、作成者は、ロボットの取引戦略の設定を定義するために必要なシンボル、出来高、時間枠、および偏差パラメーターについて詳しく説明します。

  • 00:05:00 このセクションでは、プレゼンターが取引戦略のロジックとそれを実装するために必要なコードについて説明します。この戦略では、前のセクションで定義した関数を使用して、コードによって生成されたシグナルに基づいて売買します。買いシグナルが与えられると、コードはオープンなショートポジションがあるかどうかをチェックし、存在しない場合は買い注文を作成する前にそれらをクローズします。売りシグナルではその逆が起こります。このコードには、戦略に関する情報を提供する print ステートメントも含まれており、スリープ関数を使用して戦略を毎秒更新します。プレゼンターは、MT5 プラットフォームに戦略を追加して実行する方法を示します。また、潜在的なビデオトピックについてコメントセクションに取引のアイデアや戦略を残すことも視聴者に奨励しています。
 

マーケットに注文を送る方法



マーケットに注文を送信する方法 | Python を使った取引 #3

このビデオ チュートリアルでは、プレゼンターが Python と MetaTrader 5 を使用して成行注文を送信する方法を示します。このチュートリアルでは、取引アクション、シンボル、数量、注文タイプなどの成行注文のパラメータと追加のパラメータを含むリクエスト ディクショナリの作成について説明します。ストップロス、利食い、偏差、コメントなど。このビデオでは、ポジション取得メソッドを使用してオープンポジションをクローズする方法と、注文のチケット番号を渡す方法についても説明しています。次にチュートリアルは、価格、出来高、その他のパラメーターを指定して指値注文または逆指値注文を開き、それぞれ mt5.trade action stop loss takeprofit と mt5.trade action delete コマンドを使用して注文を変更および削除する手順に進みます。

  • 00:00:00 このセクションでは、ビデオ チュートリアルで、Python と MetaTrader 5 を使用して取引プラットフォームに成行注文を送信する方法を示します。チュートリアルでは、成行注文は、次の時点で買いまたは売りのポジションを即座にオープンする注文の種類であると説明しています。現在の価格。プレゼンターは、取引アクション、シンボル、数量、注文タイプの指定など、成行注文のパラメーターを含むリクエスト ディクショナリを作成する方法を説明します。また、ストップロスとテイクプロフィット、偏差、コメントなどの追加パラメーターについても説明し、注文送信に辞書を渡す方法についても説明します。最後に、チュートリアルでは、ポジションを取得し、注文のチケット番号を渡すことを使用して、オープンポジションをクローズする方法を示します。

  • 00:05:00 このセクションでは、プラットフォームでポジションを決済する方法をビデオで説明します。取引アクション関数ではポジションと注文の種類を指定する必要があり、部分的に決済する場合はボリュームを指定する必要があります。次にビデオは、希望の価格、数量、タイプ、およびストップロス、テイクプロフィット、コメントなどのその他の仕様で指値注文を開く方法を説明します。同じ方法を逆指値注文にも使用でき、注文を変更するには、既存のチケット番号を取得してから、新しい仕様を入力する必要があります。
    | |
  • 00:10:00 このセクションでは、MT5 で Python を使用して注文を変更および削除する方法をスピーカーが説明します。注文を変更するには、トレーダーは mt5.trade アクション ストップロス テイクプロフィット コマンドを 4 つのパラメーター (ストップロス、テイクプロフィット、ポジション ID、および値) とともに使用する必要があります。これらの入力を指定することにより、トレーダーはストップロスとテイクプロフィットの値を更新できます。注文を削除するには、保留中の注文セクションにあるチケットの注文番号というパラメーターを 1 つ指定して mt5.trade action delete コマンドを使用する必要があります。そうすることで、トレーダーは一定の時間が経過しても実行されなかった未決注文を削除できます。
 

すべてのポジションを決済する方法



すべてのポジションを決済する方法 | Python を使った取引 #4

このビデオチュートリアルでは、Python を使用して MetaTrader 5 取引プラットフォームのすべてのポジションを決済する方法を示します。これには、MetaTrader5 ライブラリをインポートし、mt5.positions.get メソッドを使用してオープン ポジションの現在のリストを取得する必要があります。次に、「close_position」関数が定義され、mt5.symbol_info_tick メソッドを利用して現在の価格と取引プラットフォームと通信するためのリクエスト辞書を取得します。プログラムはオープンポジションリストをループし、各ポジションを「close_position」関数に渡してすべての取引をクローズします。ナレーターは、Python をさらにトレーニングするためのコードとチュートリアルのプレイリストへのリンクを提供します。

 

データの抽出と視覚化



データの抽出と視覚化 | Python を使った取引 #5

このビデオでは、Python を使用して MetaTrader 5 から EURUSD シンボルの毎日の OHLC データを抽出して視覚化する方法を示します。このプロセスには、データ視覚化のための MetaTrader 5、pandas、Plotly.graph_objects などのライブラリのインポートが含まれます。抽出されたデータは Pandas データフレームに変換され、Plotly の OHLC 関数を使用して視覚化されます。プレゼンターは、プロット上でレンジ スライダーを非表示にする方法も示し、コードをダウンロードするためのリンクやその他の Python による取引ビデオも提供します。

 

トレーリングストップロスをコード化する



トレーリングストップロスをコード化する | Python を使用した取引 #6

このビデオでは、Python を利用してトレーリング ストップロス ロボットを作成する方法を紹介します。プレゼンターは、トレーリングストップロスが損失を制限し、利益を最大化することでトレーダーにどのようなメリットをもたらすかを説明します。このビデオでは、データの取得と現在の価格とストップロスの間の最大距離の定義に加えて、必要な変数の構成とドライブ プラットフォームへの接続について説明します。発表者はまた、ストップロス機能がどのように利益を追跡し、ブレイクアウトの場合に損益分岐点を更新し、現在の価格に基づいて更新できるかを示します。全体として、このビデオは、Python を使用して位置を追跡する方法を示す有益なデモンストレーションとして機能します。

  • 00:00:00 このセクションでは、ビデオで Python を使用してトレーリング ストップロス ロボットをコーディングする方法を示します。このビデオは、トレーリング ストップロスがトレーダーの損失を制限し、利益を最大化するのにどのように役立つかを説明することから始まります。次に、プレゼンターは、オープン ポジションから必要なデータを取得する前に、必要な構成変数を設定し、Python をドライブ プラットフォームに接続する方法を示します。次に、ビデオでは、現在の価格とストップロスの間の距離を計算し、それらの間の最大距離を定義する方法を示します。最後に、発表者は、コード化された関数を使用して、MetaTrader 5 プラットフォームを使用してオープン ポジションにストップロスを適用する方法を示します。

  • 00:05:00 このセクションでは、ビデオで最大ストップロス、フィル量、デフォルトのストップロスの設定が示されています。このスクリプトでは、ストップロスを現在の価格に基づいて更新できます。ストップロスから 6 ピップスまでの制限があり、最大ストップロスを超えた場合の取引ストップロスは 3 ピップスです。また、ポジションにストップロスがない場合、スクリプトは購入価格より 3 ピップス下のストップロスを適用します。このビデオでは、ストップロスが利益にどのように従うか、またブレイクアウトが発生した場合に損益分岐点にどのように更新されるかを示しています。ビデオでは平穏な取引ポジションが示されていますが、デモでは Python を使用してポジションを追跡する方法が示されています。
 

Tkinter でポジションを管理する



Tkinter でポジションを管理する | Python #7 を使用した取引

ビデオのこのセクションでは、プレゼンターが Tkinter を使用して、MetaTrader 5 プラットフォームでオープン ポジションをリモートで管理およびクローズできる Python アプリケーションを作成する方法をデモンストレーションします。このアプリケーションを使用すると、ユーザーはリアルタイムの更新を監視し、逸脱を抑えてポジションを閉じることができ、スリッページを制限できます。リスト ボックスを使用してオープン ポジションを表示し、ラベルとエントリを使用して定義された偏差要素を持つクローズ ポジション コマンドにリンクされたクローズ ボタンを備えています。アプリケーションのコードは講演者の Web サイトから無料でダウンロードできます。ビデオでは、GUI の作成方法、MetaTrader 5 プラットフォームの初期化方法、ポジションの監視と決済のための関数の使用方法が段階的に説明されています。

  • 00:00:00 ビデオのこのセクションでは、プレゼンターが Tkinter と MetaTrader 5 プラットフォームを使用して、オープン ポジションをリモートで監視およびクローズできる Python アプリケーションを作成する方法を説明します。アプリケーションは MetaTrader 5 ライブラリに接続して、スリッページを制限するために偏差を設定してリアルタイムの更新を監視します。アプリケーションのコードは講演者の Web サイトから無料でダウンロードできます。ビデオでは、GUI の作成方法、MetaTrader 5 プラットフォームの初期化方法、ポジションを監視および決済するための関数の使用方法が段階的に説明されています。ビデオには、実際のアプリケーションのデモンストレーションも含まれています。

  • 00:05:00 ビデオのこのセクションでは、作成者が Tkinter を使用して空きポジションを管理するより高度な機能について説明します。オープン ポジションは文字列変数に保存され、ユーザーのドライバー プラットフォームにリンクされている「オープン ポジションの取得」関数を使用して取得されます。これらのポジションは、複数のポジションを同時に選択してクローズできる Tkinter リスト ボックスを使用して表示されます。閉じるボタンは、ラベルとエントリを使用して定義された偏差要素を参照する位置を閉じるコマンドにリンクされています。最後に、プログラムはリアルタイムで位置を更新するように設定されており、ルート ドット メイン ループを使用して実行できます。コードは作成者の Web サイトで入手できます。

  • 00:10:00 申し訳ありませんが、要約するためのトランスクリプトの抜粋は提供されていないようです。あなたが入力したテキストは、動画の最後にあるクリエイターからの行動喚起です。具体的なトランスクリプトの抜粋があれば、喜んで概要を提供させていただきます。
 

取引を開いたままにしておくことで報酬を受け取ります



取引を開いたままにしておくことで報酬を受け取ります | Python を使用した取引 #8

このビデオでは、ブローカーがトレーダーの口座にオープンポジションを保持するために毎日少額を支払うキャリー取引について説明しています。これはポジティブ株式取引としても知られています。その目的は、ポジティブなスワップを提供するシンボルを特定して、それらを取引する価値があるかどうかを判断することです。このビデオでは、長辺と短辺の両方でプラスのスワップが行われたシンボルを示す表が提供されています。キャリー取引は数日または数週間続く長期取引に推奨されており、ブローカーがいつでもスワップ値を更新できるため、トレーダーはスワップ値を監視する必要があります。

理由: