MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
イルカエコーロケーションアルゴリズム(DEA)

イルカエコーロケーションアルゴリズム(DEA)

本記事ではDEAアルゴリズムについて詳しく解説します。DEAは、イルカがエコーロケーション(反響定位)を用いて獲物を探す独特の能力に着想を得たメタヒューリスティック最適化手法です。数学的基礎からMQL5での実装、さらには解析や従来アルゴリズムとの比較まで、この比較的新しい手法がなぜ最適化問題に取り組む研究者の手法群に加える価値がある理由を詳しく見ていきます。
preview
ParafracおよびParafrac V2オシレーターを使用した取引戦略の開発:シングルエントリーパフォーマンスインサイト

ParafracおよびParafrac V2オシレーターを使用した取引戦略の開発:シングルエントリーパフォーマンスインサイト

本記事では、ParaFracオシレーターとその後継であるV2モデルを取引ツールとして紹介し、これらを用いて構築した3種類の取引戦略を解説します。各戦略をテストおよび最適化し、それぞれの強みと弱みを明らかにします。比較分析によって両モデルの性能差を明確にしました。
preview
古典的な戦略を再構築する(第17回):テクニカル指標のモデリング

古典的な戦略を再構築する(第17回):テクニカル指標のモデリング

金融における古典的機械学習手法によって課されている「ガラスの天井」をいかに打ち破るかに焦点を当てます。統計モデルから引き出せる価値に対する最大の制約は、モデルそのもの、すなわちデータやアルゴリズムの複雑さではなく、それらを適用する方法論にあるようです。言い換えれば、真のボトルネックはモデルの内在的能力ではなく、私たちがそれをどのように運用しているかにあるのかもしれません。
preview
MQL5でカスタムインジケーターを作成する(第3回):扇形と円形によるマルチゲージの強化

MQL5でカスタムインジケーターを作成する(第3回):扇形と円形によるマルチゲージの強化

本記事では、MQL5のゲージ型インジケーターを拡張し、複数のオシレーターに対応できるようにします。列挙型を使うことで、単体表示だけでなく複合表示もユーザーが選択できるようになります。また、基盤となるゲージフレームワークを拡張し、扇形と円形の2つのスタイルを派生クラスとして実装します。円弧、直線、多角形を組み合わせた枠(ケース)の描画により、見た目もより洗練されたものになります。
preview
取引におけるニューラルネットワーク:ハイブリッドグラフシーケンスモデル(最終部)

取引におけるニューラルネットワーク:ハイブリッドグラフシーケンスモデル(最終部)

引き続き、異なるアーキテクチャの利点を統合し、高い分析精度と計算リソースの効率的な配分を実現するハイブリッドグラフシーケンスモデル(GSM++)を検討します。これらのモデルは、隠れたパターンを効果的に識別し、市場ノイズの影響を低減して予測精度を向上させます。
preview
MQL5でカスタムインジケーターを作成する(第2回):Canvasと針のメカニクスを使ったゲージ型RSIインジケーターの構築

MQL5でカスタムインジケーターを作成する(第2回):Canvasと針のメカニクスを使ったゲージ型RSIインジケーターの構築

本記事では、MQL5でゲージ型のRSIインジケーターを開発します。このインジケーターは、RSIの値を円形のスケール上の動く針で可視化し、買われすぎと売られすぎのレベルを色分けした範囲と、カスタマイズ可能な凡例を備えています。Canvasクラスを使用して、円弧、目盛り、扇形などの要素を描画し、新しいRSIデータに基づいて滑らかに更新されるようにします。
preview
取引におけるニューラルネットワーク:階層型ダブルタワーTransformer(最終回)

取引におけるニューラルネットワーク:階層型ダブルタワーTransformer(最終回)

複雑な多変量時系列の分析および予測を目的に設計された、Hidformer階層型ダブルタワーTransformerモデルの構築を引き続き進めます。本記事では、これまでに着手した作業を論理的な結論へと導き、実際の履歴データを用いてモデルを検証します。
preview
MQL5入門(第28回):MQL5のAPIとWebRequest関数の習得(II)

MQL5入門(第28回):MQL5のAPIとWebRequest関数の習得(II)

本記事では、APIとMQL5のWebRequest関数を使用して、外部プラットフォームから価格データを取得および抽出する方法を解説します。URLの構造、APIレスポンスの形式、サーバーデータを可読な文字列へ変換する方法、そしてJSONレスポンスから特定の値を識別および抽出する方法を学びます。
preview
MQL5 MVCパラダイムのテーブルのビューコンポーネント:基本グラフィック要素

MQL5 MVCパラダイムのテーブルのビューコンポーネント:基本グラフィック要素

本記事では、MQL5におけるMVC (Model-View-Controller)パラダイムでのテーブル実装の一環として、ビューコンポーネント向けの基本的なグラフィック要素を開発するプロセスを扱います。本記事はビューコンポーネントに関する最初の記事であり、MetaTrader 5クライアントターミナル向けテーブル作成に関する連載の第3回目です。
preview
データサイエンスとML(第48回):Transformerは取引において重要なのか

データサイエンスとML(第48回):Transformerは取引において重要なのか

ChatGPTからGemini、そしてテキスト、画像、動画生成のための数多くのAIモデル/ツールに至るまで、TransformerはAI業界に大きな衝撃を与えてきました。しかし、この技術は金融市場や取引の分野にも応用できるのでしょうか。その可能性を検討してみましょう。
preview
オンチャートUIを使用したリスクベースの取引執行EA(第2回):インタラクティブ性とロジックの追加

オンチャートUIを使用したリスクベースの取引執行EA(第2回):インタラクティブ性とロジックの追加

チャート上のコントロールパネルを備えたインタラクティブなMQL5エキスパートアドバイザー(EA)を構築する方法を学びます。リスクベースのロットサイズを計算し、チャート上から直接取引をおこなう方法を理解します。
preview
市場シミュレーション(第8回):ソケット(II)

市場シミュレーション(第8回):ソケット(II)

ソケットを使って何か実用的なものを作ってみましょう。今回の記事では、ミニチャットの作成を始めます。一緒にどのようにおこなうかを見ていきましょう。とても面白い内容になるでしょう。ここで提供するコードは教育目的のみの使用を想定しています。商用目的や既製のアプリケーションでの使用には適していません。ソケット上で送信されるデータは安全に保護されず、内容が第三者からアクセス可能になる可能性があるためです。
preview
市場シミュレーション(第20回):SQL入門(III)

市場シミュレーション(第20回):SQL入門(III)

約10件程度のレコードを含むデータベースでも操作をおこなうことはできますが、15,000件を超えるレコードを含むファイルを使って作業したほうが、内容をはるかに理解しやすくなります。つまり、そのようなデータベースを手作業で作成しようとすると、膨大な作業になってしまうということです。しかし、教育目的で利用可能な、そのようなデータベースをダウンロードできる場所を見つけるのは簡単ではありません。ですが、実際にはその必要はありません。MetaTrader 5を使えば、自分たちでデータベースを作成できるからです。本日の記事では、その方法について見ていきます。
preview
取引におけるニューラルネットワーク:シャープネス低減によるTransformerの効率向上(最終回)

取引におけるニューラルネットワーク:シャープネス低減によるTransformerの効率向上(最終回)

SAMformerは、長期の時系列予測におけるTransformerモデルの主要な欠点、すなわち学習の複雑さや小規模データセットでの汎化性能の低さに対して解決策を提供します。その浅いアーキテクチャとシャープネス認識型最適化により、不適切な局所解に陥ることを防ぎます。本記事では、MQL5を用いたアプローチの実装を続け、実際的な価値を評価していきます。
preview
取引におけるニューラルネットワーク:金融市場向けマルチモーダルツール拡張エージェント(最終部)

取引におけるニューラルネットワーク:金融市場向けマルチモーダルツール拡張エージェント(最終部)

マルチモーダル市場の動向データと過去の取引パターンを分析するために設計されたマルチモーダル金融取引エージェント「FinAgent」のアルゴリズム開発を続けます。
preview
価格変動の角度分析:金融市場予測のためのハイブリッドモデル

価格変動の角度分析:金融市場予測のためのハイブリッドモデル

金融市場の角度分析とは何でしょうか。プライスアクションにおける「角度」をどのように活用すれば、機械学習によって67%の予測精度を達成できるのでしょうか。さらに、角度特徴量を用いた回帰モデルと分類モデルをどのように統合し、実用可能なアルゴリズムへと落とし込むことができるのでしょうか。ギャンはこれとどのような関係があるのでしょうか。価格変動の角度が機械学習において有効な指標である理由は何でしょうか。
preview
MQL標準ライブラリエクスプローラー(第2回):ライブラリコンポーネントの接続

MQL標準ライブラリエクスプローラー(第2回):ライブラリコンポーネントの接続

本記事では、MQL5標準ライブラリを用いてエキスパートアドバイザー(EA)を効率的に構築するために、クラス構造をどのように読み解くべきかを整理します。標準ライブラリは高い拡張性と機能性を備えていますが、その全体像が見えにくく、体系的な指針がないまま複雑なツールキットを渡されたように感じることも少なくありません。そこで本記事では、実際の開発現場でクラスを確実に連携させるための、簡潔かつ再現性の高い統合手順を紹介します。
preview
CatBoost AIによるレンコ足の予測

CatBoost AIによるレンコ足の予測

AIを用いてレンコ足をどのように活用するのでしょうか。本記事では、最大59.27%の予測精度を実現したForex向けレンコ足トレーディングを題材に解説していきます。まず、レンコ足がどのように市場ノイズを除去するのか、その利点を見ていきます。さらに、なぜ価格パターンよりも出来高の方が重要なのかを学び、EURUSDに最適なレンコ足ブロックサイズの設定方法についても掘り下げます。また、CatBoost、Python、MetaTrader 5を組み合わせ、自分自身のレンコ足予測システムを構築する手順をステップごとに解説します。従来のテクニカル分析を超えるアプローチを求めるトレーダーに最適な内容です。
preview
初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(X) - ニュース取引のための多銘柄チャート表示

初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(X) - ニュース取引のための多銘柄チャート表示

本日は、チャートオブジェクトを用いたマルチチャート表示システムを開発します。本システムの目的は、MQL5アルゴリズムを活用して、重要なニュース発表時などの高ボラティリティ期間におけるトレーダーの反応時間を短縮し、ニュース取引を支援することです。複数の主要通貨ペアを、統合的に監視できる、オールインワンのニュース取引環境を提供します。News Headline EAの開発は継続的に進化しており、完全自動システムを使用するトレーダーはもちろん、アルゴリズム補助による手動取引をおこなうトレーダーにとっても実用的な機能が追加されています。さらに知識や洞察、実践的なアイデアを深めたい方は、ぜひ本ディスカッションに参加して詳細をご覧ください。
preview
データベースは簡単(第1回):SQLiteを用いたMQL5向け軽量ORMフレームワーク

データベースは簡単(第1回):SQLiteを用いたMQL5向け軽量ORMフレームワーク

MQL5においてSQLiteデータをORMレイヤーを通して管理する方法を体系的に紹介します。エンティティモデリングとデータベースアクセスのためのコアクラス、フルエントなCRUD API、OnGet/OnSetによるリフレクション的フック、そしてモデルを簡単に定義するためのマクロなどを取り上げます。実用的なコード例として、テーブル作成、フィールドのバインド、データの挿入、更新、取得、削除を示します。これにより開発者は、SQLを繰り返し記述することなく、再利用可能で型安全なコンポーネントを利用できるようになります。
preview
MQL5入門(第33回):MQL5のAPIとWebRequest関数の習得(VII)

MQL5入門(第33回):MQL5のAPIとWebRequest関数の習得(VII)

本記事では、MQL5を使用してGoogle Generative AI APIをMetaTrader 5に統合する方法を解説します。APIリクエストの構築、サーバー応答の処理、AI生成コンテンツの抽出、レート制限の管理、そして結果をテキストファイルに保存して簡単に参照できるようにする方法を学びます。
preview
初級から中級まで:構造体(V)

初級から中級まで:構造体(V)

本記事では、構造体をどのようにオーバーロード(拡張)するかについて探っていきます。特に初めて目にする方にとっては、最初は理解するのがかなり難しいかもしれません。より複雑で高度なトピックに踏み込む前に、これらの概念をしっかりと理解しておくことが非常に重要です。
preview
MetaTrader 5とMQL5経済指標カレンダー:ニュースを再現性のあるトレードシステムに変える方法

MetaTrader 5とMQL5経済指標カレンダー:ニュースを再現性のあるトレードシステムに変える方法

MetaTrader 5に組み込まれている経済指標カレンダーを利用したニューストレードの体系的アプローチを紹介します。対象となる内容には、データ構造、API関数、時間同期ルール、イベントフィルタリングが含まれます。また、サーバーへ過度な負荷をかけることなく履歴を管理するためのキャッシュ機構および増分更新方式についても解説します。さらに、同一アルゴリズムを用いた決定論的テストを実現するために、履歴データを.EX5リソースとしてエクスポートする実用的な仕組みも提供します。
preview
取引におけるニューラルネットワーク:金融市場向けマルチモーダルツール拡張エージェント(FinAgent)

取引におけるニューラルネットワーク:金融市場向けマルチモーダルツール拡張エージェント(FinAgent)

FinAgentを紹介します。FinAgentは、マーケットの動向や過去の取引パターンを反映するさまざまなタイプのデータを分析できるマルチモーダル金融取引エージェントのフレームワークです。
preview
MQLを使用したFirebaseでのCRUD操作

MQLを使用したFirebaseでのCRUD操作

この記事では、FirebaseのCRUD(作成、読み取り、更新、削除)操作を習得するためのステップバイステップガイドを提供します。Realtime DatabaseおよびFirestoreを中心に、Firebase SDKのメソッドを活用して、Webやモバイルアプリで効率的にデータを管理する方法を解説します。新しいレコードの追加から、データの検索、修正、削除まで、実践的なコード例とベストプラクティスを紹介し、リアルタイムでのデータ構造と操作方法を理解することで、開発者がFirebaseの柔軟なNoSQLアーキテクチャを活かして、動的でスケーラブルなアプリケーションを構築できるようになります。
preview
知っておくべきMQL5ウィザードのテクニック(第79回):教師あり学習でのゲーターオシレーターとA/Dオシレーターの使用

知っておくべきMQL5ウィザードのテクニック(第79回):教師あり学習でのゲーターオシレーターとA/Dオシレーターの使用

前回の記事では、ゲーターオシレーターとA/Dオシレーターの組み合わせについて、通常の設定における生のシグナルを用いた場合の挙動を確認しました。この2つのインジケーターは、それぞれトレンド指標と出来高指標として相補的に機能します。今回の記事では、その続編として、教師あり学習を活用することで、前回レビューした特徴量パターンの一部をどのように強化できるかを検証します。この教師あり学習アプローチでは、CNN(畳み込みニューラルネットワーク)を用い、カーネル回帰およびドット積類似度を活用して、カーネルやチャネルのサイズを決定しています。今回もこれまでと同様に、MQL5ウィザードでエキスパートアドバイザー(EA)を組み立てられるようにしたカスタムシグナルクラスファイル内で実装しています。
preview
古典的な戦略を再構築する(第20回):現代のストキャスティクス

古典的な戦略を再構築する(第20回):現代のストキャスティクス

本記事では、古典的なテクニカル指標であるストキャスティクスを、従来の平均回帰ツールとしての使い方にとどまらず、どのように再解釈および再活用できるかを解説します。異なる分析視点からこの指標を捉え直すことで、慣れ親しんだ手法が新たな価値を生み出し、トレンドフォロー型の解釈を含む代替的な売買ルールの構築にも応用できることを示します。最終的に、MetaTrader 5ターミナルに搭載されているあらゆるテクニカル指標には未開拓の可能性が潜んでおり、試行錯誤を慎重に重ねることで、従来の見方では気づきにくい有意義な解釈を発見できることを示します。
preview
初級から中級まで:ファイル内データへのランダムアクセス(I)

初級から中級まで:ファイル内データへのランダムアクセス(I)

本日の記事では、初めてファイル内容へのランダムアクセスを取り上げます。これは、ファイルに保存されている情報の書き込みと読み込みの両方に当てはまります。ただし、このテーマはあまりにも広範囲にわたるため、一つの記事ですべてを扱うことはできません。そこで、ここではランダムアクセスについての基本的な紹介にとどめます。
preview
取引におけるニューラルネットワーク:予測符号化を備えたハイブリッド取引フレームワーク(最終回)

取引におけるニューラルネットワーク:予測符号化を備えたハイブリッド取引フレームワーク(最終回)

予測符号化と強化学習アルゴリズムを組み合わせた金融時系列分析用のハイブリッド取引システム「StockFormer」の検討を引き続きおこないます。本システムは、複雑なパターンや資産間の相互依存関係を捉えることを可能にするDiversified Multi-Head Attention (DMH-Attn)機構を備えた、3つのTransformerブランチに基づいています。前回は、フレームワークの理論的な側面に触れ、DMH-Attn機構を実装しました。今回は、モデルのアーキテクチャと学習について解説します。
preview
MQL5でカスタムインジケーターを作成する(第5回):WaveTrend Crossover Evolution:Canvasを用いたフォグ状グラデーション、シグナルバブル、リスク管理

MQL5でカスタムインジケーターを作成する(第5回):WaveTrend Crossover Evolution:Canvasを用いたフォグ状グラデーション、シグナルバブル、リスク管理

MQL5におけるSmart WaveTrend Crossoverンジケーターを拡張し、Canvasを用いた描画機能を組み込むことで、霧状のグラデーションオーバーレイ、ブレイクアウトを検出するシグナルボックス、さらに買いシグナルや売りシグナルをバブルや三角形で表示する視覚的アラート機能を追加します。さらに、リスク管理機能として、ローソク足倍率またはパーセンテージに基づいて計算される動的なテイクプロフィットおよびストップロスレベルを導入し、ライン表示およびテーブル表示によって可視化します。加えて、トレンドフィルタリングやボックス延長機能といったオプションも提供します。
preview
金融時系列のテクニカル分析におけるグレーモデルの応用

金融時系列のテクニカル分析におけるグレーモデルの応用

本記事では、トレーダーの分析能力を拡張する有望なツールであるグレーモデルについて解説します。また、このモデルをテクニカル分析や取引戦略構築に応用するためのいくつかの方法についても検討します。
preview
MQL5入門(第36回):MQL5のAPIとWebRequest関数の習得(X)

MQL5入門(第36回):MQL5のAPIとWebRequest関数の習得(X)

MQL5におけるHMAC-SHA256およびAPI署名の基本概念を紹介し、メッセージと秘密鍵を組み合わせることでリクエストを安全に認証する方法を説明します。これは、機密データを公開することなくAPI呼び出しに署名するための基盤となります。
preview
ラリー・ウィリアムズの『市場の秘密』(第7回):Trade Day of the Week概念の実証研究

ラリー・ウィリアムズの『市場の秘密』(第7回):Trade Day of the Week概念の実証研究

ラリー・ウィリアムズのTrade Day of the Week (TDW)概念の実証研究です。時間ベースの市場バイアスを、MQL5を用いてどのように測定、検証、活用できるかを示します。曜日ごとの勝率やパフォーマンスを分析するための実践的なフレームワークを提示し、短期取引システムの改善に役立てる方法を解説します。
preview
Neuro-Structural Trading Engine (NSTE)(第I回):プロップファーム対応マルチ口座システムの構築方法

Neuro-Structural Trading Engine (NSTE)(第I回):プロップファーム対応マルチ口座システムの構築方法

プロップファームの制約を遵守しながら、MetaTrader 5上で暗号資産CFDを運用するマルチ口座アルゴリズム取引システムアーキテクチャを提示します。システムは、「固定ドルリスク」「1口座につき1スクリプト」「設定の一元管理」という3つの基本原則を定義した上で、PythonとMQL5の役割分担、60秒ごとの処理ループ、JSONベースのシグナル連携について詳しく解説します。さらに、ロットサイズの実践的な計算方法、安全性を確保するためのチェック機構、ポジション管理パターンについても紹介し、信頼性の高い運用を実現するための構成を示します。
preview
マルコフ状態遷移行列に基づくニューラルネットワークを用いた自己学習型エキスパートアドバイザー

マルコフ状態遷移行列に基づくニューラルネットワークを用いた自己学習型エキスパートアドバイザー

マルコフ状態遷移行列に基づくニューラルネットワークを用いた自己学習型EA。本記事では、ALGLIB MQL5ライブラリで開発した多層ニューラルネットワーク(MLP)とマルコフ連鎖を組み合わせた自己学習型EAについて解説します。マルコフ連鎖とニューラルネットワークをどのように統合し、FX予測へ応用できるのでしょうか。
preview
初級から中級まで:インジケーター(IV)

初級から中級まで:インジケーター(IV)

本記事では、ローソク足に色を付ける実践的なアプローチを簡単に作成および実装する方法を解説します。このコンセプトは、トレーダーから非常に高く評価されています。実装する際には、バーやローソク足が元の見た目を保持し、ローソク足ごとの視認性を妨げないよう注意する必要があります。
preview
市場シミュレーション(第5回):C_Ordersクラスの作成(II)

市場シミュレーション(第5回):C_Ordersクラスの作成(II)

本記事では、Chart Tradeとエキスパートアドバイザー(EA)が連携して、ユーザーが保有しているすべてのポジションを決済する要求をどのように処理するのかを解説します。一見すると単純な処理に思えるかもしれませんが、実際には注意すべきいくつかの複雑な点があります。
preview
初級から中級まで:定義(II)

初級から中級まで:定義(II)

本記事では、前回に引き続き#defineディレクティブについて理解を深めていきますが、今回はその第2の使用形態、すなわちマクロの作成に焦点を当てます。このテーマはやや複雑であるため、これまで学習を進めてきたアプリケーションを題材として取り上げながら説明していきます。この記事も楽しんでいただけたら幸いです。
preview
取引におけるニューラルネットワーク:適応的周期セグメンテーション(LightGTS)

取引におけるニューラルネットワーク:適応的周期セグメンテーション(LightGTS)

時系列の内部周期性を考慮しながら、データを柔軟に分割する「適応的パッチ化」という革新的な手法をご紹介します。 さらに、異なるスケールのデータを扱う際にも、重要な意味的特性を保持できる効率的なエンコーディング手法について解説します。 これらの手法により、金融市場に特有の複雑なマルチスケールデータをより正確に処理できるようになり、予測の安定性と信頼性の大幅な向上が期待できます。
preview
MQL5でカスタムインジケーターを作成する(第4回):デュアルオシレーター搭載Smart WaveTrend Crossover

MQL5でカスタムインジケーターを作成する(第4回):デュアルオシレーター搭載Smart WaveTrend Crossover

本記事では、MQL5で「Smart WaveTrend Crossover」と呼ばれるカスタムインジケーターを開発します。このインジケーターは、2つのWaveTrendオシレーターを活用しており、1つはクロスオーバーシグナルの生成、もう1つはトレンドフィルタリングを目的としています。チャネル長、平均期間、移動平均期間といった各種パラメータはカスタマイズ可能です。また、トレンド方向に応じてローソク足を色分け表示し、クロスオーバー時には買いや売りの矢印シグナルを表示します。さらに、トレンド確認の有効化オプションや、色やオフセットなどのビジュアル要素も調整可能です。