MQL5における修正グリッドヘッジEA(第3部):シンプルヘッジ戦略の最適化(I)
この第3部では、以前に開発したシンプルヘッジとシンプルグリッドエキスパートアドバイザー(EA)を再考します。最適な戦略の使用を目指し、数学的分析と総当り攻撃アプローチを通じてシンプルヘッジEAを改良することに焦点を移します。戦略の数学的最適化について深く掘り下げ、後の回でコーディングに基づく最適化を探求するための舞台を整えます。
Candlestick Trend Constraintモデルの構築(第4回):トレンドの波ごとに表示スタイルをカスタマイズ
この記事では、Meta Trader 5上で様々な指標のスタイルを描画するための強力なMQL5言語の機能を探ります。また、スクリプトと、スクリプトをモデルでどのように使えるかについても見ていきます。
プライスアクション分析ツールキットの開発(第12回):External Flow (III)トレンドマップ
市場の流れは、ブル(買い手)とベア(売り手)の力関係によって決まります。市場が反応する特定の水準には、そうした力が作用しています。中でも、フィボナッチとVWAPの水準は、市場の動きに強い影響を与える傾向があります。この記事では、VWAPとフィボナッチ水準に基づいたシグナル生成の戦略を一緒に探っていきましょう。
MQL5での取引戦略の自動化(第34回):R²適合度を用いたトレンドラインブレイクアウトシステム
本記事では、スイングポイントを用いてサポートおよびレジスタンスのトレンドラインを特定し、R²(決定係数)による適合度と角度制約で検証することで、ブレイクアウト取引を自動化するMQL5によるトレンドラインブレイクアウトシステムを構築します。本システムでは、指定したルックバック期間内のスイングハイとスイングローを検出し、一定数以上のタッチポイントを持つトレンドラインを生成します。その後、R²指標および角度制約を用いてトレンドラインの信頼性を評価し、取引に使用可能かを判定します。
機械学習の限界を克服する(第9回):自己教師あり学習を用いた金融における相関ベース特徴学習
自己教師あり学習は、観測値そのものから生成された教師信号を探索する統計学習の強力なパラダイムです。このアプローチは、教師なし学習における困難な問題を、より馴染みのある教師あり学習問題へと再定式化します。この技術は、アルゴリズムトレーダーコミュニティの目的に対して、見過ごされてきた応用可能性を持っています。したがって本記事の議論は、読者に対して自己教師あり学習という未開拓の研究領域への橋渡しを提供し、さらに小規模データセットへの過学習を回避しながら、金融市場の頑健で信頼性の高い統計モデルを提供する実践的応用を提示することを目的としています。
DoEasy-コントロール(第21部):SplitContainerコントロール。パネルセパレータ
この記事では、SplitContainerコントロールの補助パネルセパレータオブジェクトのクラスを作成します。
リプレイシステムの開発(第53回):物事は複雑になる(V)
今回は、あまり理解されていない重要なトピックを取り上げます。「カスタムイベント」です。これは危険です。これらの要素の長所と短所を解説します。このトピックは、MQL5やその他の言語でプロのプログラマーになりたい人にとって重要な鍵となります。ここではMQL5とMetaTrader 5に焦点を当てます。
Pythonでの見せかけの回帰
見せかけの回帰は、2つの時系列がまったくの偶然で高い相関を示し、回帰分析で誤解を招く結果をもたらす場合に発生します。このような場合、変数が関連しているように見えても、その相関関係は偶然であり、モデルの信頼性は低くなります。
プライスアクション分析ツールキットの開発(第5回):Volatility Navigator EA
市場の方向性を判断するのは簡単ですが、いつエントリーするかを知るのは難しい場合があります。連載「プライスアクション分析ツールキットの開発」の一環として、エントリーポイント、テイクプロフィットレベル、ストップロスの配置を提供する別のツールを紹介できることを嬉しく思います。これを実現するために、MQL5プログラミング言語を利用しました。この記事では、各ステップについて詳しく見ていきましょう。
既存のMQL5取引戦略へのAIモデルの統合
このトピックでは、強化学習モデル(LSTMなど)や機械学習ベースの予測モデルのような訓練済みAIモデルを、既存のMQL5取引戦略に組み込むことに焦点を当てています。
MQL5の圏論(第4回):スパン、実験、合成
圏論は数学の一分野であり、多様な広がりを見せていますが、MQL5コミュニティでは今のところ比較的知られていません。この連載では、その概念のいくつかを紹介して考察することで、トレーダーの戦略開発におけるこの注目すべき分野の利用を促進することを目的としたオープンなライブラリを確立することを目指しています。
多通貨エキスパートアドバイザーの開発(第11回):最適化の自動化(最初のステップ)
良いEAを得るためには、取引戦略の複数のインスタンスから優れたパラメータセットを選択する必要があります。これを実現するためには、さまざまな銘柄で最適化を行い、最良の結果を選ぶという手動のプロセスがあります。しかし、この作業をプログラムに任せ、より生産的な活動に専念したほうが効率的です。
知っておくべきMQL5ウィザードのテクニック(第83回): ストキャスティクスとFrAMAのパターンの使用 - 行動アーキタイプ
ストキャスティクスとフラクタル適応型移動平均(FrAMA: Fractal Adaptive Moving Average)は、互いに補完し合う特性を持っており、MQL5のエキスパートアドバイザー(EA)で使える指標ペアの1つです。ストキャスティクスはモメンタムの変化を捉えるために使用し、FrAMAは現在のトレンドを確認するために利用します。本記事では、これら2つのインジケーターの組み合わせについて、MQL5ウィザードを活用して構築およびテストをおこない、その有効性を検証します。
リプレイシステムの開発 - 市場シミュレーション(第9回):カスタムイベント
ここでは、カスタムイベントがどのようにトリガーされ、指標でどのようにリプレイ/シミュレーションサービスの状態がレポートされるかを見ていきます。
Rest APIを統合したMQL5強化学習エージェントの開発(第4回):MQL5でクラス内の関数を整理する
この記事では、MQL5における手続き型コーディングからオブジェクト指向プログラミング(OOP)への移行について、REST APIとの統合を中心に説明します。今日は、HTTPリクエスト関数(GETとPOST)をクラスにまとめる方法について説明します。コードのリファクタリングについて詳しく見ていき、孤立した関数をクラスメソッドに置き換える方法を紹介します。記事には実践的な例とテストが含まれています。
MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ(第5回)
この記事は、MQTT 5.0プロトコルのネイティブMQL5クライアントの開発ステップを説明する連載の第5回です。今回は、PUBLISHパケットの構造、Publishフラグの設定方法、Topic Name文字列のエンコード方法、必要な場合のPacket Identifierの設定方法について説明します。
プライスアクション分析ツールキットの開発(第10回):External Flow (II) VWAP
私たちの総合ガイドで、VWAPの力を完全にマスターしましょう。MQL5とPythonを活用して、VWAP分析を取引戦略に統合する方法を学びます。市場に対する洞察を最大限に活かし、より良い取引判断を下せるようになりましょう。
データサイエンスとML(第41回):YOLOv8を用いた外国為替および株式市場のパターン検出
金融市場でパターンを検出するのは、チャート上の内容を確認する必要があるため困難ですが、これは画像の制限によりMQL5では実行が困難です。この記事では、最小限の労力でチャート上のパターンを検出するのに役立つ、Pythonで作成された適切なモデルについて説明します。
プライスアクション分析ツールキットの開発(第43回):ローソク足の確率とブレイクアウト
MQL5ネイティブで開発されたCandlestick Probability EAは、ローソク足データをリアルタイムかつ銘柄別の確率情報へと変換する、軽量で実用的な分析ツールです。本EAは、バー確定時にピンバー、包み足、および十字線といったパターンを分類し、ATRを考慮したフィルタリングや、任意でブレイクアウト確認をおこないます。さらに、各パターンについて、純粋なフォロー率および出来高加重フォロー率を算出することで、特定の銘柄や時間足における典型的な結果を把握することが可能です。チャート上のマーカー、コンパクトなダッシュボード、インタラクティブな切り替え機能により、検証作業や分析対象への集中を容易にします。また、詳細なCSVログをエクスポートできるため、オフラインでの検証や追加分析にも対応しています。本EAを活用することで、確率プロフィールの構築、戦略の最適化をおこない、ローソク足パターン認識を定量的な優位性へと変換できます。
多銘柄多期間指標のDRAW_ARROW描画タイプ
この記事では、多銘柄多期間矢印指標の描画について見ていきます。また、現在のチャートの銘柄/期間と一致しない銘柄/期間で計算された矢印指標のデータを示す矢印を正しく表示するためのクラスメソッドを改善します。
初級から中級まで:再帰
この記事では、とても興味深く、難易度のやや高いプログラミングの概念について見ていきます。ただし、この概念は細心の注意をもって扱うべきです。なぜなら、誤用や誤解によって、本来は比較的単純なプログラムが、不要に複雑化してしまう危険があるからです。しかし、正しく使用し、かつ適切な状況にうまく適用できれば、再帰は、そうでなければ非常に面倒で時間のかかる問題を解決するための優れた味方となります。ここに掲載されている資料は、教育目的のみのものです。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
多通貨エキスパートアドバイザーの開発(第19回):Pythonで実装されたステージの作成
これまでは、標準のストラテジーテスター内で最適化タスクを順に自動実行することだけを考えてきました。しかし、もしそれらの実行の合間に、別の手段で得られたデータを処理したいとしたらどうなるでしょうか。ここでは、Pythonで記述されたプログラムによって新たな最適化ステージを作成する機能の追加を試みます。
ダーバスボックスブレイクアウト戦略における高度な機械学習技術の探究
ニコラス・ダーバスによって考案された「ダーバスボックスブレイクアウト戦略」は、株価が一定の「ボックス」レンジを上抜けたときに強い上昇モメンタムが示唆されることから、買いシグナルを見極めるためのテクニカル取引手法です。本記事では、この戦略コンセプトを例として用い、機械学習の3つの高度な技術を探っていきます。それは、取引をフィルタリングするのではなくシグナルを生成するために機械学習モデルを使用すること、離散的ではなく連続的なシグナルを用いること、異なる時間枠で学習されたモデルを使って取引を確認すること、の3点です。
DoEasyライブラリのグラフィックス(第99部):単一のコントロールポイントを使用した拡張グラフィックオブジェクトの移動
前回の記事では、コントロールフォームを使用して拡張グラフィックオブジェクトのピボットポイントを移動する機能を実装しました。次に、単一のグラフィックオブジェクトコントロールポイント(フォーム)を使用して複合グラフィックオブジェクトを移動する機能を実装します。
DoEasy - コントロール(第30部):ScrollBarコントロールのアニメーション化
今回は、ScrollBarコントロールの開発の続きと、マウスインタラクション機能の実装を開始します。さらに、マウスの状態フラグやイベントのリストも充実させる予定です。
ニューラルネットワークの実践:擬似逆行列(I)
今日は、純粋なMQL5言語で擬似逆行列の計算を実装する方法を検討し始めます。これから見るコードは、初心者にとっては予想していたよりもはるかに複雑なものになる予定で、それをどのように簡単に説明するかをまだ模索中です。したがって、今のところは、これを珍しいコードを学ぶ機会と考えてください。落ち着いて注意深く学んでください。効率的または迅速な適用を目的としたものではありませんが、可能な限り教訓的なものにすることが目標です。
データサイエンスとML(第33回):MQL5におけるPandas DataFrame、ML使用のためのデータ収集が簡単に
機械学習モデルを使用する際は、学習・検証・テストに使用するデータの一貫性を確保することが重要です。この記事では、MQL5の外部(多くの学習がおこなわれる環境)とMQL5内部の両方で同じデータを利用できるようにするため、MQL5で独自のPandasライブラリを作成します。
ニューラルネットワークが簡単に(第55回):対照的内発制御(Contrastive intrinsic control、CIC)
対照訓練は、教師なしで表現を訓練する方法です。その目標は、データセットの類似点と相違点を強調するためにモデルを訓練することです。この記事では、対照訓練アプローチを使用してさまざまなActorスキルを探究する方法について説明します。
MQL5とPythonで自己最適化エキスパートアドバイザーを構築する(第2回):ディープニューラルネットワークのチューニング
機械学習モデルには、様々な調整可能なパラメータがあります。この連載では、SciPyライブラリを使用して、特定の市場に合うようにAIモデルをカスタマイズする方法を探ります。
知っておくべきMQL5ウィザードのテクニック(第40回):Parabolic SAR(パラボリックSAR)
パラボリックSAR (Stop-and-Reversal)は、トレンドの確認と終了点を示す指標です。トレンドの見極めが遅れるため、その主な目的は、ポジションのトレーリングストップロスを位置づけることです。ウィザードで組み立てられるエキスパートアドバイザー(EA)のカスタムシグナルクラスを活用して、本当にEAのシグナルとして使えるかどうか調べてみました。
Connexusヘルパー(第5回):HTTPメソッドとステータスコード
この記事では、Web上でクライアントとサーバー間の重要な通信手段であるHTTPメソッドとステータスコードについて理解します。各メソッドの役割を理解することで、リクエストをより正確に制御できるようになり、サーバーに対して実行したいアクションを明確に伝えることができます。これにより、通信の効率が向上します。
MQL5におけるSQLiteの機能:銘柄とマジックナンバー別の取引統計を表示するダッシュボード
この記事では、口座別、銘柄別、および取引戦略別に取引統計をダッシュボードに表示するインジケーターの作成について考察します。コードは、ドキュメントおよびデータベース操作に関する記事の例に基づいて実装します。
時間進化移動アルゴリズム(TETA)
これは私自身のアルゴリズムです。本記事では、並行宇宙や時間の流れの概念に着想を得た「時間進化移動アルゴリズム(TETA: Time Evolution Travel Algorithm)」を紹介します。本アルゴリズムの基本的な考え方は、従来の意味でのタイムトラベルは不可能であるものの、異なる現実に至る一連の出来事の順序を選択することができるという点にあります。
MQL5での取引戦略の自動化(第23回):トレーリングとバスケットロジックによるゾーンリカバリ
この記事では、トレーリングストップとマルチバスケット取引機能を導入することで、ゾーンリカバリー(Zone Recovery)システムを強化します。改善されたアーキテクチャが、利益確定のために動的トレーリングストップをどのように活用し、複数の取引シグナルを効率的に処理するバスケット管理システムの使用方法を探ります。実装とバックテストを通じて、適応的な市場環境に対応するより堅牢な取引システムを実証します。
MetaTrader 5機械学習の設計図(第2回):機械学習のための金融データのラベリング
本連載「機械学習の設計図」の第2回では、単純なラベル付けがなぜモデルを誤った方向に導いてしまうのか、そしてトリプルバリア法やトレンドスキャン法といった高度な手法をどのように適用すれば、リスクを考慮した堅牢なターゲットを定義できるのかをご紹介します。計算負荷の高いこれらの手法を最適化する実践的なPythonコード例も多数取り上げ、市場のノイズに満ちたデータを、現実の取引環境に即した信頼性の高いラベルへと変換する方法を詳しく解説します。
ニューラルネットワークが簡単に(第59回):コントロールの二分法(DoC)
前回の記事では、Decision Transformerを紹介しました。しかし、外国為替市場の複雑な確率的環境は、提示した手法の可能性を完全に実現することを許しませんでした。今回は、確率的環境におけるアルゴリズムの性能向上を目的としたアルゴリズムを紹介します。
知っておくべきMQL5ウィザードのテクニック(第13回):ExpertSignalクラスのためのDBSCAN
DBSCAN (Density-Based Spatial Clustering of Applications with Noise)は、データをグループ化する教師なし形式であり、入力パラメータをほとんど必要としません。入力パラメータは2つだけであり、K平均法などの他のアプローチと比較すると利点が得られます。ウィザードで組み立てたEAを使用してテストし、最終的に取引するために、これがどのように建設的であり得るかを掘り下げます。