MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
市場シミュレーション:MQL5でのSQL入門(V)

市場シミュレーション:MQL5でのSQL入門(V)

前回の記事では、クエリ機能を追加する方法について説明しました。 これにより、MQL5のコード内でSQLを自由に活用し、SQLのSELECTクエリを実行してデータを取得できるようになります。 しかし、実装すべき関数がもう一つ残っています。 それがDatabaseReadBind関数です。 この関数を正しく理解するには、もう少し詳しい説明が必要となるため、前回の記事では取り上げず、今回の記事で解説することにしました。 今回は比較的広範囲な内容となるため、さっそく本題に入りましょう。
preview
市場シミュレーション:MQL5でのSQL入門(I)

市場シミュレーション:MQL5でのSQL入門(I)

今回は、MQL5のコードでSQLを使用する方法について学び始めます。 また、データベースの作成方法についても解説します。 より正確には、MQL5に組み込まれた機能を利用して、SQLiteのデータベースファイルを作成する方法を取り上げます。 さらに、テーブルの作成方法や、主キーと外部キーを使用してテーブル間のリレーションシップを設定する方法についても説明します。 今回も、これらはすべてMQL5を使って実装します。 また、実装の詳細を隠蔽するクラスを利用することで、将来的にほかのSQL実装へ移行できるコードを、いかに簡単に作成できるかを見ていきます。 そして何より重要なのは、SQLを使用する際には、さまざまな場面で問題が発生する可能性があるということです。 これは、MQL5のコードでは、SQL文を常に文字列として記述しなければならないためです。
preview
MetaTrader 5における取引銘柄の時間帯別値動きと銘柄間スプレッドの分析

MetaTrader 5における取引銘柄の時間帯別値動きと銘柄間スプレッドの分析

移動平均線を組み込んだProSpread季節性指数インジケータは、価格変動における季節性パターンを特定し、特定の取引時間帯における値動きを分析するテクニカル分析ツールです。 単一の取引銘柄だけでなく、2つの資産間のスプレッドにも対応しており、価格が特定の方向に動く統計的な確率も可視化します。
preview
取引におけるニューラルネットワーク:異質性を考慮したメタパラメータ学習(HimNet)

取引におけるニューラルネットワーク:異質性を考慮したメタパラメータ学習(HimNet)

時空間適応の柔軟性と高い計算効率を兼ね備えたHimNetフレームワークをご紹介します。このフレームワークは、金融時系列データの高精度かつ安定した予測を可能にします。 主要な構成要素がどのように連携し、複雑なアルゴリズムを実用的で扱いやすいアーキテクチャへと落とし込んでいるのかを詳しく解説します。
preview
市場シミュレーション:ポジション表示(VI)

市場シミュレーション:ポジション表示(VI)

ポジション表示インジケータが、取引サーバー上の実際のポジション状況(保有ポジションの有無や現在の状態)を正確に反映できるよう、いくつかの改善をおこないます。 あらかじめお断りしておきますが、ここで紹介するアプリケーションは、MetaTrader 5に標準搭載されている機能を置き換えることを目的としたものではありません。 また、十分な注意と慎重な判断なしに使用することも避けてください。これらは、あくまでもシステムの仕組みを学ぶための学習用コードです。 私があえて「学習用コード」と呼んでいるのには理由があります。機能によっては、メッセージを使って実装することが必ずしも最適な方法とは限らないからです。
preview
線形自己回帰モデルの残差を用いた非線形U-Transformerの学習

線形自己回帰モデルの残差を用いた非線形U-Transformerの学習

線形自己回帰モデルと、残差分析に用いるU-Transformerアーキテクチャを組み合わせた、為替レート予測のための革新的なハイブリッドシステムを紹介します。 このシステムは、シグナルの品質に応じて使用する予測ソースを自動的に切り替えるほか、ナンピンやピラミッディング戦略を含む、一連の取引ロジックを備えています。 このアプローチの最大の利点は、ニューラルネットワークを線形モデルの残差を使って学習させる点にあります。これにより、ニューラルネットワークが取り組むべき課題を単純化し、過学習のリスクを低減できます。 システム全体はMQL5で実装されており、市場環境の変化に自動的に適応しながら、実際の取引に利用できるよう設計されています。
preview
夢最適化アルゴリズム(DOA)

夢最適化アルゴリズム(DOA)

議論の的となっており、まだ十分に研究されていない現象である「人間の夢」のメカニズムに着想を得た、集団ベースの最適化アルゴリズムです。 記憶特性の異なるエージェントグループ、余弦波による移動の変調、そして99対1という特異なフェーズ配分。これらの特徴が、取引戦略の最適化効率にどのような影響を与えるのかを検証します。
preview
取引におけるニューラルネットワーク:Temporal Queryモデル(最終回)

取引におけるニューラルネットワーク:Temporal Queryモデル(最終回)

TQNetフレームワークの開発とテストも、いよいよ最終段階を迎えました。今回は、理論を実際の取引環境に結び付け、過去のデータによる学習から、直近の市場データを用いたストレステストへと進みます。 モデルの頑健性と予測精度を評価し、最終的な結果を通じて、提案手法が実際の取引においてどのような価値を持つのかを明らかにします。 ここで得られるのは、単なる統計上の数値ではなく、実用性を具体的に示す結果です。
preview
取引におけるニューラルネットワーク:スケーリングの代わりに分解する(最終回)

取引におけるニューラルネットワーク:スケーリングの代わりに分解する(最終回)

時系列データを意味のある層に分解し、それらを活用して簡潔なモデルを構築するアルゴリズムをご紹介します。 そのアーキテクチャからMQL5/OpenCLによる具体的な実装、過去の市場データを用いた実証テストまで、体系的に解説します。
preview
取引におけるニューラルネットワーク:Temporal Queryモデル(TQNet)

取引におけるニューラルネットワーク:Temporal Queryモデル(TQNet)

TQNetフレームワークは、モジュール性、柔軟性、高い処理性能を兼ね備え、金融時系列データのモデリングと予測に新たな可能性を切り開きます。 高度なパラメータ初期化手法も含め、大域的な相関関係を捉えるための複雑なメカニズムを実装する可能性について考察します。
preview
決闘者アルゴリズム

決闘者アルゴリズム

もし、あなたの取引戦略が、実際の格闘家のように互いに学び合えるとしたら、どうでしょうか。 決闘者アルゴリズムは、取引システムのパラメータ同士が、文字どおり「最良」と呼ばれる権利を懸けて決闘する、新しい最適化手法です。
preview
取引におけるニューラルネットワーク:構造成分の分離(最終回)

取引におけるニューラルネットワーク:構造成分の分離(最終回)

SCNNアーキテクチャについて詳しく解説するとともに、MQL5を用いた実装方法の一例を紹介します。 特に、時系列分解をニューラルネットワークの手法やAttention機構と組み合わせる方法について説明します。
preview
取引におけるニューラルネットワーク:構造成分の分離(Encoder)

取引におけるニューラルネットワーク:構造成分の分離(Encoder)

柔軟性と解釈可能性を兼ね備え、時系列データの構造成分を精密に特定できるSCNN(Structured Component Neural Network:構造成分ニューラルネットワーク)フレームワークの実装に向けた次のステップを解説します。 市場環境の変化に対するモデルの頑健性を支える、適応的正規化とAttention機構の仕組みについて詳しく解説します。
preview
取引におけるニューラルネットワーク:構造成分の分離(SCNN)

取引におけるニューラルネットワーク:構造成分の分離(SCNN)

データを長期成分、季節成分、短期成分、残差成分に明確に分解することで、時系列分析を新たな段階へと引き上げる革新的なSCNNフレームワークをご紹介します。 このアプローチでは、モデルが複雑かつ変化し続ける市場の動向に適応できるため、予測精度の大幅な向上が期待できます。
preview
取引におけるニューラルネットワーク:多変量時系列予測のためのエンドツーエンドモデル(最終回)

取引におけるニューラルネットワーク:多変量時系列予測のためのエンドツーエンドモデル(最終回)

時系列予測のためのニューラルネットワークフレームワークであるGinARフレームワークに関する連載の最終回です。 新たなデータを用いたモデルのテスト結果を分析し、実際の市場環境における頑健性を評価します。
preview
取引におけるニューラルネットワーク:多変量時系列予測のためのエンドツーエンドモデル(主要構成要素)

取引におけるニューラルネットワーク:多変量時系列予測のためのエンドツーエンドモデル(主要構成要素)

GinARフレームワークの主要構成要素の新たな実装例を紹介します。GinARは、グラフ構造時系列のデータを扱うための適応型アルゴリズムです。 そのアーキテクチャに加え、順伝播と誤差逆伝播のアルゴリズムを段階的に詳しく解説します。
preview
取引におけるニューラルネットワーク:多変量時系列予測のためのエンドツーエンドモデル(GinAR)

取引におけるニューラルネットワーク:多変量時系列予測のためのエンドツーエンドモデル(GinAR)

GinARフレームワークを用いた、欠損データを含む時系列予測への革新的なアプローチを紹介します。 本記事では、高い処理性能を実現するため、OpenCLを用いて主要な構成要素を実装する方法を解説します。 次回の記事では、これらのソリューションをMQL5に統合する方法について詳しく取り上げます。 これにより、実際の取引においてこの手法をどのように活用できるかを理解しやすくなるでしょう。
preview
取引におけるニューラルネットワーク:確率的時系列予測(最終回)

取引におけるニューラルネットワーク:確率的時系列予測(最終回)

K²VAEフレームワークの概要と、提案された手法を取引システムにどのように統合できるかについて解説します。 Koopman–Kalman–VAEを組み合わせたハイブリッドアプローチが、適応性と解釈可能性を備えたモデルの構築にどのように役立つのかを紹介します。 最後に、実装した手法を用いて得られた実践的な成果についても取り上げます。
preview
取引におけるニューラルネットワーク:確率的時系列予測(Encoder)

取引におけるニューラルネットワーク:確率的時系列予測(Encoder)

時系列解析における、従来の手法と最新のニューラルネットワークを融合した新たなアプローチを紹介します。 K²VAEモデルのアーキテクチャと動作原理について詳しく解説します。
preview
取引におけるニューラルネットワーク:確率的時系列予測(K2VAE)

取引におけるニューラルネットワーク:確率的時系列予測(K2VAE)

K²VAEフレームワークのオリジナル実装を見ていきましょう。これは、潜在空間における複雑なダイナミクスを線形近似できる柔軟なモデルです。 この記事では、パラメータ化された行列や、標準的なニューラルネットワーク層の外部でそれらを管理する方法など、MQL5における主要なコンポーネントの実装方法を解説します。 この資料は、解釈可能な時系列モデルを構築するための実践的なアプローチを探している方にとって役立つでしょう。
preview
取引におけるニューラルネットワーク:適応的周期セグメンテーション(最終回)

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

LightGTSの刺激的な世界へぜひ飛び込んでみてください。LightGTSは、時系列予測のための軽量かつ強力なフレームワークです。適応型畳み込みやRoPEによるエンコーディングを、革新的なAttentionメカニズムと組み合わせています。 本記事では、パッチの生成からDecoder内の複雑な混合エキスパートに至るまで、MQL5プロジェクトに組み込めるすべてのコンポーネントを詳しく解説します。 LightGTSが自動売買をいかにして全く新しい次元へと引き上げるのかをぜひご覧ください。
preview
取引におけるニューラルネットワーク:適応的周期セグメンテーション(LightGTS)

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

時系列の内部周期性を考慮しながら、データを柔軟に分割する「適応的パッチ化」という革新的な手法をご紹介します。 さらに、異なるスケールのデータを扱う際にも、重要な意味的特性を保持できる効率的なエンコーディング手法について解説します。 これらの手法により、金融市場に特有の複雑なマルチスケールデータをより正確に処理できるようになり、予測の安定性と信頼性の大幅な向上が期待できます。
preview
取引におけるニューラルネットワーク:インテリジェントな予測パイプライン(スパース混合エキスパート)

取引におけるニューラルネットワーク:インテリジェントな予測パイプライン(スパース混合エキスパート)

OpenCLコンピューティング環境で、時系列データ向けのスパース混合エキスパートブロックを実装する実践的な方法を見ていきましょう。 この記事では、マスク付きマルチウィンドウ畳み込みの仕組みを段階的に解説するとともに、複数の情報ストリームが存在する場合に、勾配ベースの学習がどのように構成されるのかについても説明します。
preview
初級から中級まで:サンドボックスの操作

初級から中級まで:サンドボックスの操作

MetaTrader 5をベースプラットフォームとして、サンドボックスの内容を調べ、さらにはその中で操作をおこなうための2つの方法について解説します。 本記事の内容を理解することは、今後の記事で取り上げる内容を理解するうえで不可欠です。
preview
初級から中級まで:ランダムアクセス(II)

初級から中級まで:ランダムアクセス(II)

2つのわずかに異なるアプローチが、パフォーマンスやディスクI/Oの設計を含む実装全体の方針に、どのような大きな違いをもたらすのかを考察します。また、アプリケーション間の互換性の問題を防ぐうえで、これらのアプローチがどのように役立つのかについても解説します。
preview
MQL5をマスターする — 初心者からプロまで(第7回):MQLアプリケーションのデバッグの原則

MQL5をマスターする — 初心者からプロまで(第7回):MQLアプリケーションのデバッグの原則

デバッグは、プログラミングサイクルにおいて不可欠な要素です。 この記事では、MetaTrader 5環境で動作するあらゆるアプリケーションのデバッグに用いられる一般的な手法について解説します。
preview
初級から中級まで:オブジェクトイベント(II)

初級から中級まで:オブジェクトイベント(II)

オブジェクトによって発生する残り3種類のイベントが、どのように機能するのかを見ていきましょう。 これらを理解することは非常に興味深いものになるはずです。というのも、最後には、多くの人にとって突拍子もないことに思えるかもしれませんが、実際には十分に実現可能で、非常に驚くべき結果をもたらす機能を実装するからです。
preview
取引におけるニューラルネットワーク:インテリジェントな予測パイプライン(Time-MoE)

取引におけるニューラルネットワーク:インテリジェントな予測パイプライン(Time-MoE)

時系列予測タスク向けに適応された最新のTime-MoEフレームワークを詳しく見ていきましょう。 アーキテクチャの主要な構成要素を段階的に実装しながら、随所で解説と実践的な例を紹介します。 このアプローチにより、モデルの仕組みを理解するだけでなく、その原理を実際の取引シナリオに応用することも可能になります。
preview
取引におけるニューラルネットワーク:クロスドメイン時系列予測フレームワーク(最終回)

取引におけるニューラルネットワーク:クロスドメイン時系列予測フレームワーク(最終回)

時系列予測モデルTimeFoundの実践的な実装に焦点を当てます。 MQL5を用いて、このフレームワークの主要な手法を実装する際の重要な段階について解説します。
preview
取引におけるニューラルネットワーク:クロスドメイン時系列予測フレームワーク「TimeFound」

取引におけるニューラルネットワーク:クロスドメイン時系列予測フレームワーク「TimeFound」

TimeFoundのインテリジェントモデルの中核を段階的に構築し、実世界の時系列予測タスクに適用していきます。 MQL5におけるニューラルネットワークのパッチ化アルゴリズムの実践的な実装に興味がある方にとって、うってつけの記事です。
preview
取引におけるニューラルネットワーク:高精度分類のための効果的な特徴抽出(オブジェクトの実装)

取引におけるニューラルネットワーク:高精度分類のための効果的な特徴抽出(オブジェクトの実装)

Mantisは、金融分野のさまざまなシナリオに柔軟に対応できる、拡張性に優れた時系列分析ツールです。 本記事では、パッチ化、局所畳み込み、クロスアテンションを組み合わせることで、市場のパターンを高精度に捉えられる仕組みについて解説します。
preview
初級から中級まで:オブジェクト(II)

初級から中級まで:オブジェクト(II)

今回の記事では、コードを使ってオブジェクトのプロパティを簡単に制御する方法を紹介します。 また、カスタムアプリケーションから、同じチャート上に複数のオブジェクトを配置する方法も見ていきます。 さらに、インジケーターを実装する際に、短縮名を設定することがなぜ重要なのかについても、理解を深めていきます。
preview
市場シミュレーション(第22回):SQL入門(V)

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

SQLの学習をあきらめ、やめてしまおうと決める前に、ここで扱っているのは、まだ最も基本的な要素だけであることを改めてお伝えしておきます。 SQLには、まだ紹介していない機能もあります。 それらを理解すれば、SQLが想像以上に実用的なものであることがわかるでしょう。 もっとも、開発は進めながら変化していくものなので、最終的には、現在の取り組みの方向性を変えることになるかもしれません。 SQLを使ってさまざまなものを作る方法についても、もう少し紹介していく予定です。これらは、皆さんにとって本当に重要で、役に立つ知識だからです。 プログラマーや開発者のコミュニティ全体よりも自分のほうが優れていると考えるだけでは、時間と機会を無駄にするだけです。 ご安心ください。この先は、さらに興味深い内容になっていきます。
preview
初級から中級まで:オブジェクト(I)

初級から中級まで:オブジェクト(I)

この記事では、チャート上のオブジェクトを直接操作する方法について解説していきます。 そのために使用するのは、デモンストレーション用に特別に作成したコードです。 オブジェクトを扱う作業は非常に興味深く、とても楽しいものです。 このテーマを取り上げるのは今回が初めてなので、まずはごく簡単なところから始めましょう。
preview
取引におけるニューラルネットワーク:データ固有の依存性なしに時系列を一般化する(結論)

取引におけるニューラルネットワーク:データ固有の依存性なしに時系列を一般化する(結論)

Mamba4Castが理論をどのように実用的な取引アルゴリズムへと発展させるのか、そして読者自身が実験をおこなうための基盤をどのように築くのかを紹介します。 独自の取引戦略を開発するための知識と着想を得る、この機会をぜひお見逃しなく。
preview
市場シミュレーション(第21回):SQL入門(IV)

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

私よりもデータベースを扱った経験がはるかに豊富で、そのため異なる見解をお持ちの方も多いかもしれません。 データベースがなぜ現在のような設計になっているのか、そしてなぜSQLが現在のような形式になっているのか、特に、なぜ主キーや外部キーという仕組みが生まれたのかを説明する必要があったため、一部の説明は、どうしてもやや抽象的なままにせざるを得ませんでした。
preview
初級から中級まで:インジケーター(V)

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

この記事では、チャート描画モードを変更したいというユーザーの要望に、どのように対応すればよいかを解説します。 これは、インジケーターが現在のチャート描画モードに適した表示となり、MetaTrader 5のユーザーが期待する見た目と異なったり、不自然な表示になったりするのを防ぐために必要です。
preview
市場シミュレーション:ポジション表示(V)

市場シミュレーション:ポジション表示(V)

前回の記事で示した内容だけを見ると、これらはすべて一見すると簡単なことのように思えるかもしれません。しかし実際には、まだいくつもの問題が残っており、完了しなければならない作業も数多くあります。読者の皆さんは、すべてが簡単で分かりやすいものだと思ってしまうかもしれません。経験がないために、目の前に提示されたものをそのまま受け入れてしまうこともあるでしょう。しかし、それは避けるべき間違いです。さらに悪いのは、自分が実際に何を使っているのかを十分に理解しないまま、何かを利用しようとすることです。初心者は、しばしばコピー&ペーストの段階を経験します。もし、いつまでもその段階にとどまりたくないのであれば、いくつかのツールの使い方を学ぶべきです。プログラマーが最も頻繁に使用するツールの一つがドキュメントです。二つ目は、ログファイルを活用したテストです。ここでは、その方法を見ていきます。
preview
選択的状態空間モデルを採用したMambaベースのニューラルネットワーク自動売買ロボットの開発

選択的状態空間モデルを採用したMambaベースのニューラルネットワーク自動売買ロボットの開発

本記事では、金融時系列予測のための革新的なMamba/SSMニューラルネットワークアーキテクチャについて解説します。Transformerに代わる現代的なアーキテクチャとして、二次計算量O(N²)ではなく線形計算量O(N)を実現するMamba/SSMを取り上げます。選択的状態空間モデル(SSM, Selective State Space Model)、ハードウェアを考慮した最適化、パッチング技術、さらに高度なAdamWによる学習手法について詳しく説明します。実用的なテストでは、精度が62%から71%に向上する一方、学習時間は45分から8分に短縮されました。また、自動学習機能と適応型リスク管理機能を備えた、MetaTrader 5用の完成済み取引EAも紹介します。
preview
量子リザバコンピューティング(QRC)回路の実装

量子リザバコンピューティング(QRC)回路の実装

量子コンピューティングを利用した、取引における機械学習への革新的なアプローチです。本記事では、市場の動きをリアルタイムで予測するため、継続的な再学習を行う適応型QRCシステムの実装例について説明します。