リプレイシステムの開発(第70回):正しい時間を知る(III)
この記事では、CustomBookAdd関数を適切かつ効果的に使う方法について見ていきます。一見シンプルに見えるこの関数ですが、実際には多くの細かな注意点があります。たとえば、マウスインジケーターに対してカスタム銘柄がオークション中なのか、取引中なのか、市場が閉まっているのかを伝えることができます。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
MQL5でカレンダーベースのニュースイベントブレイクアウトエキスパートアドバイザーを開発する
ボラティリティは、影響力の大きいニュースイベントの周辺でピークに達する傾向があり、大きなブレイクアウトの機会を生み出します。本記事では、カレンダーを基にしたブレイクアウト戦略の実装プロセスについて説明します。カレンダーデータを解釈・保存するためのクラスの作成、これを活用した現実的なバックテストの開発、そして最終的にライブ取引用の実行コードの実装までを一貫して解説します。
行列分解:より実用的なモデリング
行と列ではなく列のみが指定されているため、行列モデリングが少し奇妙であることに気付かなかったかもしれません。行列分解を実行するコードを読むと、これは非常に奇妙に見えます。行と列がリストされていることを期待していた場合、因数分解しようとしたときに混乱する可能性があります。さらに、この行列モデリング方法は最適ではありません。これは、この方法で行列をモデル化すると、いくつかの制限に遭遇し、より適切な方法でモデル化がおこなわれていれば必要のない他の方法や関数を使用せざるを得なくなるためです。
MQL5取引ツールキット(第7回):直近でキャンセルされた予約注文に関する関数で履歴管理EX5ライブラリを拡張
直近でキャンセルされた予約注文を処理する関数に焦点を当て、History Manager EX5ライブラリの最終モジュールの作成を完了する方法を学習します。これにより、MQL5を使用してキャンセルされた予約注文に関連する重要な詳細を効率的に取得して保存するためのツールが提供されます。
MQL5 Algo Forgeへの移行(第3回):外部コードを自分のプロジェクトに統合する
MQL5 Algo Forgeストレージにある任意のリポジトリから外部コードを自分のプロジェクトへ統合する方法を見ていきましょう。本記事ではいよいよ、有望でありながらもより複雑な課題に踏み込みます。すなわち、MQL5 Algo Forge内のサードパーティ製リポジトリからライブラリを実際に接続し、活用する方法についてです。
リプレイシステムの開発(第44回):Chart Tradeプロジェクト(III)
前回の記事では、OBJ_CHARTで使用するテンプレートデータの操作方法について解説しました。ただし、あの記事ではトピックの概要に焦点を当て、詳細な部分には触れていませんでした。これは、説明をよりシンプルにするために、非常に簡略化された手法を用いたからです。物事は一見シンプルに見えることが多いですが、実際にはそうではないケースもあり、全体を正確に理解するためには、まず最も基本的な部分をしっかり押さえる必要があります。
母集団最適化アルゴリズム:ボイドアルゴリズム
この記事では、動物の群れ行動のユニークな例に基づいたボイドアルゴリズムについて考察しています。その結果、ボイドアルゴリズムは、「群知能(Swarm Intelligence)」の名の下に統合されたアルゴリズム群全体の基礎となった。
PythonとMQL5による多銘柄分析(第2回):ポートフォリオ最適化のための主成分分析
取引口座のリスク管理は、すべてのトレーダーにとっての課題です。MetaTrader 5で、さまざまな銘柄に対して高リスク、中リスク、低リスクモードを動的に学習する取引アプリケーションを開発するにはどうすればよいでしょうか。PCA(主成分分析)を使用することで、ポートフォリオの分散をより効果的に管理できるようになります。MetaTrader 5から取得した市場データを基に、これら3つのリスクモードを学習するアプリケーションの作成方法を説明します。
リプレイシステムの開発(第77回):新しいChart Trade (IV)
この記事では、通信プロトコルを作成する際に考慮すべきいくつかの対策や注意点について説明します。内容は比較的シンプルでわかりやすいものなので、詳細には触れません。しかし、この記事の内容を理解することで、今後の展開が把握しやすくなります。
MQL5取引ツールキット(第3回):未決注文管理EX5ライブラリの開発
MQL5のコードやプロジェクトで、包括的な未決注文管理EX5ライブラリを開発して実装する方法を学びましょう。本記事では、広範な未決注文管理EX5ライブラリを作成する手順を紹介し、それをインポートおよび実装する方法を、取引パネルまたはグラフィカルユーザーインターフェース(GUI)の構築を通じて解説します。このEA注文パネルを使用すれば、チャートウィンドウ上のGUIから、指定されたマジックナンバーに関連する未決注文を直接オープン、監視、削除することが可能です。
MQL5で取引管理者パネルを作成する(第6回):多機能インターフェイス(I)
取引管理者の役割はTelegram通信だけにとどまらず、注文管理、ポジション追跡、インターフェイスのカスタマイズなど、さまざまな制御アクティビティにも携わります。この記事では、MQL5の複数の機能をサポートするためにプログラムを拡張するための実用的な洞察を共有します。このアップデートは、主にコミュニケーションに重点を置くという現在のAdminパネルの制限を克服し、より幅広いタスクを処理できるようにすることを目的としています。
DoEasy-コントロール(第16部):TabControl WinFormsオブジェクト — 複数行のタブヘッダー、コンテナに合わせたヘッダーの伸び
この記事では、TabControlの開発を続け、ヘッダーのサイズを設定するすべてのモードに対して、コントロールの4つの側面すべてにタブヘッダーの配置(通常、固定、右詰め)を実装します。
スイングエントリーモニタリングEAの開発
年末が近づくと、多くの長期トレーダーは市場の過去を振り返り、その動きや傾向を分析して、将来の動向を予測しようとします。この記事では、MQL5を用いて長期エントリーの監視をおこなうエキスパートアドバイザー(EA)の開発について解説します。手動取引や自動監視システムの不在によって、長期的な取引チャンスを逃してしまうという課題に取り組むことが本稿の目的です。今回は、特に取引量の多い通貨ペアの一つを例に挙げ、効果的な戦略を立案しながらソリューションを構築していきます。
古典的な戦略を再構築する(第16回):ダブルボリンジャーバンドブレイクアウト
本記事では、古典的なボリンジャーバンドのブレイクアウト戦略を再考し、その弱点を補う手法を紹介します。古典的戦略は、偽のブレイクアウトに弱いというよく知られた課題があります。本記事では、その弱点に対する一つの解決策として「ダブルボリンジャーバンド戦略」を提示します。この比較的知られていない手法は、従来戦略の弱点を補い、市場をより動的に捉える視点を提供します。これにより、従来のルールに縛られた制約を超え、トレーダーにとってより適応力のあるフレームワークを提供できるのです。
リプレイシステムの開発(第46回):Chart Tradeプロジェクト(V)
アプリケーションを動作させるために必要なファイルを探すのに時間を浪費していませんか。すべてを実行ファイルに含めてみてはどうでしょうか。そうすれば、ファイルを探す必要がなくなります。多くの人がこのような配布・保管方法を採用していることは知っていますが、少なくとも、実行ファイルの配布や保管に関してはもっと適切な方法があります。ここで紹介する方法は、MQL5だけでなく、MetaTrader 5そのものを優れたアシスタントとして使うことができるので、非常に便利です。しかも、理解するのはそれほど難しくありません。
プライスアクション分析ツールキットの開発(第27回):移動平均フィルター付き流動性スイープツール
価格変動の微妙なダイナミクスを理解することは、大きなアドバンテージをもたらします。その代表的な例が流動性スイープです。これは、特に機関投資家のような大口トレーダーが意図的に価格を主要なサポートやレジスタンスレベルを突破させる戦略です。これらのレベルには、小口トレーダーのストップロス注文が集中していることが多く、大口プレイヤーはこの流動性の「ポケット」を活用することで、スリッページを最小限に抑えつつ、効率的に大きなポジションを建てたり決済したりすることができます。
MQL5で古典的な戦略を再構築する(後編):FTSE100と英国債
この連載では、人気のある取引戦略を探り、AIを使ってその改善を試みます。今日の記事では、株式市場と債券市場の関係に基づく古典的な取引戦略を再考します。
プライスアクション分析ツールキットの開発(第15回):クォーターズ理論の紹介(I) - Quarters Drawerスクリプト
サポートとレジスタンスのポイントは、トレンドの反転や継続の可能性を示す重要なレベルです。これらのレベルを見つけるのは難しいこともありますが、一度特定できれば、市場をより的確に捉える準備が整います。さらなるサポートとして、本記事で紹介されているQuarters Drawerツールをぜひご活用ください。このツールは、主要およびマイナーなサポート・レジスタンスレベルの特定に役立ちます。
MQL5で取引管理者パネルを作成する(第11回):最新機能通信インターフェース(I)
本日は、コミュニケーションパネルのメッセージングインターフェースを、現代の高性能なコミュニケーションアプリの標準に合わせて強化することに焦点を当てます。この改善は、CommunicationsDialogクラスの更新によって実現されます。この記事とディスカッションでは、主要な知見を紹介しつつ、MQL5を用いたインターフェースプログラミングの次のステップを整理していきます。
初級から中級まで:テンプレートとtypename(I)
この記事では、多くの初心者が避けがちな概念の1つを取り上げます。これはテンプレートに関連する話題で、多くの人がテンプレートの基本原理を理解していないため、決して簡単なテーマではありません。その基本原理とは、関数や手続きのオーバーロードです。
人工部族アルゴリズム(ATA)
本記事では、状況に応じて適応的に動作する独自の二重行動システムを備えた進化的手法、人工部族アルゴリズム(ATA: Artificial Tribe Algorithm)の主要要素と革新点について、詳細に説明します。ATAは、個体学習と社会的学習を組み合わせ、探索には交叉を用い、局所最適に陥った際には移動によって新たな解を探索するためのアルゴリズムです。
PythonとMQL5による多銘柄分析(前編):NASDAQ集積回路メーカー
ポートフォリオのリターンを最大化するために、AIを活用してポジションサイジングと注文数量を最適化する方法について解説します。本稿では、アルゴリズムを用いて最適なポートフォリオを特定し、期待リターンやリスク許容度に応じてポートフォリオを調整する手法を紹介します。このプロセスでは、SciPyライブラリやMQL5言語を活用し、保有中のすべてのデータを基に、最適かつ分散化されたポートフォリオを構築します。
リプレイシステムの開発(第33回):発注システム(II)
今日も発注システムの開発を続けます。ご覧のように、他の記事ですでに紹介したものを大量に再利用することになります。とはいえ、この記事にはささやかなご褒美があります。まず、デモ口座からでもリアル口座からでも、取引サーバーで使えるシステムを開発します。MetaTrader 5プラットフォームを幅広く活用し、当初から必要なサポートをすべて提供します。
リプレイシステムの開発(第56回):モジュールの適応
モジュール同士はすでに適切に連携していますが、リプレイサービスでマウスポインタを使用しようとするとエラーが発生します。次のステップに進む前に、この問題を修正する必要があります。さらに、マウスインジケーターのコードにある別の問題も修正します。この修正によって、今回のバージョンは最終的に安定し、洗練されたものになります。
MQL5取引ツールキット(第5回):ポジション関数による履歴管理EX5ライブラリの拡張
エクスポート可能なEX5関数を作成して、過去のポジションデータを効率的にクエリおよび保存する方法を解説します。このステップバイステップのガイドでは、直近にクローズされたポジションの主要なプロパティを取得するモジュールを開発し、HistoryManagement EX5ライブラリを拡張していきます。対象となるプロパティには、純利益、取引時間、ピップ単位でのストップロスやテイクプロフィット、利益値、その他多くの重要な情報が含まれます。
リプレイシステムの開発(第34回):発注システム (III)
今回は、構築の第一段階を完成させます。この部分はかなり短時間で終わりますが、前回までに説明しなかった詳細をカバーします。多くの方が理解していない点をいくつか説明します。なぜShiftキーやCtrlキーを押さなければならないかご存じでしょうか。
DoEasy - コントロール(第22部):SplitContainer - 作成したオブジェクトのプロパティを変更する
今回は、新しく作成したSplitContainerコントロールのプロパティと外観を変更する機能を実装します。
古典的な戦略を再構築する(第6回):多時間枠分析
この連載では、古典的な戦略を再検討し、AIを使って改善できるかどうかを検証します。本日の記事では、人気の高い多時間枠分析という戦略を検証し、AIによって戦略が強化されるかどうかを判断します。
MQL5でSHA-256暗号化アルゴリズムをゼロから実装する
これまで、DLLを使用せずに暗号通貨取引所との統合を構築することは長らく課題とされてきました。しかし、本ソリューションは、市場へ直接接続するための包括的なフレームワークを提供します。
MQL5で取引管理者パネルを作成する(第9回):コード編成(I)
このディスカッションでは、大規模なコードベースを扱う際に直面する課題について掘り下げます。MQL5におけるコード構成のベストプラクティスを紹介し、取引管理パネルのソースコードの可読性と拡張性を向上させるための実践的なアプローチを実装します。また、他の開発者がアルゴリズム開発で活用できる再利用可能なコードコンポーネントの開発も目指しています。ぜひ最後までお読みいただき、ご意見をお寄せください。
プッシュ通知による取引の監視:MetaTrader 5サービスの例
この記事では、取引結果をスマートフォンに通知するサービスアプリの作成について説明します。標準ライブラリオブジェクトのリストを処理して、必要なプロパティごとにオブジェクトの選択を整理する方法を学習します。
リプレイシステムの開発(第64回):サービスの再生(V)
この記事では、コード内の2つのエラーを修正する方法について説明します。ただし、初心者プログラマーの皆さんに、物事が必ずしも期待どおりに進むとは限らないことを理解してもらえるよう、できるだけわかりやすく解説したいと思います。いずれにせよ、これは学びの機会です。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。ここで紹介する内容は教育目的のみに限定されており、提示された概念を探求すること以外の目的でこのアプリケーションを最終的な文書と見なすべきではありません。
リプレイシステムの開発(第40回):第2段階の開始(I)
今日は、リプレイ/シミュレーターシステムの新しい段階について話しましょう。この段階で、会話は本当に面白くなり、内容もかなり濃くなります。記事を熟読し、そこに掲載されているリンクを利用することを強くお勧めします。そうすることで、内容をより深く理解することができます。
注文板に基づいた取引システムの開発(第1回):インジケーター
市場の厚みは、特に高頻度取引(HFT)アルゴリズムにおいて、高速な取引を実行するために不可欠な要素です。本連載では、多くの取引可能な銘柄に対してブローカー経由で取得できるこの種の取引イベントについて取り上げます。まずは、チャート上に直接表示されるヒストグラムのカラーパレット、位置、サイズをカスタマイズ可能なインジケーターから始めます。次に、特定の条件下でこのインジケーターをテストするためのBookEventイベントの生成方法について解説します。今後の記事では、価格分布データの保存方法や、そのデータをストラテジーテスターで活用する方法などのトピックも取り上げる予定です。
プライスアクション分析ツールキットの開発(第28回):Opening Range Breakout Tool
各取引セッションの始まりでは、市場の方向性の偏りは、価格が初期価格幅(オープニングレンジ)を突破して初めて明確になります。本記事では、MQL5エキスパートアドバイザー(EA)を構築し、セッション開始直後の初期価格幅のブレイクアウトを自動的に検出して分析し、タイムリーでデータ駆動型のシグナルを提供して自信ある日中エントリーを可能にする方法を探ります。
PythonとMQL5を使用した特徴量エンジニアリング(第4回):UMAP回帰によるローソク足パターン認識
次元削減手法は、機械学習モデルのパフォーマンスを向上させるために広く用いられています。ここでは、UMAP (Uniform Manifold Approximation and Projection)という比較的新しい手法について説明します。UMAPは、古い手法に見られるデータの歪みや人工的な構造といった欠点を明確に克服することを目的として開発されました。UMAPは非常に強力な次元削減技術であり、似たローソク足を新たに効果的にグループ化できるため、アウトオブサンプル(未知データ)に対する誤差率を低減し、取引パフォーマンスを向上させることができます。
リプレイシステムの開発(第51回):物事は複雑になる(III)
この記事では、MQL5プログラミングの分野で最も難解な問題の1つである、チャートIDを正しく取得する方法と、オブジェクトがチャートにプロットされない場合がある理由について解説します。ここで提供される資料は教育目的のみに使用されるべきです。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
初級から中級へ:配列と文字列(I)
本日の記事では、いくつかの特殊なデータ型について見ていきます。まず、文字列とは何かを定義し、いくつかの基本的な操作方法を説明します。これにより、興味深いデータ型を扱えるようになりますが、初心者にとっては少し混乱することもあるかもしれません。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
リプレイシステムの開発(第45回):Chart Tradeプロジェクト(IV)
この記事の主な目的は、C_ChartFloatingRADクラスの紹介と説明です。Chart Trade指標は、非常に興味深い方法で機能しています。チャート上のオブジェクトの数はまだ少ないものの、期待通りの機能を実現しています。指標の値は編集可能ですが、その実現方法については疑問が残るかもしれません。この記事を読めば、これらの疑問が解消されるでしょう。
MQL5とデータ処理パッケージの統合(第3回):データ可視化の強化
この記事では、基本的なチャートの枠を超え、インタラクティブ性、データの層化、ダイナミックな要素といった機能を組み込むことで、トレーダーがトレンド、パターン、相関関係をより効果的に探求できるようにする、データ可視化の高度化について解説します。