MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
取引におけるニューラルネットワーク:階層型ダブルタワーTransformer (Hidformer)

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

階層型ダブルタワーTransformer (Hidformer: Hierarchical Double-Tower Transformer)フレームワークについて紹介します。このフレームワークは時系列予測およびデータ分析向けに開発されました。Hidformerの開発者は、Transformerアーキテクチャに対して複数の改良を提案しており、その結果、予測精度の向上と計算リソースの削減を実現しています。
preview
知っておくべきMQL5ウィザードのテクニック(第54回):SACとテンソルのハイブリッドによる強化学習

知っておくべきMQL5ウィザードのテクニック(第54回):SACとテンソルのハイブリッドによる強化学習

Soft Actor Critic (SAC)は、以前の記事で紹介した強化学習アルゴリズムです。その際には、効率的にネットワークを学習させる手法としてPythonやONNXの活用についても触れました。今回は、このアルゴリズムを改めて取り上げ、Pythonでよく使われるテンソルや計算グラフを活用することを目的としています。
preview
MQL5経済指標カレンダーを使った取引(第6回):ニュースイベント分析とカウントダウンタイマーによるトレードエントリーの自動化

MQL5経済指標カレンダーを使った取引(第6回):ニュースイベント分析とカウントダウンタイマーによるトレードエントリーの自動化

本記事では、MQL5経済指標カレンダーを活用して、ユーザー定義のフィルターと時間オフセットに基づいた自動取引エントリーを実装します。対象となる経済指標イベントを検出し、予想値と前回値の比較により、買うか売るかの判断を下します。動的なカウントダウンタイマーは、ニュース公開までの残り時間を表示し、取引後には自動的にリセットされます。
preview
アルゴリズム取引戦略:AIで金市場の頂点を目指す

アルゴリズム取引戦略:AIで金市場の頂点を目指す

本記事では、機械学習を用いた金(ゴールド)の取引戦略作成手法を紹介します。提案された手法は、時系列データをさまざまな角度から分析して予測するアプローチに基づいており、従来の金融時系列の分析と予測のみを用いた取引システム作成手法と比較して、その利点や欠点を明らかにすることができます。
preview
MQL5経済指標カレンダーを使った取引(第8回):ニュース駆動型バックテストの最適化 - スマートなイベントフィルタリングと選択的ログ

MQL5経済指標カレンダーを使った取引(第8回):ニュース駆動型バックテストの最適化 - スマートなイベントフィルタリングと選択的ログ

本記事では、スマートなイベントフィルタリングと選択的ログ出力を用いて経済カレンダーを最適化し、ライブおよびオフラインモードでのバックテストをより高速かつ明確に実施できるようにします。イベント処理を効率化し、ログを重要な取引やダッシュボードイベントに絞ることで、戦略の可視化を向上させます。これらの改善により、ニュース駆動型取引戦略のテストと改善をシームレスにおこなえるようになります。
preview
MetaTrader 5でL1トレンドフィルタリングを適用する

MetaTrader 5でL1トレンドフィルタリングを適用する

MetaTrader 5におけるL1トレンドフィルタリングの実践的な応用について、その数理的基礎とMQL5プログラムでの使用方法の両面から解説しています。L1フィルタは、価格ノイズを低減しつつ市場構造の本質を保持する、区分線形トレンドの抽出を可能にします。本研究では、パラメータスケーリング、トレンド推定の挙動、および本手法のアルゴリズム取引戦略への統合について分析しています。実験結果は、L1トレンドフィルタリングがシグナルの安定性、取引タイミング、ならびにトレードシステム全体のロバスト性を向上させることを示しています。
preview
リプレイシステムの開発 - 市場シミュレーション(第22回):FOREX (III)

リプレイシステムの開発 - 市場シミュレーション(第22回):FOREX (III)

このトピックに関する記事は今回で3回目になりますが、株式市場とFOREX市場の違いをまだ理解していない方のために説明しなければなりません。大きな違いは、FOREXでは、取引の過程で実際に発生したいくつかのポイントに関する情報がないというか、与えられないということです。
preview
プライスアクション分析ツールキットの開発(第25回):Dual EMA Fractal Breaker

プライスアクション分析ツールキットの開発(第25回):Dual EMA Fractal Breaker

プライスアクションは、利益を生む取引機会を特定するための基本的なアプローチです。しかし、価格の動きやパターンを手動で監視することは、非常に手間がかかり、時間も消費します。そこで、本記事では、プライスアクションを自動的に分析し、潜在的な取引機会が検出されるたびにタイムリーなシグナルを提供するツールを開発する取り組みを紹介します。特に、フラクタルのブレイクアウトとEMA 14、EMA 200を組み合わせて信頼性の高い取引シグナルを生成する堅牢なツールを紹介し、トレーダーがより自信を持って意思決定できるよう支援します。
preview
初心者からエキスパートへ:MQL5を使用したバックエンド操作モニター

初心者からエキスパートへ:MQL5を使用したバックエンド操作モニター

取引システムの内部動作を意識せずに、既製のソリューションをそのまま利用することは一見すると安心に思えますが、開発者にとっては必ずしもそうとは限りません。いずれアップデートや動作不良、あるいは予期しないエラーが発生し、その原因がどこにあるのかを正確に突き止め、迅速に診断して解決する必要に迫られます。本記事では、取引用エキスパートアドバイザー(EA)の裏側で通常どのような操作がおこなわれているのかを明らかにするとともに、MQL5を用いてバックエンド操作を表示し、記録するための専用カスタムクラスを開発します。これにより、開発者およびトレーダーの双方が、エラーの特定、挙動の監視、EAごとの診断情報に迅速にアクセスできるようになります。
preview
取引におけるニューラルネットワーク:時空間ニューラルネットワーク(STNN)

取引におけるニューラルネットワーク:時空間ニューラルネットワーク(STNN)

この記事では、時空間変換を活用し、今後の価格変動を効果的に予測する手法について解説します。STNNの数値予測精度を向上させるために、データの重要な側面をより適切に考慮できる連続アテンションメカニズムが提案されています。
preview
初級から中級へ:変数(II)

初級から中級へ:変数(II)

今日は、static変数の取り扱いについて学びます。このメカニズムを使用する際に守らなければならないいくつかの推奨事項があるため、この問題は初心者やある程度の経験を持つプログラマーにとってしばしば混乱を招きます。ここで提示される資料は教育目的のみに使用されます。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
preview
MQL5-Telegram統合エキスパートアドバイザーの作成(第3回):MQL5からTelegramにキャプション付きチャートのスクリーンショットを送信する

MQL5-Telegram統合エキスパートアドバイザーの作成(第3回):MQL5からTelegramにキャプション付きチャートのスクリーンショットを送信する

この記事では、チャートのスクリーンショットを画像データとしてエンコードし、HTTPリクエストを通じてTelegramチャットに送信するMQL5のエキスパートアドバイザー(EA)を作成します。この画像のエンコードと送信の統合によって、既存のMQL5-Telegramシステムが強化され、Telegram上で直接視覚的な取引洞察を提供できるようになります。
preview
算術最適化アルゴリズム(AOA):AOAからSOA(シンプル最適化アルゴリズム)へ

算術最適化アルゴリズム(AOA):AOAからSOA(シンプル最適化アルゴリズム)へ

本稿では、加算、減算、乗算、除算といった単純な算術演算に基づく算術最適化アルゴリズム(AOA: Arithmetic Optimization Algorithm)を紹介します。これらの基本的な数学的操作が、さまざまな問題の最適解を見つけるための基盤となります。
preview
ログレコードをマスターする(第4回):ログをファイルに保存する

ログレコードをマスターする(第4回):ログをファイルに保存する

この記事では、基本的なファイル操作と、カスタマイズに対応した柔軟なハンドラの設定方法について紹介します。CLogifyHandlerFileクラスを更新し、ログをファイルに直接書き込むようにします。また、EURUSDで1週間にわたるストラテジーをシミュレーションし、各ティックごとにログを生成して、合計5分11秒のパフォーマンステストを実施します。この結果は今後の記事で比較し、パフォーマンス向上のためにキャッシュシステムの導入もおこなう予定です。
preview
リプレイシステムの開発(第34回):発注システム (III)

リプレイシステムの開発(第34回):発注システム (III)

今回は、構築の第一段階を完成させます。この部分はかなり短時間で終わりますが、前回までに説明しなかった詳細をカバーします。多くの方が理解していない点をいくつか説明します。なぜShiftキーやCtrlキーを押さなければならないかご存じでしょうか。
preview
リプレイシステムの開発(第64回):サービスの再生(V)

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

この記事では、コード内の2つのエラーを修正する方法について説明します。ただし、初心者プログラマーの皆さんに、物事が必ずしも期待どおりに進むとは限らないことを理解してもらえるよう、できるだけわかりやすく解説したいと思います。いずれにせよ、これは学びの機会です。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。ここで紹介する内容は教育目的のみに限定されており、提示された概念を探求すること以外の目的でこのアプリケーションを最終的な文書と見なすべきではありません。
preview
取引におけるニューラルネットワーク:点群解析(PointNet)

取引におけるニューラルネットワーク:点群解析(PointNet)

直接的な点群解析は、不要なデータの増加を避け、分類やセグメンテーションタスクにおけるモデルの性能を向上させます。このような手法は、元データの摂動に対して高い性能と堅牢性を示します。
preview
汎用MLP近似器に基づくエキスパートアドバイザー

汎用MLP近似器に基づくエキスパートアドバイザー

この記事では、機械学習の深い知識がなくても利用できる、取引EAでのニューラルネットワークの簡単でアクセスしやすい使用方法を紹介しています。この方法では、目的関数の正規化を省略できるほか、「重みの爆発」や「収束停止」といった問題を解消し、直感的な学習と結果の視覚的な管理を可能にしています。
preview
データサイエンスとML(第34回):時系列分解、株式市場を核心にまで分解

データサイエンスとML(第34回):時系列分解、株式市場を核心にまで分解

ノイズが多く、予測が難しいデータで溢れる世界では、意味のあるパターンを特定するのは困難です。この記事では、データをトレンド、季節パターン、ノイズといった主要な要素に分解する強力な分析手法「季節分解」について解説します。こうしてデータを分解することで、隠れた洞察を見つけ、より明確で解釈しやすい情報を得ることが可能になります。
preview
プライスアクション分析ツールキットの開発(第47回):MetaTrader 5で外国為替セッションとブレイクアウトを追跡する

プライスアクション分析ツールキットの開発(第47回):MetaTrader 5で外国為替セッションとブレイクアウトを追跡する

世界中の市場セッションは1日の取引のリズムを形成しており、それらの重なりを理解することは、エントリーやエグジットのタイミングを見極めるうえで非常に重要です。本記事では、これらの世界的な取引時間をチャート上で視覚的に再現するインタラクティブな取引セッションEAを構築します。このEAは、アジア、東京、ロンドン、ニューヨークの各セッションを色分けされた矩形として自動的に描画し、各市場の開始と終了に応じてリアルタイムで更新します。また、チャート上のトグルボタン、動的な情報パネル、そしてライブのステータスやブレイクアウトメッセージを表示するスクロール式のティッカーヘッドラインも搭載しています。複数のブローカーでテストされたこのEAは、精度とデザイン性を兼ね備えており、ボラティリティの移行を視覚的に把握し、セッション間のブレイクアウトを特定し、グローバル市場の動きを常に意識したトレードを可能にします。
preview
取引におけるナッシュ均衡ゲーム理論のHMMフィルタリングの応用

取引におけるナッシュ均衡ゲーム理論のHMMフィルタリングの応用

この記事では、ジョン・ナッシュのゲーム理論、特にナッシュ均衡の取引への応用について詳しく掘り下げます。トレーダーがPythonスクリプトとMetaTrader 5を活用し、ナッシュの原理を利用して市場の非効率性を特定し、活用する方法について解説します。また、この記事では、隠れマルコフモデル(HMM)や統計分析の利用を含むこれらの戦略を実行するためのステップバイステップのガイドを提供し、取引パフォーマンスの向上を目指します。
preview
取引におけるニューラルネットワーク:制御されたセグメンテーション(最終部)

取引におけるニューラルネットワーク:制御されたセグメンテーション(最終部)

前回の記事で開始した、MQL5を使用したRefMask3Dフレームワークの構築作業を引き続き進めていきます。このフレームワークは、点群におけるマルチモーダルインタラクションと特徴量解析を包括的に研究し、自然言語で提供される説明に基づいてターゲットオブジェクトを特定・識別することを目的としています。
preview
ダイナミックマルチペアEAの形成(第2回):ポートフォリオの分散化と最適化

ダイナミックマルチペアEAの形成(第2回):ポートフォリオの分散化と最適化

ポートフォリオの分散化と最適化とは、複数の資産に戦略的に投資を分散しながら、リスク調整後のパフォーマンス指標に基づいてリターンを最大化する理想的な資産配分を選定する手法です。
preview
MQL5における段階的特徴量選択

MQL5における段階的特徴量選択

この記事では、MQL5で実装された段階的特徴量選択の修正バージョンを紹介します。このアプローチは、Timothy Masters著の「Modern Data Mining Algorithms in C++ and CUDA C」で概説されている手法に基づいています。
preview
MQL5での暗号化の探索:ステップごとのアプローチ

MQL5での暗号化の探索:ステップごとのアプローチ

この記事では、MQL5内での暗号化の統合について探り、取引アルゴリズムのセキュリティと機能を強化する方法を紹介します。主要な暗号化手法と、それらを自動取引に実際に実装する方法について説明します。
preview
マーケットプロファイルインジケーター(第2回):キャンバス上の最適化と描画

マーケットプロファイルインジケーター(第2回):キャンバス上の最適化と描画

この記事では、複数のグラフィカルオブジェクトでの描画を、CCanvasクラスのオブジェクト上での描画に置き換えた、最適化されたマーケットプロファイルインジケーターのバージョンについて考察しています。
preview
取引におけるニューラルネットワーク:ハイブリッドグラフシーケンスモデル(GSM++)

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

グラフシーケンスモデル(GSM++)は、異なるアーキテクチャの利点を統合することで、高精度なデータ分析と最適化された計算コストを両立するモデルです。これらのモデルは、動的な市場データに効果的に適応し、金融情報の表現および処理能力を向上させます。
preview
知っておくべきMQL5ウィザードのテクニック(第59回):移動平均とストキャスティクスのパターンを用いた強化学習(DDPG)

知っておくべきMQL5ウィザードのテクニック(第59回):移動平均とストキャスティクスのパターンを用いた強化学習(DDPG)

MAとストキャスティクスを使用したDDPGに関する前回の記事に引き続き、今回は、DDPGの実装に欠かせない他の重要な強化学習クラスを検証していきます。主にPythonでコーディングしていますが、最終的には訓練済みネットワークをONNX形式でエクスポートし、MQL5に組み込んでウィザードで構築したエキスパートアドバイザー(EA)のリソースとして統合します。
preview
知っておくべきMQL5ウィザードのテクニック(第60回):移動平均とストキャスティクスパターンを用いた推論(ワッサースタインVAE)

知っておくべきMQL5ウィザードのテクニック(第60回):移動平均とストキャスティクスパターンを用いた推論(ワッサースタインVAE)

MA(移動平均)とストキャスティクスの補完的な組み合わせに着目し、教師あり学習および強化学習を経た後の段階において、推論が果たしうる役割を検証します。推論にはさまざまなアプローチが存在しますが、この記事では変分オートエンコーダ(VAE: Variational Auto-Encoder)を用いる方法を採用します。まずはPythonでこのアプローチを探求し、その後、訓練済みモデルをONNX形式でエクスポートし、MetaTraderのウィザードで構築したエキスパートアドバイザー(EA)で活用します。
preview
知っておくべきMQL5ウィザードのテクニック(第75回):Awesome Oscillatorとエンベロープの使用

知っておくべきMQL5ウィザードのテクニック(第75回):Awesome Oscillatorとエンベロープの使用

ビル・ウィリアムズによるオーサムオシレータ(AO: Awesome Oscillator)とエンベロープチャネル(Envelopes Channel)は、MQL5のエキスパートアドバイザー(EA)内で補完的に使用できる組み合わせです。AOはトレンドを検出する能力を持つためこれを利用し、一方でエンベロープチャネルはサポートおよびレジスタンスレベルを定義する目的で組み込みます。本記事は、このインジケーターの組み合わせを探求するにあたり、MQL5ウィザードを用いて両者が持つ可能性を構築および検証します。
preview
MQL5での取引戦略の自動化(第27回):視覚的なフィードバックによるプライスアクションクラブハーモニックパターンの作成

MQL5での取引戦略の自動化(第27回):視覚的なフィードバックによるプライスアクションクラブハーモニックパターンの作成

本記事では、MQL5で弱気、強気両方のクラブ(Crab)ハーモニックパターンを、ピボットポイントとフィボナッチ比率を用いて識別し、正確なエントリー、ストップロス、テイクプロフィットレベルを使用して取引を自動化するクラブパターンシステムを開発します。また、XABCDパターン構造やエントリーレベルを表示するために、三角形やトレンドラインなどのチャートオブジェクトを使った視覚的な表示機能を追加します。
preview
株式市場における非線形回帰モデル

株式市場における非線形回帰モデル

株式市場における非線形回帰モデル:金融市場は予測できるのかEURUSDの価格を予測するモデルを作成し、それに基づいて2つのロボット(Python版とMQL5版)を作ることを考えてみましょう。
preview
リプレイシステムの開発(第73回):異例のコミュニケーション(II)

リプレイシステムの開発(第73回):異例のコミュニケーション(II)

この記事では、インジケーターとサービス間でリアルタイムに情報を伝達する方法について解説し、また時間軸を変更した際に発生しうる問題の原因とその解決方法について理解を深めます。おまけとして、最新バージョンのリプレイ/シミュレーションアプリへのアクセスも提供します。
preview
プライスアクション分析ツールキットの開発(第18回):クォーターズ理論の紹介(III) - Quarters Board

プライスアクション分析ツールキットの開発(第18回):クォーターズ理論の紹介(III) - Quarters Board

この記事では、元のQuarters Scriptを改良し、「Quarters Board」というツールを導入しています。これにより、コードを編集し直すことなく、チャート上でクォーターレベルを直接オン・オフできるようになります。特定のレベルを簡単に有効化・無効化できるほか、エキスパートアドバイザー(EA)はトレンド方向に関するコメントも提供し、市場の動きをより理解しやすくします。
preview
知っておくべきMQL5ウィザードのテクニック(第64回):ホワイトノイズカーネルでDeMarkerとEnvelope Channelsのパターンを活用する

知っておくべきMQL5ウィザードのテクニック(第64回):ホワイトノイズカーネルでDeMarkerとEnvelope Channelsのパターンを活用する

DeMarkerオシレーターとEnvelopesインジケーターは、エキスパートアドバイザー(EA)を開発するときに組み合わせることができるモメンタムおよびサポート/レジスタンスツールです。前回の記事では、機械学習を加えて、これらのインジケーターのペアを紹介しました。ホワイトノイズカーネルを使用してこれら2つのインジケーターからのベクトル化されたシグナルを処理する回帰型ニューラルネットワークを使用しています。これは、MQL5ウィザードと連携してエキスパートアドバイザー(EA)を組み立てるカスタムシグナルクラスファイルで実行されます。
preview
人工電界アルゴリズム(AEFA)

人工電界アルゴリズム(AEFA)

この記事では、クーロンの静電気力の法則に触発された人工電界アルゴリズム(AEFA: Artificial Electric Field Algorithm)を紹介します。このアルゴリズムは、荷電粒子とその相互作用を利用して複雑な最適化問題を解決するために電気現象をシミュレートします。AEFAは、自然法則に基づいた他のアルゴリズムと比較して、独自の特性を示します。
preview
PythonとMQL5による多銘柄分析(第3回):三角為替レート

PythonとMQL5による多銘柄分析(第3回):三角為替レート

トレーダーは、誤ったシグナルによるドローダウンに直面することが多い一方で、確認を待ちすぎることで、有望な機会を逃すこともあります。本稿では、ドル建て銀価格(XAGUSD)、ユーロ建て銀価格(XAGEUR)、およびEURUSD為替レートを用いた三角裁定取引戦略を紹介し、市場のノイズをフィルタリングする方法を解説します。市場間の相関関係を活用することで、隠れた市場センチメントをリアルタイムで捉え、エントリータイミングをより洗練させることが可能になります。
preview
MQL5での取引戦略の自動化(第39回):信頼区間とダッシュボードを備えた統計的平均回帰

MQL5での取引戦略の自動化(第39回):信頼区間とダッシュボードを備えた統計的平均回帰

統計的平均回帰取引用のMQL5エキスパートアドバイザー(EA)を開発します。指定期間における平均、分散、歪度、尖度、ジャック=ベラ統計量などのモーメントを算出し、非正規分布を特定するとともに、適応的な閾値を用いた信頼区間に基づいて売買シグナルを生成します。
preview
取引戦略の開発:トリプルサイン平均回帰法

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

新しい数学的指標であるTriple Sine Oscillator (TSO)に基づいて構築された「トリプルサイン平均回帰法」取引戦略を紹介します。TSOは、−1から+1の間で振動する正弦の三乗関数から導出されており、買われ過ぎおよび売られ過ぎの市場状況を特定するのに適しています。本記事では、数学的関数を実践的な取引ツールへと応用できることを示しています。
preview
ブレインストーム最適化アルゴリズム(第2部):マルチモーダリティ

ブレインストーム最適化アルゴリズム(第2部):マルチモーダリティ

記事の第2部では、BSOアルゴリズムの実用的な実装に移り、テスト関数のテストを実施し、BSOの効率を他の最適化手法と比較します。