MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
MQL5における拡張ディッキー–フラー検定の実装

MQL5における拡張ディッキー–フラー検定の実装

本稿では、拡張ディッキー–フラー検定の実装を示し、Engle-Granger法を用いた共和分検定に適用します。
preview
多通貨エキスパートアドバイザーの開発(第1回):複数取引戦略の連携

多通貨エキスパートアドバイザーの開発(第1回):複数取引戦略の連携

取引戦略にはさまざまなものがあります。リスクを分散し、取引結果の安定性を高めるためには、複数の戦略を並行して適用することが有効かもしれません。ただし、それぞれのストラテジーが個別のエキスパートアドバイザー(EA)として実装されている場合、1つの取引口座でそれらの作業を管理することは非常に難しくなります。この問題を解決するのに合理的なのは、1つのEAで異なる取引戦略の運用を実装することです。
preview
DoEasy-コントロール(第17部):オブジェクトの非表示部分の切り取り、補助矢印ボタンのWinFormsオブジェクト

DoEasy-コントロール(第17部):オブジェクトの非表示部分の切り取り、補助矢印ボタンのWinFormsオブジェクト

この記事では、コンテナの外側にあるオブジェクトセクションを非表示にする機能を作成します。また、他のWinFormsオブジェクトの一部として使用する補助矢印ボタンオブジェクトを作成します。
preview
ニューラルネットワークが簡単に(第38回):不一致による自己監視型探索

ニューラルネットワークが簡単に(第38回):不一致による自己監視型探索

強化学習における重要な問題のひとつは、環境探索です。前回までに、「内因性好奇心」に基づく研究方法について見てきました。今日は別のアルゴリズムを見てみましょう。不一致による探求です。
preview
MQL5の圏論(第13回):データベーススキーマを使用したカレンダーイベント

MQL5の圏論(第13回):データベーススキーマを使用したカレンダーイベント

この記事は、MQL5での順序の圏論実装に従うもので、MQL5での分類のためにデータベーススキーマをどのように組み込むことができるかを検討します。取引関連のテキスト(文字列)情報を特定する際に、データベーススキーマの概念を圏論とどのように組み合わせることができるかの基礎を見ていきます。カレンダーイベントが中心です。
preview
GUI:MQLで独自のグラフィックライブラリを作成するためのヒントとコツ

GUI:MQLで独自のグラフィックライブラリを作成するためのヒントとコツ

GUIライブラリの基本的な使い方を説明し、GUIライブラリがどのように機能するのかを理解し、さらには自分自身のライブラリを作り始めることができるようにします。
preview
時系列マイニングのためのデータラベル(第2回):Pythonを使ってトレンドマーカー付きデータセットを作成する

時系列マイニングのためのデータラベル(第2回):Pythonを使ってトレンドマーカー付きデータセットを作成する

この連載では、ほとんどの人工知能モデルに適合するデータを作成できる、いくつかの時系列のラベル付け方法を紹介します。ニーズに応じて的を絞ったデータのラベル付けをおこなうことで、訓練済みの人工知能モデルをより期待通りの設計に近づけ、モデルの精度を向上させ、さらにはモデルの質的飛躍を助けることができます。
preview
DoEasyライブラリの時系列(パート53):抽象基本指標クラス

DoEasyライブラリの時系列(パート53):抽象基本指標クラス

本稿では抽象指標を作成し、ライブラリの標準指標とカスタム指標のオブジェクトを作成するための基本クラスとしてさらに使用します。
preview
一からの取引エキスパートアドバイザーの開発(第17部):Web上のデータにアクセスする(III)

一からの取引エキスパートアドバイザーの開発(第17部):Web上のデータにアクセスする(III)

今回は、Webからデータを取得し、エキスパートアドバイザー(EA)で使用する方法について引き続き考えていきます。今回は、代用できるシステムの開発に進みます。
preview
一からの取引エキスパートアドバイザーの開発(第23部):新規受注システム(IV)

一からの取引エキスパートアドバイザーの開発(第23部):新規受注システム(IV)

受注システムをより柔軟にします。ここでは、コードをより柔軟にする変更を検討して、ポジションストップレベルをより迅速に変更できるようにします。
DoEasyライブラリの時系列(第44部): 指標バッファオブジェクトのコレクションクラス
DoEasyライブラリの時系列(第44部): 指標バッファオブジェクトのコレクションクラス

DoEasyライブラリの時系列(第44部): 指標バッファオブジェクトのコレクションクラス

この記事では、指標バッファオブジェクトのコレクションクラスの作成について説明しています。指標用の任意の数のバッファを作成して操作する機能をテストします(MQL指標で作成できるバッファの最大数は512です)。
preview
MQL5とPythonを使用したブローカーAPIとエキスパートアドバイザーの統合

MQL5とPythonを使用したブローカーAPIとエキスパートアドバイザーの統合

この記事では、Pythonと連携したMQL5の実装について解説し、ブローカー関連の操作を自動化する方法を紹介します。VPS上にホストされて継続的に稼働するエキスパートアドバイザー(EA)が、あなたに代わって取引を実行すると想像してください。ある時点で、EAによる資金管理機能が非常に重要になります。具体的には、取引口座への残高補充や出金などの操作を含みます。本稿では、これらの機能の利点と実際の実装例を紹介し、資金管理を取引戦略にシームレスに統合する方法をお伝えします。どうぞご期待ください。
preview
MQL5でONNXモデルをアンサンブルする方法の例

MQL5でONNXモデルをアンサンブルする方法の例

ONNX (Open Neural Network eXchange)は、ニューラルネットワークを表現するために構築されたオープンフォーマットです。この記事では、1つのエキスパートアドバイザー(EA)で2つのONNXモデルを同時に使用する方法を示します。
preview
MQL5での移動平均をゼロから作成する:単純明快

MQL5での移動平均をゼロから作成する:単純明快

簡単な例を使って、移動平均の計算原理を検証するとともに、移動平均を含むインジケーター計算の最適化方法について学びます。
preview
キャンバスベースのインジケーター:チャネル内を透明にする

キャンバスベースのインジケーター:チャネル内を透明にする

この記事では、標準ライブラリのCCanvasクラスを使用して描画されるカスタムインジケーターを作成して、座標変換のチャートプロパティを確認する方法を紹介します。特に、2本の線の間の領域を透明にする必要があるインジケーターに取り組みます。
preview
Pythonを使用した深層学習GRUモデルとEAによるONNX、GRUとLSTMモデルの比較

Pythonを使用した深層学習GRUモデルとEAによるONNX、GRUとLSTMモデルの比較

Pythonを使用してGRU ONNXモデルを作成する深層学習のプロセス全体を説明し、最後に取引用に設計されたエキスパートアドバイザー(EA)の作成と、その後のGRUモデルとLSTNモデルの比較をおこないます。
preview
経済予測:Pythonの可能性を探る

経済予測:Pythonの可能性を探る

世界銀行の経済データは、将来の動向を予測するためにどのように活用できるのでしょうか。そして、AIモデルと経済学を組み合わせることで、どのようなことが可能になるのでしょうか。
preview
MQL5での移動平均をゼロから作成する:単純明快

MQL5での移動平均をゼロから作成する:単純明快

簡単な例を使って、移動平均の計算原理を検証するとともに、移動平均を含むインジケーター計算の最適化方法について学びます。
preview
自動で動くEAを作る(第14回):自動化(VI)

自動で動くEAを作る(第14回):自動化(VI)

今回は、この連載で得た知識をすべて実践してみましょう。最終的には、100%自動化された機能的なシステムを構築します。しかしその前に、まだ最後の詳細を学ばなければなりません。
preview
MQL5入門(第2部):定義済み変数、共通関数、制御フロー文の操作

MQL5入門(第2部):定義済み変数、共通関数、制御フロー文の操作

連載第2部の光り輝く旅に出かけましょう。これらの記事は単なるチュートリアルではなく、プログラミング初心者と魔法使いが共に集う魔法の世界への入り口です。この旅を本当に魔法のようなものにしているのは何でしょうか。連載第2部は、複雑な概念を誰にでも理解できるようにした、さわやかなシンプルさが際立っています。読者の質問にお答えしながら、双方向的に私たちと関わることで、充実した個別学習体験をお約束します。MQL5を理解することが誰にとっても冒険となるようなコミュニティを作りましょう。魔法の世界へようこそ。
DoEasyライブラリのグラフィックス(第91部): 標準グラフィカルオブジェクトのイベントオブジェクト名変更履歴
DoEasyライブラリのグラフィックス(第91部): 標準グラフィカルオブジェクトのイベントオブジェクト名変更履歴

DoEasyライブラリのグラフィックス(第91部): 標準グラフィカルオブジェクトのイベントオブジェクト名変更履歴

本稿では、ライブラリベースのプログラムからグラフィカルオブジェクトイベントを制御するための基本的な機能を洗練します。例として、「オブジェクト名」プロパティを使用してグラフィカルオブジェクトの変更履歴を保存する機能の実装から始めます。
preview
新しい指標と条件付きLSTMの例

新しい指標と条件付きLSTMの例

本記事は、テクニカル分析とディープラーニング(深層学習)予測を融合した自動取引用エキスパートアドバイザー(EA)の開発に焦点を当てます。
preview
DoEasy - コントロール(第8部):カテゴリ(GroupBoxおよびCheckBoxのコントロール)による基本WinFormsオブジェクト

DoEasy - コントロール(第8部):カテゴリ(GroupBoxおよびCheckBoxのコントロール)による基本WinFormsオブジェクト

この記事では、「GroupBox」および「CheckBox」WinFormsオブジェクトの作成、およびWinFormsオブジェクトカテゴリの基本オブジェクトの開発について検討します。作成されたすべてのオブジェクトはまだ静的で、マウスと対話することはできません。
preview
MQL5でのARIMAトレーニングアルゴリズムの実装

MQL5でのARIMAトレーニングアルゴリズムの実装

この記事では、関数最小化のPowell法を使用して、ボックス・ジェンキンス法の自己回帰和分移動平均モデルを適用するアルゴリズムを実装します。ボックスとジェンキンスは、ほとんどの時系列は2つのフレームワークの一方または両方でモデル化できると述べました。
preview
Pythonを使用したEA用ディープラーニングONNXモデルの季節性フィルタと期間

Pythonを使用したEA用ディープラーニングONNXモデルの季節性フィルタと期間

Pythonでディープラーニングのモデルを作成する際、季節性から恩恵を受けることはできるのでしょうか。ONNXモデルのデータをフィルタすることでより良い結果が得られるのでしょうか。どの期間を使用するべきでしょうか。この記事では、これらすべてを取り上げます。
preview
一からの取引エキスパートアドバイザーの開発(第26部):未来に向かって(I)

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

今日は、発注システムを次のレベルに引き上げます。ただしその前に、いくつかの問題を解決する必要があります。ここで、どのように働きたいか、取引日に何をするかに関連するいくつかの質問があります。
preview
Rebuyのアルゴリズム:多通貨取引シミュレーション

Rebuyのアルゴリズム:多通貨取引シミュレーション

本稿では、多通貨の価格設定をシミュレートする数理モデルを作成し、前回理論計算から始めた取引効率を高めるメカニズム探求の一環として、分散原理の研究を完成させます。
preview
Candlestick Trend Constraintモデルの構築(第3回):使用中のトレンド変化の検出

Candlestick Trend Constraintモデルの構築(第3回):使用中のトレンド変化の検出

この記事では、経済ニュースの発表、投資家の行動、さまざまな要因が市場のトレンド反転にどのような影響を与えるかを探ります。ビデオによる説明もあり、MQL5のコードをプログラムに組み込むことで、トレンドの反転を検出し、警告を発し、市場の状況に応じて適切な行動を取ることができます。これは、本連載の過去の記事に基づいています。
preview
一からの取引エキスパートアドバイザーの開発(第20部):新規受注システム(III)

一からの取引エキスパートアドバイザーの開発(第20部):新規受注システム(III)

新しい受注システムの導入を継続します。このようなシステムを作るには、MQL5を使いこなすだけでなく、MetaTrader 5プラットフォームが実際にどのように機能し、どのようなリソースを提供しているかを理解することが必要です。
preview
PythonとMQL5を使用して初めてのグラスボックスモデルを作る

PythonとMQL5を使用して初めてのグラスボックスモデルを作る

機械学習モデルの解釈は難しく、このような高度なテクニックを使用して何らかの価値を得たいのであれば、モデルが予想から外れる理由を理解することが重要です。モデルの内部構造に対する包括的な洞察がなければ、モデルのパフォーマンスを低下させるバグを発見できないことがあります。予測できない機能のエンジニアリングに時間を浪費し、長期的にはモデルのパワーを十分に活用できない危険性があります。幸いなことに、モデルの内部で何が起こっているかを正確に見ることができる、洗練され、よく整備されたオールインワンソリューションがあります。
preview
ビル・ウィリアムズ戦略:他の指標と予測の有無による比較

ビル・ウィリアムズ戦略:他の指標と予測の有無による比較

この記事では、ビル・ウィリアムズの有名な戦略の1つを取り上げ、それについて議論し、他の指標や予測を用いて戦略の改善を試みます。
preview
バックテスト結果を改善するための生のコードの最適化と調整

バックテスト結果を改善するための生のコードの最適化と調整

MQL5コードを強化するために、ロジックの最適化、計算の精緻化、実行時間の短縮をおこない、バックテストの精度を向上させましょう。パラメータの微調整、ループの最適化、非効率の排除によって、より高いパフォーマンスを実現します。
preview
エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第2部):出来高指標とビルウィリアムズの指標

エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第2部):出来高指標とビルウィリアムズの指標

この記事では、標準的な出来高指標とビルウィリアムズ指標のカテゴリについて見ていきます。パラメータの宣言と設定、指標の初期化と解除、EAの指標バッファからのデータとシグナルの受信など、EAで指標を使用するためのすぐに使えるテンプレートを作成します。
preview
MQL5の圏論(第20回):セルフアテンションとTransformerへの回り道

MQL5の圏論(第20回):セルフアテンションとTransformerへの回り道

ちょっと寄り道して、chatGPTのアルゴリズムの一部について考えてみたいとおもいます。自然変換から借用した類似点や概念はあるのでしょうか。シグナルクラス形式のコードを用いて、これらの疑問やその他の質問に楽しく答えようと思います。
preview
一からの取引エキスパートアドバイザーの開発(第25部):システムの堅牢性の提供(II)

一からの取引エキスパートアドバイザーの開発(第25部):システムの堅牢性の提供(II)

この記事では、エキスパートアドバイザー(EA)のパフォーマンスを仕上げます。長くなるのでご準備ください。EAを信頼できるものにするために、まず取引システムの一部でないコードをすべて削除します。
preview
多銘柄多期間指標におけるカラーバッファ

多銘柄多期間指標におけるカラーバッファ

この記事では、多銘柄多期間指標における指標バッファの構造体を確認し、これらの指標のカラーバッファのチャート上での表示を整理します。
preview
ニューラルネットワークが簡単に(第53回):報酬の分解

ニューラルネットワークが簡単に(第53回):報酬の分解

報酬関数を正しく選択することの重要性については、すでに何度かお話ししました。報酬関数は、個々の行動に報酬またはペナルティを追加することでエージェントの望ましい行動を刺激するために使用されます。しかし、エージェントによる信号の解読については未解決のままです。この記事では、訓練されたエージェントに個々のシグナルを送信するという観点からの報酬分解について説明します。
preview
ソフトウェア開発とMQL5におけるデザインパターン(第4回):振る舞いパターン2

ソフトウェア開発とMQL5におけるデザインパターン(第4回):振る舞いパターン2

デザインパターンには、生成デザインパターン、構造デザインパターン、振る舞いデザインパターンの3タイプがあることを説明しました。コードをクリーンにしながらオブジェクト間の相互作用の方法を設定するのに役立つ、残りの振る舞いタイプのパターンの説明を完成させます。
preview
知っておくべきMQL5ウィザードのテクニック(第07回):樹状図

知っておくべきMQL5ウィザードのテクニック(第07回):樹状図

分析や予測を目的としたデータの分類は、機械学習の中でも非常に多様な分野であり、数多くのアプローチや手法があります。この作品では、そのようなアプローチのひとつである「凝集型階層分類」を取り上げます。
preview
SMC (Smart Money Concepts)で取引のレベルアップを実現する:OB、BOS、FVG

SMC (Smart Money Concepts)で取引のレベルアップを実現する:OB、BOS、FVG

SMC(Smart Money Concepts、スマートマネーコンセプト)のOB(Order Blocks、注文ブロック)、BOS(Break of Structure、ブレイクオブストラクチャ)、FVG(Fair Value Gaps、公正価格ギャップ)を1つの強力なEAに統合することで、取引をさらに進化させることができます。自動モードで戦略を実行することも、特定のSMCコンセプトだけを使用することも可能で、柔軟かつ精度の高い取引が実現します。