MQL5言語のプログラミング例に関する記事

icon

MQL5言語でMetaTraderプラットフォームのインジケータと自動売買ロボットを作成する方法を示すコード例を含む膨大な記事のコレクションにアクセスします。ソースコードは記事に添付されているので、MetaEditorで開いて実行して、アプリがどのように機能するかを確認できます。

これらの記事は自動取引初心者にも、プログラム経験があるプロのトレーダーにも役に立つでしょう。それらは単に例を特徴とするだけではなく、新しいアイデアも含んでいます。

新しい記事を追加
最新 | ベスト
preview
MQL5取引ツールキット(第6回):直近で約定された予約注文に関する関数で履歴管理EX5ライブラリを拡張

MQL5取引ツールキット(第6回):直近で約定された予約注文に関する関数で履歴管理EX5ライブラリを拡張

EX5モジュールで、直近で約定された予約注文のデータをシームレスに取得・格納するエクスポート可能な関数を作成する方法を学びます。このステップバイステップの包括的なガイドでは、直近で約定された予約注文の重要なプロパティ(注文タイプ、発注時間、約定時間、約定タイプなど)を取得するための専用かつ機能別の関数群を開発することで、履歴管理EX5ライブラリをさらに強化していきます。これらのプロパティは、予約注文の取引履歴を効果的に管理・分析するうえで重要な情報です。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第6回):自己適応型取引ルール(II)

MQL5で自己最適化エキスパートアドバイザーを構築する(第6回):自己適応型取引ルール(II)

本記事では、より良い売買シグナルを得るために、RSIのレベルと期間を最適化する方法を探ります。最適なRSI値を推定する手法や、グリッドサーチと統計モデルを用いた期間選定の自動化について紹介します。最後に、Pythonによる分析を活用しながら、MQL5でソリューションを実装します。私たちのアプローチは、複雑になりがちな問題をシンプルに解決することを目指した、実用的かつ分かりやすいものです。
preview
DoEasy-コントロール(第12部):基本リストオブジェクト、ListBoxおよびButtonListBox WinFormsオブジェクト

DoEasy-コントロール(第12部):基本リストオブジェクト、ListBoxおよびButtonListBox WinFormsオブジェクト

この記事では、WinFormsオブジェクトリストの基本オブジェクトと、2つの新しいオブジェクトを作成します。ListBoxとButtonListBoxです。
preview
MQL5で取引管理者パネルを作成する(第9回):コード編成(IV):取引管理パネルクラス

MQL5で取引管理者パネルを作成する(第9回):コード編成(IV):取引管理パネルクラス

このディスカッションでは、New_Admin_Panel EAにおけるTradeManagementPanelの最新版について解説します。このアップデートでは、組み込みクラスを活用することで、ユーザーフレンドリーな取引管理インターフェイスを提供するようにパネルが強化されました。パネルには、新規ポジションのオープン用取引ボタンや、既存のポジションおよび指値注文の管理用コントロールが含まれています。特に注目すべき機能は、インターフェイス上から直接ストップロス(SL)やテイクプロフィット(TP)を設定できるリスク管理機能が統合された点です。このアップデートにより、大規模なプログラムにおけるコードの整理が改善され、端末上では複雑になりがちな注文管理ツールへのアクセスが簡素化されました。
preview
RestAPIを統合したMQL5強化学習エージェントの開発(第2回):三目並べゲームREST APIとのHTTPインタラクションのためのMQL5関数

RestAPIを統合したMQL5強化学習エージェントの開発(第2回):三目並べゲームREST APIとのHTTPインタラクションのためのMQL5関数

この記事では、MQL5がPythonやFastAPIとどのように相互作用できるか、MQL5のHTTP呼び出しを使用してPythonの三目並べゲームと相互作用する方法について説明します。この記事では、この統合のためのFastAPIを使用したAPIの作成について説明し、MQL5でのテストスクリプトを提供することで、MQL5の多用途性、Pythonのシンプルさ、そして革新的なソルーションを生み出すために異なるテクノロジーを接続するFastAPIの有効性を強調しています。
preview
プライスアクション分析ツールキットの開発(第2回): Analytical Commentスクリプト

プライスアクション分析ツールキットの開発(第2回): Analytical Commentスクリプト

プライスアクションを簡素化するというビジョンに沿って、市場分析を大幅に強化し、十分な情報に基づいた意思決定を支援する新しいツールを導入できることを嬉しく思います。このツールは、前日の価格、重要な支持と抵抗のレベル、取引量などの主要なテクニカル指標を表示し、チャート上に視覚的なヒントを自動的に生成します。
preview
GMDH (The Group Method of Data Handling):MQL5で多層反復アルゴリズムを実装する

GMDH (The Group Method of Data Handling):MQL5で多層反復アルゴリズムを実装する

この記事では、MQL5におけるGMDH (The Group Method of Data Handling)の多層反復アルゴリズム実装について説明します。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第8回):複数戦略分析

MQL5で自己最適化エキスパートアドバイザーを構築する(第8回):複数戦略分析

複数の戦略をどのように組み合わせれば、最も効果的に強力なアンサンブル戦略を構築できるでしょうか。本記事では、3種類の戦略を1つの取引アプリケーションに統合する方法について検討します。トレーダーは通常、ポジションのエントリーとクローズに特化した戦略を用いますが、私たちは機械がこのタスクをより優れた形で遂行できるかどうかを探ります。最初の議論として、ストラテジーテスターの機能と、本タスクで必要となるオブジェクト指向プログラミング(OOP)の原則に慣れていきます。
preview
プライスアクション分析ツールキットの開発(第44回):MQL5でVWMAクロスオーバーシグナルEAを構築する

プライスアクション分析ツールキットの開発(第44回):MQL5でVWMAクロスオーバーシグナルEAを構築する

本記事では、MetaTrader 5向けに開発されたVWMA(出来高加重移動平均)クロスオーバーシグナルツールを紹介します。このツールは、価格動向と出来高を組み合わせることで、強気および弱気の反転ポイントを特定することを目的としています。このエキスパートアドバイザー(EA)は、チャート上に明確な買いと売りシグナルを直接表示し、豊富な情報を持つパネルを備えるとともに、ユーザーによる詳細なカスタマイズが可能で、実践的な取引戦略の強力な補助となります。
preview
DoEasy - コントロール(第3部):バインドされたコントロールの作成

DoEasy - コントロール(第3部):バインドされたコントロールの作成

本稿では、基本要素にバインドされた従属コントロールを作成します。開発は、基本的な制御機能を使用して実行されます。さらに、影を持つことができるオブジェクトに適用するとまだいくつかのロジックエラーが発生するため、グラフィック要素の影オブジェクトを少しいじります。
preview
リプレイシステムの開発(第47回):Chart Tradeプロジェクト(VI)

リプレイシステムの開発(第47回):Chart Tradeプロジェクト(VI)

ついに、Chart Trade指標はEAと相互作用を開始し、情報をインタラクティブに転送できるようにします。そこで今回は、この指標を改良し、どのEAでも使えるような機能的なものにします。これにより、Chart Trade指標にアクセスし、実際にEAに接続されているかのように操作できるようになります。しかし、以前よりもずっと興味深い方法でそれをおこなうつもりです。
preview
DoEasy - コントロール(第29部):ScrollBar補助コントロール

DoEasy - コントロール(第29部):ScrollBar補助コントロール

この記事では、ScrollBar補助コントロール要素とその派生オブジェクト(垂直および水平のスクロールバー)の開発を開始します。スクロールバーは、フォームのコンテンツがコンテナを超えた場合にスクロールするために使用されます。スクロールバーは通常フォームの下部と右側にあります。下部の水平のものはコンテンツを左右にスクロールし、垂直のものは上下にスクロールします。
preview
MQL5で取引管理者パネルを作成する(第4回):ログインセキュリティ層

MQL5で取引管理者パネルを作成する(第4回):ログインセキュリティ層

悪意のある人物が取引管理者室に侵入し、世界中の何百万ものトレーダーに貴重な洞察を伝えるために使用されるコンピューターと管理パネルにアクセスしたと想像してください。このような侵入は、誤解を招くメッセージの不正送信や、意図しないアクションをトリガーするボタンのランダムクリックなど、悲惨な結果につながる可能性があります。このディスカッションでは、MQL5のセキュリティ対策と、これらの脅威から保護するために管理パネルに実装した新しいセキュリティ機能について説明します。セキュリティプロトコルを強化することで、通信チャネルを保護し、グローバルな取引コミュニティの信頼を維持することを目指しています。この記事のディスカッションでさらに詳しい情報を見つけてください。
preview
行列分解:基本

行列分解:基本

ここでの目的は教訓を得ることなので、できるだけシンプルに話を進めたいと思います。具体的には、必要な行列の乗算だけを実装します。行列とスカラーの乗算をシミュレートするにはこれで十分であることが今日わかるでしょう。行列分解を実装する際に多くの人が直面する最大の課題は、スカラーの分解と異なり、因子の順序が結果に影響を与えるため、行列の場合はその点に注意が必要だということです。
preview
ニュース取引が簡単に(第2回):リスク管理

ニュース取引が簡単に(第2回):リスク管理

この記事では、以前のコードと新しいコードに継承を導入します。効率性を高めるために新しいデータベース設計が実装されます。さらに、取引量計算に取り組むためのリスク管理クラスも作成されます。
preview
Connexusのリクエスト(第6回):HTTPリクエストとレスポンスの作成

Connexusのリクエスト(第6回):HTTPリクエストとレスポンスの作成

Connexusライブラリ連載第6回目では、HTTPリクエストの構成要素全体に焦点を当て、リクエストを構成する各コンポーネントを取り上げます。そして、リクエスト全体を表現するクラスを作成し、これまでに作成したクラスを統合します。
preview
リプレイシステムの開発(第35回):調整(I)

リプレイシステムの開発(第35回):調整(I)

前に進む前に、いくつかのことを解決する必要があります。これらは実際には必要な修正ではなく、クラスの管理方法や使用方法の改善です。その理由は、システム内の何らかの相互作用によって障害が発生したということです。このような失敗をなくすために原因を突き止めようと試みましたが、すべて失敗に終わりました。例えば、C/C++でポインタや再帰を使用すると、プログラムがクラッシュしてしまいます。
preview
DoEasy - サービス関数(第3回):アウトサイドバーパターン

DoEasy - サービス関数(第3回):アウトサイドバーパターン

本記事では、DoEasyライブラリにおけるアウトサイドバーのプライスアクションパターンを開発し、価格パターン管理へのアクセス手法を最適化します。あわせて、ライブラリのテスト中に判明したエラーや不具合の修正もおこないます。
preview
最も注目すべき人工協調探索アルゴリズムの修正(ACSm)

最も注目すべき人工協調探索アルゴリズムの修正(ACSm)

ここでは、ACSアルゴリズムの進化、つまり収束特性とアルゴリズムの効率性を向上させることを目的とした3つの変更について検討します。主要な最適化アルゴリズムの1つを変換します。行列の修正から母集団形成に関する革新的なアプローチまでをカバーします。
preview
リプレイシステムの開発(第38回):道を切り開く(II)

リプレイシステムの開発(第38回):道を切り開く(II)

MQL5プログラマーを自認する人の多くは、この記事で概説するような基本的な知識を持っていません。MQL5は多くの人によって限定的なツールだと考えてられていますが、実際の理由は、そのような人たちが必要な知識を持っていないということです。知らないことがあっても恥じることはありません。聞かなかったことを恥じるべきです。MetaTrader 5で指標の複製を強制的に無効にするだけでは、指標とEA間の双方向通信を確保することはできません。まだこれにはほど遠いものの、チャート上でこの指標が重複していないという事実は、私たちに自信を与えてくれます。
preview
GMDH (The Group Method of Data Handling):MQL5で組合せアルゴリズムを実装する

GMDH (The Group Method of Data Handling):MQL5で組合せアルゴリズムを実装する

この記事では、MQL5における組合せアルゴリズムと、その改良版である組合せ選択(Combinatorial Selective)アルゴリズムの実装について、データ処理のグループ法アルゴリズムファミリーの探求を続けます。
preview
リプレイシステムの開発(第32回):受注システム(I)

リプレイシステムの開発(第32回):受注システム(I)

これまで開発してきたものの中で、このシステムが最も複雑であることは、おそらく皆さんもお気づきでしょうし、最終的にはご納得いただけると思います。あとは非常に単純なことですが、取引サーバーの動作をシミュレーションするシステムを作る必要があります。取引サーバーの操作方法を正確に実装する必要性は、当然のことのように思えます。少なくとも言葉ではです。ただし、リプレイ/シミュレーションシステムのユーザーにとって、すべてがシームレスで透明なものとなるようにする必要があります。
preview
MQL5におけるSQLiteの機能:銘柄とマジックナンバー別の取引統計を表示するダッシュボード

MQL5におけるSQLiteの機能:銘柄とマジックナンバー別の取引統計を表示するダッシュボード

この記事では、口座別、銘柄別、および取引戦略別に取引統計をダッシュボードに表示するインジケーターの作成について考察します。コードは、ドキュメントおよびデータベース操作に関する記事の例に基づいて実装します。
preview
MQL5とデータ処理パッケージの統合(第5回):適応学習と柔軟性

MQL5とデータ処理パッケージの統合(第5回):適応学習と柔軟性

今回は、過去のXAU/USDデータを用いて柔軟で適応的な取引モデルを構築し、ONNX形式でのエクスポートや実際の取引システムへの統合に備えることに焦点を当てます。
preview
DoEasy-コントロール(第11部):WinFormsオブジェクト—グループ、CheckedListBox WinFormsオブジェクト

DoEasy-コントロール(第11部):WinFormsオブジェクト—グループ、CheckedListBox WinFormsオブジェクト

この記事では、WinFormsオブジェクトのグループ化と、CheckBoxオブジェクトリストオブジェクトの作成について検討します。
preview
DoEasy - コントロール(第23部):TabControlおよびSplitContainer WinFormsオブジェクトの改善

DoEasy - コントロール(第23部):TabControlおよびSplitContainer WinFormsオブジェクトの改善

今回は、WinFormsオブジェクトの作業領域の境界線に関連する新しいマウスイベントを追加し、TabControlとSplitContainerコントロールの機能に関するいくつかの欠点を修正することにします。
preview
純粋なMQL5におけるエネルギーベースの学習を用いた特徴量選択アルゴリズム

純粋なMQL5におけるエネルギーベースの学習を用いた特徴量選択アルゴリズム

この記事では、「FREL:A stable feature selection algorithm」と題された学術論文に記載された、Feature Weighting as Regularized Energy-Based Learningと呼ばれる特徴量選択アルゴリズムの実装を紹介します。
preview
人工協調探索(ACS)アルゴリズム

人工協調探索(ACS)アルゴリズム

人工協調探索(ACS)は、バイナリ行列と、相互主義的関係と協調に基づく複数の動的な個体群を用いて、最適解を迅速かつ正確に探索する革新的な手法です。捕食者と被食者に対するACS独自のアプローチにより、数値最適化問題で優れた結果を出すことができます。
preview
古典的な戦略を再構築する(第9回):多時間枠分析(II)

古典的な戦略を再構築する(第9回):多時間枠分析(II)

本日のディスカッションでは、AIモデルがどの時間枠で最高のパフォーマンスを発揮するかを明らかにするため、多時間枠分析の戦略を検討します。この分析により、EURUSDペアにおいて月次および時間足の時間枠が比較的誤差の少ないモデルを生成することが分かりました。この結果を活用し、月次時間枠でAIによる予測を行い、時間枠で取引を実行するアルゴリズムを作成しました。
preview
古典的な戦略を再構築する(第7回):USDJPYにおける外国為替市場とソブリン債務分析

古典的な戦略を再構築する(第7回):USDJPYにおける外国為替市場とソブリン債務分析

本日の記事では、今後の為替レートと国債の関係を分析します。債券は、最も人気のある固定利付証券の1つであり、今回の議論の焦点となります。AIを使用して従来の戦略を改善できるかどうかを一緒に検討しましょう。
preview
リプレイシステムの開発(第62回):サービスの再生(III)

リプレイシステムの開発(第62回):サービスの再生(III)

この記事では、実際のデータを使用する際にアプリケーションのパフォーマンスに影響を及ぼす可能性のある「ティック過剰」の問題について取り上げます。このティック過剰は、1分足を適切なタイミングで構築するうえで支障となることがよくあります。
DoEasyライブラリのグラフィックス(第96部): フォームオブジェクトのグラフィックとマウスイベントの処理
DoEasyライブラリのグラフィックス(第96部): フォームオブジェクトのグラフィックとマウスイベントの処理

DoEasyライブラリのグラフィックス(第96部): フォームオブジェクトのグラフィックとマウスイベントの処理

本稿では、フォームオブジェクトでマウスイベントを処理する機能の作成を開始し、銘柄オブジェクトに新しいプロパティとそのトラッキングを追加します。さらに、チャート銘柄で新しいプロパティが考慮/追加されて追跡されるため、銘柄オブジェクトクラスを改善します。
preview
MQL5で取引管理者パネルを作成する(第6回):取引管理パネル(II)

MQL5で取引管理者パネルを作成する(第6回):取引管理パネル(II)

この記事では、多機能管理パネルの取引管理パネル(Trade Management Panel)を強化します。コードを簡素化し、読みやすさ、保守性、効率性を向上させる強力なヘルパー関数を導入します。また、追加のボタンをシームレスに統合し、インターフェイスを強化して、より幅広い取引タスクを処理する方法も紹介します。ポジションの管理、注文の調整、ユーザーとのやり取りの簡素化など、このガイドは、堅牢でユーザーフレンドリーな取引管理パネルの開発に役立ちます。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第4回):動的なポジションサイズ調整

MQL5で自己最適化エキスパートアドバイザーを構築する(第4回):動的なポジションサイズ調整

アルゴリズム取引を成功させるには、継続的かつ学際的な学習が必要です。しかし、その可能性は無限であるがゆえに、明確な成果が得られないまま、何年もの努力を費やしてしまうこともあります。こうした課題に対応するため、私たちは徐々に複雑さを導入するフレームワークを提案します。これにより、トレーダーは不確実な結果に対して無限の時間を費やすのではなく、戦略を反復的に洗練させることが可能になります。
preview
古典的な戦略を再構築する(第16回):ダブルボリンジャーバンドブレイクアウト

古典的な戦略を再構築する(第16回):ダブルボリンジャーバンドブレイクアウト

本記事では、古典的なボリンジャーバンドのブレイクアウト戦略を再考し、その弱点を補う手法を紹介します。古典的戦略は、偽のブレイクアウトに弱いというよく知られた課題があります。本記事では、その弱点に対する一つの解決策として「ダブルボリンジャーバンド戦略」を提示します。この比較的知られていない手法は、従来戦略の弱点を補い、市場をより動的に捉える視点を提供します。これにより、従来のルールに縛られた制約を超え、トレーダーにとってより適応力のあるフレームワークを提供できるのです。
preview
リプレイシステムの開発(第41回):第2段階(II)の開始

リプレイシステムの開発(第41回):第2段階(II)の開始

もし、この時点まですべてが正しく思えたとしたら、それはアプリケーションの開発を始めるときに、長期的なことをあまり考えていないということです。時間が経つにつれて、新しいアプリケーションをプログラムする必要はなくなり、それらを連携させるだけで済むようになります。それでは、マウス指標を組み立てる方法を説明しましょう。
preview
プライスアクション分析ツールキットの開発(第27回):移動平均フィルター付き流動性スイープツール

プライスアクション分析ツールキットの開発(第27回):移動平均フィルター付き流動性スイープツール

価格変動の微妙なダイナミクスを理解することは、大きなアドバンテージをもたらします。その代表的な例が流動性スイープです。これは、特に機関投資家のような大口トレーダーが意図的に価格を主要なサポートやレジスタンスレベルを突破させる戦略です。これらのレベルには、小口トレーダーのストップロス注文が集中していることが多く、大口プレイヤーはこの流動性の「ポケット」を活用することで、スリッページを最小限に抑えつつ、効率的に大きなポジションを建てたり決済したりすることができます。
preview
クライアント端末での取引戦略の例の分析

クライアント端末での取引戦略の例の分析

この記事では、ブロック図を使用して、端末のExperts\Free Robotsフォルダにあるローソク足ベースの訓練EAのロジックを調べます。
preview
ダイナミックマルチペアEAの形成(第3回):平均回帰とモメンタム戦略

ダイナミックマルチペアEAの形成(第3回):平均回帰とモメンタム戦略

本記事では、ダイナミックマルチペアエキスパートアドバイザー(EA)を構築する旅の第3部として、平均回帰戦略とモメンタム戦略の統合に焦点を当てます。価格の平均からの乖離(Zスコア)を検出して取引に活かす方法や、複数の通貨ペアにおけるモメンタムを測定して取引方向を判断する方法について詳しく解説します。
preview
プライスアクション分析ツールキットの開発(第28回):Opening Range Breakout Tool

プライスアクション分析ツールキットの開発(第28回):Opening Range Breakout Tool

各取引セッションの始まりでは、市場の方向性の偏りは、価格が初期価格幅(オープニングレンジ)を突破して初めて明確になります。本記事では、MQL5エキスパートアドバイザー(EA)を構築し、セッション開始直後の初期価格幅のブレイクアウトを自動的に検出して分析し、タイムリーでデータ駆動型のシグナルを提供して自信ある日中エントリーを可能にする方法を探ります。