MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
DoEasy - コントロール(第28部):ProgressBarコントロールのバースタイル

DoEasy - コントロール(第28部):ProgressBarコントロールのバースタイル

今回は、ProgressBarコントロールでのプログレスバーの表示スタイルと説明テキストを開発します。
preview
MQL5入門(第14回):初心者のためのカスタムインジケーター作成ガイド(III)

MQL5入門(第14回):初心者のためのカスタムインジケーター作成ガイド(III)

MQL5でチャートオブジェクトを使ってハーモニックパターンインジケーターを構築する方法を学びましょう。スイングポイントの検出、フィボナッチリトレースメントの適用、そしてパターン認識の自動化について解説します。
preview
Pythonでの見せかけの回帰

Pythonでの見せかけの回帰

見せかけの回帰は、2つの時系列がまったくの偶然で高い相関を示し、回帰分析で誤解を招く結果をもたらす場合に発生します。このような場合、変数が関連しているように見えても、その相関関係は偶然であり、モデルの信頼性は低くなります。
preview
インジケーターを便利に扱うためのシンプルなソリューション

インジケーターを便利に扱うためのシンプルなソリューション

この記事では、チャート上からインジケーターの設定を直接変更できるシンプルなパネルの作成方法と、そのパネルをインジケーターに接続するために必要な変更点について解説します。この記事はMQL5初心者向けに書かれています。
preview
MQL5経済指標カレンダーを使った取引(第3回):通貨、重要度、時間フィルターの追加

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

この記事では、MQL5経済カレンダーダッシュボードにフィルターを実装し、通貨、重要度、時間ごとにニュースイベントの表示を絞り込みます。まず、各カテゴリのフィルター基準を設定し、それをダッシュボードに組み込むことで、関連するイベントのみが表示されるようにします。最後に、各フィルターが動的に更新され、トレーダーにとって必要な、焦点を絞ったリアルタイムの経済情報が提供されるようにします。
preview
一からの取引エキスパートアドバイザーの開発(第28部):未来に向かって(III)

一からの取引エキスパートアドバイザーの開発(第28部):未来に向かって(III)

私たちの発注システムが対応できていないタスクがまだ1つありますが、最終的に解決する予定です。MetaTrader 5は、注文値の作成と修正を可能にするチケットのシステムを備えています。アイデアは、同じチケットシステムをより高速かつ効率的にするエキスパートアドバイザー(EA)を持つことです。
preview
Candlestick Trend Constraintモデルの構築(第1回):EAとテクニカル指標について

Candlestick Trend Constraintモデルの構築(第1回):EAとテクニカル指標について

この記事は初心者とプロMQL5開発者の両方を対象としています。これは、シグナルを生成する指標をより長い時間枠のトレンドに定義し、制約するためのコードの一部を提供します。このように、トレーダーはより広い市場視点を取り入れることで戦略を強化することができ、より強固で信頼性の高い売買シグナルが得られる可能性があります。
preview
リプレイシステムの開発—市場シミュレーション(第3回):設定の調整(I)

リプレイシステムの開発—市場シミュレーション(第3回):設定の調整(I)

まずは現状を明らかにすることから始めましょう。今やらなければ、すぐに問題になります。
preview
MQL5の圏論(第21回):LDAによる自然変換

MQL5の圏論(第21回):LDAによる自然変換

連載21回目となるこの記事では、自然変換と、線形判別分析を使ったその実装方法について引き続き見ていきます。前回同様、シグナルクラス形式でその応用例を紹介します。
preview
アルゴリズム取引のリスクマネージャー

アルゴリズム取引のリスクマネージャー

本稿の目的は、リスクマネージャーを利用する必要性を証明し、アルゴリズム取引におけるリスク管理の原則を別クラスで実践することで、金融市場におけるデイ取引と投資におけるリスク標準化アプローチの有効性を誰もが検証できるようにすることです。この記事では、アルゴリズム取引用のリスクマネージャークラスを作成します。これは、手動取引のリスクマネージャーの作成について述べた前回の記事の論理的な続きです。
preview
MQL5での取引戦略の自動化(第2回):一目均衡表とオーサムオシレーターを備えた雲抜けシステム

MQL5での取引戦略の自動化(第2回):一目均衡表とオーサムオシレーターを備えた雲抜けシステム

この記事では、一目均衡表とオーサムオシレーター(Awesome Oscillator)を活用し、「雲抜け戦略」を自動化するエキスパートアドバイザー(EA)を作成します。インジケーターハンドルの初期化、ブレイクアウト条件の検出、自動売買におけるエントリーおよびエグジットの実装手順について、段階的に解説します。さらに、トレーリングストップやポジション管理ロジックを組み込むことで、EAのパフォーマンスと市場適応力を高める方法にも触れます。
preview
MQL5の圏論(第19回):自然性の正方形の帰納法

MQL5の圏論(第19回):自然性の正方形の帰納法

自然性の正方形の帰納法を考えることで、自然変換について考察を続けます。MQL5ウィザードで組み立てられたエキスパートアドバイザー(EA)の多通貨の実装には若干の制約があるため、スクリプトでデータ分類能力を紹介しています。主な用途は、価格変動の分類とその予測です。
preview
古典的な戦略を再構築する(第11回):移動平均クロスオーバー(II)

古典的な戦略を再構築する(第11回):移動平均クロスオーバー(II)

移動平均とストキャスティクスオシレーターは、トレンドに従う取引シグナルを生成するために使用できます。ただし、これらのシグナルは価格変動が発生した後にのみ観察されます。AIを使用することで、テクニカルインジケーターに内在するこの遅れを効果的に克服できます。この記事では、既存の取引戦略を改善できるような、完全に自律的なAI搭載のエキスパートアドバイザー(EA)を作成する方法を説明します。最も古い取引戦略であっても、改善することは可能です。
preview
HarmonyOS NEXTデバイスにMetaTrader 5などのMetaQuotesアプリをインストールする

HarmonyOS NEXTデバイスにMetaTrader 5などのMetaQuotesアプリをインストールする

HarmonyOS NEXTデバイスでMetaTrader 5やその他のMetaQuotesアプリをDroiTong(卓易通)を使って簡単にインストールできます。スマートフォンやノートパソコン向けの詳細なステップバイステップガイドです。
preview
プライスアクション分析ツールキットの開発(第11回):Heikin Ashi Signal EA

プライスアクション分析ツールキットの開発(第11回):Heikin Ashi Signal EA

MQL5は、ユーザーの好みに合わせてカスタマイズ可能な自動売買システムを開発するための無限の可能性を提供します。複雑な数値計算も実行できることをご存知でしょうか。この記事では、自動売買戦略として日本の平均足手法を紹介します。
preview
DoEasy - コントロール(第30部):ScrollBarコントロールのアニメーション化

DoEasy - コントロール(第30部):ScrollBarコントロールのアニメーション化

今回は、ScrollBarコントロールの開発の続きと、マウスインタラクション機能の実装を開始します。さらに、マウスの状態フラグやイベントのリストも充実させる予定です。
preview
知っておくべきMQL5ウィザードのテクニック(第19回):ベイズ推定

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

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

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

この記事では、独自の取引戦略の開発を試みます。どんな取引戦略も、何らかの統計的優位性に基づいていなければなりません。しかも、この利点は長く続くべきです。
preview
MQL5で古典的な戦略を再構築する(第3回):FTSE100予想

MQL5で古典的な戦略を再構築する(第3回):FTSE100予想

この連載では、よく知られた取引戦略を再検討し、AIを使って改善できるかどうかを検証します。本日の記事では、FTSE100について調べ、指数を構成する個別銘柄の一部を使って指数の予測を試みます。
preview
MQL5における数値予測を強化するアンサンブル法

MQL5における数値予測を強化するアンサンブル法

この記事では、MQL5における複数のアンサンブル学習手法の実装を紹介し、それらの手法がさまざまな状況下でどの程度有効かを検証します。
preview
知っておくべきMQL5ウィザードのテクニック(第13回):ExpertSignalクラスのためのDBSCAN

知っておくべきMQL5ウィザードのテクニック(第13回):ExpertSignalクラスのためのDBSCAN

DBSCAN (Density-Based Spatial Clustering of Applications with Noise)は、データをグループ化する教師なし形式であり、入力パラメータをほとんど必要としません。入力パラメータは2つだけであり、K平均法などの他のアプローチと比較すると利点が得られます。ウィザードで組み立てたEAを使用してテストし、最終的に取引するために、これがどのように建設的であり得るかを掘り下げます。
preview
初心者からプロまでMQL5をマスターする(第4回):配列、関数、グローバルターミナル変数について

初心者からプロまでMQL5をマスターする(第4回):配列、関数、グローバルターミナル変数について

この記事は初心者向け連載の続きです。データ配列、データと関数の相互作用、および異なるMQL5プログラム間でのデータ交換を可能にするグローバルターミナル変数について詳しく説明します。
preview
初級から中級まで:再帰

初級から中級まで:再帰

この記事では、とても興味深く、難易度のやや高いプログラミングの概念について見ていきます。ただし、この概念は細心の注意をもって扱うべきです。なぜなら、誤用や誤解によって、本来は比較的単純なプログラムが、不要に複雑化してしまう危険があるからです。しかし、正しく使用し、かつ適切な状況にうまく適用できれば、再帰は、そうでなければ非常に面倒で時間のかかる問題を解決するための優れた味方となります。ここに掲載されている資料は、教育目的のみのものです。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
母集団最適化アルゴリズム:群鳥アルゴリズム(BSA)

母集団最適化アルゴリズム:群鳥アルゴリズム(BSA)

本稿では、自然界における鳥の群れの集団的な相互作用に着想を得た、鳥の群れに基づくアルゴリズム(BSA)を探求します。飛行、警戒、採餌行動の切り替えなど、BSAの個体にはさまざまな探索戦略があるため、このアルゴリズムは多面的なものとなっています。鳥の群れ、コミュニケーション、適応性、先導と追随の原理を利用し、効率的に最適解を見つけます。
preview
グラフ理論:ダイクストラ法を取引に適用する

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

ダイクストラ法は、グラフ理論における古典的な最短経路探索手法であり、市場ネットワークをモデル化することで取引戦略の最適化に応用できます。トレーダーは、ローソク足チャート上の価格データをグラフとして扱い、最も効率的な「経路」を見つけるためにダイクストラ法を使用できます。
preview
ニューラルネットワークが簡単に(第59回):コントロールの二分法(DoC)

ニューラルネットワークが簡単に(第59回):コントロールの二分法(DoC)

前回の記事では、Decision Transformerを紹介しました。しかし、外国為替市場の複雑な確率的環境は、提示した手法の可能性を完全に実現することを許しませんでした。今回は、確率的環境におけるアルゴリズムの性能向上を目的としたアルゴリズムを紹介します。
preview
MQL5における修正グリッドヘッジEA(第3部):シンプルヘッジ戦略の最適化(I)

MQL5における修正グリッドヘッジEA(第3部):シンプルヘッジ戦略の最適化(I)

この第3部では、以前に開発したシンプルヘッジとシンプルグリッドエキスパートアドバイザー(EA)を再考します。最適な戦略の使用を目指し、数学的分析と総当り攻撃アプローチを通じてシンプルヘッジEAを改良することに焦点を移します。戦略の数学的最適化について深く掘り下げ、後の回でコーディングに基づく最適化を探求するための舞台を整えます。
preview
手動取引のリスクマネージャー

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

この記事では、手動取引用のリスクマネージャークラスをゼロから書く方法について詳しく説明します。このクラスは、自動化プログラムを使用するアルゴリズムトレーダーが継承するための基本クラスとしても使用できます。
preview
DoEasyライブラリのグラフィックス(第97部): フォームオブジェクトの移動の独立した処理

DoEasyライブラリのグラフィックス(第97部): フォームオブジェクトの移動の独立した処理

本稿では、マウスを使用したフォームオブジェクトの独立したドラッグの実装について検討します。さらに、以前にターミナルとMQL5に実装されたエラーメッセージと新しい取引プロパティをライブラリに追加します。
preview
MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ(第5回)

MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ(第5回)

この記事は、MQTT 5.0プロトコルのネイティブMQL5クライアントの開発ステップを説明する連載の第5回です。今回は、PUBLISHパケットの構造、Publishフラグの設定方法、Topic Name文字列のエンコード方法、必要な場合のPacket Identifierの設定方法について説明します。
preview
リプレイシステムの開発 - 市場シミュレーション(第9回):カスタムイベント

リプレイシステムの開発 - 市場シミュレーション(第9回):カスタムイベント

ここでは、カスタムイベントがどのようにトリガーされ、指標でどのようにリプレイ/シミュレーションサービスの状態がレポートされるかを見ていきます。
preview
MQL5の圏論(第4回):スパン、実験、合成

MQL5の圏論(第4回):スパン、実験、合成

圏論は数学の一分野であり、多様な広がりを見せていますが、MQL5コミュニティでは今のところ比較的知られていません。この連載では、その概念のいくつかを紹介して考察することで、トレーダーの戦略開発におけるこの注目すべき分野の利用を促進することを目的としたオープンなライブラリを確立することを目指しています。
preview
Candlestick Trend Constraintモデルの構築(第7回):EA開発モデルの改良

Candlestick Trend Constraintモデルの構築(第7回):EA開発モデルの改良

今回は、エキスパートアドバイザー(EA)開発のための指標の詳細な準備について掘り下げていきます。議論の中では、現行バージョンの指標にさらなる改良を加えることで、その精度と機能性の向上を図ります。さらに、前バージョンがエントリポイントの識別に限られていた制約に対応するため、新たにエグジットポイントを特定する機能を導入します。
preview
Candlestick Trend Constraintモデルの構築(第4回):トレンドの波ごとに表示スタイルをカスタマイズ

Candlestick Trend Constraintモデルの構築(第4回):トレンドの波ごとに表示スタイルをカスタマイズ

この記事では、Meta Trader 5上で様々な指標のスタイルを描画するための強力なMQL5言語の機能を探ります。また、スクリプトと、スクリプトをモデルでどのように使えるかについても見ていきます。
preview
取引履歴を気にせずにチャート上で直接取引を表示する方法

取引履歴を気にせずにチャート上で直接取引を表示する方法

この記事では、キーナビゲーションを使用してチャート上でポジションと取引を直接便利に表示するためのシンプルなツールを作成します。トレーダーは個々の取引を視覚的に調べ、取引結果に関するすべての情報をその場で受け取ることができるようになります。
preview
リプレイシステムの開発(第68回):正しい時間を知る(I)

リプレイシステムの開発(第68回):正しい時間を知る(I)

今日は、流動性が低い時間帯に、マウスポインタを使ってバーの残り時間を確認できるようにする作業を引き続き進めていきます。一見すると簡単そうに思えますが、実際にはこの作業には多くの困難が伴います。いくつかの障害を乗り越える必要があるため、このサブシリーズの最初のパートをしっかりと理解しておくことが、今後の内容を理解する上で非常に重要です。
preview
多銘柄多期間指標のDRAW_ARROW描画タイプ

多銘柄多期間指標のDRAW_ARROW描画タイプ

この記事では、多銘柄多期間矢印指標の描画について見ていきます。また、現在のチャートの銘柄/期間と一致しない銘柄/期間で計算された矢印指標のデータを示す矢印を正しく表示するためのクラスメソッドを改善します。
preview
母集団最適化アルゴリズム:社会集団の進化(ESG)

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

多母集団アルゴリズムの構成原理を考えます。この種のアルゴリズムの一例として、新しいカスタムアルゴリズムであるESG (Evolution of Social Groups)を見てみましょう。このアルゴリズムの基本概念、母集団相互作用メカニズム、利点を分析し、最適化問題におけるパフォーマンスを検証します。
preview
MetaTraderのMultibot(第2回):動的テンプレートの改良

MetaTraderのMultibot(第2回):動的テンプレートの改良

前回の記事のテーマを発展させ、より柔軟で機能的なテンプレートを作成することにしました。このテンプレートは、より大きな機能を持ち、フリーランスとして、また外部ソリューションとの統合機能を備えた多通貨多期間EAを開発するためのベースとして効果的に使用することができます。
preview
Rest APIを統合したMQL5強化学習エージェントの開発(第4回):MQL5でクラス内の関数を整理する

Rest APIを統合したMQL5強化学習エージェントの開発(第4回):MQL5でクラス内の関数を整理する

この記事では、MQL5における手続き型コーディングからオブジェクト指向プログラミング(OOP)への移行について、REST APIとの統合を中心に説明します。今日は、HTTPリクエスト関数(GETとPOST)をクラスにまとめる方法について説明します。コードのリファクタリングについて詳しく見ていき、孤立した関数をクラスメソッドに置き換える方法を紹介します。記事には実践的な例とテストが含まれています。