MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
知っておくべきMQL5ウィザードのテクニック(第19回):ベイズ推定

知っておくべきMQL5ウィザードのテクニック(第19回):ベイズ推定

ベイズ推定とは、新しい情報が入手可能になったときに確率仮説を更新するためにベイズの定理を採用することです。これは直感的に時系列分析への適応につながるので、シグナルだけでなく、資金管理やトレーリングストップのためのカスタムクラスを構築する際に、これをどのように利用できるか見てみましょう。
preview
MQL5での取引戦略の自動化(第4回):Multi-Level Zone Recoveryシステムの構築

MQL5での取引戦略の自動化(第4回):Multi-Level Zone Recoveryシステムの構築

この記事では、RSI(相対力指数)を活用して取引シグナルを生成する、MQL5によるMulti-Level Zone Recoveryシステムの開発について解説します。本システムでは、各シグナルインスタンスを動的に配列構造に追加し、Zone Recoveryロジックの中で複数のシグナルを同時に管理することが可能になります。このアプローチにより、スケーラブルかつ堅牢なコード設計を維持しながら、複雑な取引管理シナリオに柔軟かつ効果的に対応できる方法を紹介します。
preview
グラフ理論:ダイクストラ法を取引に適用する

グラフ理論:ダイクストラ法を取引に適用する

ダイクストラ法は、グラフ理論における古典的な最短経路探索手法であり、市場ネットワークをモデル化することで取引戦略の最適化に応用できます。トレーダーは、ローソク足チャート上の価格データをグラフとして扱い、最も効率的な「経路」を見つけるためにダイクストラ法を使用できます。
preview
分析型ボリュームプロファイル取引(AVPT):流動性アーキテクチャ、市場メモリ、アルゴリズム実行

分析型ボリュームプロファイル取引(AVPT):流動性アーキテクチャ、市場メモリ、アルゴリズム実行

分析型ボリュームプロファイル取引(AVPT, Analytical Volume Profile Trading)は、流動性構造と市場記憶がプライスアクションに与える影響を分析し、機関投資家のポジション構築や出来高駆動の構造をより深く理解する手法です。POC、HVN、LVN、バリューエリアを可視化することで、受容、拒否、アンバランスゾーンを高い精度で特定できます。
DoEasyライブラリのグラフィックス(第78部): ライブラリのアニメーションの原則イメージスライス
DoEasyライブラリのグラフィックス(第78部): ライブラリのアニメーションの原則イメージスライス

DoEasyライブラリのグラフィックス(第78部): ライブラリのアニメーションの原則イメージスライス

この記事では、ライブラリの一部で使用されるアニメーションの原則を定義します。また、画像の一部をコピーして指定したフォームオブジェクトの場所に貼り付け、画像が重ねられるフォームの背景の一部を保存して復元するクラスを開発します。
MVCデザインパターンとその可能なアプリケーション(第2部): 3つのコンポーネント間の相互作用の図
MVCデザインパターンとその可能なアプリケーション(第2部): 3つのコンポーネント間の相互作用の図

MVCデザインパターンとその可能なアプリケーション(第2部): 3つのコンポーネント間の相互作用の図

本稿は、前の記事で説明したMQLプログラムのMVCパターンのトピックの続きです。この記事では、パターンの3つのコンポーネント間の可能な相互作用の図を検討します。
preview
リプレイシステムの開発 - 市場シミュレーション(第18回):ティックそしてまたティック(II)

リプレイシステムの開発 - 市場シミュレーション(第18回):ティックそしてまたティック(II)

明らかに、現在の指標は1分足を作成するのに理想的な時間からは程遠いです。それが最初に修正することです。同期の問題を解決するのは難しくありません。難しそうに思えるかもしれませんが、実際はとても簡単です。前回の記事の目的は、チャート上の1分足を作成するために使用されたティックデータを気配値ウィンドウに転送する方法を説明することであったため、必要な修正はおこないませんでした。
preview
季節性を利用した外国為替スプレッド取引

季節性を利用した外国為替スプレッド取引

この記事では、外国為替取引におけるスプレッド取引時に季節性要因を利用したレポートデータの生成および提供の可能性について検討します。
preview
プライスアクション分析ツールキットの開発(第6回):Mean Reversion Signal Reaper

プライスアクション分析ツールキットの開発(第6回):Mean Reversion Signal Reaper

いくつかの概念は一見するとシンプルに思えるかもしれませんが、実際にそれを形にするのは想像以上に難しいことがあります。この記事では、平均回帰(Mean Reversion)戦略を用いて市場を巧みに分析するエキスパートアドバイザー(EA)の自動化に取り組んだ、革新的なアプローチをご紹介します。この魅力的な自動化プロセスの奥深さを、一緒に紐解いていきましょう。
preview
MQL5での取引戦略の自動化(第10回):トレンドフラットモメンタム戦略の開発

MQL5での取引戦略の自動化(第10回):トレンドフラットモメンタム戦略の開発

この記事では、「トレンドフラットモメンタム(Trend Flat Momentum)戦略」のためのエキスパートアドバイザー(EA)をMQL5で開発します。移動平均線のクロスオーバーに、RSI(相対力指数)とCCI(商品チャネル指数)といったモメンタム系のフィルターを組み合わせて、トレードシグナルを生成します。また、バックテストの方法や、実運用でのパフォーマンス向上のための改善案についても取り上げます。
preview
DoEasy-コントロール(第20部):SplitContainer WinFormsオブジェクト

DoEasy-コントロール(第20部):SplitContainer WinFormsオブジェクト

今回の記事では、MS Visual StudioツールキットからSplitContainerコントロールの開発を開始します。このコントロールは、垂直または水平の可動セパレータで区切られた2つのパネルで構成されています。
preview
ニューラルネットワークが簡単に(第64回):ConserWeightive Behavioral Cloning (CWBC)法

ニューラルネットワークが簡単に(第64回):ConserWeightive Behavioral Cloning (CWBC)法

以前の記事でおこなったテストの結果、訓練された戦略の最適性は、使用する訓練セットに大きく依存するという結論に達しました。この記事では、モデルを訓練するための軌道を選択するための、シンプルかつ効果的な手法を紹介します。
preview
人工散布アルゴリズム(ASHA)

人工散布アルゴリズム(ASHA)

この記事では、一般的な最適化問題を解決するために開発された新しいメタヒューリスティック手法、人工散布アルゴリズム(ASHA: Artificial Showering Algorithm)を紹介します。ASHAは、水の流れと蓄積のプロセスをシミュレーションすることで、各リソース単位(水)が最適解を探索する「理想フィールド」という概念を構築します。本稿では、ASHAがフローと蓄積の原理をどのように適応させ、探索空間内でリソースを効率的に割り当てるかを解説し、その実装およびテスト結果を紹介します。
preview
プライスアクション分析ツールキットの開発(第3回):Analytics Master EA

プライスアクション分析ツールキットの開発(第3回):Analytics Master EA

シンプルな取引スクリプトから完全に機能するエキスパートアドバイザー(EA)に移行することで、取引エクスペリエンスが大幅に向上します。チャートを自動で監視し、バックグラウンドで重要な計算を実行し、さらに2時間ごとに定期的な更新を提供するシステムを想像してみてください。このEAは、的確な取引判断を下すために不可欠な主要指標を分析し、常に最新の情報を取得して戦略を効果的に調整できるようにします。
preview
機械学習の限界を克服する(第3回):既約誤差に関する新たな視点

機械学習の限界を克服する(第3回):既約誤差に関する新たな視点

本記事では、モデルがおこなうすべての予測に密かに影響を与える、隠れた幾何学的誤差の源に新たな視点を提供します。取引における機械学習予測の評価方法と活用法を再考することで、従来見過ごされてきたこの視点が、より鋭い意思決定、より高いリターン、そして、すでに理解していると思っていたモデルをより賢く活用する道を開くことを示します。
preview
古典的な戦略を再構築する(第10回):AIはMACDを強化できるか?

古典的な戦略を再構築する(第10回):AIはMACDを強化できるか?

MACDインジケーターを経験的に分析し、インジケーターを含む戦略にAIを適用することで、EURUSDの予測精度が向上するかどうかをテストします。さらに、インジケーター自体が価格より予測しやすいのか、またインジケーターの値が将来の価格水準を予測できるのかも同時に評価します。これにより、AI取引戦略にMACDを統合することに投資する価値があるかどうかを判断するための情報を提供します。
preview
MQL5入門(第16回):テクニカルチャートパターンを使用したエキスパートアドバイザーの構築

MQL5入門(第16回):テクニカルチャートパターンを使用したエキスパートアドバイザーの構築

本記事では、初心者向けにMQL5エキスパートアドバイザー(EA)の構築方法を紹介します。このEAは、クラシックなテクニカルチャートパターンである三尊を識別し、取引をおこないます。記事では、プライスアクションを用いたパターン検出方法、チャートへの描画、エントリー・ストップロス・テイクプロフィットの設定、さらにそのパターンに基づく取引実行の自動化について解説します。
DoEasyライブラリのグラフィックス(第74部): CCanvasクラスを使用した基本的グラフィック要素
DoEasyライブラリのグラフィックス(第74部): CCanvasクラスを使用した基本的グラフィック要素

DoEasyライブラリのグラフィックス(第74部): CCanvasクラスを使用した基本的グラフィック要素

本稿では、前の記事からのグラフィカルオブジェクトを構築するという概念を作り直し、標準ライブラリCCanvasクラスを利用したライブラリのすべてのグラフィカルオブジェクトの基本クラスを準備します。
preview
リプレイシステムの開発(第28回):エキスパートアドバイザープロジェクト-C_Mouseクラス(II)

リプレイシステムの開発(第28回):エキスパートアドバイザープロジェクト-C_Mouseクラス(II)

人々が初めてコンピューティングが可能なシステムを作り始めたとき、すべてには、プロジェクトを熟知しているエンジニアの参加が必要でした。コンピュータ技術の黎明期、プログラミング用の端末すらなかった時代の話です。それが発展し、より多くの人々が何かを創造できることに興味を持つようになると、新しいアイデアやプログラミングの方法が現れ、以前のようなコネクタの位置を変えるスタイルに取って変わりました。最初の端末が登場したのはこの時です。
preview
取引戦略の開発を実践する

取引戦略の開発を実践する

この記事では、独自の取引戦略の開発を試みます。どんな取引戦略も、何らかの統計的優位性に基づいていなければなりません。しかも、この利点は長く続くべきです。
preview
初心者のためのMQL5によるSP500取引戦略

初心者のためのMQL5によるSP500取引戦略

MQL5を活用してS&P500指数を正確に予測する方法をご紹介します。古典的なテクニカル分析とアルゴリズム、そして長年の経験に裏打ちされた原理を組み合わせることで、安定性を高め、確かな市場洞察力を得られます。
preview
リプレイシステムの開発 - 市場シミュレーション(第13回):シミュレーターの誕生(III)

リプレイシステムの開発 - 市場シミュレーション(第13回):シミュレーターの誕生(III)

ここでは、次回以降の仕事に関連するいくつかの要素を簡略化します。シミュレーターが生成するランダム性を視覚化する方法も説明しましょう。
preview
母集団最適化アルゴリズム:Intelligent Water Drops (IWD)アルゴリズム

母集団最適化アルゴリズム:Intelligent Water Drops (IWD)アルゴリズム

この記事では、無生物由来の興味深いアルゴリズム、つまり川床形成プロセスをシミュレーションするIntelligent Water Drops (IWD)について考察しています。このアルゴリズムのアイデアにより、従来の格付けのリーダーであったSDSを大幅に改善することが可能になりました。いつものように、新しいリーダー(修正SDSm)は添付ファイルにあります。
preview
Candlestick Trend Constraintモデルの構築(第8回):エキスパートアドバイザーの開発 (I)

Candlestick Trend Constraintモデルの構築(第8回):エキスパートアドバイザーの開発 (I)

今回は、前回の記事で作成した指標を元に、MQL5で最初のエキスパートアドバイザー(EA)を作成します。リスク管理を含め、取引プロセスを自動化するために必要な全機能を紹介します。これにより、手動の取引執行から自動化されたシステムへとスムーズに移行できるメリットがあります。
preview
DoEasy-コントロール(第13部):WinFormsオブジェクトのマウスによる操作の最適化、TabControl WinFormsオブジェクトの開発開始

DoEasy-コントロール(第13部):WinFormsオブジェクトのマウスによる操作の最適化、TabControl WinFormsオブジェクトの開発開始

今回は、マウスカーソルを離した後のWinFormsオブジェクトの外観の処理を修正および最適化して、TabControl WinFormsオブジェクトの開発を開始します。
preview
母集団最適化アルゴリズム:社会集団の進化(ESG)

母集団最適化アルゴリズム:社会集団の進化(ESG)

多母集団アルゴリズムの構成原理を考えます。この種のアルゴリズムの一例として、新しいカスタムアルゴリズムであるESG (Evolution of Social Groups)を見てみましょう。このアルゴリズムの基本概念、母集団相互作用メカニズム、利点を分析し、最適化問題におけるパフォーマンスを検証します。
preview
プライスアクション分析ツールキットの開発(第10回):External Flow (II) VWAP

プライスアクション分析ツールキットの開発(第10回):External Flow (II) VWAP

私たちの総合ガイドで、VWAPの力を完全にマスターしましょう。MQL5とPythonを活用して、VWAP分析を取引戦略に統合する方法を学びます。市場に対する洞察を最大限に活かし、より良い取引判断を下せるようになりましょう。
preview
データサイエンスとML(第41回):YOLOv8を用いた外国為替および株式市場のパターン検出

データサイエンスとML(第41回):YOLOv8を用いた外国為替および株式市場のパターン検出

金融市場でパターンを検出するのは、チャート上の内容を確認する必要があるため困難ですが、これは画像の制限によりMQL5では実行が困難です。この記事では、最小限の労力でチャート上のパターンを検出するのに役立つ、Pythonで作成された適切なモデルについて説明します。
preview
MQL5-Telegram統合エキスパートアドバイザーの作成(第7回):チャート上のインジケーター自動化のためのコマンド解析

MQL5-Telegram統合エキスパートアドバイザーの作成(第7回):チャート上のインジケーター自動化のためのコマンド解析

この記事では、TelegramコマンドをMQL5と統合して、取引チャートへのインジケーターの追加を自動化する方法について解説します。ユーザーからのコマンドを解析し、MQL5で実行し、インジケーターベースの取引を円滑におこなうためのシステムをテストするプロセスについて説明します。
preview
プライスアクション分析ツールキットの開発(第12回):External Flow (III)トレンドマップ

プライスアクション分析ツールキットの開発(第12回):External Flow (III)トレンドマップ

市場の流れは、ブル(買い手)とベア(売り手)の力関係によって決まります。市場が反応する特定の水準には、そうした力が作用しています。中でも、フィボナッチとVWAPの水準は、市場の動きに強い影響を与える傾向があります。この記事では、VWAPとフィボナッチ水準に基づいたシグナル生成の戦略を一緒に探っていきましょう。
preview
手動取引のリスクマネージャー

手動取引のリスクマネージャー

この記事では、手動取引用のリスクマネージャークラスをゼロから書く方法について詳しく説明します。このクラスは、自動化プログラムを使用するアルゴリズムトレーダーが継承するための基本クラスとしても使用できます。
preview
知っておくべきMQL5ウィザードのテクニック(第21回):経済指標カレンダーデータによるテスト

知っておくべきMQL5ウィザードのテクニック(第21回):経済指標カレンダーデータによるテスト

経済指標カレンダーのデータは、デフォルトではストラテジーテスターのエキスパートアドバイザー(EA)でテストすることはできません。この制限を回避するために、データベースがどのように役立つかを考察します。そこでこの記事では、SQLiteデータベースを使用して経済指標カレンダーのニュースをアーカイブし、ウィザードで組み立てられたEAがこれを使用して売買シグナルを生成できるようにする方法を探ります。
preview
MQL5で取引管理者パネルを作成する(第12回):FX取引計算ツールの統合

MQL5で取引管理者パネルを作成する(第12回):FX取引計算ツールの統合

取引において重要な数値を正確に計算することは、すべてのトレーダーにとって欠かせません。本記事では、強力なユーティリティであるFX取引計算ツールを取引管理パネルに組み込み、マルチパネル型の取引管理者システムの機能をさらに拡張する方法について解説します。リスク、ポジションサイズ、潜在的な利益を効率的に算出することは、取引の精度を高めるうえで非常に重要です。この新機能は、パネル内でこれらの計算をよりスムーズかつ直感的におこなえるよう設計されています。本記事では、MQL5を用いた高度な取引パネル構築の実践的な応用例を紹介します。
preview
パターン検索への総当たり攻撃アプローチ(第V部):新鮮なアングル

パターン検索への総当たり攻撃アプローチ(第V部):新鮮なアングル

この記事では、私が長い時間をかけてたどり着いた、アルゴリズム取引に対するまったく異なるアプローチを紹介します。もちろん、これはすべて私の総当たり攻撃プログラムに関係しています。これには、複数の問題を同時に解決できるように多くの変更が加えられています。とはいえ、この記事はより一般的で可能な限りシンプルなものであるため、総当たり攻撃について何も知らない読者にも適しています。
preview
ニューラルネットワークが簡単に(第68回):オフライン選好誘導方策最適化

ニューラルネットワークが簡単に(第68回):オフライン選好誘導方策最適化

最初の記事で強化学習を扱って以来、何らかの形で、環境の探索と報酬関数の決定という2つの問題に触れてきました。最近の記事は、オフライン学習における探索の問題に費やされています。今回は、作者が報酬関数を完全に排除したアルゴリズムを紹介したいと思います。
preview
知っておくべきMQL5ウィザードのテクニック(第11回):ナンバーウォール

知っておくべきMQL5ウィザードのテクニック(第11回):ナンバーウォール

ナンバーウォールは、リニアシフトバックレジスタの一種で、収束を確認することにより、予測可能な数列を事前にスクリーニングします。これらのアイデアがMQL5でどのように役立つかを見ていきます。
preview
ニューラルネットワークが簡単に(第74回):適応による軌道予測

ニューラルネットワークが簡単に(第74回):適応による軌道予測

本稿では、様々な環境条件に適応可能なマルチエージェントの軌道予測について、かなり効果的な手法を紹介します。
preview
知っておくべきMQL5ウィザードのテクニック(第40回):Parabolic SAR(パラボリックSAR)

知っておくべきMQL5ウィザードのテクニック(第40回):Parabolic SAR(パラボリックSAR)

パラボリックSAR (Stop-and-Reversal)は、トレンドの確認と終了点を示す指標です。トレンドの見極めが遅れるため、その主な目的は、ポジションのトレーリングストップロスを位置づけることです。ウィザードで組み立てられるエキスパートアドバイザー(EA)のカスタムシグナルクラスを活用して、本当にEAのシグナルとして使えるかどうか調べてみました。
preview
MQL5経済指標カレンダーを使った取引(第3回):通貨、重要度、時間フィルターの追加

MQL5経済指標カレンダーを使った取引(第3回):通貨、重要度、時間フィルターの追加

この記事では、MQL5経済カレンダーダッシュボードにフィルターを実装し、通貨、重要度、時間ごとにニュースイベントの表示を絞り込みます。まず、各カテゴリのフィルター基準を設定し、それをダッシュボードに組み込むことで、関連するイベントのみが表示されるようにします。最後に、各フィルターが動的に更新され、トレーダーにとって必要な、焦点を絞ったリアルタイムの経済情報が提供されるようにします。
preview
初心者からエキスパートへ:Reporting EA - ワークフローの設定

初心者からエキスパートへ:Reporting EA - ワークフローの設定

ブローカーは、多くの場合、あらかじめ定められたスケジュールに基づいて取引口座のレポートを定期的に提供します。これらの企業はAPI技術を通じて顧客の口座活動や取引履歴にアクセスできるため、取引パフォーマンスのレポートを代わりに生成することが可能です。同様に、MetaTrader 5ターミナルも詳細な取引履歴を保存しており、MQL5を利用することで完全にカスタマイズされたレポートの作成や、個別に設定した配信方法の定義が可能です。