プライスアクション分析ツールキットの開発(第39回):MQL5でBOSとChoCHの検出を自動化する
本記事では、フラクタルピボットを実用的な市場構造シグナルへ変換する、コンパクトなMQL5システム「Fractal Reaction System」を紹介します。リペイントを回避するために確定バーのロジックを用い、EAはChoCH (Change-of-Character)警告を検出し、BOS (Break-of-Structure)を確定させ、永続的なチャートオブジェクトを描画し、すべての確定イベントをログ出力してアラート(デスクトップ、モバイル、サウンド)します。アルゴリズム設計、実装上の注意点、テスト結果、そしてEAコード全文を順に解説し、読者ご自身でコンパイル、テスト、展開できるようにします。
初級から中級へ:値渡しまたは参照渡し
この記事では、値渡しと参照渡しの違いを実際の例を通じて理解します。これは単純で一般的な概念であり、特に問題を引き起こすようには思えませんが、多くの経験豊富なプログラマーでさえ、この小さな違いのためにコードの作成中に思わぬ失敗をすることがあります。値渡しまたは参照渡しをいつ、どのように、なぜ使用するかを知ることは、プログラマーとしての私たちの生活に大きな違いをもたらします。ここで提示されるコンテンツは、教育目的のみを目的としています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
USDとEURの指数チャート—MetaTrader 5サービスの例
MetaTrader 5サービスを例に、米ドル指数(USDX)およびユーロ指数(EURX)チャートの作成と更新について考察します。サービス起動時には、必要な合成銘柄が存在するかを確認し、未作成であれば新規作成します。その後、それを気配値表示ウィンドウに追加します。続いて、合成銘柄の1分足およびティック履歴を作成し、最後にその銘柄のチャートを表示します。
原子軌道探索(AOS)アルゴリズム
この記事では、原子軌道モデルの概念を利用して解を探索する原子軌道検索(AOS:Atomic Orbital Search)アルゴリズムについて考えます。AOSは、原子内における確率分布や相互作用のダイナミクスに基づいており、解の探索プロセスをシミュレートするアルゴリズムです。この記事では、候補解の位置更新やエネルギーの吸収・放出のメカニズムを含めたAOSの数学的な側面について詳しく説明します。AOSは、量子力学の原理を計算問題に応用する新たな可能性を切り開く、革新的な最適化手法です。
ログレコードをマスターする(第8回):自己翻訳するエラーレコード
「ログレコードをマスターする」第8回では、MQL5向けの強力なログライブラリであるLogifyにおける多言語エラーメッセージの実装について探っていきます。本記事では、コンテキストを含めたエラー構造の作り方、メッセージを複数言語に翻訳する方法、そして重大度レベルに応じたログの動的フォーマット方法について学びます。これらはすべて、クリーンで拡張可能であり、本番環境でも利用可能な設計にします。
プライスアクション分析ツールキットの開発(第37回):Sentiment Tilt Meter
市場センチメントは、価格変動に影響を与える要因の中でも最も見落とされがちでありながら強力な要因のひとつです。多くのトレーダーが遅行指標や経験則に頼る中、Sentiment Tilt Meter (STM) EAは生の市場データを明確で視覚的なガイダンスへと変換し、市場が強気、弱気、中立のどちらへ傾いているのかをリアルタイムで示します。これにより、エントリーの根拠を確認し、ダマシを回避し、市場参加のタイミングをより適切に図りやすくなります。
Connexusにおけるヘッダ(第3部):リクエスト用HTTPヘッダの使い方をマスターする
Connexusライブラリの開発を続けます。この章では、HTTPプロトコルにおけるヘッダの概念を探求し、ヘッダとは何か、何のためにあるのか、リクエストでどのように使うのかを説明します。APIとの通信で使用される主なヘッダを取り上げ、ライブラリでの設定方法の実践例を紹介します。
ログレコードをマスターする(第2回):ログのフォーマット処理
この記事では、ライブラリ内でログフォーマッターを作成し、適用する方法について詳しく解説します。フォーマッターの基本構造から実践的な実装例まで幅広く取り上げます。この記事を読み終える頃には、ライブラリ内でログを整形するために必要な知識を習得し、その裏側で何がどのように動作しているのかを理解できるようになります。
受信者動作特性曲線の紹介
ROC曲線は、分類器の性能を評価するために使用されるグラフ表現です。ROC曲線は比較的単純に見えますが、実際に使用する際には、よくある誤解や陥りやすい落とし穴があります。この記事の目的は、分類器の性能評価を理解しようとする実務者に向けて、ROC曲線を紹介することです。
MQL5で自己最適化エキスパートアドバイザーを構築する(第8回):複数戦略分析(2) - 加重投票方策
本記事では、アンサンブル内で最適な戦略数を決定することがどれほど複雑な課題であるか、その解決がMetaTrader 5の遺伝的アルゴリズム最適化ツールを用いることで容易になるかを検討します。さらに、バックテストおよび最適化の高速化を目的として、MQL5クラウドも主要なリソースとして活用します。これらの議論を通じて、初期のアンサンブル結果に基づき、取引戦略を評価し、改善するための統計モデルを開発するための基盤を整えることを目的としています。
リプレイシステムの開発(第50回):物事は複雑になる(II)
チャートIDの問題を解決すると同時に、ユーザーが希望する資産の分析とシミュレーションに個人用テンプレートを使用できるようにする機能を提供し始めます。ここで提示される資料は教育目的のみであり、提示される概念の学習および習得以外の目的には決して適用されないものとします。
リプレイシステムの開発(第74回):新しいChart Trade(I)
この記事では、Chart Tradeに関する本連載の最後に示したコードを修正します。これらの変更は、現在のリプレイ/シミュレーションシステムのモデルにコードを適合させるために必要です。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(III)-インジケーターインサイト
本記事では、News Headline EAをさらに進化させるために、専用の「インジケーターインサイトレーン」を導入します。これは、RSI、MACD、ストキャスティクス、CCIなどの主要インジケーターから生成されるテクニカルシグナルを、チャート上にコンパクトにまとめて表示する仕組みです。この方法により、MetaTrader 5ターミナルで複数のインジケーターウィンドウを開く必要がなくなり、作業スペースをすっきりと保つことができます。さらに、MQL5のAPIを活用してインジケーターデータをバックグラウンドで取得することで、カスタムロジックを使ったリアルタイムの市場分析や可視化が可能になります。本記事では、MQL5でインジケーターデータを操作し、チャート上の単一水平レーンに、知的で省スペースなスクロール式インサイトシステムを作成する方法を詳しく解説します。
リプレイシステムの開発(第75回):新しいChart Trade(II)
この記事では、C_ChartFloatingRADクラスについて説明します。これはChart Tradeを機能させるための要となる部分です。ただし、解説はこれで終わりではありません。本記事の内容はかなり広範かつ深い理解を必要とするため、続きは次回の記事で補完します。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
プライスアクション分析ツールキットの開発(第26回):Pin Bar, Engulfing Patterns and RSI Divergence (Multi-Pattern) Tool
実践的なプライスアクションツールの開発を目的として、本記事ではピンバーと包み足を検出するEAの作成について解説します。各シグナルを生成する前に、RSIのダイバージェンスを確認のトリガーとして使用します。
初級から中級へ:変数(I)
多くの初心者プログラマーは、自分のコードが期待どおりに動作しない理由を理解するのに苦労します。コードを正しく機能させるためには、さまざまな要素が関わります。ただ関数や操作を組み合わせるだけでは、コードが適切に動作するとは限りません。今日は、単にコードをコピー&ペーストするのではなく、実際に正しくコードを書く方法を学んでみましょう。ここで提供される資料は教育目的のみに使用されるべきです。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
カスタム口座パフォーマンス行列インジケーターの開発
このインジケーターは、口座エクイティ、損益、ドローダウンをリアルタイムで監視し、パフォーマンスダッシュボードとして可視化することで、規律の維持を促す役割を果たします。トレーダーが取引の一貫性を保ち、過剰取引を避け、自己勘定取引会社評価チャレンジ(プロップファームチャレンジ)のルールを遵守するための支援ツールとして機能します。
初心者からエキスパートへ:ローソク足のヒゲを読み解く
この議論では、ローソク足のヒゲに隠された価格変動の裏側を解明する一歩を踏み出します。Market Periods Synchronizerにヒゲ可視化機能を統合することで、ツールの分析深度とインタラクティビティを向上させます。このアップグレードされたシステムにより、トレーダーは下位時間足チャート上で上位時間足の価格拒否を直接可視化でき、これまでヒゲの陰に隠されていた詳細な構造を明らかにできます。
Connexusのクライアント(第7回):クライアント層の追加
この記事では、Connexusライブラリの開発を続けます。この章では、リクエストの送信と注文の受信を担当するCHttpClientクラスを構築します。また、モックの概念についても取り上げ、ライブラリをWebRequest関数から切り離すことで、ユーザーの柔軟性を高めます。
MQL5で取引管理者パネルを作成する(第9回):コード編成(III)コミュニケーションモジュール
MQL5インターフェイス設計における最新の進展を、再設計されたコミュニケーションパネルの公開とともに詳しく解説します。また、モジュール化の原則に基づいて新しい管理パネルを構築するシリーズも引き続き展開していきます。この記事では、CommunicationsDialogクラスを段階的に開発し、それをDialogクラスから継承する方法を丁寧に解説します。さらに、開発には配列およびListViewクラスを活用します。MQL5開発スキルを高めるための実用的な知見を得るために、ぜひ記事を読み、コメント欄でディスカッションにご参加ください。
Connexus Observer(第8回):リクエストObserverの追加
連載「Connexusライブラリ」の最終回では、Observerパターンの実装に加え、ファイルパスやメソッド名に関する重要なリファクタリングについて解説します。本連載を通じて、複雑なアプリケーションにおけるHTTP通信を簡素化することを目的としたConnexusの開発全体を取り上げました。
ダイナミックスイングアーキテクチャ:スイングから自動売買までの市場構造認識
本記事では、市場のスイングを高精度で捉え、自動売買を実現する完全自動化MQL5システムを紹介します。従来の固定ローソク足数に基づくスイングインジケーターとは異なり、このシステムは進行中の市場構造に動的に適応し、スイングハイおよびスイングローをリアルタイムで検出します。これにより、形成されつつあるトレンドの値動きを的確に捉え、取引機会を逃さず捕捉することが可能です。
MQL5で自己最適化エキスパートアドバイザーを構築する(第9回):二重移動平均クロスオーバー
本記事では、二重移動平均クロスオーバー戦略の設計について説明します。この戦略では、上位時間足(例:日足、D1)のシグナルを参照して下位時間足(例:15分足、M15)でエントリーをおこない、ストップロスレベルは中間的リスク時間足(例:4時間足、H4)から算出します。システム定数やカスタム列挙型、トレンドフォローと平均回帰(ミーンリバージョン)モードに対応したロジックを導入し、モジュール化と将来的な遺伝的アルゴリズムによる最適化を重視しています。このアプローチにより、柔軟なエントリーとエグジットの条件を設定でき、下位時間足でのエントリーを高い時間足のトレンドに合わせることで、シグナルのラグを軽減し、取引タイミングを改善することを目指しています。
MQL5で自己最適化エキスパートアドバイザーを構築する(第16回):教師あり学習を用いた線形システム同定
線形システム同定は、教師あり学習アルゴリズムにおける誤差補正の学習と組み合わせることができます。これにより、統計的モデリング手法に依存したアプリケーションを構築しつつも、モデルが前提とする厳格な仮定の脆弱性を必ずしも引き継ぐことなく設計することが可能になります。従来の教師あり学習アルゴリズムには多くの要件がありますが、それらはフィードバックコントローラーと組み合わせることで補完でき、モデルを補正しながら現在の市場環境に適応させることができます。
初級から中級まで:共用体(II)
今日はとても面白く興味深い記事をご紹介します。今回は共用体(union)を取り上げ、以前に触れた問題の解決を試みます。また、アプリケーションでunionを使用した際に発生しうる、少し変わった状況についても探っていきます。ここで提示される資料は教育目的のみに使用されます。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
初級から中級まで:定義(I)
この記事では、多くの人が奇妙でまったく脈絡がないと感じるであろうことを扱います。しかし、それらを正しく活用すれば、学習はより楽しく、さらに興味深いものになるでしょう。ここで示す内容を基に、かなり面白いものを構築することも可能です。これにより、MQL5言語の構文をより深く理解できるようになるでしょう。なお、本記事の内容は教育目的に限定されており、完成されたアプリケーションとして捉えるべきではありません。ここでの目的は、提示された概念そのものを応用することではありません。
市場シミュレーション(第14回):ソケット(VIII)
多くのプログラマは、Excelの使用をやめて、Pythonに直接移行し、PythonでExcelファイルを生成して後から結果を分析できるパッケージを使うべきだと考えるかもしれません。しかし、前回の記事で述べたように、この方法は多くのプログラマにとって最も簡単な解決策ではありますが、すべてのユーザーに受け入れられるわけではありません。そして、このような場合、常に正しいのはユーザーです。私たちプログラマは、すべてをうまく機能させる方法を見つけなければなりません。
初級から中級へ:Includeディレクティブ
本日の記事では、MQL5のさまざまなコードで広く使用されているコンパイルディレクティブについて解説します。本稿ではこのディレクティブについて表面的な説明に留めますが、今後プログラミングレベルが上がるにつれて不可欠なものとなるため、使い方を理解し始めることが重要です。ここで提示されるコンテンツは、教育目的のみを目的としています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
無政府社会最適化(ASO)アルゴリズム
この記事では、無政府社会最適化(ASO)アルゴリズムに触れ、無政府社会(中央集権的な権力や様々な種類のヒエラルキーから解放された社会的相互作用の異常なシステム)の参加者の非合理的で冒険的な行動に基づくアルゴリズムが、解空間を探索し、局所最適の罠を回避できることを議論します。本稿では、連続問題にも離散問題にも適用可能な統一的なASO構造を提示します。
初級から中級へ:BREAK文とCONTINUE文
この記事では、ループ内でのRETURN、BREAK、CONTINUE文の使い方について解説します。ループの実行フローにおいて、これらの各文がどのような役割を果たすかを理解することは、より複雑なアプリケーションを扱う上で非常に重要です。ここで提示されるコンテンツは、教育目的のみを目的としています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
ビッグバンビッグクランチ(BBBC)アルゴリズム
本記事では、ビッグバンビッグクランチ(BBBC)法について紹介します。本手法は2つの主要な段階から構成されます。すなわち、ランダムな点を周期的に生成する段階と、それらを最適解へ圧縮する段階です。本アプローチは探索と精緻化を組み合わせることで、段階的により良好な解を導出し、新たな最適化の可能性を開くことが可能です。
ダイナミックマルチペアEAの形成(第4回):ボラティリティとリスク調整
このフェーズでは、マルチペアEAを微調整し、ATRなどのボラティリティ指標を活用してリアルタイムで取引サイズとリスクを調整します。これにより、一貫性の向上、資金保護、そしてさまざまな市場状況下でのパフォーマンス改善を実現します。
MetaTrader 5での取引の視覚的な評価と調整
ストラテジーテスターは、単に自動売買ロボットのパラメータを最適化するだけでなく、さらに幅広い活用が可能です。本記事では、口座の取引履歴を事後に評価し、ストラテジーテスター上でポジションのストップロスを変更することで取引の調整をおこなう方法を紹介します。
初心者からエキスパートへ:MQL5を使用したアニメーションニュースヘッドライン(VII) - ニュース取引におけるポストインパクト戦略
高インパクトの経済ニュースが発表された直後の1分間は、ウィップソー(騙しの多い相場)リスクが非常に高い時間帯です。この短い瞬間、価格変動は不規則で、かつ極めてボラティリティが高く、両方向のペンディング注文が立て続けに発動されることも少なくありません。しかし、通常は1分以内には市場が次第に安定し、従来のトレンドへと戻ったり、修正の動きを見せたりしながら、より通常に近いボラティリティ水準に落ち着いていきます。このセクションでは、ニュース取引における代替アプローチを検討し、その有効性を検証し、トレーダーの戦略ツールキットにどのように加えられるかを探っていきます。詳細と洞察は、以下の項目で順を追って解説します。
ログレコードをマスターする(第7回):チャートにログを表示する方法
MetaTraderのチャート上に、フレームやタイトル、自動スクロール機能を備えたログ表示エリアを構築し、整理された形でログを確認する方法を解説します。本記事では、MQL5を用いてビジュアルログシステムを実装する手順を紹介します。これにより、ロボットの動作をリアルタイムで効率的に監視することが可能になります。
MQL5における特異スペクトル解析
本記事は、特異スペクトル解析(SSA: Singular Spectrum Analysis)の概念に不慣れな方を対象に、MQL5で利用可能な組み込みツールを実際に活用できるようになるためのガイドとして作成されたものです。
古典的な戦略を再構築する(第18回):ローソク足パターンの探索
この記事は、新しいコミュニティメンバーが自分自身でローソク足パターンを検索し、発見する手助けを目的としています。ローソク足パターンを記述することは簡単ではなく、手動で探索し、創造的に改善点を見つけ出す必要があります。ここでは、包み線パターンを紹介し、より利益につながる取引応用のためにどのように改善できるかを示します。
ブラック–ショールズのギリシャ指標の自動化:高度なスキャルピングとマイクロストラクチャ取引
ガンマ(Γ)とデルタ(Δ)はもともとオプションのエクスポージャーをヘッジするためのリスク管理ツールとして開発されましたが、時間の経過とともに、高度なスキャルピング、オーダーフローモデリング、マイクロストラクチャ取引における強力なツールへと進化しました。現在では、価格感応度や流動性行動のリアルタイム指標として機能し、トレーダーが短期的なボラティリティを驚くほど正確に予測できるようにしています。
適応型社会行動最適化(ASBO):二段階の進化
生物の社会的行動と、それが新しい数学モデルであるASBO(適応型社会的行動最適化)の開発に与える影響について、引き続き考察していきます。今回は、二段階の進化プロセスを詳しく分析し、アルゴリズムをテストした上で結論を導き出します。自然界において生物の集団が生存のために協力するのと同様に、ASBOも集団行動の原理を活用し、複雑な最適化問題を解決します。
初級から中級へ:IF ELSE
この記事では、IF演算子と、それに対応するELSEの使い方について解説します。この文は、あらゆるプログラミング言語において、最も重要かつ意義深いものです。しかし、その使いやすさにもかかわらず、使用経験や関連概念に対する理解がないと、時に混乱を招くことがあります。ここで提示されるコンテンツは、教育目的のみを目的としています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。