MQL5プログラミング記事

icon

取引戦略をプログラミングするためのMQL5言語を、ほとんどがコミュニティメンバーによって書かれた数多くの公開記事で学びます。記事は統合、テスター、取引戦略等のカテゴリに分けられていて、プログラミングに関連する疑問への解答を素早く見つけることができます。

新着記事をフォローして、フォーラムでディスカッションしてください。

新しい記事を追加
最新 | ベスト
preview
DoEasy-コントロール(第15部):TabControl WinFormsオブジェクト — 複数行のタブヘッダー、タブ処理メソッド

DoEasy-コントロール(第15部):TabControl WinFormsオブジェクト — 複数行のタブヘッダー、タブ処理メソッド

この記事では、TabControl WinFormオブジェクトの作業を続けます。タブフィールドオブジェクトクラスを作成して複数の行にタブヘッダーを配置できるようにし、オブジェクトタブを処理するメソッドを追加します。
preview
ビジュアルプログラミング言語DRAKON:MQL開発者と顧客のコミュニケーションツール

ビジュアルプログラミング言語DRAKON:MQL開発者と顧客のコミュニケーションツール

DRAKONは、ロシアの宇宙プロジェクト(例えば、「Buran」再利用可能宇宙船プロジェクト)のプログラマーと、異なる分野の専門家(生物学者、物理学者、エンジニアなど)との対話を簡素化するために設計されたビジュアルプログラミング言語です。この記事では、DRAKONが、コードに触れたことがない人にとっても、アルゴリズムの作成にアクセスしやすく、直感的にし、また、顧客が取引ロボットを注文する際に自分の考えを説明しやすくし、複雑な関数でプログラマーのミスを少なくする方法についてお話します。
preview
MQL5での取引戦略の自動化(第1回):Profitunityシステム(ビル・ウィリアムズ著「Trading Chaos」)

MQL5での取引戦略の自動化(第1回):Profitunityシステム(ビル・ウィリアムズ著「Trading Chaos」)

この記事では、ビル・ウィリアムズのProfitunityシステムを詳しく分析し、その核心となる構成要素や、市場の混乱の中での独自の取引アプローチを解説します。MQL5用いたシステムの実装方法を、主要なインジケーターやエントリー/エグジットシグナルの自動化に焦点を当てながら説明します。さらに、戦略のテストと最適化をおこない、さまざまな市場環境におけるパフォーマンスについて考察します。
preview
DiscordとMetaTrader 5の統合:リアルタイム通知機能を備えたトレーディングボットの構築

DiscordとMetaTrader 5の統合:リアルタイム通知機能を備えたトレーディングボットの構築

この記事では、MetaTrader 5とDiscordサーバーを統合し、どこからでもリアルタイムで取引通知を受信する方法について解説します。Discordへのアラート配信を有効にするための、MetaTrader 5側およびDiscord側の設定方法を詳しく説明します。また、このような通知ソリューションでWebRequestやWebhookを利用する際に生じるセキュリティ上の注意点についても取り上げます。
preview
母集団最適化アルゴリズム:電磁気的アルゴリズム(ЕМ)

母集団最適化アルゴリズム:電磁気的アルゴリズム(ЕМ)

この記事では、様々な最適化問題において、電磁気的アルゴリズム(EM、electroMagnetism-like Algorithm)を使用する原理、方法、可能性について解説しています。EMアルゴリズムは、大量のデータや多次元関数を扱うことができる効率的な最適化ツールです。
preview
MQL5の圏論(第5回)等化子

MQL5の圏論(第5回)等化子

圏論は、数学の多様かつ拡大を続ける分野であり、最近になってMQL5コミュニティである程度取り上げられるようになりました。この連載では、その概念と原理のいくつかを探索して考察することで、トレーダーの戦略開発におけるこの注目すべき分野の利用を促進することを目的としたオープンなライブラリを確立することを目指しています。
preview
知っておくべきMQL5ウィザードのテクニック(第27回):移動平均と迎角

知っておくべきMQL5ウィザードのテクニック(第27回):移動平均と迎角

迎角はよく引用される指標で、その急勾配は優勢なトレンドの強さと強い相関があると理解されています。一般的にどのように使用され、理解されているかを調べ、それを使用する取引システムの利益のために、その測定方法に導入可能な変更があるかどうかを検討します。
DoEasyライブラリのグラフィックス(第77部): 影オブジェクトクラス
DoEasyライブラリのグラフィックス(第77部): 影オブジェクトクラス

DoEasyライブラリのグラフィックス(第77部): 影オブジェクトクラス

本稿では、グラフィック要素オブジェクトの子孫である 影オブジェクトのクラスを作成し、オブジェクトの背景をグラデーションで塗りつぶす機能を追加します。
DoEasyライブラリのグラフィックス(第90部): 標準グラフィカルオブジェクトのイベント基本機能
DoEasyライブラリのグラフィックス(第90部): 標準グラフィカルオブジェクトのイベント基本機能

DoEasyライブラリのグラフィックス(第90部): 標準グラフィカルオブジェクトのイベント基本機能

本稿では、標準のグラフィカルオブジェクトイベントを追跡するための基本的な機能を実装します。グラフィカルオブジェクトのダブルクリックイベントから始めます。
preview
DoEasyライブラリの時系列(第58部): 指標バッファデータの時系列

DoEasyライブラリの時系列(第58部): 指標バッファデータの時系列

時系列の操作に関するトピックのしめくくりとして、指標バッファに格納されているストレージ、検索、およびデータの並べ替えを整理します。これにより、プログラムでライブラリベースで作成される指標の値に基づいて分析をさらに実行できます。ライブラリのすべてのコレクションクラスの一般的な概念により、対応するコレクションで必要なデータを簡単に見つけることができます。それぞれ、今日作成されたクラスでも同じことが可能です。
DoEasyライブラリでの価格(第62部): ティックシリーズをリアルタイムで更新して板情報で作業するための準備
DoEasyライブラリでの価格(第62部): ティックシリーズをリアルタイムで更新して板情報で作業するための準備

DoEasyライブラリでの価格(第62部): ティックシリーズをリアルタイムで更新して板情報で作業するための準備

この記事では、ティックデータの更新をリアルタイムで実装し、板情報を操作するための銘柄オブジェクトクラスを準備します(DOM自体は次の記事で実装されます)。
preview
知っておくべきMQL5ウィザードのテクニック(第17回):多通貨取引

知っておくべきMQL5ウィザードのテクニック(第17回):多通貨取引

ウィザードを介してEAが組み立てられた場合、デフォルトでは複数の通貨をまたいだ取引は利用できません。トレーダーが一度に複数の銘柄から自分のアイデアをテストする際に、2つの可能なトリックを検討します。
preview
ニューラルネットワークが簡単に(第23部):転移学習用ツールの構築

ニューラルネットワークが簡単に(第23部):転移学習用ツールの構築

転移学習については当連載ですでに何度も言及していますが、これはただの言及でした。この記事では、このギャップを埋めて、転移学習の詳しい調査を提案します。
preview
母集団最適化アルゴリズム:クジラ最適化アルゴリズム(WOA)

母集団最適化アルゴリズム:クジラ最適化アルゴリズム(WOA)

(WOA)は、ザトウクジラの行動と狩猟戦略に着想を得たメタヒューリスティクスアルゴリズムです。WOAの主なアイデアは、クジラが獲物の周囲に泡を作り、螺旋状の動きで獲物に襲いかかる、いわゆる「バブルネット」と呼ばれる捕食方法を模倣することです。
preview
弁証法的探索(DA)

弁証法的探索(DA)

本記事では、弁証法の考え方に着想を得た大域最適化手法である弁証法的アルゴリズム(Dialectical Algorithm, DA)を紹介します。このアルゴリズムは、集団を「思索的思考者(speculative thinkers)」と「実践的思考者(practical thinkers)」に独自に分割する点が特徴です。テストでは、低次元問題において最大98%の高い性能を示し、全体的な効率は57.95%に達しました。本記事ではこれらの指標を解説し、アルゴリズムの詳細な説明とさまざまな関数に対する実験結果を提示します。
preview
ニューラルネットワークが簡単に(第62回):階層モデルにおけるDecision Transformerの使用

ニューラルネットワークが簡単に(第62回):階層モデルにおけるDecision Transformerの使用

最近の記事で、Decision Transformerを使用するためのいくつかの選択肢を見てきました。この方法では、現在の状態だけでなく、以前の状態の軌跡や、その中でおこなわれた行動も分析することができます。この記事では、階層モデルにおけるこの方法の使用に焦点を当てます。
preview
MQL5入門(第13回):初心者のためのカスタムインジケーター作成ガイド(II)

MQL5入門(第13回):初心者のためのカスタムインジケーター作成ガイド(II)

この記事では、カスタムの平均足インジケーターをゼロから作成する方法を解説し、カスタムインジケーターをエキスパートアドバイザー(EA)に組み込む方法も紹介します。インジケーターの計算方法、取引実行ロジック、リスク管理の手法についても取り上げ、自動売買戦略の向上を目指します。
preview
リプレイシステムの開発—市場シミュレーション(第5回):プレビューの追加

リプレイシステムの開発—市場シミュレーション(第5回):プレビューの追加

現実的で利用しやすい方法で市場リプレイシステムを実装する方法を開発することができたので、プロジェクトを続けて、リプレイの動作を改善するためのデータを追加してみましょう。
preview
ニューラルネットワークが簡単に(第25部):転移学習の実践

ニューラルネットワークが簡単に(第25部):転移学習の実践

前々回、前回と、ニューラルネットワークのモデルを作成・編集するためのツールを開発しました。いよいよ転移学習技術の利用可能性を実例で評価することになります。
preview
最適化アルゴリズムを使用してEAパラメータをオンザフライで設定する

最適化アルゴリズムを使用してEAパラメータをオンザフライで設定する

この記事では、最適化アルゴリズムを使用して最適なEAパラメータをオンザフライで見つけることや、取引操作とEAロジックの仮想化について、実践的な側面から論じています。この記事は、最適化アルゴリズムをEAに実装するためのインストラクションとして使用できます。
preview
角度ベースの取引

角度ベースの取引

この記事では、角度ベースの取引について取り上げます。角度の組み立て方と、それを取引に利用する方法について見ていきます。
preview
PythonとMQL5でロボットを開発する(第2回):モデルの選択、作成、訓練、Pythonカスタムテスター

PythonとMQL5でロボットを開発する(第2回):モデルの選択、作成、訓練、Pythonカスタムテスター

PythonとMQL5で自動売買ロボットを開発する連載を続けます。今日は、モデルの選択と訓練、テスト、交差検証、グリッドサーチ、モデルアンサンブルの問題を解決します。
DoEasyライブラリのグラフィックス(第80部): 「幾何学的アニメーションフレーム」オブジェクトクラス
DoEasyライブラリのグラフィックス(第80部): 「幾何学的アニメーションフレーム」オブジェクトクラス

DoEasyライブラリのグラフィックス(第80部): 「幾何学的アニメーションフレーム」オブジェクトクラス

本稿では、前の記事のクラスのコードを最適化し、指定された数の頂点を持つ正多角形を描画するための幾何学的アニメーションフレームオブジェクトクラスを作成します。
preview
MQL5の圏論(第8回):モノイド

MQL5の圏論(第8回):モノイド

MQL5における圏論の実装についての連載を続けます。今回は、ルールと単位元を含むことで、圏論を他のデータ分類法と一線を画す始域(集合)としてモノイドを紹介します。
preview
信頼区間を用いて将来のパフォーマンスを見積もる

信頼区間を用いて将来のパフォーマンスを見積もる

この記事では、自動化された戦略の将来のパフォーマンスを推定する手段として、ブーストラッピング技術の応用について掘り下げます。
preview
ニューラルネットワークが簡単に(第89回):FEDformer (Frequency Enhanced Decomposition Transformer)

ニューラルネットワークが簡単に(第89回):FEDformer (Frequency Enhanced Decomposition Transformer)

これまで検討してきたすべてのモデルは、環境の状態を時系列として分析します。ただし、時系列は周波数特徴の形式で表現することもできます。この記事では、時系列の周波数成分を使用して将来の状態を予測するアルゴリズムを紹介します。
preview
出来高による取引の洞察:トレンドの確認

出来高による取引の洞察:トレンドの確認

強化型トレンド確認手法は、プライスアクション、出来高分析、そして機械学習を組み合わせることで、真の市場動向を見極めることを目的としています。この手法では、取引を検証するために、価格のブレイクアウトと平均比50%以上の出来高急増という2つの条件を満たす必要があります。さらに、追加の確認手段としてLSTMニューラルネットワークを活用します。システムはATR (Average True Range)に基づいたポジションサイズ設定と動的リスク管理を採用しており、誤ったシグナルを排除しつつ、多様な市場環境に柔軟に対応できる設計となっています。
preview
リプレイシステムの開発 - 市場シミュレーション(第11回):シミュレーターの誕生(I)

リプレイシステムの開発 - 市場シミュレーション(第11回):シミュレーターの誕生(I)

バーを形成するデータを使うためには、リプレイをやめてシミュレーターの開発に着手しなければなりません。難易度が最も低い1分バーを使用します。
preview
MQL5の圏論(第3回)

MQL5の圏論(第3回)

圏論は数学の一分野であり、多様な広がりを見せていますが、MQL5コミュニティでは今のところ比較的知られていません。この連載では、その概念のいくつかを紹介して考察することで、トレーダーの戦略開発におけるこの注目すべき分野の利用を促進することを目的としたオープンなライブラリを確立することを目指しています。
DoEasy - コントロール(第32部):水平スクロールバー、マウスホイールスクロール
DoEasy - コントロール(第32部):水平スクロールバー、マウスホイールスクロール

DoEasy - コントロール(第32部):水平スクロールバー、マウスホイールスクロール

この記事では、水平スクロールバーオブジェクト機能の開発を完成します。また、スクロールバーのスライダーを動かしたり、マウスホイールを回転させたりしてコンテナの内容をスクロールできるようにするほか、MQL5の新しい注文実行ポリシーや新しいランタイムエラーコードを考慮したライブラリへの追加もおこないます。
preview
知っておくべきMQL5ウィザードのテクニック(第30回):機械学習におけるバッチ正規化のスポットライト

知っておくべきMQL5ウィザードのテクニック(第30回):機械学習におけるバッチ正規化のスポットライト

バッチ正規化とは、ニューラルネットワークのような機械学習アルゴリズムに投入するデータの前処理です。これは、アルゴリズムが使用する活性化の種類を常に意識しながらおこなわれます。そこで、エキスパートアドバイザー(EA)を使って、そのメリットを享受するためのさまざまなアプローチを探ります。
preview
母集団最適化アルゴリズム:微小人工免疫系(Micro-AIS)

母集団最適化アルゴリズム:微小人工免疫系(Micro-AIS)

この記事では、身体の免疫系の原理に基づいた最適化手法、つまりAISを改良した微小人工免疫系(Micro Artificial Immune System:Micro-AIS)について考察します。Micro-AISは、より単純な免疫系のモデルと単純な免疫情報処理操作を用います。また、この記事では、従来のAISと比較した場合のMicro-AISの利点と欠点についても触れています。
preview
MLモデルとストラテジーテスターの統合(結論):価格予測のための回帰モデルの実装

MLモデルとストラテジーテスターの統合(結論):価格予測のための回帰モデルの実装

この記事では、決定木に基づく回帰モデルの実装について説明します。モデルは金融資産の価格を予測しなければなりません。すでにデータを準備し、モデルを訓練評価し、調整最適化しました。ただし、このモデルはあくまで研究用であり、実際の取引に使用するものではないことに留意する必要があります。
preview
MQL5入門(第13回):初心者のためのカスタムインジケーター作成ガイド(II)

MQL5入門(第13回):初心者のためのカスタムインジケーター作成ガイド(II)

この記事では、カスタムの平均足インジケーターをゼロから作成する方法を解説し、カスタムインジケーターをエキスパートアドバイザー(EA)に組み込む方法も紹介します。インジケーターの計算方法、取引実行ロジック、リスク管理の手法についても取り上げ、自動売買戦略の向上を目指します。
preview
DoEasyライブラリの時系列(第49部): 複数銘柄・複数期間の複数バッファ標準指標

DoEasyライブラリの時系列(第49部): 複数銘柄・複数期間の複数バッファ標準指標

本稿では、ライブラリクラスを改善して、データを表示するために複数の指標バッファを必要とする複数銘柄・複数期間標準指標を開発する機能を実装します。
preview
ニューラルネットワークが簡単に(第40回):大量のデータでGo-Exploreを使用する

ニューラルネットワークが簡単に(第40回):大量のデータでGo-Exploreを使用する

この記事では、長い訓練期間に対するGo-Exploreアルゴリズムの使用について説明します。訓練時間が長くなるにつれて、ランダムな行動選択戦略が有益なパスにつながらない可能性があるためです。
preview
初心者からエキスパートへ:MQL5リスク強制EAによる取引規律の自動化

初心者からエキスパートへ:MQL5リスク強制EAによる取引規律の自動化

多くのトレーダーにとって、口座が破綻する最大の要因は、リスクルールを理解していることと、それを一貫して守ることの間にあるギャップです。感情による判断の上書き、リベンジトレード、あるいは単純な見落としによって、どれほど優れた戦略であっても容易に崩壊してしまいます。本記事では、リスク強制エキスパートアドバイザー(Risk Enforcement EA)を開発することで、MetaTrader 5プラットフォームを、あなたの取引ルールを一切の例外なく執行する揺るぎない監督者へと変えていきます。ディスカッションにぜひご参加ください。
DoEasyライブラリでの価格(第60部): 銘柄ティックデータのシリーズリスト
DoEasyライブラリでの価格(第60部): 銘柄ティックデータのシリーズリスト

DoEasyライブラリでの価格(第60部): 銘柄ティックデータのシリーズリスト

本稿では、単一銘柄のティックデータを格納するためのリストを作成し、EAでの必要なデータの作成と取得を確認します。さらに、使用される銘柄ごとの個別のティックデータリストでティックデータのコレクションを構成します。
preview
MQL5で取引管理者パネルを作成する(第3回):ビジュアルスタイリングによるGUIの強化(I)

MQL5で取引管理者パネルを作成する(第3回):ビジュアルスタイリングによるGUIの強化(I)

この記事では、MQL5を使用して、取引管理パネルのグラフィカルユーザーインターフェイス(GUI)を視覚的にスタイル設定することに焦点を当てます。MQL5で利用できるさまざまなテクニックと機能について説明します。これらのテクニックと機能により、インターフェイスのカスタマイズと最適化が可能になり、魅力的な外観を維持しながらトレーダーのニーズを満たすことができます。
preview
リプレイシステムの開発(第52回):物事は複雑になる(IV)

リプレイシステムの開発(第52回):物事は複雑になる(IV)

この記事では、信頼性と安定性のある操作を確保するために、マウスポインタを変更してコントロール指標との対話を有効にします。