MQL5言語のプログラミング例に関する記事

icon

MQL5言語でMetaTraderプラットフォームのインジケータと自動売買ロボットを作成する方法を示すコード例を含む膨大な記事のコレクションにアクセスします。ソースコードは記事に添付されているので、MetaEditorで開いて実行して、アプリがどのように機能するかを確認できます。

これらの記事は自動取引初心者にも、プログラム経験があるプロのトレーダーにも役に立つでしょう。それらは単に例を特徴とするだけではなく、新しいアイデアも含んでいます。

新しい記事を追加
最新 | ベスト
preview
適応型社会行動最適化(ASBO):Schwefel、ボックス=ミュラー法

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

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

適応型社会行動最適化(ASBO):二段階の進化

生物の社会的行動と、それが新しい数学モデルであるASBO(適応型社会的行動最適化)の開発に与える影響について、引き続き考察していきます。今回は、二段階の進化プロセスを詳しく分析し、アルゴリズムをテストした上で結論を導き出します。自然界において生物の集団が生存のために協力するのと同様に、ASBOも集団行動の原理を活用し、複雑な最適化問題を解決します。
preview
初級から中級へ:WHILE文とDO WHILE文

初級から中級へ:WHILE文とDO WHILE文

この記事では、最初のループ文を実際的かつ視覚的に見ていきます。多くの初心者はループを作成するという作業に直面すると不安を感じますが、正しく安全におこなう方法を知るには経験と練習が必要です。しかし、コード内でループを使用する際の主な問題と注意事項を示すことで、皆さんの悩みや苦しみを軽減できるかもしれません。
preview
Connexusの本体(第4回):HTTP本体サポートの追加

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

この記事では、JSONやプレーンテキストなどのデータを送信するために不可欠な、HTTPリクエストにおける本体(ボディ)の概念について探りました。適切なヘッダを使った正しい使い方を議論し、説明しました。また、Connexusライブラリの一部であるChttpBodyクラスを導入し、リクエストの本体の処理を簡素化しました。
preview
初級から中級まで:共用体(II)

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

今日はとても面白く興味深い記事をご紹介します。今回は共用体(union)を取り上げ、以前に触れた問題の解決を試みます。また、アプリケーションでunionを使用した際に発生しうる、少し変わった状況についても探っていきます。ここで提示される資料は教育目的のみに使用されます。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
preview
SMC (Smart Money Concepts)で取引のレベルアップを実現する:OB、BOS、FVG

SMC (Smart Money Concepts)で取引のレベルアップを実現する:OB、BOS、FVG

SMC(Smart Money Concepts、スマートマネーコンセプト)のOB(Order Blocks、注文ブロック)、BOS(Break of Structure、ブレイクオブストラクチャ)、FVG(Fair Value Gaps、公正価格ギャップ)を1つの強力なEAに統合することで、取引をさらに進化させることができます。自動モードで戦略を実行することも、特定のSMCコンセプトだけを使用することも可能で、柔軟かつ精度の高い取引が実現します。
preview
初心者からエキスパートへ:MQL5を使用したアニメーションニュースヘッドライン(IV) - ローカルホストAIモデル市場インサイト

初心者からエキスパートへ:MQL5を使用したアニメーションニュースヘッドライン(IV) - ローカルホストAIモデル市場インサイト

本日のディスカッションでは、オープンソースのAIモデルをセルフホスティングし、市場インサイトの生成に活用する方法について探ります。これは、News Headline EA(エキスパートアドバイザー)を拡張し、AIインサイトレーンを導入することで、多機能統合型アシストツールへと変貌させる取り組みの一環です。このアップグレードにより、EAはカレンダーイベント、金融ニュース速報、テクニカル指標に加え、AIによる市場見解を提供できるようになり、タイムリーで多角的、かつ知的なサポートを取引判断に提供します。本日は、実践的な統合戦略や、MQL5が外部リソースと連携して強力で知的な取引ターミナルを構築する方法についても議論します。
preview
リプレイシステムの開発(第60回):サービスの再生(I)

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

これまで長い間インジケーターだけに取り組んできましたが、今度はサービスを再び稼働させて、提供されたデータに基づいてチャートがどのように構築されるかを確認するときが来ました。しかし、すべてがそれほど単純ではないので、先に何が待ち受けているのかを理解するために注意深くならなければなりません。
preview
プライスアクション分析ツールキットの開発(第27回):移動平均フィルター付き流動性スイープツール

プライスアクション分析ツールキットの開発(第27回):移動平均フィルター付き流動性スイープツール

価格変動の微妙なダイナミクスを理解することは、大きなアドバンテージをもたらします。その代表的な例が流動性スイープです。これは、特に機関投資家のような大口トレーダーが意図的に価格を主要なサポートやレジスタンスレベルを突破させる戦略です。これらのレベルには、小口トレーダーのストップロス注文が集中していることが多く、大口プレイヤーはこの流動性の「ポケット」を活用することで、スリッページを最小限に抑えつつ、効率的に大きなポジションを建てたり決済したりすることができます。
preview
初心者からエキスパートへ:自動幾何解析システム

初心者からエキスパートへ:自動幾何解析システム

幾何学的パターンは、トレーダーに価格動向を簡潔に解釈する手段を提供します。多くのアナリストは手作業でトレンドラインや長方形、その他の形状を描き、形成されたパターンに基づいて取引判断をおこないます。本記事では、自動化による代替手段、すなわちMQL5を活用して最も一般的な幾何学パターンを検出・分析する方法を探ります。方法論を分解して説明し、実装の詳細を論じ、自動パターン認識がトレーダーの市場洞察をどのように鋭くできるかを強調します。
preview
初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(III)-インジケーターインサイト

初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(III)-インジケーターインサイト

本記事では、News Headline EAをさらに進化させるために、専用の「インジケーターインサイトレーン」を導入します。これは、RSI、MACD、ストキャスティクス、CCIなどの主要インジケーターから生成されるテクニカルシグナルを、チャート上にコンパクトにまとめて表示する仕組みです。この方法により、MetaTrader 5ターミナルで複数のインジケーターウィンドウを開く必要がなくなり、作業スペースをすっきりと保つことができます。さらに、MQL5のAPIを活用してインジケーターデータをバックグラウンドで取得することで、カスタムロジックを使ったリアルタイムの市場分析や可視化が可能になります。本記事では、MQL5でインジケーターデータを操作し、チャート上の単一水平レーンに、知的で省スペースなスクロール式インサイトシステムを作成する方法を詳しく解説します。
preview
無政府社会最適化(ASO)アルゴリズム

無政府社会最適化(ASO)アルゴリズム

この記事では、無政府社会最適化(ASO)アルゴリズムに触れ、無政府社会(中央集権的な権力や様々な種類のヒエラルキーから解放された社会的相互作用の異常なシステム)の参加者の非合理的で冒険的な行動に基づくアルゴリズムが、解空間を探索し、局所最適の罠を回避できることを議論します。本稿では、連続問題にも離散問題にも適用可能な統一的なASO構造を提示します。
preview
MQL5で取引管理者パネルを作成する(第9回):コード編成(III)コミュニケーションモジュール

MQL5で取引管理者パネルを作成する(第9回):コード編成(III)コミュニケーションモジュール

MQL5インターフェイス設計における最新の進展を、再設計されたコミュニケーションパネルの公開とともに詳しく解説します。また、モジュール化の原則に基づいて新しい管理パネルを構築するシリーズも引き続き展開していきます。この記事では、CommunicationsDialogクラスを段階的に開発し、それをDialogクラスから継承する方法を丁寧に解説します。さらに、開発には配列およびListViewクラスを活用します。MQL5開発スキルを高めるための実用的な知見を得るために、ぜひ記事を読み、コメント欄でディスカッションにご参加ください。
preview
初級から中級へ:IF ELSE

初級から中級へ:IF ELSE

この記事では、IF演算子と、それに対応するELSEの使い方について解説します。この文は、あらゆるプログラミング言語において、最も重要かつ意義深いものです。しかし、その使いやすさにもかかわらず、使用経験や関連概念に対する理解がないと、時に混乱を招くことがあります。ここで提示されるコンテンツは、教育目的のみを目的としています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
preview
初級から中級まで:配列(IV)

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

この記事では、C、C++、Javaなどの言語で実装されていることと非常によく似たことを実現する方法について見ていきます。つまり、関数や手続きにほぼ無限の数のパラメータを渡す方法についてです。これは一見すると高度なトピックに思えるかもしれませんが、前回までの内容をきちんと理解していれば、実装は決して難しくありません。もちろん、それらの内容を本当に理解していることが前提です。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第7回):複数期間での同時取引

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

本連載記事では、テクニカル指標を使用する際の最適な期間を特定するためのさまざまな方法を検討してきました。本記事では、読者に対して逆のロジックを示します。すなわち、単一の最適期間を選ぶのではなく、利用可能なすべての期間を効果的に活用する方法を示します。このアプローチにより廃棄されるデータ量が減少し、通常の価格予測以外に機械学習アルゴリズムを活用する方法も得られます。
preview
プライスアクション分析ツールキットの開発(第33回):Candle Range Theory Tool

プライスアクション分析ツールキットの開発(第33回):Candle Range Theory Tool

MetaTrader 5向けのCandle-Range Theoryスイートで、市場の読みをアップグレードできます。これは完全にMQL5ネイティブなソリューションで、ローソク足をリアルタイムのボラティリティ情報に変換します。軽量なCRangePatternライブラリは、各ローソク足の真の値幅を適応型ATRと比較し、確定直後に分類します。CRTインジケーターは、その分類結果をチャート上に鮮明な色分けされた矩形や矢印として表示し、収束の進行、急騰・急落、全レンジ包み込みを瞬時に可視化します。
preview
初級から中級まで:共用体(I)

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

この記事では、union(共用体)とは何かを見ていきます。ここでは実験を通じて、unionを使用できる最初の構文について分析していきます。ただし、ここで紹介するのは一連の概念や情報の中核部分にすぎません。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
初級から中級まで:定義(I)

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

この記事では、多くの人が奇妙でまったく脈絡がないと感じるであろうことを扱います。しかし、それらを正しく活用すれば、学習はより楽しく、さらに興味深いものになるでしょう。ここで示す内容を基に、かなり面白いものを構築することも可能です。これにより、MQL5言語の構文をより深く理解できるようになるでしょう。なお、本記事の内容は教育目的に限定されており、完成されたアプリケーションとして捉えるべきではありません。ここでの目的は、提示された概念そのものを応用することではありません。
preview
プライスアクション分析ツールキットの開発(第26回):Pin Bar, Engulfing Patterns and RSI Divergence (Multi-Pattern) Tool

プライスアクション分析ツールキットの開発(第26回):Pin Bar, Engulfing Patterns and RSI Divergence (Multi-Pattern) Tool

実践的なプライスアクションツールの開発を目的として、本記事ではピンバーと包み足を検出するEAの作成について解説します。各シグナルを生成する前に、RSIのダイバージェンスを確認のトリガーとして使用します。
preview
ログレコードをマスターする(第7回):チャートにログを表示する方法

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

MetaTraderのチャート上に、フレームやタイトル、自動スクロール機能を備えたログ表示エリアを構築し、整理された形でログを確認する方法を解説します。本記事では、MQL5を用いてビジュアルログシステムを実装する手順を紹介します。これにより、ロボットの動作をリアルタイムで効率的に監視することが可能になります。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第9回):二重移動平均クロスオーバー

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

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

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

本記事では、Logifyライブラリの利用をビルダーパターンと自動的なデフォルト設定によって大幅に簡単にする方法をご紹介します。ここでは、専用ビルダーの構造、スマートな補完機能を活用した利用方法、手動で設定をおこなわなくても動作するログ確保方法について解説します。さらに、MetaTrader 5ビルド5100向けの調整についても触れます。
preview
リプレイシステムの開発(第72回):異例のコミュニケーション(I)

リプレイシステムの開発(第72回):異例のコミュニケーション(I)

私たちが本日作成する内容は、理解が難しいものになるでしょう。したがって本稿では、初期段階についてのみ説明します。この段階は次のステップに進むための重要な前提条件となるため、ぜひ注意深く読んでください。この資料の目的はあくまで学習にあります。提示された概念を実際に応用するのではなく、あくまで理解・習得することが目的です。
preview
古典的な戦略を再構築する(第16回):ダブルボリンジャーバンドブレイクアウト

古典的な戦略を再構築する(第16回):ダブルボリンジャーバンドブレイクアウト

本記事では、古典的なボリンジャーバンドのブレイクアウト戦略を再考し、その弱点を補う手法を紹介します。古典的戦略は、偽のブレイクアウトに弱いというよく知られた課題があります。本記事では、その弱点に対する一つの解決策として「ダブルボリンジャーバンド戦略」を提示します。この比較的知られていない手法は、従来戦略の弱点を補い、市場をより動的に捉える視点を提供します。これにより、従来のルールに縛られた制約を超え、トレーダーにとってより適応力のあるフレームワークを提供できるのです。
preview
MetaTrader 5での取引の視覚的な評価と調整

MetaTrader 5での取引の視覚的な評価と調整

ストラテジーテスターは、単に自動売買ロボットのパラメータを最適化するだけでなく、さらに幅広い活用が可能です。本記事では、口座の取引履歴を事後に評価し、ストラテジーテスター上でポジションのストップロスを変更することで取引の調整をおこなう方法を紹介します。
preview
リプレイシステムの開発(第66回)サービスの再生(VII)

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

この記事では、チャート上に新しいバーがいつ表示されるかを判断するための、最初のソリューションを実装します。このソリューションは、さまざまな状況に応用可能です。その仕組みを理解することで、いくつかの重要なポイントを把握する助けとなるでしょう。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
preview
取引におけるニューラルネットワーク:シャープネス低減によるTransformerの効率向上(最終回)

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

SAMformerは、長期の時系列予測におけるTransformerモデルの主要な欠点、すなわち学習の複雑さや小規模データセットでの汎化性能の低さに対して解決策を提供します。その浅いアーキテクチャとシャープネス認識型最適化により、不適切な局所解に陥ることを防ぎます。本記事では、MQL5を用いたアプローチの実装を続け、実際的な価値を評価していきます。
preview
初級から中級まで:浮動小数点

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

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

チャート同期でテクニカル分析を簡単にする

「Chart Synchronization for Easier Technical Analysis」は、単一の銘柄に対してすべてのチャート時間足でトレンドライン、四角形、インジケーターなどの一貫したグラフィックオブジェクトが表示されるようにするツールです。パン、ズーム、銘柄変更などの操作はすべての同期したチャートに反映されるため、トレーダーは複数の時間足で同じプライスアクションの文脈をシームレスに確認し、比較できます。
preview
プライスアクション分析ツールキットの開発(第37回):Sentiment Tilt Meter

プライスアクション分析ツールキットの開発(第37回):Sentiment Tilt Meter

市場センチメントは、価格変動に影響を与える要因の中でも最も見落とされがちでありながら強力な要因のひとつです。多くのトレーダーが遅行指標や経験則に頼る中、Sentiment Tilt Meter (STM) EAは生の市場データを明確で視覚的なガイダンスへと変換し、市場が強気、弱気、中立のどちらへ傾いているのかをリアルタイムで示します。これにより、エントリーの根拠を確認し、ダマシを回避し、市場参加のタイミングをより適切に図りやすくなります。
preview
初心者からエキスパートへ:MQL5を使用したアニメーションニュースヘッドライン(VII) - ニュース取引におけるポストインパクト戦略

初心者からエキスパートへ:MQL5を使用したアニメーションニュースヘッドライン(VII) - ニュース取引におけるポストインパクト戦略

高インパクトの経済ニュースが発表された直後の1分間は、ウィップソー(騙しの多い相場)リスクが非常に高い時間帯です。この短い瞬間、価格変動は不規則で、かつ極めてボラティリティが高く、両方向のペンディング注文が立て続けに発動されることも少なくありません。しかし、通常は1分以内には市場が次第に安定し、従来のトレンドへと戻ったり、修正の動きを見せたりしながら、より通常に近いボラティリティ水準に落ち着いていきます。このセクションでは、ニュース取引における代替アプローチを検討し、その有効性を検証し、トレーダーの戦略ツールキットにどのように加えられるかを探っていきます。詳細と洞察は、以下の項目で順を追って解説します。
preview
初心者からエキスパートへ:MQL5を使用したバックエンド操作モニター

初心者からエキスパートへ:MQL5を使用したバックエンド操作モニター

取引システムの内部動作を意識せずに、既製のソリューションをそのまま利用することは一見すると安心に思えますが、開発者にとっては必ずしもそうとは限りません。いずれアップデートや動作不良、あるいは予期しないエラーが発生し、その原因がどこにあるのかを正確に突き止め、迅速に診断して解決する必要に迫られます。本記事では、取引用エキスパートアドバイザー(EA)の裏側で通常どのような操作がおこなわれているのかを明らかにするとともに、MQL5を用いてバックエンド操作を表示し、記録するための専用カスタムクラスを開発します。これにより、開発者およびトレーダーの双方が、エラーの特定、挙動の監視、EAごとの診断情報に迅速にアクセスできるようになります。
preview
古典的な戦略を再構築する(第14回):複数戦略分析

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

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

プライスアクション分析ツールキットの開発(第39回):MQL5でBOSとChoCHの検出を自動化する

本記事では、フラクタルピボットを実用的な市場構造シグナルへ変換する、コンパクトなMQL5システム「Fractal Reaction System」を紹介します。リペイントを回避するために確定バーのロジックを用い、EAはChoCH (Change-of-Character)警告を検出し、BOS (Break-of-Structure)を確定させ、永続的なチャートオブジェクトを描画し、すべての確定イベントをログ出力してアラート(デスクトップ、モバイル、サウンド)します。アルゴリズム設計、実装上の注意点、テスト結果、そしてEAコード全文を順に解説し、読者ご自身でコンパイル、テスト、展開できるようにします。
preview
ダイナミックマルチペアEAの形成(第4回):ボラティリティとリスク調整

ダイナミックマルチペアEAの形成(第4回):ボラティリティとリスク調整

このフェーズでは、マルチペアEAを微調整し、ATRなどのボラティリティ指標を活用してリアルタイムで取引サイズとリスクを調整します。これにより、一貫性の向上、資金保護、そしてさまざまな市場状況下でのパフォーマンス改善を実現します。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第13回):行列分解を用いた制御理論の簡単な入門

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

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

ビッグバンビッグクランチ(BBBC)アルゴリズム

本記事では、ビッグバンビッグクランチ(BBBC)法について紹介します。本手法は2つの主要な段階から構成されます。すなわち、ランダムな点を周期的に生成する段階と、それらを最適解へ圧縮する段階です。本アプローチは探索と精緻化を組み合わせることで、段階的により良好な解を導出し、新たな最適化の可能性を開くことが可能です。
preview
初級から中級まで:テンプレートとtypename(III)

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

本記事では、トピックの第一部について解説します。この内容は初心者にとって理解がやや難しい部分があります。さらなる混乱を避けて正しく理解していただくために、説明を段階的に分けて進めます。本記事ではその第一段階に焦点を当てます。ただし、記事の最後では行き詰まりに見えるかもしれませんが、実際には次の記事でより理解しやすくなる状況への一歩を踏み出す形になります。
preview
市場シミュレーション(第3回):パフォーマンスの問題

市場シミュレーション(第3回):パフォーマンスの問題

時には一歩下がってから前進する必要があります。本記事では、マウスインジケーターおよびChart Tradeインジケーターが正常に動作するようにするために必要なすべての変更についてご紹介します。さらにおまけとして、今後広く使用される他のヘッダーファイルにおける変更についても触れます。