MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
初心者からエキスパートへ:FX市場の取引期間

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

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

MQL5のテーブルモデルに基づくテーブルクラスとヘッダクラス:MVC概念の適用

これは、MQL5でのテーブルモデル実装をMVC (Model-View-Controller)アーキテクチャパラダイムに基づいて解説する記事の第2部です。本記事では、前回作成したテーブルモデルをもとに、テーブルクラスおよびテーブルヘッダの開発について説明します。開発したクラスは、次回の記事で扱うビューおよびコントローラーコンポーネントの実装の基礎となります。
preview
FX裁定取引:合成通貨の動きとその平均回帰の分析

FX裁定取引:合成通貨の動きとその平均回帰の分析

本記事では、PythonおよびMQL5を用いて合成通貨の動きを分析し、現在のFX裁定取引の実現可能性について検討します。また、合成通貨を分析するための既製Pythonコードを紹介するとともに、FXにおける合成通貨の概念についても詳しく解説します。
preview
ニューロボイド最適化アルゴリズム(NOA)

ニューロボイド最適化アルゴリズム(NOA)

新しい生体模倣型最適化メタヒューリスティックであるNOA (Neuroboids Optimization Algorithm)は、集合知とニューラルネットワークの原理を組み合わせた手法です。従来の方法とは異なり、このアルゴリズムは自己学習型の「ニューロボイド」集団を使用し、それぞれが独自のニューラルネットワークを持ち、探索戦略をリアルタイムで適応させます。本記事では、アルゴリズムのアーキテクチャ、エージェントの自己学習メカニズム、そしてこのハイブリッドアプローチを複雑な最適化問題に応用する可能性について解説します。
preview
PythonでリモートFXリスク管理システムを構築する

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

Pythonで動作するリモートの外国為替リスク管理システムを構築しており、サーバーにも段階的に展開しています。本記事を通して、プログラムでFXのリスクを管理する方法や、FXの資金を無駄にしない方法を学んでいきます。
preview
レストラン経営達人アルゴリズム(SRA)

レストラン経営達人アルゴリズム(SRA)

レストラン経営達人アルゴリズム(SRA)は、レストラン経営の原則に着想を得た革新的な最適化手法です。従来のアプローチとは異なり、SRAは弱い解を破棄するのではなく、成功した解の要素と組み合わせて改善します。このアルゴリズムは競争力のある結果を示し、最適化問題における探索と活用のバランスに関する新しい視点を提供します。
preview
FX裁定取引:合成マーケットメーカーボット入門

FX裁定取引:合成マーケットメーカーボット入門

今日は私の最初の裁定取引ロボット、つまり合成資産向けの流動性プロバイダー(と言えるかどうかは微妙ですが)を見ていきます。現在、このボットは大規模な機械学習システムのモジュールとして実運用で使われていますが、クラウドから古いFX裁定取引ロボットを引っ張り出してきたので、これを確認し、現代でどのように活用できるか考えてみたいと思います。
preview
MQL5でのテーブルモデルの実装:MVC概念の適用

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

本記事では、MQL5におけるテーブルモデルの開発過程を、MVC (Model-View-Controller)アーキテクチャパターンを用いて解説します。データロジック、表示、制御を分離することで、構造化され柔軟かつ拡張可能なコードを実現します。テーブルモデルを構築するためのクラス設計や、データ格納のためのリンクリストの使用方法も取り上げます。
preview
初心者からエキスパートへ:ローソク足のヒゲを読み解く

初心者からエキスパートへ:ローソク足のヒゲを読み解く

この議論では、ローソク足のヒゲに隠された価格変動の裏側を解明する一歩を踏み出します。Market Periods Synchronizerにヒゲ可視化機能を統合することで、ツールの分析深度とインタラクティビティを向上させます。このアップグレードされたシステムにより、トレーダーは下位時間足チャート上で上位時間足の価格拒否を直接可視化でき、これまでヒゲの陰に隠されていた詳細な構造を明らかにできます。
preview
ビリヤード最適化アルゴリズム(BOA)

ビリヤード最適化アルゴリズム(BOA)

BOA法は、古典的なビリヤードに着想を得ており、最適解を探すプロセスを、玉が穴に落ちることで最良の結果を表すゲームとしてシミュレーションします。本記事では、BOAの基本、数学モデル、およびさまざまな最適化問題を解く際の効率について考察します。
preview
多通貨エキスパートアドバイザーの開発(第24回):新しい戦略の追加(I)

多通貨エキスパートアドバイザーの開発(第24回):新しい戦略の追加(I)

本記事では、作成済みの自動最適化システムに新しい戦略を連携する方法を見ていきます。どのようなEAを作成する必要があるのか、EAライブラリのファイルを変更せずにできるのか、必要な変更を最小限に抑えられるかを確認してみましょう。
preview
カオスゲーム最適化(CGO)

カオスゲーム最適化(CGO)

本記事では、新しいメタヒューリスティックアルゴリズムであるカオスゲーム最適化(CGO)を紹介します。CGOは、高次元問題に対しても高い効率を維持できるという独自の特性を示しています。ほとんどの最適化アルゴリズムとは異なり、CGOは問題の規模が大きくなると性能が低下するどころか、場合によっては向上することさえあり、これがこのアルゴリズムの主要な特徴です。
preview
純粋なMQL5で実装した通貨ペア強度インジケーター

純粋なMQL5で実装した通貨ペア強度インジケーター

MetaTrader 5向けの通貨強度分析用のプロフェッショナルなインジケーターを開発します。このステップバイステップガイドでは、強力な取引ツールを作成する方法を解説します。視覚的なダッシュボードを搭載し、複数の時間足(H1、H4、D1)で通貨ペアの強さを計算し、動的なデータ更新を実装し、ユーザーフレンドリーなインターフェースを作成することができます。
preview
取引における資金管理とデータベースを用いた個人向け会計プログラム

取引における資金管理とデータベースを用いた個人向け会計プログラム

トレーダーはどのように資金を管理すればよいのでしょうか。また、トレーダーや投資家はどのようにして支出、収入、資産、負債を把握すればよいのでしょうか。本記事では、単なる会計ソフトではなく、金融市場という荒波の中で意思決定を支える実践的なツールを紹介します。
preview
多通貨エキスパートアドバイザーの開発(第23回):自動プロジェクト最適化段階のコンベアの配置(II)

多通貨エキスパートアドバイザーの開発(第23回):自動プロジェクト最適化段階のコンベアの配置(II)

1つの最終EAで使用される取引戦略を自動的かつ定期的に最適化するためのシステムの構築を目指します。システムは進化するにつれてますます複雑になるため、時折全体を俯瞰し、ボトルネックや非効率な解決策を特定する必要があります。
preview
血液型遺伝最適化(BIO)

血液型遺伝最適化(BIO)

人間の血液型の遺伝システムに着想を得た、新しい集団最適化アルゴリズム「血液型遺伝最適化(BIO)」を紹介します。このアルゴリズムでは、各解がそれぞれ固有の「血液型」を持ち、その血液型が進化の方法を決定します。自然界において子の血液型が特定の遺伝ルールに従って受け継がれるように、BIOでは新しい解が継承と突然変異の仕組みを通じて特性を獲得します。
preview
市場シミュレーション(第9回):ソケット(III)

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

本日の記事は前回の記事の続編です。今回はエキスパートアドバイザー(EA)の実装を取り上げ、特にサーバー側コードがどのように実行されるかに焦点を当てます。前回の記事で示したコードだけでは、すべてを期待どおりに動作させるには不十分であるため、もう少し深く掘り下げる必要があります。そのため、これから起こることをよりよく理解するには、両方の記事を読む必要があります。
preview
初級から中級まで:イベント(I)

初級から中級まで:イベント(I)

ここまでに示された内容を踏まえると、いよいよチャート上で直接銘柄を操作するようなアプリケーションの実装を始めることができそうです。しかし、その前に、初心者にはやや混乱しやすい概念について触れておく必要があります。つまり、チャート上で表示することを目的として開発されるMQL5のアプリケーションは、これまで見てきた方法と同じようには作られないということです。本記事では、この点を少しずつ理解していきます。
preview
IBMの量子コンピュータを使ってすべての価格変動パターンを解析する

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

IBMの量子コンピュータを使用してすべての価格変動オプションを発見します。まるでSFの話のようですが、これが取引における量子コンピューティングの世界です。
preview
1世紀前の機能で取引戦略をアップデートする

1世紀前の機能で取引戦略をアップデートする

本記事では、ラーデマッヘル関数およびウォルシュ関数を取り上げます。これらの関数を金融時系列解析にどのように適用できるかを検討し、さらに取引におけるさまざまな応用例についても考察します。
preview
取引におけるニューラルネットワーク:2次元接続空間モデル(最終回)

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

革新的なChimeraフレームワークの探求を続けます。このフレームワークは、ニューラルネットワーク技術を用いて多次元時系列を解析する二次元状態空間モデル(2D-SSM)です。この手法は、高い予測精度と低い計算コストを両立します。
preview
取引におけるニューラルネットワーク:2次元接続空間モデル(Chimera)

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

この記事では、革新的なChimeraフレームワークについて解説します。Chimeraは二次元状態空間モデルを用い、ニューラルネットワークで多変量時系列を解析する手法です。この方法は、従来手法やTransformerアーキテクチャを上回る低い計算コストで高い精度を実現します実現します。
preview
多通貨エキスパートアドバイザーの開発(第22回):設定のホットスワップへの移行を開始する

多通貨エキスパートアドバイザーの開発(第22回):設定のホットスワップへの移行を開始する

定期的な最適化を自動化するのであれば、取引口座上ですでに稼働しているEAの設定を自動更新することについても検討する必要があります。これにより、ストラテジーテスター内でエキスパートアドバイザー(EA)を実行しながら、単一の実行の中でその設定を変更できるようにする必要があります。
preview
円探索アルゴリズム(CSA)

円探索アルゴリズム(CSA)

本記事では、円の幾何学的性質に基づいた新しいメタヒューリスティック最適化アルゴリズム「円探索アルゴリズム(Circle Search Algorithm, CSA)」を紹介します。本アルゴリズムは、最適解を探索するために点を接線に沿って移動させる原理を使用し、大域探索と局所探索のフェーズを組み合わせています。
preview
外国為替におけるフィボナッチ(第1回):価格と時間の関係を調べる

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

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

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

ソケットを使って何か実用的なものを作ってみましょう。今回の記事では、ミニチャットの作成を始めます。一緒にどのようにおこなうかを見ていきましょう。とても面白い内容になるでしょう。ここで提供するコードは教育目的のみの使用を想定しています。商用目的や既製のアプリケーションでの使用には適していません。ソケット上で送信されるデータは安全に保護されず、内容が第三者からアクセス可能になる可能性があるためです。
preview
初級から中級まで:構造体(II)

初級から中級まで:構造体(II)

本記事では、MQL5のようなプログラミング言語において構造体が存在する理由を考察します。また、構造体を用いて関数や手続き間で値を受け渡すことが有効な場合と、必ずしもそうではない場合がある理由についても解説します。
preview
取引におけるニューラルネットワーク:ResNeXtモデルに基づくマルチタスク学習(最終回)

取引におけるニューラルネットワーク:ResNeXtモデルに基づくマルチタスク学習(最終回)

ResNeXtに基づくマルチタスク学習フレームワークの探求を続けます。このフレームワークは、モジュール性が高く、計算効率に優れ、データ中の安定したパターンを特定できることが特徴です。単一のエンコーダーと専門化された「ヘッド」を使用することで、モデルの過学習のリスクを減らし、予測の精度を向上させます。
preview
取引におけるニューラルネットワーク:ResNeXtモデルに基づくマルチタスク学習

取引におけるニューラルネットワーク:ResNeXtモデルに基づくマルチタスク学習

ResNeXtに基づくマルチタスク学習フレームワークは、金融データの高次元性、非線形性、時間依存性を考慮しながら分析を最適化します。グループ畳み込みと専用ヘッドの使用により、モデルは入力データから重要な特徴を効果的に抽出することができます。
preview
初級から中級まで:構造体(I)

初級から中級まで:構造体(I)

本日は、構造体について、よりシンプルで実践的、かつ無理のない形で学び始めます。構造体は、構造化プログラミングであろうとなかろうと、プログラミングの基礎を成す要素のひとつです。多くの人は、構造体を単なるデータの集合だと考えがちですが、実際にはそれ以上の役割を持っています。本記事では、この新しい世界を、できるだけ分かりやすく、体系的に探っていきます。
preview
市場シミュレーション(第7回):ソケット(I)

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

ソケットについてご存じでしょうか。また、MetaTrader 5でどのように使用するかをご存じでしょうか。もし答えが「いいえ」であれば、ここから一緒に学んでいきましょう。本日の記事では、その基礎について解説します。同じことを実現する方法はいくつも存在しますが、私たちが常に重視するのは結果です。そこで、MetaTrader 5からExcelのような他のプログラムへデータを転送するための、実際にシンプルな方法が存在することを示したいと思います。ただし、本来の主な目的は、MetaTrader 5からExcelへデータを送ることではなく、その逆、つまりExcelやその他のプログラムからMetaTrader 5へデータを転送することにあります。
preview
ロイヤルフラッシュ最適化(RFO)

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

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

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

複雑な多変量時系列の分析および予測を目的に設計された、Hidformer階層型ダブルタワーTransformerモデルの構築を引き続き進めます。本記事では、これまでに着手した作業を論理的な結論へと導き、実際の履歴データを用いてモデルを検証します。
preview
弁証法的探索(DA)

弁証法的探索(DA)

本記事では、弁証法の考え方に着想を得た大域最適化手法である弁証法的アルゴリズム(Dialectical Algorithm, DA)を紹介します。このアルゴリズムは、集団を「思索的思考者(speculative thinkers)」と「実践的思考者(practical thinkers)」に独自に分割する点が特徴です。テストでは、低次元問題において最大98%の高い性能を示し、全体的な効率は57.95%に達しました。本記事ではこれらの指標を解説し、アルゴリズムの詳細な説明とさまざまな関数に対する実験結果を提示します。
preview
金融時系列予測のための生物学的ニューロン

金融時系列予測のための生物学的ニューロン

時系列予測のために生物学的に正しいニューロンシステムを構築します。ニューラルネットワークのアーキテクチャにプラズマ的な環境を導入することで、一種の「集合知」が生まれます。そこでは、各ニューロンが直接的な結合だけでなく、長距離の電磁相互作用を通じてもシステム全体の動作に影響を与えます。このようなニューラル脳モデリングシステムが市場においてどのような性能を発揮するのかを見ていきます。
preview
取引におけるニューラルネットワーク:階層型ダブルタワーTransformer (Hidformer)

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

階層型ダブルタワーTransformer (Hidformer: Hierarchical Double-Tower Transformer)フレームワークについて紹介します。このフレームワークは時系列予測およびデータ分析向けに開発されました。Hidformerの開発者は、Transformerアーキテクチャに対して複数の改良を提案しており、その結果、予測精度の向上と計算リソースの削減を実現しています。
preview
Pythonを使用したボラティリティ予測インジケーターの作成

Pythonを使用したボラティリティ予測インジケーターの作成

本記事では、二値分類を使って将来の極端なボラティリティを予測します。さらに、機械学習を活用した極端ボラティリティ予測インジケーターの開発もおこないます。
preview
市場シミュレーション(第6回):MetaTrader 5からExcelへの情報の転送

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

多くの人、特にプログラマーではない人は、MetaTrader 5と他のプログラムとの間で情報をやり取りすることは非常に難しいと感じます。その代表的な例がExcelです。多くの人がExcelをリスク管理や運用管理のための手段として利用しています。Excelは非常に優れたプログラムであり、VBAプログラマーでなくても比較的容易に習得できます。ここでは、MetaTrader 5とExcelの間に接続を確立する方法について説明します。方法は非常にシンプルなものです。
preview
リスク管理(第2回):グラフィカルインターフェースでのロット計算の実装

リスク管理(第2回):グラフィカルインターフェースでのロット計算の実装

本記事では、前回の記事で紹介した内容をさらに発展させ、MQL5の強力なグラフィカルコントロールライブラリを使って実際にGUIを作成する方法を解説します。ステップごとに、完全に動作するGUIを作る過程を追いながら、各メソッドの仕組みや役割、そしてその背後にある考え方についても丁寧に説明します。また、記事の最後には、作成したパネルをテストして、正しく機能することを確認します。
preview
市場シミュレーション(第5回):C_Ordersクラスの作成(II)

市場シミュレーション(第5回):C_Ordersクラスの作成(II)

本記事では、Chart Tradeとエキスパートアドバイザー(EA)が連携して、ユーザーが保有しているすべてのポジションを決済する要求をどのように処理するのかを解説します。一見すると単純な処理に思えるかもしれませんが、実際には注意すべきいくつかの複雑な点があります。