MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
Connexusの本体(第4回):HTTP本体サポートの追加

Connexusの本体(第4回):HTTP本体サポートの追加

この記事では、JSONやプレーンテキストなどのデータを送信するために不可欠な、HTTPリクエストにおける本体(ボディ)の概念について探りました。適切なヘッダを使った正しい使い方を議論し、説明しました。また、Connexusライブラリの一部であるChttpBodyクラスを導入し、リクエストの本体の処理を簡素化しました。
preview
知っておくべきMQL5ウィザードのテクニック(第47回):時間差分を用いた強化学習

知っておくべきMQL5ウィザードのテクニック(第47回):時間差分を用いた強化学習

時間差分学習は、エージェントの訓練中に予測された報酬と実際の報酬の差に基づいてQ値を更新する強化学習のアルゴリズムの一つです。特に、状態と行動のペアにこだわらずにQ値を更新する点に特徴があります。したがって、これまでの記事と同様に、ウィザードで作成したエキスパートアドバイザー(EA)での適用方法を検討していきます。
preview
Connexus Observer(第8回):リクエストObserverの追加

Connexus Observer(第8回):リクエストObserverの追加

連載「Connexusライブラリ」の最終回では、Observerパターンの実装に加え、ファイルパスやメソッド名に関する重要なリファクタリングについて解説します。本連載を通じて、複雑なアプリケーションにおけるHTTP通信を簡素化することを目的としたConnexusの開発全体を取り上げました。
preview
ロイヤルフラッシュ最適化(RFO)

ロイヤルフラッシュ最適化(RFO)

オリジナルの「ロイヤルフラッシュ最適化」アルゴリズムは、最適化問題を解決するための新しいアプローチを提示しています。この手法では、遺伝的アルゴリズムで一般的に用いられる古典的な二進符号化を、ポーカーの原理に着想を得たセクターベースのアプローチに置き換えています。RFOは、基本原理を単純化することで、効率的かつ実用的な最適化手法が実現できることを示しています。本記事では、アルゴリズムの詳細な解析とテスト結果を紹介します。
preview
最適化におけるカスタム基準への新しいアプローチ(第1回):活性化関数の例

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

これは、カスタム基準に関する数学的考察をおこなう連載記事の第1回目です。特に、ニューラルネットワークで使用される非線形関数、実装用のMQL5コード、さらにターゲットオフセットや補正オフセットの活用に焦点を当てています。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第9回):二重移動平均クロスオーバー

MQL5で自己最適化エキスパートアドバイザーを構築する(第9回):二重移動平均クロスオーバー

本記事では、二重移動平均クロスオーバー戦略の設計について説明します。この戦略では、上位時間足(例:日足、D1)のシグナルを参照して下位時間足(例:15分足、M15)でエントリーをおこない、ストップロスレベルは中間的リスク時間足(例:4時間足、H4)から算出します。システム定数やカスタム列挙型、トレンドフォローと平均回帰(ミーンリバージョン)モードに対応したロジックを導入し、モジュール化と将来的な遺伝的アルゴリズムによる最適化を重視しています。このアプローチにより、柔軟なエントリーとエグジットの条件を設定でき、下位時間足でのエントリーを高い時間足のトレンドに合わせることで、シグナルのラグを軽減し、取引タイミングを改善することを目指しています。
preview
プライスアクション分析ツールキットの開発(第38回):ティックバッファVWAPと短期不均衡エンジン

プライスアクション分析ツールキットの開発(第38回):ティックバッファVWAPと短期不均衡エンジン

第38回では、生のティックを実用的なシグナルに変換する、実稼働グレードのMT5監視パネルを構築します。EAはティックデータをバッファリングし、ティックレベルのVWAP、短期ウィンドウの不均衡(フロー)指標、ATRに基づくポジションサイズを計算します。その後、スプレッド、ATR、フローを低フリッカーのバーで可視化します。システムは推奨ロットサイズと1Rストップを計算し、狭いスプレッド、強いフロー、エッジ条件に対して設定可能なアラートを発行します。自動取引は意図的に無効化しており、堅牢なシグナル生成とクリーンなユーザー体験に重点を置いています。
preview
プライスアクション分析ツールキットの開発(第41回):MQL5で統計的価格レベルEAを構築する

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

統計は常に金融分析の中心にあります。統計とは、データを収集・分析・解釈・提示し、意味のある情報に変換する学問です。これをローソク足に応用すると、価格の生データを測定可能な洞察に圧縮できます。特定期間における市場の中心傾向、分布、広がりを把握できれば、どれほど有益でしょうか。本記事では、統計的手法を用いてローソク足データを明確で実行可能なシグナルに変換する方法を紹介します。
preview
MQL5での取引戦略の自動化(第44回):スイングハイ/ローのブレイクによる性格の変化(CHoCH)検出

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

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

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

本記事では、カオス理論と適応型探索メカニズムを組み合わせた改良型カオス最適化(COA)を紹介します。このアルゴリズムでは、複数のカオス写像と慣性成分を利用して探索空間を効率的に走査します。また、金融最適化におけるカオス的手法の理論的基盤についても解説します。
preview
データサイエンスとML(第39回):ニュース × 人工知能、それに賭ける価値はあるか

データサイエンスとML(第39回):ニュース × 人工知能、それに賭ける価値はあるか

ニュースは金融市場を動かす力を持っており、特に非農業部門雇用者数(NFP)のような主要指標の発表は大きな影響を与えます。私たちは、単一のヘッドラインが急激な価格変動を引き起こす様子を何度も目にしてきました。本記事では、ニュースデータと人工知能(AI)の強力な融合について探っていきます。
preview
MQL5入門(第21回):ハーモニックパターン検出の自動化

MQL5入門(第21回):ハーモニックパターン検出の自動化

MetaTrader 5でMQL5を使ってガートリーハーモニックパターンを検出して表示する方法を学びます。この記事では、スイングポイントの特定からフィボナッチ比率の適用、チャート上へのパターン描画までの手順を順を追って解説し、視覚的に確認できる形で表示する方法を紹介します。
preview
適応型社会行動最適化(ASBO):Schwefel、ボックス=ミュラー法

適応型社会行動最適化(ASBO):Schwefel、ボックス=ミュラー法

この記事は、生物の社会的行動の世界と、それが新たな数学モデルであるASBO(適応型社会的行動最適化、Adaptive Social Behavior Optimization)の構築に与える影響について、興味深い洞察を提供します。生物社会におけるリーダーシップ、近隣関係、協力の原則が、革新的な最適化アルゴリズムの開発にどのように着想を与えるのかを探ります。
preview
取引におけるニューラルネットワーク:統合軌道生成モデル(UniTraj)

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

エージェントの行動を理解することはさまざまな分野で重要ですが、ほとんどの手法は特定のタスク(理解、ノイズ除去、予測)に焦点を当てており、そのため実際のシナリオでは効果的に活用できないことが多いです。この記事では、さまざまな問題を解決するために適応可能なモデルについて説明します。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第7回):複数期間での同時取引

MQL5で自己最適化エキスパートアドバイザーを構築する(第7回):複数期間での同時取引

本連載記事では、テクニカル指標を使用する際の最適な期間を特定するためのさまざまな方法を検討してきました。本記事では、読者に対して逆のロジックを示します。すなわち、単一の最適期間を選ぶのではなく、利用可能なすべての期間を効果的に活用する方法を示します。このアプローチにより廃棄されるデータ量が減少し、通常の価格予測以外に機械学習アルゴリズムを活用する方法も得られます。
preview
サイクルベースの取引システム(DPO)の構築と最適化の方法

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

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

金融モデリングにおける合成データのための敵対的生成ネットワーク(GAN)(第1回):金融モデリングにおけるGANと合成データの紹介

この記事では、モデル訓練におけるデータの制限に対処しながら、合成金融データを生成するための敵対的生成ネットワーク(GAN)をトレーダーに紹介します。GANの基礎、PythonおよびMQL5コードの実装、金融における実用的なアプリケーションをカバーし、トレーダーが合成データを通じてモデルの精度と堅牢性を高めることができるようにします。
preview
取引におけるニューラルネットワーク:シャープネス低減によるTransformerの効率向上(SAMformer)

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

Transformerモデルの学習には大量のデータが必要であり、小規模データセットに対しては汎化性能が低いため、学習はしばしば困難です。SAMformerフレームワークは、この問題を回避し、不良な局所最小値に陥ることを防ぐことで解決を助けます。これにより、限られた学習データセットにおいてもモデルの効率が向上します。
preview
MQL5経済指標カレンダーを使った取引(第9回):動的スクロールバーと洗練表示によるニュースインタラクション強化

MQL5経済指標カレンダーを使った取引(第9回):動的スクロールバーと洗練表示によるニュースインタラクション強化

本記事では、直感的なニュースナビゲーションを実現する動的なスクロールバーを追加してMQL5経済指標カレンダーを強化します。シームレスなイベント表示と効率的な更新を保証します。テストを通じて、レスポンシブなスクロールバーと洗練されたダッシュボードを検証します。
preview
古典的な戦略を再構築する(第15回):デイリーブレイクアウト取引戦略

古典的な戦略を再構築する(第15回):デイリーブレイクアウト取引戦略

コンピュータが登場する以前から、人間のトレーダーは長年にわたり金融市場に参加し、意思決定を導く経験則を培ってきました。本記事では、よく知られたブレイクアウト戦略を再検証し、こうした経験から得られた市場ロジックがシステマティックな手法に対抗し得るのかをテストします。結果として、元の戦略は高い精度を示した一方で、不安定性とリスク管理の弱さが明らかになりました。そこで本記事ではアプローチを改良し、裁量的な洞察をより堅牢なアルゴリズム取引戦略へと適応する方法を示します。
preview
MQL5入門(第21回):ハーモニックパターン検出の自動化

MQL5入門(第21回):ハーモニックパターン検出の自動化

MetaTrader 5でMQL5を使ってガートリーハーモニックパターンを検出して表示する方法を学びます。この記事では、スイングポイントの特定からフィボナッチ比率の適用、チャート上へのパターン描画までの手順を順を追って解説し、視覚的に確認できる形で表示する方法を紹介します。
preview
知っておくべきMQL5ウィザードのテクニック(第63回):DeMarkerとEnvelope Channelsのパターンを活用する

知っておくべきMQL5ウィザードのテクニック(第63回):DeMarkerとEnvelope Channelsのパターンを活用する

DeMarkerオシレーターとEnvelopesインジケーターは、エキスパートアドバイザー(EA)を開発するときに組み合わせることができるモメンタムおよびサポート/レジスタンスツールです。パターンごとに何が役に立つのか、そして何を避けることができるのかを調べます。いつものように、ウィザードで組み立てられたEAと、エキスパートシグナルクラスに組み込まれているパターン使用関数を使用しています。
preview
知っておくべきMQL5ウィザードのテクニック(第69回):SARとRVIのパターンの使用

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

パラボリックSAR (SAR)と相対活力指数(RVI)は、MQL5のエキスパートアドバイザー(EA)内で併用可能なもう一つのインジケーターペアです。このインジケーターペアは、これまでに取り上げたものと同様に補完的で、SARはトレンドを定義し、RVIはモメンタムを確認します。通常通り、MQL5ウィザードを使用してこのインジケーターペアリングを構築し、その可能性をテストします。
preview
MQL5取引ツール(第5回):リアルタイム銘柄監視のためのローリングティッカーテープの作成

MQL5取引ツール(第5回):リアルタイム銘柄監視のためのローリングティッカーテープの作成

本記事では、MQL5を用いて複数の通貨ペアをリアルタイムで監視できるローリングティッカーテープを開発します。Bid価格(買値)、スプレッド、日次変化率をスクロール表示し、価格変動やトレンドを効果的に強調するために、フォント、色、スクロール速度をカスタマイズ可能にします。
preview
初心者からエキスパートへ:FX市場の取引期間

初心者からエキスパートへ:FX市場の取引期間

すべての市場の取引期間には始まりと終わりがあり、それぞれは終値によって完結します。この終値がその期間のセンチメントを定義します。各ローソク足のセッションも同様に、終値によってその性質が示されます。これらの基準点を理解することで、市場における現在のムードを測定でき、強気勢力と弱気勢力のどちらが支配しているのかを明らかにすることが可能になります。本記事では、Market Periods Synchronizerに新しい機能を開発するという重要な段階に進みます。この機能は、FX市場のセッションを可視化するものであり、より情報に基づいた取引判断を支援します。このツールは、強気派と弱気派のどちらがセッションを支配しているのかをリアルタイムで識別するうえで特に有効です。それでは、この概念について検討し、それが提供する洞察を明らかにしていきます。
preview
MetaTrader 5機械学習の設計図(第6回):実務で使えるキャッシュシステムの設計

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

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

取引戦略の開発:Flower Volatility Indexのトレンドフォローアプローチ

市場のリズムを解読する絶え間ない探求により、トレーダーやクオンツアナリストは数多くの数学モデルを生み出してきました。本記事では、Flower Volatility Index (FVI)を紹介します。これは、バラ曲線の数学的優雅さを実用的な取引ツールに変換した新しいアプローチです。この研究を通じて、数学モデルを実際の市場環境で分析や意思決定を支援できる実用的な取引メカニズムに適応できることを示しました。
preview
利益強化アーキテクチャ:多層型口座保護

利益強化アーキテクチャ:多層型口座保護

このディスカッションでは、積極的な利益目標を追求しながら、壊滅的な損失へのエクスポージャーを最小限に抑えることを目的とした、構造化された多層防御システムを紹介します。本システムの焦点は、取引パイプラインのあらゆるレベルにおいて、攻撃的な売買ロジックと保護的な安全機構を組み合わせることにあります。その狙いは、このEAを「リスクを認識する捕食者」のように設計することです。すなわち、高価値な機会を捉える能力を持ちながらも、突発的な市場ストレスに対して盲目的になることを防ぐための複数の防護層を常に備えている状態を目指します。
preview
取引におけるニューラルネットワーク:Segment Attentionを備えたパラメータ効率重視Transformer (PSformer)

取引におけるニューラルネットワーク:Segment Attentionを備えたパラメータ効率重視Transformer (PSformer)

この記事では、新しいPSformerフレームワークを紹介します。これは、従来のTransformerアーキテクチャを多変量時系列予測の問題に適応させたものです。本フレームワークは、パラメータ共有(PS)機構とSegment Attention機構(SegAtt)の2つの主要な革新に基づいています。
preview
知っておくべきMQL5ウィザードのテクニック(第85回):ストキャスティクスとFrAMAのパターンを用いたβ-VAEによる推論

知っておくべきMQL5ウィザードのテクニック(第85回):ストキャスティクスとFrAMAのパターンを用いたβ-VAEによる推論

本記事は、ストキャスティクスとフラクタル適応型移動平均の組み合わせを紹介した「第84回」の続きです。今回は推論フェーズでの学習結果の活用に焦点を移し、前回の記事で取り上げた低調なパターンの成績を改善できるかどうかを検討します。ストキャスティクスとFrAMAは、モメンタムとトレンドを補完する関係にあります。推論フェーズでの学習結果の活用では、以前に考察したβ変分オートエンコーダ(β-VAE)のアルゴリズムを再度利用します。また、いつものように、MQL5ウィザードとの統合を目的として設計されたカスタムシグナルクラスの実装も継続します。
preview
初級から中級まで:定義(I)

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

この記事では、多くの人が奇妙でまったく脈絡がないと感じるであろうことを扱います。しかし、それらを正しく活用すれば、学習はより楽しく、さらに興味深いものになるでしょう。ここで示す内容を基に、かなり面白いものを構築することも可能です。これにより、MQL5言語の構文をより深く理解できるようになるでしょう。なお、本記事の内容は教育目的に限定されており、完成されたアプリケーションとして捉えるべきではありません。ここでの目的は、提示された概念そのものを応用することではありません。
preview
初級から中級まで:テンプレートとtypename(IV)

初級から中級まで:テンプレートとtypename(IV)

本記事では、前回の記事の最後で提示した問題の解決方法について詳しく解説します。そのために、データunionのテンプレートを作成できるタイプのテンプレートを設計しようという試みがおこなわれました。
preview
Pythonによる農業国通貨への天候影響分析

Pythonによる農業国通貨への天候影響分析

天候と外国為替にはどのような関係があるのでしょうか。古典的な経済理論は、天候のような要因が市場の動きに与える影響を長い間無視してきました。しかし、すべてが変わりました。天候条件と農業通貨の市場でのポジションとの間に、どのようなつながりがあるのかを探ってみましょう。
preview
プライスアクション分析ツールキットの開発(第48回):加重バイアスダッシュボードを備えた多時間軸ハーモニー指数

プライスアクション分析ツールキットの開発(第48回):加重バイアスダッシュボードを備えた多時間軸ハーモニー指数

本記事では、「多時間軸ハーモニー指数」を紹介します。これはMetaTrader 5向けの高度なエキスパートアドバイザー(EA)で、複数の時間軸からのトレンドの傾向を加重平均し、EMAによって平滑化したうえで、見やすいチャートパネル型ダッシュボードに表示します。さらに、カスタマイズ可能なアラート機能に加え、強いバイアスの閾値を超えた際には自動で売買シグナルをチャート上に描画します。複数時間軸分析を活用し、市場構造に沿ったエントリーを目指すトレーダーに最適なEAです。
preview
データサイエンスとML(第47回):DeepARモデルによるPythonでの市場予測

データサイエンスとML(第47回):DeepARモデルによるPythonでの市場予測

DeepARと呼ばれる時系列予測のための優れたモデルを用いて、市場の予測を試みます。DeepARは、ARIMA(自己回帰和分移動平均)やVAR(ベクトル自己回帰)のようなモデルに見られる自己回帰的な性質とディープニューラルネットワークを組み合わせたモデルです。
preview
リプレイシステムの開発(第60回):サービスの再生(I)

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

これまで長い間インジケーターだけに取り組んできましたが、今度はサービスを再び稼働させて、提供されたデータに基づいてチャートがどのように構築されるかを確認するときが来ました。しかし、すべてがそれほど単純ではないので、先に何が待ち受けているのかを理解するために注意深くならなければなりません。
preview
初級から中級まで:配列(IV)

初級から中級まで:配列(IV)

この記事では、C、C++、Javaなどの言語で実装されていることと非常によく似たことを実現する方法について見ていきます。つまり、関数や手続きにほぼ無限の数のパラメータを渡す方法についてです。これは一見すると高度なトピックに思えるかもしれませんが、前回までの内容をきちんと理解していれば、実装は決して難しくありません。もちろん、それらの内容を本当に理解していることが前提です。
preview
取引におけるニューラルネットワーク:方向性拡散モデル(DDM)

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

本稿では、前向き拡散過程においてデータ依存的な異方性および方向性を持つノイズを活用するDirectional Diffusion Models(DDM、方向性拡散モデル)について議論し、意味のあるグラフ表現を捉える手法を紹介します。
preview
ログレコードをマスターする(第7回):チャートにログを表示する方法

ログレコードをマスターする(第7回):チャートにログを表示する方法

MetaTraderのチャート上に、フレームやタイトル、自動スクロール機能を備えたログ表示エリアを構築し、整理された形でログを確認する方法を解説します。本記事では、MQL5を用いてビジュアルログシステムを実装する手順を紹介します。これにより、ロボットの動作をリアルタイムで効率的に監視することが可能になります。
preview
MQL5での取引戦略の自動化(第37回):ビジュアル指標付きレギュラーRSIダイバージェンス・コンバージェンス検出

MQL5での取引戦略の自動化(第37回):ビジュアル指標付きレギュラーRSIダイバージェンス・コンバージェンス検出

本記事では、スイングポイントの強さを考慮し、バー制限や許容幅のチェックを組み合わせて、レギュラーRSIダイバージェンスを検出するMQL5エキスパートアドバイザー(EA)を作成します。このEAは、強気または弱気シグナルに基づいて固定ロットでエントリーし、SL/TPをpips単位で設定でき、任意でトレーリングストップも適用可能です。視覚要素として、チャート上に色分けされたラインおよびラベル付きスイングポイントを表示し、戦略分析を強化します。