リプレイシステムの開発(第39回):道を切り開く(III)
開発の第2段階に進む前に、いくつかのアイデアを修正する必要があります。MQL5に必要なことをさせる方法をご存知ですか。ドキュメントに書かれている以上のことをしようとしたことはありますか。そうでないなら、準備をしましょう。ここでは、ほとんどの人が普段やらないことをやるからです。
リプレイシステムの開発(第43回):Chart Traderプロジェクト(II)
プログラミングを学びたいと夢見る人のほとんどは、実際に自分が何をしているのかわかっていません。彼らの活動は、ある方法で物事を創造しようとすることから成っています。しかし、プログラミングとは、適切な解決策を仕立てることではありません。このようなやり方は、解決策よりも多くの問題を引き起こす可能性があります。ここでは、より高度で、それゆえに異なることをします。
プライスアクション分析ツールキットの開発(第56回):CPIを用いたセッションの受容と拒否の解読
時間で区切られた市場セッションとCandle Pressure Index (CPI)を組み合わせ、確定足データと明確に定義されたルールに基づき、セッション境界での受容と拒否の挙動を分類するセッションに基づいた分析手法を提示します。
MQL5で取引管理者パネルを作成する(第2回):応答性と迅速なメッセージングの強化
この記事では、以前作成した管理パネルの応答性を強化します。さらに、取引シグナルの文脈におけるクイックメッセージングの重要性についても検討します。
プライスアクション分析ツールキットの開発(第37回):Sentiment Tilt Meter
市場センチメントは、価格変動に影響を与える要因の中でも最も見落とされがちでありながら強力な要因のひとつです。多くのトレーダーが遅行指標や経験則に頼る中、Sentiment Tilt Meter (STM) EAは生の市場データを明確で視覚的なガイダンスへと変換し、市場が強気、弱気、中立のどちらへ傾いているのかをリアルタイムで示します。これにより、エントリーの根拠を確認し、ダマシを回避し、市場参加のタイミングをより適切に図りやすくなります。
利益強化アーキテクチャ:多層型口座保護
このディスカッションでは、積極的な利益目標を追求しながら、壊滅的な損失へのエクスポージャーを最小限に抑えることを目的とした、構造化された多層防御システムを紹介します。本システムの焦点は、取引パイプラインのあらゆるレベルにおいて、攻撃的な売買ロジックと保護的な安全機構を組み合わせることにあります。その狙いは、このEAを「リスクを認識する捕食者」のように設計することです。すなわち、高価値な機会を捉える能力を持ちながらも、突発的な市場ストレスに対して盲目的になることを防ぐための複数の防護層を常に備えている状態を目指します。
機械学習の限界を克服する(第7回):自動戦略選択
本記事では、MetaTrader 5を用いて潜在的に収益性の高い取引戦略を自動的に特定する方法を紹介します。ホワイトボックスソリューションは、教師なし学習による行列分解によって動作し、設定が容易で解釈もしやすく、どの戦略を保持すべきか明確な指針を提供します。一方、ブラックボックスソリューションはより時間がかかりますが、ホワイトボックスアプローチでは捉えきれない複雑な市場環境に適しています。本記事では、あらゆる状況下で収益性の高い戦略を慎重に見極めるために、どのように取引戦略を活用できるかを解説します。
古典的な戦略を再構築する(第13回):移動平均線のクロスオーバーにおける遅延の最小化
移動平均クロスオーバーは、私たちのコミュニティにおけるトレーダーの間で広く知られている戦略ですが、その基本的な仕組みは誕生以来ほとんど変化していません。本稿では、この戦略に存在する“遅延”を最小限に抑えることを目的とした、わずかながらも重要な改良について紹介します。元の戦略を愛用しているトレーダーの方々にも、今回ご紹介する洞察をもとに、戦略の見直しを検討していただければ幸いです。同一の期間を持つ2つの移動平均を使用することで、戦略の根本的な原則を損なうことなく、遅延を大幅に削減することが可能になります。
Developing a Replay System (Part 36): Making Adjustments (II)
One of the things that can make our lives as programmers difficult is assumptions. In this article, I will show you how dangerous it is to make assumptions: both in MQL5 programming, where you assume that the type will have a certain value, and in MetaTrader 5, where you assume that different servers work the same.
リプレイシステムの開発(第54回):最初のモジュールの誕生
この記事では、リプレイ/シミュレーターシステムで使用するための、他の目的にも汎用的に使用できる、実際に機能するモジュールの最初のものを組み立てる方法について説明します。マウスモジュールです。
プライスアクション分析ツールキットの開発(第38回):ティックバッファVWAPと短期不均衡エンジン
第38回では、生のティックを実用的なシグナルに変換する、実稼働グレードのMT5監視パネルを構築します。EAはティックデータをバッファリングし、ティックレベルのVWAP、短期ウィンドウの不均衡(フロー)指標、ATRに基づくポジションサイズを計算します。その後、スプレッド、ATR、フローを低フリッカーのバーで可視化します。システムは推奨ロットサイズと1Rストップを計算し、狭いスプレッド、強いフロー、エッジ条件に対して設定可能なアラートを発行します。自動取引は意図的に無効化しており、堅牢なシグナル生成とクリーンなユーザー体験に重点を置いています。
リプレイシステムの開発(第65回)サービスの再生(VI)
この記事では、リプレイ/シミュレーションアプリケーションと併用する際に発生するマウスポインタの問題について、その実装と解決方法を解説します。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
USDとEURの指数チャート—MetaTrader 5サービスの例
MetaTrader 5サービスを例に、米ドル指数(USDX)およびユーロ指数(EURX)チャートの作成と更新について考察します。サービス起動時には、必要な合成銘柄が存在するかを確認し、未作成であれば新規作成します。その後、それを気配値表示ウィンドウに追加します。続いて、合成銘柄の1分足およびティック履歴を作成し、最後にその銘柄のチャートを表示します。
MQL5で取引管理者パネルを作成する(第8回):分析パネル
今日は、管理パネルEAに統合された専用ウィンドウ内に、便利な取引メトリクスを組み込む方法について掘り下げていきます。本稿では、MQL5を活用して分析パネル(Analytics Panel)を開発する方法に焦点を当て、そのパネルが取引管理者にもたらすデータの価値について解説します。この開発プロセスは教育的意義が大きく、初心者・経験者を問わず開発者にとって有益な学びを提供します。この機能は、高度なソフトウェアツールを通じて取引マネージャーを支援する本連載の可能性を示す好例です。さらに、取引管理パネル(Trading Administrator Panel)の機能拡張の一環として、PieChartクラスとChartCanvasクラスの実装についても取り上げます。
ログレコードをマスターする(第5回):キャッシュとローテーションによるハンドラの最適化
この記事では、ハンドラへのフォーマッタ追加、実行サイクルを管理するためのCIntervalWatcherクラスの導入、キャッシュとファイルローテーションによる最適化、さらにパフォーマンステストおよび実用的な使用例を通じて、ログライブラリをさらに改善します。これらの機能強化により、さまざまな開発シナリオに柔軟に対応可能な、効率的でスケーラブルなロギングシステムが実現します。
リプレイシステムの開発(第67回):コントロールインジケーターの改良
この記事では、コードを少し手直しすることで、どのような改善が得られるかを見ていきます。今回の改良は、コードの簡素化を図り、MQL5ライブラリの呼び出しをより活用し、そして何よりも、将来的に開発する可能性のある他のプロジェクトでも、より安定して安全かつ使いやすくなることを目的としています。
リプレイシステムの開発(第61回):サービスの再生(II)
この記事では、リプレイ/シミュレーションシステムをより効率的かつ安全に動作させるための変更点について解説します。また、クラスを最大限に活用したいと考えている方にも役立つ情報を取り上げます。さらに、クラスを使用する際にコードのパフォーマンスを低下させるMQL5特有の問題点を取り上げ、それに対する具体的な解決策についても説明します。
原子軌道探索(AOS)アルゴリズム
この記事では、原子軌道モデルの概念を利用して解を探索する原子軌道検索(AOS:Atomic Orbital Search)アルゴリズムについて考えます。AOSは、原子内における確率分布や相互作用のダイナミクスに基づいており、解の探索プロセスをシミュレートするアルゴリズムです。この記事では、候補解の位置更新やエネルギーの吸収・放出のメカニズムを含めたAOSの数学的な側面について詳しく説明します。AOSは、量子力学の原理を計算問題に応用する新たな可能性を切り開く、革新的な最適化手法です。
初級から中級へ:SWITCH文
この記事では、SWITCH文の最も基本的かつシンプルな使い方について学びます。ここで提示されるコンテンツは、教育目的のみを目的としています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
HTTPとConnexus(第2回):HTTPアーキテクチャとライブラリ設計の理解
この記事では、HTTPプロトコルの基礎について、主なメソッド(GET、POST、PUT、DELETE)、ステータスコード、URLの構造について説明します。さらに、HTTPリクエストにおけるURLとクエリパラメータの操作を容易にするCQueryParamとCURLクラスによるConexxusライブラリの構築の始まりも紹介します。
古典的な戦略を再構築する(第4回):SP500と米財務省中期証券
この連載では、最新のアルゴリズムを用いて古典的な取引戦略を分析し、AIによって戦略を改善できるかどうかを検証します。本日の記事では、SP500と米財務省中期証券との関係を活用した古典的な取引手法を再考します。
初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(III)-インジケーターインサイト
本記事では、News Headline EAをさらに進化させるために、専用の「インジケーターインサイトレーン」を導入します。これは、RSI、MACD、ストキャスティクス、CCIなどの主要インジケーターから生成されるテクニカルシグナルを、チャート上にコンパクトにまとめて表示する仕組みです。この方法により、MetaTrader 5ターミナルで複数のインジケーターウィンドウを開く必要がなくなり、作業スペースをすっきりと保つことができます。さらに、MQL5のAPIを活用してインジケーターデータをバックグラウンドで取得することで、カスタムロジックを使ったリアルタイムの市場分析や可視化が可能になります。本記事では、MQL5でインジケーターデータを操作し、チャート上の単一水平レーンに、知的で省スペースなスクロール式インサイトシステムを作成する方法を詳しく解説します。
リプレイシステムの開発(第71回):正しい時間を知る(IV)
この記事では、前回の記事で紹介したリプレイ/シミュレーションサービスに関連する実装方法について見ていきます。人生の多くのことと同様に、問題は必ず発生するものです。そして今回も例外ではありませんでした。本記事では、引き続き改善をおこなっていきます。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
受信者動作特性曲線の紹介
ROC曲線は、分類器の性能を評価するために使用されるグラフ表現です。ROC曲線は比較的単純に見えますが、実際に使用する際には、よくある誤解や陥りやすい落とし穴があります。この記事の目的は、分類器の性能評価を理解しようとする実務者に向けて、ROC曲線を紹介することです。
初心者からエキスパートへ:MQL5での可視化による地理的市場認識の強化
セッションを意識せずに取引することは、まるでコンパスなしで航海するようなものです。移動してはいるものの、目的を持って移動していないのです。本稿では、トレーダーが市場のタイミングを認識する方法を革新し、通常のチャートを動的な地理的表示に変換する手法を紹介します。MQL5の強力な可視化機能を活用して、リアルタイムでアクティブな取引セッションを点灯させるライブ世界地図を構築します。これにより、抽象的な市場時間が直感的な視覚情報として理解可能になります。この手法は取引心理を鋭敏化すると同時に、複雑な市場構造と実用的な洞察を結びつけるプロフェッショナル向けのプログラミング技術も明らかにします。
リプレイシステムの開発(第42回):Chart Traderプロジェクト(I)
もっと面白いものを作りましょう。ネタバレはしたくないので、理解を深めるために記事を読んでください。リプレイ/シミュレーターシステムの開発に関する本連載の最初の段階から、私は、開発中のシステムと実際の市場の両方で同じようにMetaTrader 5プラットフォームを使用することがアイディアであると述べてきました。これが適切におこなわれることが重要です。ある道具を使用して訓練して戦い方を学んだ末、戦いの最中に別の道具を使用しなければならないというようなことは誰もしたくありません。
リプレイシステムの開発(第55回):コントロールモジュール
この記事では、開発中のメッセージシステムに統合できるように、コントロールインジケーターを実装します。それほど難しくはありませんが、このモジュールの初期化について理解しておくべき細かい点がいくつかあります。ここで提示される資料は教育目的のみに使用されます。示された概念を学習し習得する以外の目的での利用は決して想定されていません。
市場シミュレーション(第7回):ソケット(I)
ソケットについてご存じでしょうか。また、MetaTrader 5でどのように使用するかをご存じでしょうか。もし答えが「いいえ」であれば、ここから一緒に学んでいきましょう。本日の記事では、その基礎について解説します。同じことを実現する方法はいくつも存在しますが、私たちが常に重視するのは結果です。そこで、MetaTrader 5からExcelのような他のプログラムへデータを転送するための、実際にシンプルな方法が存在することを示したいと思います。ただし、本来の主な目的は、MetaTrader 5からExcelへデータを送ることではなく、その逆、つまりExcelやその他のプログラムからMetaTrader 5へデータを転送することにあります。
DoEasy - コントロール(第33部):垂直スクロールバー
この記事では、DoEasyライブラリのグラフィカル要素の開発を続け、フォームオブジェクトコントロールの垂直スクロールを追加し、さらに将来必要となる便利な関数やメソッドを紹介します。
カオス最適化アルゴリズム(COA)
本記事では、カオス理論と適応型探索メカニズムを組み合わせた改良型カオス最適化(COA)を紹介します。このアルゴリズムでは、複数のカオス写像と慣性成分を利用して探索空間を効率的に走査します。また、金融最適化におけるカオス的手法の理論的基盤についても解説します。
初級から中級へ:演算子の優先順位
これは間違いなく、純粋に理論だけで説明するには最も難しいテーマの一つです。だからこそ、ここで取り上げるすべての内容を実際に手を動かして練習する必要があります。一見すると単純そうに見えるかもしれませんが、演算子というトピックは、継続的な学習と実践を通じて初めて理解できるものです。
MQL5における特異スペクトル解析
本記事は、特異スペクトル解析(SSA: Singular Spectrum Analysis)の概念に不慣れな方を対象に、MQL5で利用可能な組み込みツールを実際に活用できるようになるためのガイドとして作成されたものです。
市場シミュレーション(第14回):ソケット(VIII)
多くのプログラマは、Excelの使用をやめて、Pythonに直接移行し、PythonでExcelファイルを生成して後から結果を分析できるパッケージを使うべきだと考えるかもしれません。しかし、前回の記事で述べたように、この方法は多くのプログラマにとって最も簡単な解決策ではありますが、すべてのユーザーに受け入れられるわけではありません。そして、このような場合、常に正しいのはユーザーです。私たちプログラマは、すべてをうまく機能させる方法を見つけなければなりません。
MQL5標準ライブラリエクスプローラー(第3回):エキスパート標準偏差チャネル
CTradeクラスとCChartObjectStdDevChannelクラスを用いたエキスパートアドバイザー(EA)を開発し、さらに収益性を高めるためのいくつかのフィルタを適用します。前回の議論で扱った理論を実装へ落とし込むことが目的です。また、MQL5標準ライブラリとその内部コードベースを理解するのに役立つ、もう一つの簡単なアプローチも紹介します。本記事では、これらの概念を実践的に学ぶことができます。
初級から中級へ:変数(III)
今日は、定義済みのMQL5言語変数と定数の使用方法を見ていきます。さらに、別の特殊なタイプの変数である関数を分析します。これらの変数を適切に操作する方法を知っているかどうかは、動作するアプリケーションと動作しないアプリケーションの違いを意味する場合があります。ここで紹介されている内容を理解するには、以前の記事で説明した内容を理解する必要があります。
リプレイシステムの開発(第75回):新しいChart Trade(II)
この記事では、C_ChartFloatingRADクラスについて説明します。これはChart Tradeを機能させるための要となる部分です。ただし、解説はこれで終わりではありません。本記事の内容はかなり広範かつ深い理解を必要とするため、続きは次回の記事で補完します。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
初級から中級へ:値渡しまたは参照渡し
この記事では、値渡しと参照渡しの違いを実際の例を通じて理解します。これは単純で一般的な概念であり、特に問題を引き起こすようには思えませんが、多くの経験豊富なプログラマーでさえ、この小さな違いのためにコードの作成中に思わぬ失敗をすることがあります。値渡しまたは参照渡しをいつ、どのように、なぜ使用するかを知ることは、プログラマーとしての私たちの生活に大きな違いをもたらします。ここで提示されるコンテンツは、教育目的のみを目的としています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
MQL5で取引管理者パネルを作成する(第9回):コード編成(III)コミュニケーションモジュール
MQL5インターフェイス設計における最新の進展を、再設計されたコミュニケーションパネルの公開とともに詳しく解説します。また、モジュール化の原則に基づいて新しい管理パネルを構築するシリーズも引き続き展開していきます。この記事では、CommunicationsDialogクラスを段階的に開発し、それをDialogクラスから継承する方法を丁寧に解説します。さらに、開発には配列およびListViewクラスを活用します。MQL5開発スキルを高めるための実用的な知見を得るために、ぜひ記事を読み、コメント欄でディスカッションにご参加ください。
古典的な戦略を再構築する(第15回):デイリーブレイクアウト取引戦略
コンピュータが登場する以前から、人間のトレーダーは長年にわたり金融市場に参加し、意思決定を導く経験則を培ってきました。本記事では、よく知られたブレイクアウト戦略を再検証し、こうした経験から得られた市場ロジックがシステマティックな手法に対抗し得るのかをテストします。結果として、元の戦略は高い精度を示した一方で、不安定性とリスク管理の弱さが明らかになりました。そこで本記事ではアプローチを改良し、裁量的な洞察をより堅牢なアルゴリズム取引戦略へと適応する方法を示します。