MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
MQL5経済指標カレンダーを使った取引(第5回):レスポンシブコントロールとフィルターボタンでダッシュボードを強化する

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

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

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

本記事では、直感的なニュースナビゲーションを実現する動的なスクロールバーを追加してMQL5経済指標カレンダーを強化します。シームレスなイベント表示と効率的な更新を保証します。テストを通じて、レスポンシブなスクロールバーと洗練されたダッシュボードを検証します。
preview
機械学習の限界を克服する(第5回):時系列交差検証の簡単な概要

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

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

ラリー・ウィリアムズの『市場の秘密』(第1回):MQL5でスイングストラクチャーインジケーターを構築する

MQL5でラリー・ウィリアムズ式の市場構造インジケーターを構築するための実践的なガイドです。バッファの設定、スイングポイントの検出、チャートの設定、そしてトレーダーがテクニカル市場分析でこのインジケーターをどのように活用できるかについて解説します。
preview
取引におけるニューラルネットワーク:Segment Attentionを備えたパラメータ効率重視Transformer (PSformer)

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

この記事では、新しいPSformerフレームワークを紹介します。これは、従来のTransformerアーキテクチャを多変量時系列予測の問題に適応させたものです。本フレームワークは、パラメータ共有(PS)機構とSegment Attention機構(SegAtt)の2つの主要な革新に基づいています。
preview
ゴールドを例にした一方向トレンド取引における機械学習の考察

ゴールドを例にした一方向トレンド取引における機械学習の考察

この記事では、選択した方向(買いまたは売り)のみで取引をおこなうアプローチについて説明します。この目的のために、因果推論と機械学習の手法を使用します。
preview
初心者からエキスパートへ:FX市場の取引期間

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

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

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

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

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

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

初級から中級へ:IF ELSE

この記事では、IF演算子と、それに対応するELSEの使い方について解説します。この文は、あらゆるプログラミング言語において、最も重要かつ意義深いものです。しかし、その使いやすさにもかかわらず、使用経験や関連概念に対する理解がないと、時に混乱を招くことがあります。ここで提示されるコンテンツは、教育目的のみを目的としています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
preview
取引におけるニューラルネットワーク:ウェーブレット変換とマルチタスクアテンションを用いたモデル(最終回)

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

前回の記事では、Multitask-Stockformerフレームワークを検討しました。このフレームワークは、ウェーブレット変換とマルチタスク自己アテンション(Self-Attention)モデルを組み合わせたものです。本記事では、このフレームワークのアルゴリズムをさらに実装し、実際の過去データを用いてその有効性を評価していきます。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第7回):複数期間での同時取引

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

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

機械学習の限界を克服する(第7回):自動戦略選択

本記事では、MetaTrader 5を用いて潜在的に収益性の高い取引戦略を自動的に特定する方法を紹介します。ホワイトボックスソリューションは、教師なし学習による行列分解によって動作し、設定が容易で解釈もしやすく、どの戦略を保持すべきか明確な指針を提供します。一方、ブラックボックスソリューションはより時間がかかりますが、ホワイトボックスアプローチでは捉えきれない複雑な市場環境に適しています。本記事では、あらゆる状況下で収益性の高い戦略を慎重に見極めるために、どのように取引戦略を活用できるかを解説します。
preview
取引戦略の開発:Flower Volatility Indexのトレンドフォローアプローチ

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

市場のリズムを解読する絶え間ない探求により、トレーダーやクオンツアナリストは数多くの数学モデルを生み出してきました。本記事では、Flower Volatility Index (FVI)を紹介します。これは、バラ曲線の数学的優雅さを実用的な取引ツールに変換した新しいアプローチです。この研究を通じて、数学モデルを実際の市場環境で分析や意思決定を支援できる実用的な取引メカニズムに適応できることを示しました。
preview
MQL5でかぎ足をマスターする(第2回):かぎ足ベース自動売買の実装

MQL5でかぎ足をマスターする(第2回):かぎ足ベース自動売買の実装

MQL5を用いたかぎ足ベースの取引エキスパートアドバイザー(EA)の構築方法を学びます。シグナル構築から注文執行、視覚的なマーカーの表示、さらに3段階トレーリングストップに至るまでを扱い、完全なコード、テスト結果、およびダウンロード可能なセットファイルを含みます。
preview
適応型社会行動最適化(ASBO):Schwefel、ボックス=ミュラー法

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

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

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

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

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

階層的ベクトルTransformer法の研究を引き続き進めていきます。本記事では、モデルの構築を完了し、実際の履歴データを用いて訓練およびテストをおこないます。
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
MQL5で自己最適化エキスパートアドバイザーを構築する(第13回):行列分解を用いた制御理論の簡単な入門

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

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

プライスアクション分析ツールキットの開発(第42回):ボタンロジックと統計レベルを用いたインタラクティブチャートの検証

市場においてスピードと精度が重要である以上、分析ツールも市場と同じくらい賢くある必要があります。本記事では、ボタン操作に基づくエキスパートアドバイザー(EA)を紹介します。これは、価格データを瞬時に意味のある統計レベルに変換するインタラクティブなシステムです。ワンクリックで平均値、偏差、パーセンタイルなどを計算して表示し、複雑な分析をチャート上の明確なシグナルに変換します。価格が反発、押し戻し、または突破する可能性の高いゾーンをハイライトすることで、分析をより迅速かつ実用的にします。
preview
プライスアクション分析ツールキットの開発(第50回):MQL5でのRVGI、CCI、SMA Confluenceエンジンの開発

プライスアクション分析ツールキットの開発(第50回):MQL5でのRVGI、CCI、SMA Confluenceエンジンの開発

多くのトレーダーにとって、真の反転を見極めるのは簡単ではありません。本記事では、RVGI、CCI (±100)、およびSMAトレンドフィルタを組み合わせ、単一の明確な反転シグナルを生成するEAを紹介します。EAには、チャート上のパネル、設定可能なアラート、およびすぐにダウンロードしてテスト可能な完全なソースファイルが含まれています。
preview
初級から中級まで:テンプレートとtypename(III)

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

本記事では、トピックの第一部について解説します。この内容は初心者にとって理解がやや難しい部分があります。さらなる混乱を避けて正しく理解していただくために、説明を段階的に分けて進めます。本記事ではその第一段階に焦点を当てます。ただし、記事の最後では行き詰まりに見えるかもしれませんが、実際には次の記事でより理解しやすくなる状況への一歩を踏み出す形になります。
preview
Connexusの本体(第4回):HTTP本体サポートの追加

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

この記事では、JSONやプレーンテキストなどのデータを送信するために不可欠な、HTTPリクエストにおける本体(ボディ)の概念について探りました。適切なヘッダを使った正しい使い方を議論し、説明しました。また、Connexusライブラリの一部であるChttpBodyクラスを導入し、リクエストの本体の処理を簡素化しました。
preview
古典的な戦略を再構築する(第14回):複数戦略分析

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

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

MQL5入門(第20回):ハーモニックパターンの基礎

本記事では、ハーモニックパターンの基本、構造、そして取引での応用方法について解説します。フィボナッチリトレースメントやフィボナッチエクステンションについて学び、MQL5におけるハーモニックパターン検出の実装方法を理解することで、より高度な取引ツールやエキスパートアドバイザー(EA)を構築するための基礎を築くことができます。
preview
MQL5でのデータベースの簡素化(第2回):メタプログラミングを使用してエンティティを作成する

MQL5でのデータベースの簡素化(第2回):メタプログラミングを使用してエンティティを作成する

前回の記事では、MQL5における#defineを活用した高度なメタプログラミング手法を検討し、テーブルや列のメタデータ(データ型、主キー、オートインクリメント、NULL許容など)を表現するエンティティを定義しました。これらの定義はTickORM.mqhに集約し、メタデータクラスを自動生成する仕組みを整えることで、SQLを直接記述することなくORMが効率的にデータ操作を実行できる基盤を構築しています。
preview
初級から中級まで:浮動小数点

初級から中級まで:浮動小数点

この記事は浮動小数点数の概念に関する簡単な入門です。本稿の内容は非常に複雑ですので、注意深く丁寧に読んでください。浮動小数点システムをすぐに完全に理解できるとは思わないでください。浮動小数点は、実際に使って経験を積むことで少しずつ理解できるようになります。しかし、この記事を読むことで、なぜアプリケーションの結果が期待と異なる場合があるのか、その理由を理解する手助けになるでしょう。
preview
取引におけるニューラルネットワーク:対照パターンTransformer(最終回)

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

本連載の前回の記事では、Atom-Motif Contrastive Transformer (AMCT)フレームワークについて取り上げました。これは、対照学習を用いて、基本要素から複雑な構造に至るまでのあらゆるレベルで重要なパターンを発見することを目的とした手法です。この記事では、MQL5を用いたAMCTアプローチの実装を引き続き解説していきます。
preview
古典的な戦略を再構築する(第14回):複数戦略分析

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

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

プライスアクション分析ツールキットの開発(第40回):Market DNA Passport

本記事では、各通貨ペアが持つ固有のアイデンティティを、その過去のプライスアクションという視点から探ります。生物の設計図を記述するDNAの概念に着想を得て、本記事では市場にも同様の枠組みを適用し、プライスアクションを各通貨ペアのDNAとして扱います。ボラティリティ、スイング、リトレースメント、スパイク、セッション特性といった構造的挙動を分解することで、各ペアを他と区別する基礎的なプロファイルが浮かび上がります。このアプローチにより、市場行動に対するより深い洞察が得られ、トレーダーは各銘柄の特性に合った戦略を体系的に組み立てられるようになります。
preview
MetaTrader 5機械学習の設計図(第6回):実務で使えるキャッシュシステムの設計

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

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

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

これまで長い間インジケーターだけに取り組んできましたが、今度はサービスを再び稼働させて、提供されたデータに基づいてチャートがどのように構築されるかを確認するときが来ました。しかし、すべてがそれほど単純ではないので、先に何が待ち受けているのかを理解するために注意深くならなければなりません。
preview
取引におけるニューラルネットワーク:二重アテンションベースのトレンド予測モデル

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

前回の記事で取り上げた時系列の区分線形表現の活用について、引き続き議論します。本日は、この手法を他の時系列分析手法と組み合わせることで、価格動向の予測精度を向上させる方法を探ります。
preview
循環単為生殖アルゴリズム(CPA)

循環単為生殖アルゴリズム(CPA)

本記事では、新しい集団最適化アルゴリズムである循環単為生殖アルゴリズム(CPA: Cyclic Parthenogenesis Algorithm)を取り上げます。本アルゴリズムは、アブラムシ特有の繁殖戦略に着想を得ています。CPAは、単為生殖と有性生殖という2つの繁殖メカニズムを組み合わせるほか、個体群のコロニー構造を活用し、コロニー間の移動も可能にしています。このアルゴリズムの主要な特徴は、異なる繁殖戦略間の適応的な切り替えと、飛行メカニズムを通じたコロニー間の情報交換システムです。
preview
ビリヤード最適化アルゴリズム(BOA)

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

BOA法は、古典的なビリヤードに着想を得ており、最適解を探すプロセスを、玉が穴に落ちることで最良の結果を表すゲームとしてシミュレーションします。本記事では、BOAの基本、数学モデル、およびさまざまな最適化問題を解く際の効率について考察します。
preview
知っておくべきMQL5ウィザードのテクニック(第61回):教師あり学習でADXとCCIのパターンを活用する

知っておくべきMQL5ウィザードのテクニック(第61回):教師あり学習でADXとCCIのパターンを活用する

ADXオシレーターとCCIオシレーターはそれぞれトレンドフォローインジケーターおよびモメンタムインジケーターであり、エキスパートアドバイザー(EA)を開発する際に組み合わせることができます。今回は、機械学習の主要な3つの学習モードすべてを活用して、どのように体系化できるかを見ていきます。ウィザードによって組み立てられたEAを使用することで、これら2つのインジケーターが示すパターンを評価することが可能になり、まずは教師あり学習をこれらのパターンにどのように適用できるかを検討します。
preview
ログレコードをマスターする(第9回):ビルダーパターンの実装とデフォルト設定の追加

ログレコードをマスターする(第9回):ビルダーパターンの実装とデフォルト設定の追加

本記事では、Logifyライブラリの利用をビルダーパターンと自動的なデフォルト設定によって大幅に簡単にする方法をご紹介します。ここでは、専用ビルダーの構造、スマートな補完機能を活用した利用方法、手動で設定をおこなわなくても動作するログ確保方法について解説します。さらに、MetaTrader 5ビルド5100向けの調整についても触れます。
preview
MQL 標準ライブラリエクスプローラー(第1回):CTrade、CiMA、CiATRによる紹介

MQL 標準ライブラリエクスプローラー(第1回):CTrade、CiMA、CiATRによる紹介

MQL5標準ライブラリは、MetaTrader 5における取引アルゴリズム開発において重要な役割を果たします。本連載では、このライブラリを使いこなし、MetaTrader 5用の効率的な取引ツールをより簡単に作成する方法を身につけることを目指します。これには、カスタムのエキスパートアドバイザー(EA)、インジケーター、その他のユーティリティが含まれます。本日はその第一歩として、CTrade、CiMA、そしてCiATR クラスを用いたトレンドフォロー型のEAを開発します。これは初心者、熟練者を問わず、すべての開発者にとって非常に重要なテーマです。ぜひ本ディスカッションにご参加いただき、理解を深めてください。