MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
取引システムの構築(第4回):ランダム決済が取引の期待値に与える影響

取引システムの構築(第4回):ランダム決済が取引の期待値に与える影響

多くのトレーダーは、エントリーの基準には忠実であっても、取引管理で苦労する状況を経験しています。正しいセットアップであっても、取引がテイクプロフィット(利確)やストップロス(損切り)の水準に達する前にパニックで決済してしまうといった感情的な判断は、資産曲線を下向きにする原因となります。では、トレーダーはこの問題をどう克服し、結果を改善できるのでしょうか。本記事では、ランダムな勝率を用いてこの問題を検証し、モンテカルロシミュレーションを通じて、トレーダーがオリジナルの目標に到達する前に合理的な水準で利益を確定することで戦略を洗練させる方法を示します。
preview
プライスアクション分析ツールキットの開発(第39回):MQL5でBOSとChoCHの検出を自動化する

プライスアクション分析ツールキットの開発(第39回):MQL5でBOSとChoCHの検出を自動化する

本記事では、フラクタルピボットを実用的な市場構造シグナルへ変換する、コンパクトなMQL5システム「Fractal Reaction System」を紹介します。リペイントを回避するために確定バーのロジックを用い、EAはChoCH (Change-of-Character)警告を検出し、BOS (Break-of-Structure)を確定させ、永続的なチャートオブジェクトを描画し、すべての確定イベントをログ出力してアラート(デスクトップ、モバイル、サウンド)します。アルゴリズム設計、実装上の注意点、テスト結果、そしてEAコード全文を順に解説し、読者ご自身でコンパイル、テスト、展開できるようにします。
preview
リプレイシステムの開発(第71回):正しい時間を知る(IV)

リプレイシステムの開発(第71回):正しい時間を知る(IV)

この記事では、前回の記事で紹介したリプレイ/シミュレーションサービスに関連する実装方法について見ていきます。人生の多くのことと同様に、問題は必ず発生するものです。そして今回も例外ではありませんでした。本記事では、引き続き改善をおこなっていきます。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
取引におけるニューラルネットワーク:複雑な軌道予測法(Traj-LLM)

取引におけるニューラルネットワーク:複雑な軌道予測法(Traj-LLM)

この記事では、自動運転車の動作の分野における問題を解決するために開発された興味深い軌道予測方法を紹介します。この手法の著者は、さまざまな建築ソリューションの最良の要素を組み合わせました。
preview
共和分株式による統計的裁定取引(第1回):エングル=グレンジャーおよびジョハンセンの共和分検定

共和分株式による統計的裁定取引(第1回):エングル=グレンジャーおよびジョハンセンの共和分検定

本記事は、トレーダー向けに、最も一般的な共和分検定を優しく紹介し、その結果の理解方法を簡単に解説することを目的としています。エングル=グレンジャーおよびジョハンセンの共和分検定は、長期的なダイナミクスを共有する統計的に有意な資産のペアやグループを特定するのに有効です。特にジョハンセン検定は、3つ以上の資産を含むポートフォリオに対して有用で、複数の共和分ベクトルの強さを一度に評価できます。
preview
初級から中級へ:値渡しまたは参照渡し

初級から中級へ:値渡しまたは参照渡し

この記事では、値渡しと参照渡しの違いを実際の例を通じて理解します。これは単純で一般的な概念であり、特に問題を引き起こすようには思えませんが、多くの経験豊富なプログラマーでさえ、この小さな違いのためにコードの作成中に思わぬ失敗をすることがあります。値渡しまたは参照渡しをいつ、どのように、なぜ使用するかを知ることは、プログラマーとしての私たちの生活に大きな違いをもたらします。ここで提示されるコンテンツは、教育目的のみを目的としています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
preview
1世紀前の機能で取引戦略をアップデートする

1世紀前の機能で取引戦略をアップデートする

本記事では、ラーデマッヘル関数およびウォルシュ関数を取り上げます。これらの関数を金融時系列解析にどのように適用できるかを検討し、さらに取引におけるさまざまな応用例についても考察します。
preview
取引チャート上で双三次補間を用いたリソース駆動型画像スケーリングによる動的MQL5グラフィカルインターフェイスの作成

取引チャート上で双三次補間を用いたリソース駆動型画像スケーリングによる動的MQL5グラフィカルインターフェイスの作成

本記事では、取引チャート上で高品質な画像スケーリングを実現するために、双三次補間(バイキュービック補間)を使用した動的なMQL5グラフィカルインターフェイスについて解説します。カスタムオフセットによる動的な中央配置やコーナーアンカーなど、柔軟なポジショニングオプションも紹介します。
preview
ラリー・ウィリアムズの『市場の秘密』(第1回):MQL5でスイングストラクチャーインジケーターを構築する

ラリー・ウィリアムズの『市場の秘密』(第1回):MQL5でスイングストラクチャーインジケーターを構築する

MQL5でラリー・ウィリアムズ式の市場構造インジケーターを構築するための実践的なガイドです。バッファの設定、スイングポイントの検出、チャートの設定、そしてトレーダーがテクニカル市場分析でこのインジケーターをどのように活用できるかについて解説します。
preview
リプレイシステムの開発(第74回):新しいChart Trade(I)

リプレイシステムの開発(第74回):新しいChart Trade(I)

この記事では、Chart Tradeに関する本連載の最後に示したコードを修正します。これらの変更は、現在のリプレイ/シミュレーションシステムのモデルにコードを適合させるために必要です。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
MQL5取引ツール(第2回):インタラクティブな取引アシスタントの強化:動的視覚フィードバックの導入

MQL5取引ツール(第2回):インタラクティブな取引アシスタントの強化:動的視覚フィードバックの導入

この記事では、取引アシスタントツール(Trade Assistant Tool)をアップグレードし、ドラッグ&ドロップ可能なパネル機能やホバー効果を追加して、インターフェースをより直感的で応答性の高いものにします。ツールを改良してリアルタイムの注文設定を検証し、市場価格に対して正確な取引構成が可能となるようにします。また、これらの改善をバックテストし、その信頼性を確認します。
preview
知っておくべきMQL5ウィザードのテクニック(第71回):MACDとOBVのパターンの使用

知っておくべきMQL5ウィザードのテクニック(第71回):MACDとOBVのパターンの使用

移動平均収束拡散法(MACD)オシレーターとオンバランスボリューム(OBV)オシレーターは、MQL5のエキスパートアドバイザー(EA)内で併用できるもう一つの指標ペアです。本連載における慣例どおり、この組み合わせも補完関係にあり、MACDがトレンドを確認し、OBVが出来高を検証します。MQL5ウィザードを用いて、この2つが持つ潜在力を構築、検証します。
preview
ログレコードをマスターする(第8回):自己翻訳するエラーレコード

ログレコードをマスターする(第8回):自己翻訳するエラーレコード

「ログレコードをマスターする」第8回では、MQL5向けの強力なログライブラリであるLogifyにおける多言語エラーメッセージの実装について探っていきます。本記事では、コンテキストを含めたエラー構造の作り方、メッセージを複数言語に翻訳する方法、そして重大度レベルに応じたログの動的フォーマット方法について学びます。これらはすべて、クリーンで拡張可能であり、本番環境でも利用可能な設計にします。
preview
MQL5での取引戦略の自動化(第32回):プライスアクションに基づくファイブドライブハーモニックパターンシステムの作成

MQL5での取引戦略の自動化(第32回):プライスアクションに基づくファイブドライブハーモニックパターンシステムの作成

本記事では、MQL5においてピボットポイントとフィボナッチ比率に基づいて強気、弱気双方のファイブドライブ(5-0)ハーモニックパターンを識別し、ユーザーが選択できるカスタムエントリー、ストップロス、テイクプロフィット設定を用いて取引を実行するファイブドライブパターンシステムを開発します。また、A-B-C-D-E-Fパターン構造やエントリーレベルを表示するために、三角形やトレンドラインなどのチャートオブジェクトを使った視覚的フィードバックでトレーダーの洞察力を高めます。
preview
リプレイシステムの開発(第59回):新たな未来

リプレイシステムの開発(第59回):新たな未来

さまざまなアイデアを適切に理解することで、より少ない労力でより多くのことを実現できます。この記事では、サービスがチャートと対話する前にテンプレートを構成する必要がある理由について説明します。また、マウスポインタを改良し、より多くの機能を持たせることについても考察します。
preview
USDとEURの指数チャート—MetaTrader 5サービスの例

USDとEURの指数チャート—MetaTrader 5サービスの例

MetaTrader 5サービスを例に、米ドル指数(USDX)およびユーロ指数(EURX)チャートの作成と更新について考察します。サービス起動時には、必要な合成銘柄が存在するかを確認し、未作成であれば新規作成します。その後、それを気配値表示ウィンドウに追加します。続いて、合成銘柄の1分足およびティック履歴を作成し、最後にその銘柄のチャートを表示します。
preview
取引におけるニューラルネットワーク:データの局所構造の探索

取引におけるニューラルネットワーク:データの局所構造の探索

ノイズの多い状況下で市場データの局所構造を効果的に識別・保持することは、取引において極めて重要な課題です。自己アテンション(Self-Attention)メカニズムの活用は、このようなデータの処理において有望な結果を示していますが、従来のアプローチでは基盤となる構造の局所的な特性が考慮されていません。この記事では、こうした構造的依存関係を組み込むことが可能なアルゴリズムを紹介します。
preview
原子軌道探索(AOS)アルゴリズム

原子軌道探索(AOS)アルゴリズム

この記事では、原子軌道モデルの概念を利用して解を探索する原子軌道検索(AOS:Atomic Orbital Search)アルゴリズムについて考えます。AOSは、原子内における確率分布や相互作用のダイナミクスに基づいており、解の探索プロセスをシミュレートするアルゴリズムです。この記事では、候補解の位置更新やエネルギーの吸収・放出のメカニズムを含めたAOSの数学的な側面について詳しく説明します。AOSは、量子力学の原理を計算問題に応用する新たな可能性を切り開く、革新的な最適化手法です。
preview
知っておくべきMQL5ウィザードのテクニック(第68回): コサインカーネルネットワークでTRIXとWPRのパターンを使用する

知っておくべきMQL5ウィザードのテクニック(第68回): コサインカーネルネットワークでTRIXとWPRのパターンを使用する

前回の記事では、TRIXとWilliams Percent Range (WPR)の指標ペアを紹介しましたが、今回はこの指標ペアを機械学習で拡張する方法について検討します。TRIXとWPRは、トレンド指標とサポート/レジスタンス補完ペアとして組み合わせられます。本機械学習アプローチでは、畳み込みニューラルネットワーク(CNN)を使用し、予測精度を微調整する際にコサインカーネルをアーキテクチャに組み込んでいます。これは常に、MQL5ウィザードと連携してエキスパートアドバイザー(EA)を組み立てるカスタムシグナルクラスファイル内で行われます。。
preview
プライスアクション分析ツールキットの開発(第26回):Pin Bar, Engulfing Patterns and RSI Divergence (Multi-Pattern) Tool

プライスアクション分析ツールキットの開発(第26回):Pin Bar, Engulfing Patterns and RSI Divergence (Multi-Pattern) Tool

実践的なプライスアクションツールの開発を目的として、本記事ではピンバーと包み足を検出するEAの作成について解説します。各シグナルを生成する前に、RSIのダイバージェンスを確認のトリガーとして使用します。
preview
MQL5からDiscordへのメッセージの送信、Discord-MetaTrader 5ボットの作成

MQL5からDiscordへのメッセージの送信、Discord-MetaTrader 5ボットの作成

Telegramと同様に、Discordもその通信APIを使用してJSON形式の情報やメッセージを受信することができます。本記事では、MetaTrader5からDiscordの取引コミュニティに取引シグナルやアップデートを送信するためにDiscord APIをどのように利用できるかを探っていきます。
preview
リプレイシステムの開発(第75回):新しいChart Trade(II)

リプレイシステムの開発(第75回):新しいChart Trade(II)

この記事では、C_ChartFloatingRADクラスについて説明します。これはChart Tradeを機能させるための要となる部分です。ただし、解説はこれで終わりではありません。本記事の内容はかなり広範かつ深い理解を必要とするため、続きは次回の記事で補完します。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
リプレイシステムの開発(第76回):新しいChart Trade(III)

リプレイシステムの開発(第76回):新しいChart Trade(III)

この記事では、前回の記事で省略されていたDispatchMessageのコードがどのように動作するのかを見ていきます。さらに、次回の記事のテーマについても紹介します。そのため、次のトピックに進む前に、このコードの仕組みを理解しておくことが重要です。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
動物移動最適化(AMO)アルゴリズム

動物移動最適化(AMO)アルゴリズム

この記事は、生命と繁殖に最適な条件を求めて動物が季節的に移動する様子をモデル化するAMOアルゴリズムについて説明しています。AMOの主な機能には、トポロジカル近傍の使用と確率的更新メカニズムが含まれており、実装が容易で、さまざまな最適化タスクに柔軟に対応できます。
preview
MQL5経済指標カレンダーを使った取引(第4回):ダッシュボードでのリアルタイムニュース更新の実装

MQL5経済指標カレンダーを使った取引(第4回):ダッシュボードでのリアルタイムニュース更新の実装

この記事では、リアルタイムのニュース更新機能を実装することで、経済指標カレンダーダッシュボードを強化し、市場情報を常に最新かつ実用的な状態に保ちます。MQL5におけるライブデータ取得技術を統合し、ダッシュボード上のイベントを継続的に更新することで、インターフェイスの応答性を向上させます。このアップデートにより、ダッシュボードから最新の経済ニュースに直接アクセスでき、最新データに基づいて取引判断を最適化できるようになります。
preview
データサイエンスとML(第38回):外国為替市場におけるAI転移学習

データサイエンスとML(第38回):外国為替市場におけるAI転移学習

AIの画期的な進歩、たとえばChatGPTや自動運転車などは、単独のモデルから生まれたわけではなく、複数のモデルや共通の分野から得られた累積的な知識を活用することで実現しています。この「一度学習した知識を他に応用する」というアプローチは、アルゴリズム取引におけるAIモデルの変革にも応用可能です。本記事では、異なる金融商品の情報を活用し、他の銘柄における予測精度向上に役立てる方法として、転移学習の活用方法について解説します。
preview
プライスアクション分析ツールキットの開発(第26回):Pin Bar, Engulfing Patterns and RSI Divergence (Multi-Pattern) Tool

プライスアクション分析ツールキットの開発(第26回):Pin Bar, Engulfing Patterns and RSI Divergence (Multi-Pattern) Tool

実践的なプライスアクションツールの開発を目的として、本記事ではピンバーと包み足を検出するEAの作成について解説します。各シグナルを生成する前に、RSIのダイバージェンスを確認のトリガーとして使用します。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第8回):複数戦略分析(2) - 加重投票方策

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

本記事では、アンサンブル内で最適な戦略数を決定することがどれほど複雑な課題であるか、その解決がMetaTrader 5の遺伝的アルゴリズム最適化ツールを用いることで容易になるかを検討します。さらに、バックテストおよび最適化の高速化を目的として、MQL5クラウドも主要なリソースとして活用します。これらの議論を通じて、初期のアンサンブル結果に基づき、取引戦略を評価し、改善するための統計モデルを開発するための基盤を整えることを目的としています。
preview
プライスアクション分析ツールキットの開発(第46回):MQL5におけるスマートな可視化を備えたインタラクティブフィボナッチリトレースメントEAの設計

プライスアクション分析ツールキットの開発(第46回):MQL5におけるスマートな可視化を備えたインタラクティブフィボナッチリトレースメントEAの設計

フィボナッチツールは、テクニカル分析で最も人気のあるツールのひとつです。本記事では、価格の動きに応じて動的に反応するリトレースメントおよびエクステンションレベルを描画し、リアルタイムアラート、スタイリッシュなライン、ニュース風のスクロールヘッドラインを提供するインタラクティブフィボナッチEAの作成方法をご紹介します。このEAのもうひとつの大きな利点は柔軟性です。チャート上で高値(A)と安値(B)のスイング値を直接入力できるため、分析したい価格範囲を正確にコントロールできます。
preview
MQL5での取引戦略の自動化(第40回):カスタムレベルを使ったフィボナッチリトレースメント取引

MQL5での取引戦略の自動化(第40回):カスタムレベルを使ったフィボナッチリトレースメント取引

フィボナッチリトレースメント取引のためのMQL5エキスパートアドバイザー(EA)を構築します。日足の値幅またはルックバック配列を使用して、50%や61.8%といったカスタムレベルをエントリー用に計算し、終値と始値の比較に基づいて強気または弱気のセットアップを判断します。システムは、価格が各レベルをクロスした際に買いまたは売りをトリガーし、各レベルごとに最大取引回数を設定できます。また、新しいフィボナッチ計算時の任意決済、最小利益閾値到達後のポイントベースのトレーリングストップ、値幅に対する割合で設定されるストップロスとテイクプロバッファを備えています。
preview
リプレイシステムの開発(第48回):サービスの概念を理解する

リプレイシステムの開発(第48回):サービスの概念を理解する

何か新しいことを学んでみませんか。この記事では、スクリプトをサービスに変換する方法と、それがなぜ便利なのかについて説明します。
preview
ログレコードをマスターする(第2回):ログのフォーマット処理

ログレコードをマスターする(第2回):ログのフォーマット処理

この記事では、ライブラリ内でログフォーマッターを作成し、適用する方法について詳しく解説します。フォーマッターの基本構造から実践的な実装例まで幅広く取り上げます。この記事を読み終える頃には、ライブラリ内でログを整形するために必要な知識を習得し、その裏側で何がどのように動作しているのかを理解できるようになります。
preview
受信者動作特性曲線の紹介

受信者動作特性曲線の紹介

ROC曲線は、分類器の性能を評価するために使用されるグラフ表現です。ROC曲線は比較的単純に見えますが、実際に使用する際には、よくある誤解や陥りやすい落とし穴があります。この記事の目的は、分類器の性能評価を理解しようとする実務者に向けて、ROC曲線を紹介することです。
preview
取引におけるニューラルネットワーク:TEMPO法の実践結果

取引におけるニューラルネットワーク:TEMPO法の実践結果

TEMPO法について引き続き学習します。この記事では、実際の履歴データに対する提案されたアプローチの実際の有効性を評価します。
preview
IBMの量子コンピュータを使ってすべての価格変動パターンを解析する

IBMの量子コンピュータを使ってすべての価格変動パターンを解析する

IBMの量子コンピュータを使用してすべての価格変動オプションを発見します。まるでSFの話のようですが、これが取引における量子コンピューティングの世界です。
preview
取引戦略の開発:トリプルサイン平均回帰法

取引戦略の開発:トリプルサイン平均回帰法

新しい数学的指標であるTriple Sine Oscillator (TSO)に基づいて構築された「トリプルサイン平均回帰法」取引戦略を紹介します。TSOは、−1から+1の間で振動する正弦の三乗関数から導出されており、買われ過ぎおよび売られ過ぎの市場状況を特定するのに適しています。本記事では、数学的関数を実践的な取引ツールへと応用できることを示しています。
preview
取引におけるニューラルネットワーク:時系列予測のためのTransformerの最適化(LSEAttention)

取引におけるニューラルネットワーク:時系列予測のためのTransformerの最適化(LSEAttention)

LSEAttentionフレームワークは、Transformerアーキテクチャの改善を提供します。この手法は、特に長期の多変量時系列予測のために設計されました。提案されたアプローチは、従来のTransformerでよく遭遇するエントロピーの崩壊や学習の不安定性の問題を解決するために応用可能です。
preview
初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(III)-インジケーターインサイト

初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(III)-インジケーターインサイト

本記事では、News Headline EAをさらに進化させるために、専用の「インジケーターインサイトレーン」を導入します。これは、RSI、MACD、ストキャスティクス、CCIなどの主要インジケーターから生成されるテクニカルシグナルを、チャート上にコンパクトにまとめて表示する仕組みです。この方法により、MetaTrader 5ターミナルで複数のインジケーターウィンドウを開く必要がなくなり、作業スペースをすっきりと保つことができます。さらに、MQL5のAPIを活用してインジケーターデータをバックグラウンドで取得することで、カスタムロジックを使ったリアルタイムの市場分析や可視化が可能になります。本記事では、MQL5でインジケーターデータを操作し、チャート上の単一水平レーンに、知的で省スペースなスクロール式インサイトシステムを作成する方法を詳しく解説します。
preview
カスタム口座パフォーマンス行列インジケーターの開発

カスタム口座パフォーマンス行列インジケーターの開発

このインジケーターは、口座エクイティ、損益、ドローダウンをリアルタイムで監視し、パフォーマンスダッシュボードとして可視化することで、規律の維持を促す役割を果たします。トレーダーが取引の一貫性を保ち、過剰取引を避け、自己勘定取引会社評価チャレンジ(プロップファームチャレンジ)のルールを遵守するための支援ツールとして機能します。
preview
ダイナミックスイングアーキテクチャ:スイングから自動売買までの市場構造認識

ダイナミックスイングアーキテクチャ:スイングから自動売買までの市場構造認識

本記事では、市場のスイングを高精度で捉え、自動売買を実現する完全自動化MQL5システムを紹介します。従来の固定ローソク足数に基づくスイングインジケーターとは異なり、このシステムは進行中の市場構造に動的に適応し、スイングハイおよびスイングローをリアルタイムで検出します。これにより、形成されつつあるトレンドの値動きを的確に捉え、取引機会を逃さず捕捉することが可能です。