MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
知っておくべきMQL5ウィザードのテクニック(第34回):非従来型RBMによる価格の埋め込み

知っておくべきMQL5ウィザードのテクニック(第34回):非従来型RBMによる価格の埋め込み

制限ボルツマンマシンは、1980年代半ば、計算資源が非常に高価だった時代に開発されたニューラルネットワークの一種です。当初は、入力された訓練データセットの次元を削減し、隠れた確率や特性を捉えるために、ギブスサンプリングとコントラストダイバージェンス(Contrastive Divergence)に依存していました。RBMが予測用の多層パーセプトロンに価格を「埋め込む」場合、バックプロパゲーションがどのように同様の性能を発揮できるかを検証します。
preview
IBMの量子コンピュータを使ってすべての価格変動パターンを解析する

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

IBMの量子コンピュータを使用してすべての価格変動オプションを発見します。まるでSFの話のようですが、これが取引における量子コンピューティングの世界です。
preview
MQL5での取引戦略の自動化(第38回):傾斜角フィルタ付き隠れRSIダイバージェンス取引

MQL5での取引戦略の自動化(第38回):傾斜角フィルタ付き隠れRSIダイバージェンス取引

スイングポイントを用いて隠れRSIダイバージェンスを検出するMQL5 EAを構築します。これは、価格とRSIに対して、スイング強度、バー間隔、許容誤差、傾き角度のフィルタを適用し、検証済みのシグナルで固定ロット、SL/TP(pips単位)、およびオプションのトレーリングストップを用いて売買を実行するシステムです。
preview
USDとEURの指数チャート—MetaTrader 5サービスの例

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

MetaTrader 5サービスを例に、米ドル指数(USDX)およびユーロ指数(EURX)チャートの作成と更新について考察します。サービス起動時には、必要な合成銘柄が存在するかを確認し、未作成であれば新規作成します。その後、それを気配値表示ウィンドウに追加します。続いて、合成銘柄の1分足およびティック履歴を作成し、最後にその銘柄のチャートを表示します。
preview
知っておくべきMQL5ウィザードのテクニック(第35回):サポートベクトル回帰

知っておくべきMQL5ウィザードのテクニック(第35回):サポートベクトル回帰

サポートベクトル回帰(SVR)は、2つのデータセット間の関係を最も適切に表現する関数または「超平面」を見つけるための理想的な手法です。本稿では、MQL5ウィザードのカスタムクラス内での時系列予測において、この手法を活用することを試みます。
preview
共和分株式による統計的裁定取引(第1回):エングル=グレンジャーおよびジョハンセンの共和分検定

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

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

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

APIレスポンスから取得したローソク足データの抽出、変換、整理を、MQL5環境において簡潔におこなうためのステップごとのチュートリアルを紹介します。本ガイドは、コーディングスキルを向上させたい初心者の方や、市場データを効率的に管理するための堅牢な手法を構築したい方に最適です。
preview
DoEasy - コントロール(第33部):垂直スクロールバー

DoEasy - コントロール(第33部):垂直スクロールバー

この記事では、DoEasyライブラリのグラフィカル要素の開発を続け、フォームオブジェクトコントロールの垂直スクロールを追加し、さらに将来必要となる便利な関数やメソッドを紹介します。
preview
市場シミュレーション(第14回):ソケット(VIII)

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

多くのプログラマは、Excelの使用をやめて、Pythonに直接移行し、PythonでExcelファイルを生成して後から結果を分析できるパッケージを使うべきだと考えるかもしれません。しかし、前回の記事で述べたように、この方法は多くのプログラマにとって最も簡単な解決策ではありますが、すべてのユーザーに受け入れられるわけではありません。そして、このような場合、常に正しいのはユーザーです。私たちプログラマは、すべてをうまく機能させる方法を見つけなければなりません。
preview
リプレイシステムの開発(第75回):新しいChart Trade(II)

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

この記事では、C_ChartFloatingRADクラスについて説明します。これはChart Tradeを機能させるための要となる部分です。ただし、解説はこれで終わりではありません。本記事の内容はかなり広範かつ深い理解を必要とするため、続きは次回の記事で補完します。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
MQL5取引ツール(第3回):戦略的取引のための多時間軸スキャナーダッシュボードの構築

MQL5取引ツール(第3回):戦略的取引のための多時間軸スキャナーダッシュボードの構築

本記事では、MQL5で多時間軸スキャナーダッシュボードを構築し、リアルタイムの取引シグナルを表示する方法を解説します。インタラクティブなグリッドインターフェースの設計、複数のインジケーターによるシグナル計算の実装、そしてクローズボタンの追加を計画しています。記事はバックテストと戦略的取引の利点で締めくくられます。
preview
Market Sentimentインジケーターの自動化

Market Sentimentインジケーターの自動化

この記事では、市場の状況を強気、弱気、リスクオン、リスクオフ、中立(ニュートラル)に分類するMarket Sentimentカスタムインジケーターを自動化します。エキスパートアドバイザー(EA)は、現在の市場の傾向や方向性の分析プロセスを合理化しながら、一般的なセンチメントに関するリアルタイムの洞察を提供します。
preview
初心者からエキスパートへ:MQL5での可視化による地理的市場認識の強化

初心者からエキスパートへ:MQL5での可視化による地理的市場認識の強化

セッションを意識せずに取引することは、まるでコンパスなしで航海するようなものです。移動してはいるものの、目的を持って移動していないのです。本稿では、トレーダーが市場のタイミングを認識する方法を革新し、通常のチャートを動的な地理的表示に変換する手法を紹介します。MQL5の強力な可視化機能を活用して、リアルタイムでアクティブな取引セッションを点灯させるライブ世界地図を構築します。これにより、抽象的な市場時間が直感的な視覚情報として理解可能になります。この手法は取引心理を鋭敏化すると同時に、複雑な市場構造と実用的な洞察を結びつけるプロフェッショナル向けのプログラミング技術も明らかにします。
preview
機械学習の限界を克服する(第5回):時系列交差検証の簡単な概要

機械学習の限界を克服する(第5回):時系列交差検証の簡単な概要

本連載では、機械学習を活用した取引戦略を実運用に展開する際に、アルゴリズムトレーダーが直面する課題について考察します。私たちのコミュニティには、より深い技術的理解を必要とするがゆえに、見過ごされがちな課題がいくつも存在します。本日の議論は、機械学習における交差検証の盲点を検討するための足がかりとなるものです。交差検証はしばしば定型的な手順として扱われますが、不注意に実施すると、誤解を招く、あるいは最適とは言えない結果を容易に生み出してしまいます。本記事では、その隠れた盲点をより深く考察する準備として、時系列交差検証の基本を簡単に振り返ります。
preview
MQL5での取引戦略の自動化(第44回):スイングハイ/ローのブレイクによる性格の変化(CHoCH)検出

MQL5での取引戦略の自動化(第44回):スイングハイ/ローのブレイクによる性格の変化(CHoCH)検出

この記事では、MQL5で性格の変化(CHoCH)検出システムを開発します。本システムは、ユーザーが設定したバーの長さに基づいてスイングハイとスイングローを特定し、高値には「HH/LH」、安値には「LL/HL」とラベル付けをおこない、トレンド方向を判定します。そして、これらのスイングポイントをブレイクした際にエントリーをおこない、潜在的な反転を示すサインとして活用します。構造が変化した際のブレイクもエントリー対象とします。
preview
MQL5経済指標カレンダーを使った取引(第4回):ダッシュボードでのリアルタイムニュース更新の実装

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

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

カオス最適化アルゴリズム(COA)

本記事では、カオス理論と適応型探索メカニズムを組み合わせた改良型カオス最適化(COA)を紹介します。このアルゴリズムでは、複数のカオス写像と慣性成分を利用して探索空間を効率的に走査します。また、金融最適化におけるカオス的手法の理論的基盤についても解説します。
preview
Pythonの価格変動離散化手法

Pythonの価格変動離散化手法

Python + MQL5を使用した価格離散化手法を見ていきます。本記事では、バー生成に関する幅広い手法を実装したPythonライブラリの開発経験についご紹介します。クラシックなボリュームバーやレンジバーから、よりエキゾチックな練行足やカギ足といった手法までを網羅します。スリーラインブレイクローソク足やレンジバーの統計分析をおこないながら、価格を離散的に表現する新たな方法を探っていきます。
preview
MQL5での取引戦略の自動化(第44回):スイングハイ/ローのブレイクによる性格の変化(CHoCH)検出

MQL5での取引戦略の自動化(第44回):スイングハイ/ローのブレイクによる性格の変化(CHoCH)検出

この記事では、MQL5で性格の変化(CHoCH)検出システムを開発します。本システムは、ユーザーが設定したバーの長さに基づいてスイングハイとスイングローを特定し、高値には「HH/LH」、安値には「LL/HL」とラベル付けをおこない、トレンド方向を判定します。そして、これらのスイングポイントをブレイクした際にエントリーをおこない、潜在的な反転を示すサインとして活用します。構造が変化した際のブレイクもエントリー対象とします。
preview
リプレイシステムの開発(第74回):新しいChart Trade(I)

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

この記事では、Chart Tradeに関する本連載の最後に示したコードを修正します。これらの変更は、現在のリプレイ/シミュレーションシステムのモデルにコードを適合させるために必要です。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
取引におけるニューラルネットワーク:複雑な軌道予測法(Traj-LLM)

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

この記事では、自動運転車の動作の分野における問題を解決するために開発された興味深い軌道予測方法を紹介します。この手法の著者は、さまざまな建築ソリューションの最良の要素を組み合わせました。
preview
MQL5での取引戦略の自動化(第44回):スイングハイ/ローのブレイクによる性格の変化(CHoCH)検出

MQL5での取引戦略の自動化(第44回):スイングハイ/ローのブレイクによる性格の変化(CHoCH)検出

この記事では、MQL5で性格の変化(CHoCH)検出システムを開発します。本システムは、ユーザーが設定したバーの長さに基づいてスイングハイとスイングローを特定し、高値には「HH/LH」、安値には「LL/HL」とラベル付けをおこない、トレンド方向を判定します。そして、これらのスイングポイントをブレイクした際にエントリーをおこない、潜在的な反転を示すサインとして活用します。構造が変化した際のブレイクもエントリー対象とします。
preview
原子軌道探索(AOS)アルゴリズム

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

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

MQL5経済指標カレンダーを使った取引(第5回):レスポンシブコントロールとフィルターボタンでダッシュボードを強化する

この記事では、ダッシュボードの制御を改善するために、通貨ペアフィルター、重要度レベル、時間フィルター、キャンセルオプションのボタンを作成します。これらのボタンは、ユーザーのアクションに動的に応答するようにプログラムされており、シームレスな操作を可能にします。また、ダッシュボードにリアルタイムの変更を反映するために、ユーザーの行動を自動化します。これにより、パネルの全体的な機能性、モビリティ、応答性が向上します。
preview
ビッグバンビッグクランチ(BBBC)アルゴリズム

ビッグバンビッグクランチ(BBBC)アルゴリズム

本記事では、ビッグバンビッグクランチ(BBBC)法について紹介します。本手法は2つの主要な段階から構成されます。すなわち、ランダムな点を周期的に生成する段階と、それらを最適解へ圧縮する段階です。本アプローチは探索と精緻化を組み合わせることで、段階的により良好な解を導出し、新たな最適化の可能性を開くことが可能です。
preview
MQL5取引ツール(第2回):インタラクティブな取引アシスタントの強化:動的視覚フィードバックの導入

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

この記事では、取引アシスタントツール(Trade Assistant Tool)をアップグレードし、ドラッグ&ドロップ可能なパネル機能やホバー効果を追加して、インターフェースをより直感的で応答性の高いものにします。ツールを改良してリアルタイムの注文設定を検証し、市場価格に対して正確な取引構成が可能となるようにします。また、これらの改善をバックテストし、その信頼性を確認します。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第10回):行列分解

MQL5で自己最適化エキスパートアドバイザーを構築する(第10回):行列分解

行列分解は、データの特性を理解するために用いられる数学的手法です。行と列で整理された大規模な市場データに行列分解を適用することで、市場のパターンや特性を明らかにすることができます。行列分解は非常に強力なツールであり、本記事ではMetaTrader 5のターミナル内でMQL5 APIを活用し、市場データをより深く分析する方法を紹介します。
preview
プライスアクション分析ツールキットの開発(第41回):MQL5で統計的価格レベルEAを構築する

プライスアクション分析ツールキットの開発(第41回):MQL5で統計的価格レベルEAを構築する

統計は常に金融分析の中心にあります。統計とは、データを収集・分析・解釈・提示し、意味のある情報に変換する学問です。これをローソク足に応用すると、価格の生データを測定可能な洞察に圧縮できます。特定期間における市場の中心傾向、分布、広がりを把握できれば、どれほど有益でしょうか。本記事では、統計的手法を用いてローソク足データを明確で実行可能なシグナルに変換する方法を紹介します。
preview
ニューラルネットワークの実践:ニューロンのスケッチ

ニューラルネットワークの実践:ニューロンのスケッチ

この記事では、基本的なニューロンを作ります。単純に見えるし、多くの人はこのコードをまったくつまらない無意味なものだと考えるかもしれませんが、このニューロンの単純なスケッチを楽しく勉強してほしいと思います。コードを修正することを恐れず、完全に理解することが目標です。
preview
リプレイシステムの開発(第76回):新しいChart Trade(III)

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

この記事では、前回の記事で省略されていたDispatchMessageのコードがどのように動作するのかを見ていきます。さらに、次回の記事のテーマについても紹介します。そのため、次のトピックに進む前に、このコードの仕組みを理解しておくことが重要です。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
MQL5で取引管理者パネルを作成する(第9回):コード編成(III)コミュニケーションモジュール

MQL5で取引管理者パネルを作成する(第9回):コード編成(III)コミュニケーションモジュール

MQL5インターフェイス設計における最新の進展を、再設計されたコミュニケーションパネルの公開とともに詳しく解説します。また、モジュール化の原則に基づいて新しい管理パネルを構築するシリーズも引き続き展開していきます。この記事では、CommunicationsDialogクラスを段階的に開発し、それをDialogクラスから継承する方法を丁寧に解説します。さらに、開発には配列およびListViewクラスを活用します。MQL5開発スキルを高めるための実用的な知見を得るために、ぜひ記事を読み、コメント欄でディスカッションにご参加ください。
preview
知っておくべきMQL5ウィザードのテクニック(第69回):SARとRVIのパターンの使用

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

パラボリックSAR (SAR)と相対活力指数(RVI)は、MQL5のエキスパートアドバイザー(EA)内で併用可能なもう一つのインジケーターペアです。このインジケーターペアは、これまでに取り上げたものと同様に補完的で、SARはトレンドを定義し、RVIはモメンタムを確認します。通常通り、MQL5ウィザードを使用してこのインジケーターペアリングを構築し、その可能性をテストします。
preview
サイクルベースの取引システム(DPO)の構築と最適化の方法

サイクルベースの取引システム(DPO)の構築と最適化の方法

本記事では、MQL5におけるDPO(Detrended Price Oscillator、トレンド除去価格オシレーター)を用いた取引システムの設計および最適化手法について解説します。DPOのコアロジックを明確にし、長期トレンドを排除して短期サイクルを抽出する仕組みを示します。さらに、段階的な例とシンプルな戦略を通じて、インジケーターの実装方法、エントリー/エグジット条件の定義、そしてバックテストの実施方法について学ぶことができます。最後に、パフォーマンスを向上させ、市場環境の変化へ適応させるための実践的な最適化手法を紹介します。
preview
MetaTrader 5機械学習の設計図(第6回):実務で使えるキャッシュシステムの設計

MetaTrader 5機械学習の設計図(第6回):実務で使えるキャッシュシステムの設計

進捗バーを眺めるだけで、取引戦略のテストに時間を浪費していませんか。従来のキャッシュ手法では金融機械学習には対応できず、計算の無駄や再実行によるフラストレーションに悩まされます。私たちは、金融データ特有の課題、時間的依存関係、複雑なデータ構造、そして先読みバイアスのリスクを理解した洗練されたキャッシュアーキテクチャを設計しました。この三層構造のシステムにより、計算速度は劇的に向上し、古い結果の自動無効化やコストの高いデータリークの防止も可能です。もう計算待ちに時間を費やす必要はありません。市場が要求するペースで、迅速に反復作業をおこなえます。
preview
市場シミュレーション(第6回):MetaTrader 5からExcelへの情報の転送

市場シミュレーション(第6回):MetaTrader 5からExcelへの情報の転送

多くの人、特にプログラマーではない人は、MetaTrader 5と他のプログラムとの間で情報をやり取りすることは非常に難しいと感じます。その代表的な例がExcelです。多くの人がExcelをリスク管理や運用管理のための手段として利用しています。Excelは非常に優れたプログラムであり、VBAプログラマーでなくても比較的容易に習得できます。ここでは、MetaTrader 5とExcelの間に接続を確立する方法について説明します。方法は非常にシンプルなものです。
preview
動物移動最適化(AMO)アルゴリズム

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

この記事は、生命と繁殖に最適な条件を求めて動物が季節的に移動する様子をモデル化するAMOアルゴリズムについて説明しています。AMOの主な機能には、トポロジカル近傍の使用と確率的更新メカニズムが含まれており、実装が容易で、さまざまな最適化タスクに柔軟に対応できます。
preview
取引におけるニューラルネットワーク:データの局所構造の探索

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

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

三角波とのこぎり波:トレーダー向け分析ツール

波動分析は、テクニカル分析で用いられる手法の一つです。本記事では、あまり一般的ではない2種類の波形である、三角波とのこぎり波に焦点を当てます。これらの波形は、市場価格分析のために設計された多くのテクニカル指標の基盤となっています。
preview
MQL5における特異スペクトル解析

MQL5における特異スペクトル解析

本記事は、特異スペクトル解析(SSA: Singular Spectrum Analysis)の概念に不慣れな方を対象に、MQL5で利用可能な組み込みツールを実際に活用できるようになるためのガイドとして作成されたものです。
preview
初心者からエキスパートへ:MQL5を使用したアニメーションニュースヘッドライン(VII) - ニュース取引におけるポストインパクト戦略

初心者からエキスパートへ:MQL5を使用したアニメーションニュースヘッドライン(VII) - ニュース取引におけるポストインパクト戦略

高インパクトの経済ニュースが発表された直後の1分間は、ウィップソー(騙しの多い相場)リスクが非常に高い時間帯です。この短い瞬間、価格変動は不規則で、かつ極めてボラティリティが高く、両方向のペンディング注文が立て続けに発動されることも少なくありません。しかし、通常は1分以内には市場が次第に安定し、従来のトレンドへと戻ったり、修正の動きを見せたりしながら、より通常に近いボラティリティ水準に落ち着いていきます。このセクションでは、ニュース取引における代替アプローチを検討し、その有効性を検証し、トレーダーの戦略ツールキットにどのように加えられるかを探っていきます。詳細と洞察は、以下の項目で順を追って解説します。