MQL5プログラミング記事

icon

取引戦略をプログラミングするためのMQL5言語を、ほとんどがコミュニティメンバーによって書かれた数多くの公開記事で学びます。記事は統合、テスター、取引戦略等のカテゴリに分けられていて、プログラミングに関連する疑問への解答を素早く見つけることができます。

新着記事をフォローして、フォーラムでディスカッションしてください。

新しい記事を追加
最新 | ベスト
preview
MQL5での暗号化の探索:ステップごとのアプローチ

MQL5での暗号化の探索:ステップごとのアプローチ

この記事では、MQL5内での暗号化の統合について探り、取引アルゴリズムのセキュリティと機能を強化する方法を紹介します。主要な暗号化手法と、それらを自動取引に実際に実装する方法について説明します。
preview
MQL5における段階的特徴量選択

MQL5における段階的特徴量選択

この記事では、MQL5で実装された段階的特徴量選択の修正バージョンを紹介します。このアプローチは、Timothy Masters著の「Modern Data Mining Algorithms in C++ and CUDA C」で概説されている手法に基づいています。
preview
MQL5で取引管理者パネルを作成する(第10回):外部リソースベースのインターフェイス

MQL5で取引管理者パネルを作成する(第10回):外部リソースベースのインターフェイス

本日は、MQL5の機能を活用して、BMP形式の画像などの外部リソースを利用し、トレーディング管理パネル用に独自のスタイルを持ったホームインターフェイスを作成します。ここで紹介する手法は、画像やサウンドなど複数のリソースを一括でパッケージ化して配布する際に特に有効です。このディスカッションでは、こうした機能をどのように実装し、New_Admin_Panel EAにおいてモダンで視覚的に魅力的なインターフェイスを提供するかを一緒に見ていきましょう。
preview
知っておくべきMQL5ウィザードのテクニック(第64回):ホワイトノイズカーネルでDeMarkerとEnvelope Channelsのパターンを活用する

知っておくべきMQL5ウィザードのテクニック(第64回):ホワイトノイズカーネルでDeMarkerとEnvelope Channelsのパターンを活用する

DeMarkerオシレーターとEnvelopesインジケーターは、エキスパートアドバイザー(EA)を開発するときに組み合わせることができるモメンタムおよびサポート/レジスタンスツールです。前回の記事では、機械学習を加えて、これらのインジケーターのペアを紹介しました。ホワイトノイズカーネルを使用してこれら2つのインジケーターからのベクトル化されたシグナルを処理する回帰型ニューラルネットワークを使用しています。これは、MQL5ウィザードと連携してエキスパートアドバイザー(EA)を組み立てるカスタムシグナルクラスファイルで実行されます。
preview
知っておくべきMQL5ウィザードのテクニック(第75回):Awesome Oscillatorとエンベロープの使用

知っておくべきMQL5ウィザードのテクニック(第75回):Awesome Oscillatorとエンベロープの使用

ビル・ウィリアムズによるオーサムオシレータ(AO: Awesome Oscillator)とエンベロープチャネル(Envelopes Channel)は、MQL5のエキスパートアドバイザー(EA)内で補完的に使用できる組み合わせです。AOはトレンドを検出する能力を持つためこれを利用し、一方でエンベロープチャネルはサポートおよびレジスタンスレベルを定義する目的で組み込みます。本記事は、このインジケーターの組み合わせを探求するにあたり、MQL5ウィザードを用いて両者が持つ可能性を構築および検証します。
preview
MQL5での取引戦略の自動化(第27回):視覚的なフィードバックによるプライスアクションクラブハーモニックパターンの作成

MQL5での取引戦略の自動化(第27回):視覚的なフィードバックによるプライスアクションクラブハーモニックパターンの作成

本記事では、MQL5で弱気、強気両方のクラブ(Crab)ハーモニックパターンを、ピボットポイントとフィボナッチ比率を用いて識別し、正確なエントリー、ストップロス、テイクプロフィットレベルを使用して取引を自動化するクラブパターンシステムを開発します。また、XABCDパターン構造やエントリーレベルを表示するために、三角形やトレンドラインなどのチャートオブジェクトを使った視覚的な表示機能を追加します。
preview
リプレイシステムの開発(第73回):異例のコミュニケーション(II)

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

この記事では、インジケーターとサービス間でリアルタイムに情報を伝達する方法について解説し、また時間軸を変更した際に発生しうる問題の原因とその解決方法について理解を深めます。おまけとして、最新バージョンのリプレイ/シミュレーションアプリへのアクセスも提供します。
preview
知っておくべきMQL5ウィザードのテクニック(第75回):Awesome Oscillatorとエンベロープの使用

知っておくべきMQL5ウィザードのテクニック(第75回):Awesome Oscillatorとエンベロープの使用

ビル・ウィリアムズによるオーサムオシレータ(AO: Awesome Oscillator)とエンベロープチャネル(Envelopes Channel)は、MQL5のエキスパートアドバイザー(EA)内で補完的に使用できる組み合わせです。AOはトレンドを検出する能力を持つためこれを利用し、一方でエンベロープチャネルはサポートおよびレジスタンスレベルを定義する目的で組み込みます。本記事は、このインジケーターの組み合わせを探求するにあたり、MQL5ウィザードを用いて両者が持つ可能性を構築および検証します。
preview
ダイナミックマルチペアEAの形成(第2回):ポートフォリオの分散化と最適化

ダイナミックマルチペアEAの形成(第2回):ポートフォリオの分散化と最適化

ポートフォリオの分散化と最適化とは、複数の資産に戦略的に投資を分散しながら、リスク調整後のパフォーマンス指標に基づいてリターンを最大化する理想的な資産配分を選定する手法です。
preview
算術最適化アルゴリズム(AOA):AOAからSOA(シンプル最適化アルゴリズム)へ

算術最適化アルゴリズム(AOA):AOAからSOA(シンプル最適化アルゴリズム)へ

本稿では、加算、減算、乗算、除算といった単純な算術演算に基づく算術最適化アルゴリズム(AOA: Arithmetic Optimization Algorithm)を紹介します。これらの基本的な数学的操作が、さまざまな問題の最適解を見つけるための基盤となります。
preview
株式市場における非線形回帰モデル

株式市場における非線形回帰モデル

株式市場における非線形回帰モデル:金融市場は予測できるのかEURUSDの価格を予測するモデルを作成し、それに基づいて2つのロボット(Python版とMQL5版)を作ることを考えてみましょう。
preview
データサイエンスとML(第34回):時系列分解、株式市場を核心にまで分解

データサイエンスとML(第34回):時系列分解、株式市場を核心にまで分解

ノイズが多く、予測が難しいデータで溢れる世界では、意味のあるパターンを特定するのは困難です。この記事では、データをトレンド、季節パターン、ノイズといった主要な要素に分解する強力な分析手法「季節分解」について解説します。こうしてデータを分解することで、隠れた洞察を見つけ、より明確で解釈しやすい情報を得ることが可能になります。
preview
プライスアクション分析ツールキットの開発(第18回):クォーターズ理論の紹介(III) - Quarters Board

プライスアクション分析ツールキットの開発(第18回):クォーターズ理論の紹介(III) - Quarters Board

この記事では、元のQuarters Scriptを改良し、「Quarters Board」というツールを導入しています。これにより、コードを編集し直すことなく、チャート上でクォーターレベルを直接オン・オフできるようになります。特定のレベルを簡単に有効化・無効化できるほか、エキスパートアドバイザー(EA)はトレンド方向に関するコメントも提供し、市場の動きをより理解しやすくします。
preview
知っておくべきMQL5ウィザードのテクニック(第60回):移動平均とストキャスティクスパターンを用いた推論(ワッサースタインVAE)

知っておくべきMQL5ウィザードのテクニック(第60回):移動平均とストキャスティクスパターンを用いた推論(ワッサースタインVAE)

MA(移動平均)とストキャスティクスの補完的な組み合わせに着目し、教師あり学習および強化学習を経た後の段階において、推論が果たしうる役割を検証します。推論にはさまざまなアプローチが存在しますが、この記事では変分オートエンコーダ(VAE: Variational Auto-Encoder)を用いる方法を採用します。まずはPythonでこのアプローチを探求し、その後、訓練済みモデルをONNX形式でエクスポートし、MetaTraderのウィザードで構築したエキスパートアドバイザー(EA)で活用します。
preview
リプレイシステムの開発(第64回):サービスの再生(V)

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

この記事では、コード内の2つのエラーを修正する方法について説明します。ただし、初心者プログラマーの皆さんに、物事が必ずしも期待どおりに進むとは限らないことを理解してもらえるよう、できるだけわかりやすく解説したいと思います。いずれにせよ、これは学びの機会です。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。ここで紹介する内容は教育目的のみに限定されており、提示された概念を探求すること以外の目的でこのアプリケーションを最終的な文書と見なすべきではありません。
preview
マーケットプロファイルインジケーター(第2回):キャンバス上の最適化と描画

マーケットプロファイルインジケーター(第2回):キャンバス上の最適化と描画

この記事では、複数のグラフィカルオブジェクトでの描画を、CCanvasクラスのオブジェクト上での描画に置き換えた、最適化されたマーケットプロファイルインジケーターのバージョンについて考察しています。
preview
取引におけるニューラルネットワーク:ハイブリッドグラフシーケンスモデル(GSM++)

取引におけるニューラルネットワーク:ハイブリッドグラフシーケンスモデル(GSM++)

グラフシーケンスモデル(GSM++)は、異なるアーキテクチャの利点を統合することで、高精度なデータ分析と最適化された計算コストを両立するモデルです。これらのモデルは、動的な市場データに効果的に適応し、金融情報の表現および処理能力を向上させます。
preview
MetaTrader 5機械学習の設計図(第1回):データリーケージとタイムスタンプの修正

MetaTrader 5機械学習の設計図(第1回):データリーケージとタイムスタンプの修正

MetaTrader 5で機械学習を取引に活用する以前に、最も見落とされがちな落とし穴の一つであるデータリーケージに対処することが極めて重要です。本記事では、データリーケージ、特にMetaTrader 5のタイムスタンプの罠がどのようにモデルのパフォーマンスを歪め、信頼性の低い売買シグナルにつながるのかを解説します。この問題の仕組みに踏み込み、その防止戦略を提示することで、実取引環境で信頼できる予測を提供する堅牢な機械学習モデルを構築するための道を切り開きます。
preview
プライスアクション分析ツールキットの開発(第31回):Python Candlestick Recognitionエンジン(I) - 手動検出

プライスアクション分析ツールキットの開発(第31回):Python Candlestick Recognitionエンジン(I) - 手動検出

ローソク足パターンはプライスアクション取引において基本的な要素であり、市場の反転や継続の可能性を示す貴重な手がかりを提供します。信頼できるツールを想像してみてください。このツールは、新しい価格バーが生成されるたびにそれを監視し、包み足、ハンマー、十字線、スターなどの主要な形成を特定し、重要な取引セットアップが検出された際に即座に通知します。これがまさに私たちが開発した機能です。このシステムは、取引初心者の方から経験豊富なプロフェッショナルまで幅広く活用できます。ローソク足パターンをリアルタイムで通知することで、取引の実行に集中し、より自信を持って効率的に取引をおこなうことが可能になります。以下では、本ツールの動作方法と、どのように取引戦略を強化できるかについて詳しく説明します。
preview
MQL5で他の言語の実用的なモジュールを実装する(第3回):Pythonのscheduleモジュール、強化版OnTimerイベント

MQL5で他の言語の実用的なモジュールを実装する(第3回):Pythonのscheduleモジュール、強化版OnTimerイベント

Pythonのscheduleモジュールは、繰り返しタスクをスケジュールする簡単な方法を提供します。MQL5には組み込みの同等機能はありませんが、この記事ではMetaTrader 5でのタイムイベントの設定を容易にするために、類似のライブラリを実装します。
preview
MQL5での取引戦略の自動化(第39回):信頼区間とダッシュボードを備えた統計的平均回帰

MQL5での取引戦略の自動化(第39回):信頼区間とダッシュボードを備えた統計的平均回帰

統計的平均回帰取引用のMQL5エキスパートアドバイザー(EA)を開発します。指定期間における平均、分散、歪度、尖度、ジャック=ベラ統計量などのモーメントを算出し、非正規分布を特定するとともに、適応的な閾値を用いた信頼区間に基づいて売買シグナルを生成します。
preview
取引戦略の開発:トリプルサイン平均回帰法

取引戦略の開発:トリプルサイン平均回帰法

新しい数学的指標であるTriple Sine Oscillator (TSO)に基づいて構築された「トリプルサイン平均回帰法」取引戦略を紹介します。TSOは、−1から+1の間で振動する正弦の三乗関数から導出されており、買われ過ぎおよび売られ過ぎの市場状況を特定するのに適しています。本記事では、数学的関数を実践的な取引ツールへと応用できることを示しています。
preview
リプレイシステムの開発(第34回):発注システム (III)

リプレイシステムの開発(第34回):発注システム (III)

今回は、構築の第一段階を完成させます。この部分はかなり短時間で終わりますが、前回までに説明しなかった詳細をカバーします。多くの方が理解していない点をいくつか説明します。なぜShiftキーやCtrlキーを押さなければならないかご存じでしょうか。
preview
ニューラルネットワークが簡単に(第91回):周波数領域予測(FreDF)

ニューラルネットワークが簡単に(第91回):周波数領域予測(FreDF)

周波数領域における時系列の分析と予測を継続的に探求していきます。この記事では、これまでに学習した多くのアルゴリズムに追加できる、周波数領域でデータを予測する新しい方法について説明します。
preview
人工電界アルゴリズム(AEFA)

人工電界アルゴリズム(AEFA)

この記事では、クーロンの静電気力の法則に触発された人工電界アルゴリズム(AEFA: Artificial Electric Field Algorithm)を紹介します。このアルゴリズムは、荷電粒子とその相互作用を利用して複雑な最適化問題を解決するために電気現象をシミュレートします。AEFAは、自然法則に基づいた他のアルゴリズムと比較して、独自の特性を示します。
preview
多通貨エキスパートアドバイザーの開発(第27回):複数行テキスト表示コンポーネント

多通貨エキスパートアドバイザーの開発(第27回):複数行テキスト表示コンポーネント

テキストをチャート上に表示する必要がある場合は、Comment()関数を使用できます。しかし、この関数の機能には多くの制限があります。そこで本記事では、独自コンポーネントとして、複数行テキストの表示、柔軟なフォント設定、さらに、画面全体を占めるスクロール機能対応ダイアログウィンドウを作成します。
preview
MQL5経済指標カレンダーを使った取引(第2回):ニュースダッシュボードパネルの作成

MQL5経済指標カレンダーを使った取引(第2回):ニュースダッシュボードパネルの作成

この記事では、MQL5経済指標カレンダーを使用して、取引戦略を強化するための実用的なニュースダッシュボードパネルを作成します。まず、イベント名、重要度、タイミングなどの重要な要素に焦点を当ててレイアウトを設計し、その後、MQL5内でのセットアップに進みます。最後に、最も関連性の高いニュースのみを表示するフィルタリングシステムを実装し、トレーダーが影響力のある経済イベントに迅速にアクセスできるようにします。
preview
知っておくべきMQL5ウィザードのテクニック(第55回):PER付きSAC

知っておくべきMQL5ウィザードのテクニック(第55回):PER付きSAC

強化学習において、リプレイバッファは特にDQNやSACのようなオフポリシーアルゴリズムにおいて重要な役割を果たします。これにより、メモリバッファのサンプリング処理が注目されます。たとえばSACのデフォルト設定では、このバッファからランダムにサンプルを取得しますが、Prioritized Experience Replay (PER)を用いることで、TDスコア(時間差分誤差)に基づいてサンプリングを調整することができます。本稿では、強化学習の意義を改めて確認し、いつものように交差検証ではなく、この仮説だけを検証する、ウィザードで組み立てたエキスパートアドバイザー(EA)を用いて考察します。
preview
ブレインストーム最適化アルゴリズム(第2部):マルチモーダリティ

ブレインストーム最適化アルゴリズム(第2部):マルチモーダリティ

記事の第2部では、BSOアルゴリズムの実用的な実装に移り、テスト関数のテストを実施し、BSOの効率を他の最適化手法と比較します。
preview
知っておくべきMQL5ウィザードのテクニック(第73回):一目均衡表とADX-Wilderのパターンの利用

知っておくべきMQL5ウィザードのテクニック(第73回):一目均衡表とADX-Wilderのパターンの利用

一目均衡表とADX-Wilderオシレーターは、MQL5のエキスパートアドバイザー(EA)内で補完的に使用できる組み合わせです。一目均衡表は多機能な指標ですが、本記事では主にサポート・レジスタンス(S/R)レベルを定義する目的で使用します。一方、ADXはトレンドの判定に使用します。通常通り、MQL5ウィザードを用いて構築し、両者が持つ潜在能力をテストします。
preview
取引におけるニューラルネットワーク:双曲潜在拡散モデル(HypDiff)

取引におけるニューラルネットワーク:双曲潜在拡散モデル(HypDiff)

この記事では、異方性拡散プロセスを用いた双曲潜在空間における初期データのエンコーディング手法について検討します。これにより、現在の市場状況におけるトポロジー的特徴をより正確に保持でき、分析の質が向上します。
preview
知っておくべきMQL5ウィザードのテクニック(第52回):ACオシレーター

知っておくべきMQL5ウィザードのテクニック(第52回):ACオシレーター

ACオシレーター(アクセラレーターオシレーター、Accelerator Oscillator)は、価格のモメンタムの「速度」だけでなく、その「加速」を追跡する、ビル・ウィリアムズによって開発されたインジケーターの一つです。最近の記事で取り上げたオーサムオシレーター(AO)と非常によく似ていますが、単なるスピードではなく加速に重点を置くことで、遅延の影響を回避しようとしています。本記事では、毎回のようにこのオシレーターからどのようなパターンが得られるかを分析し、ウィザード形式で構築されたエキスパートアドバイザー(EA)を通じて、それらが実際の取引においてどのような意味を持ち得るかを検証します。
preview
MQL5での取引戦略の自動化(第21回):適応学習率によるニューラルネットワーク取引の強化

MQL5での取引戦略の自動化(第21回):適応学習率によるニューラルネットワーク取引の強化

本記事では、MQL5におけるニューラルネットワーク取引戦略を、適応型学習率を用いて精度を向上させる形で強化します。このメカニズムを設計・実装した後、そのパフォーマンスを検証します。記事の最後には、アルゴリズム取引における最適化の知見もまとめます。
preview
ログレコードをマスターする(第6回):ログをデータベースに保存する

ログレコードをマスターする(第6回):ログをデータベースに保存する

この記事では、ログを構造化され、スケーラブルな方法で保存するためにデータベースを使用する手法を取り上げます。基本的な概念、主要な操作、MQL5におけるデータベースハンドラの設定と実装を順を追って解説し、最後にその結果を検証し、このアプローチが最適化と効率的なモニタリングにどのように役立つかを明らかにします。
preview
機械学習の限界を克服する(第2回):再現性の欠如

機械学習の限界を克服する(第2回):再現性の欠如

本記事では、同一の戦略と金融銘柄を用いても、ブローカーによって取引結果が大きく異なる理由について探ります。その背景には、価格が分散的に形成されていることや、データの不一致があるためです。本記事は、MQL5開発者がMQL5マーケットプレイスで自らの製品に対して賛否両論の評価を受ける理由を理解し、透明性が高く再現可能な成果を確保するためには、特定のブローカーに合わせたアプローチを取る必要があることを示唆しています。この取り組みが広く受け入れられれば、コミュニティにとって重要な実務上のベストプラクティスへと発展する可能性があります。
preview
MQL5 Algo Forgeへの移行(第4回):バージョンとリリースの操作

MQL5 Algo Forgeへの移行(第4回):バージョンとリリースの操作

SimpleCandlesプロジェクトおよびAdwizardプロジェクトの開発を継続しつつ、MQL5 Algo Forgeのバージョン管理システムおよびリポジトリのより詳細な活用方法についても説明していきます。
preview
リプレイシステムの開発(第39回):道を切り開く(III)

リプレイシステムの開発(第39回):道を切り開く(III)

開発の第2段階に進む前に、いくつかのアイデアを修正する必要があります。MQL5に必要なことをさせる方法をご存知ですか。ドキュメントに書かれている以上のことをしようとしたことはありますか。そうでないなら、準備をしましょう。ここでは、ほとんどの人が普段やらないことをやるからです。
preview
MQL5での取引戦略の自動化(第24回):リスク管理とトレーリングストップを備えたロンドンセッションブレイクアウトシステム

MQL5での取引戦略の自動化(第24回):リスク管理とトレーリングストップを備えたロンドンセッションブレイクアウトシステム

本記事では、ロンドン市場開場前のレンジブレイクアウトを検出し、任意の取引タイプおよびリスク設定に基づいてペンディング注文(指値・逆指値注文)を自動で発注する「ロンドンセッションブレイクアウトシステム」を開発します。トレーリングストップ、リスクリワード比率、最大ドローダウン制限、そしてリアルタイム監視と管理をおこなうためのコントロールパネルなどの機能も組み込みます。
preview
母集団アルゴリズムのハイブリダイゼーション:逐次構造と並列構造

母集団アルゴリズムのハイブリダイゼーション:逐次構造と並列構造

ここでは、最適化アルゴリズムのハイブリダイゼーションの世界に飛び込み、3つの主要なタイプ、すなわち戦略混合、逐次ハイブリダイゼーション、並列ハイブリダイゼーションについて見ていきます。関連する最適化アルゴリズムを組み合わせ、テストする一連の実験をおこないます。
preview
ニューラルネットワークが簡単に(第80回):Graph Transformer Generative Adversarial Model (GTGAN)

ニューラルネットワークが簡単に(第80回):Graph Transformer Generative Adversarial Model (GTGAN)

この記事では、2024年1月に導入された、グラフ制約のある建築レイアウト生成の複雑な問題を解くためのGTGAN (Graph Transformer Generative Adversarial Model)アルゴリズムについて知ろうと思います。