MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
MQL5取引ツール(第6回):パルスアニメーションとコントロールを備えたダイナミックホログラフィックダッシュボード

MQL5取引ツール(第6回):パルスアニメーションとコントロールを備えたダイナミックホログラフィックダッシュボード

本記事では、MQL5で動的なホログラフィックダッシュボードを作成し、RSIやボラティリティアラート、ソートオプションを使用して銘柄と時間足を監視します。さらに、パルスアニメーション、インタラクティブボタン、ホログラフィック効果を追加して、ツールを視覚的に魅力的で反応の良いものにします。
preview
初心者からエキスパートへ:市場期間同期化ツール

初心者からエキスパートへ:市場期間同期化ツール

本ディスカッションでは、上位時間足から下位時間足への同期をおこなうツールを紹介します。このツールは、上位時間足の期間にまたがる市場パターンを分析する際の課題を解決することを目的としています。MetaTrader 5に標準搭載されている期間マーカーは、制限が多く柔軟性に欠けるため、非標準の時間足には対応しにくいことがあります。そこで私たちは、MQL5言語を活用して、下位時間足のチャート上で上位時間足の構造を動的かつ視覚的に表示できるインジケーターを開発しました。このツールは、詳細な市場分析に非常に役立ちます。その機能や実装方法について詳しく知りたい方は、ぜひディスカッションにご参加ください。
preview
共和分株式による統計的裁定取引(第7回):スコアリングシステム2

共和分株式による統計的裁定取引(第7回):スコアリングシステム2

平均回帰戦略、特に共和分に基づく統計的裁定取引において取引対象となる株式バスケットの選定に使用する、追加の2つのスコアリング基準について解説します。前回の記事では、流動性および共和分ベクトルの強度、ならびに時間足とルックバック期間という戦略的基準を紹介しました。本記事ではそれを補完する形で、共和分ベクトルの安定性および平均回帰に要する時間、いわゆる半減期を取り上げます。また、新しいフィルタを適用したバックテスト結果の考察と、その再現に必要なファイルも提供します。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第17回):アンサンブルインテリジェンス

MQL5で自己最適化エキスパートアドバイザーを構築する(第17回):アンサンブルインテリジェンス

すべてのアルゴリズム取引戦略は、その複雑さに関係なく、構築や維持が困難です。これは初心者と専門家の双方に共通する課題です。本記事では、教師ありモデルと人間の直感を組み合わせるアンサンブルフレームワークを紹介し、それぞれの限界を相互に補完する方法を提案します。移動平均チャネル戦略とリッジ回帰モデルを同じテクニカル指標上で整合させることで、集中管理、より速い自己修正、そして本来は収益性のなかったシステムからの利益創出を実現します。
preview
取引におけるニューラルネットワーク:統合軌道生成モデル(UniTraj)

取引におけるニューラルネットワーク:統合軌道生成モデル(UniTraj)

エージェントの行動を理解することはさまざまな分野で重要ですが、ほとんどの手法は特定のタスク(理解、ノイズ除去、予測)に焦点を当てており、そのため実際のシナリオでは効果的に活用できないことが多いです。この記事では、さまざまな問題を解決するために適応可能なモデルについて説明します。
preview
取引におけるニューラルネットワーク:方向性拡散モデル(DDM)

取引におけるニューラルネットワーク:方向性拡散モデル(DDM)

本稿では、前向き拡散過程においてデータ依存的な異方性および方向性を持つノイズを活用するDirectional Diffusion Models(DDM、方向性拡散モデル)について議論し、意味のあるグラフ表現を捉える手法を紹介します。
preview
MQL5における二変量コピュラ(第1回):依存関係モデリングのための正規コピュラおよびtコピュラの実装

MQL5における二変量コピュラ(第1回):依存関係モデリングのための正規コピュラおよびtコピュラの実装

本記事は、MQL5における二変量コピュラ(Bivariate Copula)の実装を紹介する連載の第1回です。本記事では、正規コピュラおよびtコピュラ(スチューデントtコピュラ)の実装コードを取り上げます。また、統計的コピュラの基礎概念や関連トピックについても解説します。本記事で紹介するコードは、Hudson and Thamesが提供するArbitragelab Pythonパッケージを参考にしています。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第13回):行列分解を用いた制御理論の簡単な入門

MQL5で自己最適化エキスパートアドバイザーを構築する(第13回):行列分解を用いた制御理論の簡単な入門

金融市場は本質的に予測が難しく、過去には利益が出ていたように見える取引戦略でも、実際の市場環境では破綻することが少なくありません。主な原因は、ほとんどの戦略が一度展開されると振る舞いが固定され、失敗から学習したり適応したりできないということです。そこで制御理論の考え方を取り入れることで、フィードバックコントローラを用いて戦略と市場の相互作用を観察し、その挙動を収益性に向けて調整することが可能になります。今回の結果では、単純な移動平均戦略にフィードバックコントローラを導入するだけで、利益の向上、リスクの低減、効率の改善が見られ、このアプローチが取引用途において大きな可能性を持つことが示されました。
preview
ニューラルネットワークの実践:最初のニューロン

ニューラルネットワークの実践:最初のニューロン

この記事では、シンプルで控えめなもの、つまりニューロンの構築を始めます。ごく少量のMQL5コードでプログラムしますが、それでも私のテストではこのニューロンは見事に機能しました。とはいえ、私がここで何を言おうとしているのかを理解するには、これまでのニューラルネットワークに関する連載を少し振り返ってみる必要があります。
preview
取引におけるニューラルネットワーク:シャープネス低減によるTransformerの効率向上(SAMformer)

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

Transformerモデルの学習には大量のデータが必要であり、小規模データセットに対しては汎化性能が低いため、学習はしばしば困難です。SAMformerフレームワークは、この問題を回避し、不良な局所最小値に陥ることを防ぐことで解決を助けます。これにより、限られた学習データセットにおいてもモデルの効率が向上します。
preview
知っておくべきMQL5ウィザードのテクニック(第66回):FrAMAのパターンとForce Indexを内積カーネルで使用する

知っておくべきMQL5ウィザードのテクニック(第66回):FrAMAのパターンとForce Indexを内積カーネルで使用する

FrAMAインジケーターとForce Indexオシレーターは、トレンドと出来高のツールであり、エキスパートアドバイザー(EA)を開発する際に組み合わせることができます。前回の記事では、このペアを紹介し、機械学習の適用可能性を検討しました。畳み込みニューラルネットワークを使用しており、内積カーネルを利用して、これらのインジケーターの入力に基づいた予測をおこないます。これは、MQL5ウィザードと連携してEAを組み立てるカスタムシグナルクラスファイルで実行されます。
preview
取引戦略の開発:擬似ピアソン相関アプローチ

取引戦略の開発:擬似ピアソン相関アプローチ

既存のインジケーターから新しいインジケーターを生成することは、取引分析を強化するための非常に強力な方法です。既存のインジケーターの出力を統合する数学的関数を定義することで、トレーダーは複数のシグナルを1つの効率的なツールにまとめたハイブリッドインジケーターを作成できます。本記事では、ピアソン相関関数を改良した「擬似ピアソン相関(PPC, Pseudo Pearson Correlation)」を用いて、3つのオシレーターから構築された新しいインジケーターを紹介します。PPCインジケーターは、オシレーター同士の動的な関係を数値化し、それを実践的な取引戦略に応用することを目的としています。
preview
MetaTrader 5用シグマスコアインジケーター:単純な統計的異常検出器

MetaTrader 5用シグマスコアインジケーター:単純な統計的異常検出器

MetaTrader 5用の実践的なSigma Score(シグマスコア)インジケーターをゼロから構築し、その指標が本質的に何を測定しているのかを理解します。シグマスコアとは、対数収益率のz得点(直近の値動きが過去の平均から標準偏差でどれだけ乖離しているか)を表すものです。OnInit()、OnCalculate()、OnDeinit()の各コードブロックを一つずつ丁寧に解説しながら実装を進めます。さらに、±2といった閾値の解釈方法や、このシグマスコアを「市場ストレスメーター」として活用し、平均回帰戦略およびモメンタム戦略の双方に応用する方法についても説明します。
preview
初級から中級へ:Includeディレクティブ

初級から中級へ:Includeディレクティブ

本日の記事では、MQL5のさまざまなコードで広く使用されているコンパイルディレクティブについて解説します。本稿ではこのディレクティブについて表面的な説明に留めますが、今後プログラミングレベルが上がるにつれて不可欠なものとなるため、使い方を理解し始めることが重要です。ここで提示されるコンテンツは、教育目的のみを目的としています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
preview
取引におけるニューラルネットワーク:ウェーブレット変換とマルチタスクアテンションを用いたモデル(最終回)

取引におけるニューラルネットワーク:ウェーブレット変換とマルチタスクアテンションを用いたモデル(最終回)

前回の記事では、Multitask-Stockformerフレームワークを検討しました。このフレームワークは、ウェーブレット変換とマルチタスク自己アテンション(Self-Attention)モデルを組み合わせたものです。本記事では、このフレームワークのアルゴリズムをさらに実装し、実際の過去データを用いてその有効性を評価していきます。
preview
外国為替におけるフィボナッチ(第1回):価格と時間の関係を調べる

外国為替におけるフィボナッチ(第1回):価格と時間の関係を調べる

市場はフィボナッチに基づく関係性をどのように観測しているのでしょうか。各項が直前の2つの項の和になっているこの数列(1, 1, 2, 3, 5, 8, 13, 21...)は、ウサギの個体数の増加を説明するだけのものではありません。私たちは、「世界のあらゆるものは数の一定の関係に従う」というピタゴラス派の仮説を考察します。
preview
PythonでリモートFXリスク管理システムを構築する

PythonでリモートFXリスク管理システムを構築する

Pythonで動作するリモートの外国為替リスク管理システムを構築しており、サーバーにも段階的に展開しています。本記事を通して、プログラムでFXのリスクを管理する方法や、FXの資金を無駄にしない方法を学んでいきます。
preview
多通貨エキスパートアドバイザーの開発(第26回):取引商品の情報提供

多通貨エキスパートアドバイザーの開発(第26回):取引商品の情報提供

多通貨EAの開発へと進む前に、まずはこれまで構築してきたライブラリを用いて、新しいプロジェクトを作成する段階へ移行してみましょう。この例では、ソースコードの管理方法をどのように整理するのが最も適切か、そしてMetaQuotesの新しいコードリポジトリを活用することで、どのような利点が得られるのかを示していきます。
preview
古典的な戦略を再構築する(第14回):複数戦略分析

古典的な戦略を再構築する(第14回):複数戦略分析

本記事では、取引戦略のアンサンブル構築と、MT5遺伝的最適化を用いた戦略パラメータの調整について、引き続き検討していきます。本日はPythonでデータを分析し、モデルがどの戦略が優れているかをより正確に予測でき、市場リターンを直接予測するよりも高い精度を達成できることを示しました。しかし、統計モデルを用いてアプリケーションをテストしたところ、パフォーマンスは著しく低下しました。その後、遺伝的最適化が相関性の高い戦略を優先していたことが判明し、私たちは投票の重みを固定し、インジケーター設定の最適化に焦点を当てるよう方法を修正しました。
preview
MetaTraderとGoogleシートがPythonAnywhereで融合:安全なデータフローのガイド

MetaTraderとGoogleシートがPythonAnywhereで融合:安全なデータフローのガイド

本記事では、MetaTraderのデータをGoogleスプレッドシートに安全にエクスポートする方法を紹介します。Googleスプレッドシートはクラウドベースで、保存されたデータにいつでもどこからでもアクセスできるため、非常に有用なソリューションです。トレーダーはGoogleスプレッドシートにエクスポートされた取引データや関連情報にいつでもアクセスでき、将来の取引に向けた分析を自由におこなうことができます。
preview
古典的な戦略を再構築する(第21回):ボリンジャーバンドとRSIのアンサンブル戦略の発見

古典的な戦略を再構築する(第21回):ボリンジャーバンドとRSIのアンサンブル戦略の発見

EURUSD市場を対象としたアンサンブル型アルゴリズム取引戦略の開発について説明します。この戦略は、ボリンジャーバンドとRSI(相対力指数)を組み合わせたものです。初期のルールベース戦略は高品質なシグナルを生成した一方で、取引頻度が低く、収益性にも限界がありました。その後、複数の戦略バリエーションを反復的に評価した結果、市場に対する理解の誤り、ノイズの増加、パフォーマンスの劣化といった問題が明らかになりました。これらの課題に対し、統計的学習アルゴリズムを適切に活用し、モデリング対象をテクニカル指標へと再定義し、適切なスケーリングを適用したうえで、機械学習による予測と従来の取引ルールを組み合わせることで、最終的には許容可能なシグナル品質を維持しながら、収益性と取引頻度の大幅な改善を達成しました。
preview
MQL5でのテーブルモデルの実装:MVC概念の適用

MQL5でのテーブルモデルの実装:MVC概念の適用

本記事では、MQL5におけるテーブルモデルの開発過程を、MVC (Model-View-Controller)アーキテクチャパターンを用いて解説します。データロジック、表示、制御を分離することで、構造化され柔軟かつ拡張可能なコードを実現します。テーブルモデルを構築するためのクラス設計や、データ格納のためのリンクリストの使用方法も取り上げます。
preview
MQL5経済指標カレンダーを使った取引(第10回):シームレスなニュースナビゲーションのためのドラッグ可能ダッシュボードとインタラクティブホバー効果

MQL5経済指標カレンダーを使った取引(第10回):シームレスなニュースナビゲーションのためのドラッグ可能ダッシュボードとインタラクティブホバー効果

本記事では、MQL5経済カレンダーを強化し、ドラッグ可能なダッシュボードを導入してインターフェースの位置を自由に変更できるようにし、チャートの視認性を高めます。また、ボタンのホバー効果を実装して操作性を高め、動的に変化するスクロールバーによってスムーズなナビゲーションを実現します。
preview
古典的な戦略を再構築する(第13回):クロスオーバー戦略を新たな次元へ(その2)

古典的な戦略を再構築する(第13回):クロスオーバー戦略を新たな次元へ(その2)

本記事では、移動平均クロスオーバー戦略に対してさらなる改善を加え、ラグをより実用的で信頼性の高い水準まで低減する方法について検討します。データサイエンスの知見を活用しながら議論を進めます。一般に、データを高次元へ射影することで、機械学習モデルの性能が向上する場合があることはよく知られています。本記事では、この考え方がトレーダーにとって実際に何を意味するのかを示し、MetaTrader 5ターミナルを用いてどのように活用できるかを説明します。
preview
迅速な取引判断を極める:実行麻痺を克服する

迅速な取引判断を極める:実行麻痺を克服する

UT BOT ATRトレーリングインジケーターは、個人向けにカスタマイズ可能なインジケーターであり、短期売買において素早い意思決定を好むトレーダー(スキャルパー)にとって非常に効果的です。また、長期取引をおこなうトレーダー(ポジショントレーダー)にとっても重要かつ非常に有効であることが実証されています。
preview
MQL5標準ライブラリエクスプローラー(第5回):マルチシグナルEA

MQL5標準ライブラリエクスプローラー(第5回):マルチシグナルEA

本セッションでは、MQL5標準ライブラリを使用して、複数のシグナルを組み合わせた高度なエキスパートアドバイザー(EA)を構築します。このアプローチにより、組み込みシグナルと独自ロジックをシームレスに統合し、柔軟かつ強力な取引アルゴリズムの構築方法を示します。詳細については、続きをご覧ください。
preview
取引におけるニューラルネットワーク:マルチエージェント自己適応モデル(MASA)

取引におけるニューラルネットワーク:マルチエージェント自己適応モデル(MASA)

マルチエージェント自己適応(MASA: Multi-Agent Self-Adaptive)フレームワークについて紹介します。本フレームワークは、強化学習と適応戦略を組み合わせ、変動の激しい市場環境においても収益性とリスク管理のバランスを実現します。
preview
プライスアクション分析ツールキットの開発(第45回):MQL5で動的水準分析パネルを作成する

プライスアクション分析ツールキットの開発(第45回):MQL5で動的水準分析パネルを作成する

この記事では、ワンクリックで任意の価格水準をテストできる強力なMQL5ツールについて説明します。テストしたい価格を入力して分析ボタンを押すと、EAは過去のデータを瞬時にスキャンし、チャート上でその水準に触れた箇所やブレイクアウトをハイライト表示します。また、統計情報を整理されたダッシュボードに表示し、価格がその水準にどの程度反応したか、ブレイクしたか、サポートとして機能したか、レジスタンスとして働いたかを一目で確認できます。以下では、詳細な手順について解説します。
preview
取引におけるニューラルネットワーク:二重アテンションベースのトレンド予測モデル

取引におけるニューラルネットワーク:二重アテンションベースのトレンド予測モデル

前回の記事で取り上げた時系列の区分線形表現の活用について、引き続き議論します。本日は、この手法を他の時系列分析手法と組み合わせることで、価格動向の予測精度を向上させる方法を探ります。
preview
血液型遺伝最適化(BIO)

血液型遺伝最適化(BIO)

人間の血液型の遺伝システムに着想を得た、新しい集団最適化アルゴリズム「血液型遺伝最適化(BIO)」を紹介します。このアルゴリズムでは、各解がそれぞれ固有の「血液型」を持ち、その血液型が進化の方法を決定します。自然界において子の血液型が特定の遺伝ルールに従って受け継がれるように、BIOでは新しい解が継承と突然変異の仕組みを通じて特性を獲得します。
preview
MQL5における取引戦略の自動化(第47回):ヘッジ機能を備えたNick Rypock Trailing Reverse (NRTR)

MQL5における取引戦略の自動化(第47回):ヘッジ機能を備えたNick Rypock Trailing Reverse (NRTR)

MQL5でNick Rypock Trailing Reverse (NRTR)取引システムを開発します。このシステムは、NRTRチャネルインジケータを用いて反転シグナルを検出し、トレンドフォロー型のエントリーを実現します。また、買いポジションと売りポジションの両方に対応したヘッジ機能も備えています。さらに、エクイティまたは口座残高に基づく自動ロット計算、ATR倍率を用いた固定または動的なストップロスおよびテイクプロフィット設定、ならびにポジション数制限などのリスク管理機能も実装します。
preview
ラリー・ウィリアムズの『市場の秘密』(第10回):スマッシュデー反転パターンの自動化

ラリー・ウィリアムズの『市場の秘密』(第10回):スマッシュデー反転パターンの自動化

ルールベースのエキスパートアドバイザー(EA)を構築し、動的なリスク管理、ブレイクアウト確認ロジック、そして「常に1ポジションのみ保有する」売買ルールを組み込みます。読者は、MetaTrader 5のストラテジーテスターと付属のソースコードを用いてバックテストを実施し、結果を再現するとともに、各パラメータがパフォーマンスへ与える影響を検証できます。
preview
MQL5取引ツール(第18回):向き制御対応の角丸吹き出し

MQL5取引ツール(第18回):向き制御対応の角丸吹き出し

角丸長方形と三角形のポインタを組み合わせることで、MQL5における角丸の吹き出しを作成する方法を紹介します。また、ポインタの向きを上、下、左、右に制御する方法についても解説します。さらに、形状のジオメトリの事前計算、スーパーサンプリングによる塗りつぶし、頂点部の丸みを持たせた円弧処理、および継ぎ目を滑らかに接続するための拡張比を用いた分割枠線の描画について詳しく説明します。サイズ、角丸半径、色、不透明度、線の太さなどを自由に設定できるコードを提供しており、トレーディングインターフェースのアラートやツールチップなどにそのまま利用できます。
preview
取引におけるニューラルネットワーク:対照パターンTransformer(最終回)

取引におけるニューラルネットワーク:対照パターンTransformer(最終回)

本連載の前回の記事では、Atom-Motif Contrastive Transformer (AMCT)フレームワークについて取り上げました。これは、対照学習を用いて、基本要素から複雑な構造に至るまでのあらゆるレベルで重要なパターンを発見することを目的とした手法です。この記事では、MQL5を用いたAMCTアプローチの実装を引き続き解説していきます。
preview
取引所価格のバイナリコードの分析(第1回):テクニカル分析の新たな視点

取引所価格のバイナリコードの分析(第1回):テクニカル分析の新たな視点

本記事では、価格変動をバイナリコードに変換するという新しい視点からテクニカル分析にアプローチします。筆者は、シンプルな値動きから複雑な市場パターンに至るまで、あらゆる市場行動を「0」と「1」のシーケンスとして符号化できることを示します。
preview
定量的トレンド分析:Pythonで統計情報を収集する

定量的トレンド分析:Pythonで統計情報を収集する

外国為替市場における定量的トレンド分析とは何でしょうか。本記事では、EURUSD通貨ペアにおけるトレンド、その大きさ、分布に関する統計を収集します。利益を生む取引用エキスパートアドバイザー(EA)の開発に、定量的トレンド分析がどのように役立つかも示します。
preview
初級から中級まで:共用体(I)

初級から中級まで:共用体(I)

この記事では、union(共用体)とは何かを見ていきます。ここでは実験を通じて、unionを使用できる最初の構文について分析していきます。ただし、ここで紹介するのは一連の概念や情報の中核部分にすぎません。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
取引におけるニューラルネットワーク:2次元接続空間モデル(最終回)

取引におけるニューラルネットワーク:2次元接続空間モデル(最終回)

革新的なChimeraフレームワークの探求を続けます。このフレームワークは、ニューラルネットワーク技術を用いて多次元時系列を解析する二次元状態空間モデル(2D-SSM)です。この手法は、高い予測精度と低い計算コストを両立します。
preview
最適化におけるカスタム基準への新しいアプローチ(第1回):活性化関数の例

最適化におけるカスタム基準への新しいアプローチ(第1回):活性化関数の例

これは、カスタム基準に関する数学的考察をおこなう連載記事の第1回目です。特に、ニューラルネットワークで使用される非線形関数、実装用のMQL5コード、さらにターゲットオフセットや補正オフセットの活用に焦点を当てています。
preview
フラクタルベースアルゴリズム(FBA)

フラクタルベースアルゴリズム(FBA)

最適化問題を解くための、フラクタルアプローチに基づく新しいメタヒューリスティック手法を紹介します。本アルゴリズムは、探索空間を分割しながら有望な領域を順次特定し分割していくことで、自己相似的なフラクタル構造を形成し、計算資源を最も有望な領域へ集中的に投入します。さらに、より良い解を指向する独自の突然変異メカニズムにより、探索空間における探索と活用の最適なバランスを実現し、アルゴリズムの効率を大幅に向上させています。