MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
初級から中級まで:インジケーター(I)

初級から中級まで:インジケーター(I)

本記事では、初めてとなる完全に実用的かつ機能的なインジケーターを作成していきます。目的はアプリケーションの作り方そのものを示すことではありません。皆さんがご自身のアイデアをどのように開発できるのかを理解し、安全でシンプルかつ実践的な方法でそれを適用する機会を提供することにあります。
preview
ニューラルネットワークが簡単に(第56回):核型ノルムを研究の推進力に

ニューラルネットワークが簡単に(第56回):核型ノルムを研究の推進力に

強化学習における環境の研究は喫緊の課題です。いくつかのアプローチについてすでに見てきました。この記事では、核型ノルムの最大化に基づくもう一つの方法について見てみましょう。これにより、エージェントは新規性と多様性の高い環境状態を特定することができます。
preview
Candlestick Trend Constraintモデルの構築(第3回):使用中のトレンド変化の検出

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

この記事では、経済ニュースの発表、投資家の行動、さまざまな要因が市場のトレンド反転にどのような影響を与えるかを探ります。ビデオによる説明もあり、MQL5のコードをプログラムに組み込むことで、トレンドの反転を検出し、警告を発し、市場の状況に応じて適切な行動を取ることができます。これは、本連載の過去の記事に基づいています。
preview
MQL5経済指標カレンダーを使った取引(第1回):MQL5経済指標カレンダーの機能をマスターする

MQL5経済指標カレンダーを使った取引(第1回):MQL5経済指標カレンダーの機能をマスターする

この記事では、まず、MQL5経済指標カレンダーの基本機能を理解し、それを取引に活用する方法を探ります。次に、MQL5で経済指標カレンダーの主要機能を実装し、取引の判断に役立つニュースを取得する方法を説明します。最後に、この情報を活用して取引戦略を効果的に強化する方法を紹介します。
DoEasyライブラリのグラフィックス(第84部): 抽象標準グラフィカルオブジェクトの子孫クラス
DoEasyライブラリのグラフィックス(第84部): 抽象標準グラフィカルオブジェクトの子孫クラス

DoEasyライブラリのグラフィックス(第84部): 抽象標準グラフィカルオブジェクトの子孫クラス

本稿では、ターミナル抽象標準グラフィカルオブジェクトの子孫オブジェクトの作成について検討します。クラスオブジェクトでは、すべてのグラフィカルオブジェクトに共通のプロパティを記述します。つまり、それは単にある種のグラフィカルオブジェクトです。実際のグラフィカルオブジェクトとの関係を明確にするには、この特定のグラフィカルオブジェクトに固有のプロパティを子孫オブジェクトクラスに設定する必要があります。
preview
GUI:MQLで独自のグラフィックライブラリを作成するためのヒントとコツ

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

GUIライブラリの基本的な使い方を説明し、GUIライブラリがどのように機能するのかを理解し、さらには自分自身のライブラリを作り始めることができるようにします。
preview
PythonとMQL5を使用した特徴量エンジニアリング(第1回):長期AIモデルの移動平均の予測

PythonとMQL5を使用した特徴量エンジニアリング(第1回):長期AIモデルの移動平均の予測

移動平均は、AIモデルが予測するのに最適な指標です。しかし、データを慎重に変換することで、さらなる精度向上が可能です。本記事では、現在の手法よりもさらに先の未来を、高い精度を維持しながら予測できるAIモデルの構築方法を解説します。移動平均がこれほど有用な指標であることには驚かされます。
preview
MQL5における高度なメモリ管理と最適化テクニック

MQL5における高度なメモリ管理と最適化テクニック

MQL5の取引システムにおけるメモリ使用を最適化するための実践的なテクニックを紹介します。効率的で安定性が高く、高速に動作するエキスパートアドバイザー(EA)やインジケーターの構築方法を学びましょう。MQL5でのメモリの仕組み、システムを遅くしたり不安定にしたりする一般的な落とし穴、そして、最も重要なこととして、それらを解決する方法について詳しく解説します。
preview
一からの取引エキスパートアドバイザーの開発(第17部):Web上のデータにアクセスする(III)

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

今回は、Webからデータを取得し、エキスパートアドバイザー(EA)で使用する方法について引き続き考えていきます。今回は、代用できるシステムの開発に進みます。
preview
MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ

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

この記事では、MQL5のネイティブMQTTクライアント開発における最初の試みについて報告します。MQTTは、クライアントサーバーのパブリッシュ/サブスクライブメッセージングトランスポートプロトコルです。MQTTは軽量、オープン、シンプルで、簡単に実装できるように設計されています。これらの特性により、さまざまな状況での使用に最適です。
preview
MetaTrader 5を使用したPythonの高頻度裁定取引システム

MetaTrader 5を使用したPythonの高頻度裁定取引システム

この記事では、ブローカーの観点から見て合法であり、外国為替市場において数千もの合成価格を生成・分析し、利益を上げるために取引をおこなう裁定取引システムの構築方法について解説します。
preview
母集団最適化アルゴリズム:クジラ最適化アルゴリズム(WOA)

母集団最適化アルゴリズム:クジラ最適化アルゴリズム(WOA)

(WOA)は、ザトウクジラの行動と狩猟戦略に着想を得たメタヒューリスティクスアルゴリズムです。WOAの主なアイデアは、クジラが獲物の周囲に泡を作り、螺旋状の動きで獲物に襲いかかる、いわゆる「バブルネット」と呼ばれる捕食方法を模倣することです。
preview
古典的な戦略をPythonで再構築する:MAクロスオーバー

古典的な戦略をPythonで再構築する:MAクロスオーバー

この記事では、古典的な移動平均クロスオーバー戦略を再検討し、その現在の有効性を評価します。開始以来の経過時間を考慮して、AI がこの伝統的な取引戦略にもたらす可能性のある機能強化について検討します。AI技術を取り入れることで、高度な予測能力を活用し、取引のエントリとエグジットのポイントを最適化し、さまざまな市場環境に適応し、従来のアプローチと比較して全体的なパフォーマンスを向上させる可能性があることを目指します。
preview
Connexus入門(第1回):WebRequest関数の使い方

Connexus入門(第1回):WebRequest関数の使い方

この記事は、MQL5でHTTPリクエストを容易にするための「Connexus」と呼ばれるライブラリの開発シリーズの始まりです。このプロジェクトの目標は、エンドユーザーにこの機会を提供し、このヘルパーライブラリーの使い方を示すことです。学習を容易にし、将来の発展の可能性を提供するために、できるだけシンプルにすることを意図しました。
preview
取引における道徳的期待値

取引における道徳的期待値

この記事は、道徳的期待値についてです。取引でのその使用のいくつかの例と、その助けを借りて達成できる結果を見ていきます。
preview
高度なICT取引システムの開発:インジケーターへのオーダーブロックの実装

高度なICT取引システムの開発:インジケーターへのオーダーブロックの実装

この記事では、オーダーブロックのミティゲーションを検出し、描画し、アラートを発するインジケーターの作り方を学びます。また、チャート上でこれらのブロックを正確に特定する方法や、正確なアラートの設定方法、価格の動きをより理解しやすくするために矩形で位置を可視化する方法についても詳しく解説します。このインジケーターは、スマートマネーコンセプトやインナーサークルトレーダーの手法を用いるトレーダーにとって重要なツールとなるでしょう。
preview
DoEasyライブラリの時系列(第56部):カスタム指標オブジェクト、コレクション内指標オブジェクトからのデータ取得

DoEasyライブラリの時系列(第56部):カスタム指標オブジェクト、コレクション内指標オブジェクトからのデータ取得

本稿では、EAで使用するためのカスタム指標オブジェクトの作成について検討します。ライブラリクラスを少し改善し、EAの指標オブジェクトからデータを取得するメソッドを追加しましょう。
preview
MQL5でマーケットメイク系アルゴリズムを作成する

MQL5でマーケットメイク系アルゴリズムを作成する

マーケットメーカーはどのように機能するのでしょうか。この問題を考えて、原始的なマーケットメイク系アルゴリズムを作ってみましょう。
preview
自動で動くEAを作る(第14回):自動化(VI)

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

今回は、この連載で得た知識をすべて実践してみましょう。最終的には、100%自動化された機能的なシステムを構築します。しかしその前に、まだ最後の詳細を学ばなければなりません。
preview
DoEasy - コントロール(第27部):ProgressBar WinFormsオブジェクトの操作

DoEasy - コントロール(第27部):ProgressBar WinFormsオブジェクトの操作

この記事では、ProgressBarコントロールの開発を続けます。特に、プログレスバーと視覚効果を管理するための機能を作成します。
preview
DoEasy - コントロール(第8部):カテゴリ(GroupBoxおよびCheckBoxのコントロール)による基本WinFormsオブジェクト

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

この記事では、「GroupBox」および「CheckBox」WinFormsオブジェクトの作成、およびWinFormsオブジェクトカテゴリの基本オブジェクトの開発について検討します。作成されたすべてのオブジェクトはまだ静的で、マウスと対話することはできません。
preview
MQL5行列を使用した誤差逆伝播法によるニューラルネットワーク

MQL5行列を使用した誤差逆伝播法によるニューラルネットワーク

この記事では、行列を使用してMQL5で誤差逆伝播法(バックプロパゲーション)アルゴリズムを適用する理論と実践について説明します。スクリプト、インジケータ、エキスパートアドバイザー(EA)の例とともに、既製のクラスが提示されます。
preview
Pythonを使用したEA用ディープラーニングONNXモデルの季節性フィルタと期間

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

Pythonでディープラーニングのモデルを作成する際、季節性から恩恵を受けることはできるのでしょうか。ONNXモデルのデータをフィルタすることでより良い結果が得られるのでしょうか。どの期間を使用するべきでしょうか。この記事では、これらすべてを取り上げます。
preview
MQL5 Algo Forgeへの移行(第1回):メインリポジトリの作成

MQL5 Algo Forgeへの移行(第1回):メインリポジトリの作成

MetaEditorでプロジェクトを進める際、開発者はしばしばコードのバージョンを管理する必要に直面します。MetaQuotesは最近、Gitへの移行と、コードのバージョン管理や共同作業を可能にするMQL5 Algo Forgeの立ち上げを発表しました。本記事では、新しく導入されたツールと既存のツールを、より効率的に活用する方法について解説します。
preview
母集団最適化アルゴリズム:ネルダー–ミード法、またはシンプレックス(NM)検索法

母集団最適化アルゴリズム:ネルダー–ミード法、またはシンプレックス(NM)検索法

この記事では、ネルダー–ミード法の完全な探求を提示し、最適解を達成するために各反復でシンプレックス(関数パラメータ空間)がどのように修正され、再配置されるかを説明し、この方法がどのように改善されるかを説明します。
preview
ソフトウェア開発とMQL5におけるデザインパターン(第4回):振る舞いパターン2

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

デザインパターンには、生成デザインパターン、構造デザインパターン、振る舞いデザインパターンの3タイプがあることを説明しました。コードをクリーンにしながらオブジェクト間の相互作用の方法を設定するのに役立つ、残りの振る舞いタイプのパターンの説明を完成させます。
preview
MetaTrader 5のEMAクロスオーバーに基づくカスケード注文取引戦略

MetaTrader 5のEMAクロスオーバーに基づくカスケード注文取引戦略

この記事は、MetaTrader 5のEMAクロスオーバーに基づく自動化アルゴリズムのデモをガイドしています。価格帯の動作分析からリスク管理まで、MQL5のエキスパートアドバイザー(EA)を示し、MetaTrader 5でテストするためのあらゆる側面に関する詳細情報を含みます。
preview
知っておくべきMQL5ウィザードのテクニック(第38回):ボリンジャーバンド

知っておくべきMQL5ウィザードのテクニック(第38回):ボリンジャーバンド

ボリンジャーバンドは、多くのトレーダーが手動で取引を発注し、決済するために使用する、非常に一般的なエンベロープ指標です。この指標が生成する可能性のあるシグナルをできるだけ多く検討し、ウィザードで組み立てたエキスパートアドバイザー(EA)でどのように使用できるかを見ていきます。
preview
一からの取引エキスパートアドバイザーの開発(第23部):新規受注システム(IV)

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

受注システムをより柔軟にします。ここでは、コードをより柔軟にする変更を検討して、ポジションストップレベルをより迅速に変更できるようにします。
preview
一からの取引エキスパートアドバイザーの開発(第25部):システムの堅牢性の提供(II)

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

この記事では、エキスパートアドバイザー(EA)のパフォーマンスを仕上げます。長くなるのでご準備ください。EAを信頼できるものにするために、まず取引システムの一部でないコードをすべて削除します。
preview
MLモデルとストラテジーテスターの統合(第3回):CSVファイルの管理(II)

MLモデルとストラテジーテスターの統合(第3回):CSVファイルの管理(II)

この記事では、MQL5でCSVファイルを効率的に管理するクラスを作成するための完全ガイドを提供します。データを開き、読み書きし、変換するメソッドの実装を見ていきます。また、情報を保存しアクセスするためにこれらを使用する方法についても検討します。さらに、このようなクラスを使用する際の制限や最も重要な点についても説明します。MQL5でCSVファイルを処理する方法を学びたい人にとって、この記事は貴重なリソースとなるでしょう。
preview
一からの取引エキスパートアドバイザーの開発(第20部):新規受注システム(III)

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

新しい受注システムの導入を継続します。このようなシステムを作るには、MQL5を使いこなすだけでなく、MetaTrader 5プラットフォームが実際にどのように機能し、どのようなリソースを提供しているかを理解することが必要です。
preview
一からの取引エキスパートアドバイザーの開発(第26部):未来に向かって(I)

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

今日は、発注システムを次のレベルに引き上げます。ただしその前に、いくつかの問題を解決する必要があります。ここで、どのように働きたいか、取引日に何をするかに関連するいくつかの質問があります。
preview
カオス理論アプローチによる買われ過ぎと売られ過ぎのトレンド分析

カオス理論アプローチによる買われ過ぎと売られ過ぎのトレンド分析

市場の買われすぎや売られすぎの状態を、カオス理論に基づいて評価します。この手法では、カオス理論、フラクタル幾何学、ニューラルネットワークの原理を統合し、金融市場の予測をおこないます。この研究では、市場のランダム性の尺度として、また売買シグナルの動的適応として、リアプノフ指数を使用する方法を実証しています。市場のランダム性の評価にはリアプノフ指数を用い、売買シグナルの動的適応を実現しています。具体的には、フラクタルノイズ生成アルゴリズム、双曲線正接関数による活性化、モーメント最適化を組み合わせた手法を採用しています。
DoEasyライブラリのグラフィックス(第91部): 標準グラフィカルオブジェクトのイベントオブジェクト名変更履歴
DoEasyライブラリのグラフィックス(第91部): 標準グラフィカルオブジェクトのイベントオブジェクト名変更履歴

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

本稿では、ライブラリベースのプログラムからグラフィカルオブジェクトイベントを制御するための基本的な機能を洗練します。例として、「オブジェクト名」プロパティを使用してグラフィカルオブジェクトの変更履歴を保存する機能の実装から始めます。
preview
ニューラルネットワークが簡単に(第53回):報酬の分解

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

報酬関数を正しく選択することの重要性については、すでに何度かお話ししました。報酬関数は、個々の行動に報酬またはペナルティを追加することでエージェントの望ましい行動を刺激するために使用されます。しかし、エージェントによる信号の解読については未解決のままです。この記事では、訓練されたエージェントに個々のシグナルを送信するという観点からの報酬分解について説明します。
preview
モスクワ取引所(MOEX)におけるストップ注文を利用した取引所グリッド取引の自動化

モスクワ取引所(MOEX)におけるストップ注文を利用した取引所グリッド取引の自動化

本稿では、MQL5エキスパートアドバイザー(EA)に実装されたストップ指値注文に基づくグリッド取引についてモスクワ取引所(MOEX)で考察します。市場で取引する場合、最も単純な戦略の1つは、市場価格を「キャッチ」するように設計された注文のグリッドです。
preview
Frames Analyzerツールによるタイムトレード間隔の魔法

Frames Analyzerツールによるタイムトレード間隔の魔法

Frames Analyzerとは何でしょうか。これは、パラメータ最適化の直後に作成されたMQDファイルまたはデータベースを読み取ることにより、ストラテジーテスター内外でパラメータ最適化中に最適化フレームを分析するためのエキスパートアドバイザー(EA)のプラグインモジュールです。これらの最適化の結果はFrames Analyzerツールを使用している他のユーザーと共有して、結果について話し合うことができます。
preview
MQL5-Telegram統合エキスパートアドバイザーの作成(第2回):MQL5からTelegramへのシグナル送信

MQL5-Telegram統合エキスパートアドバイザーの作成(第2回):MQL5からTelegramへのシグナル送信

この記事では、移動平均クロスオーバーシグナルをTelegramに送信するMQL5-Telegram統合エキスパートアドバイザー(EA)を作成します。移動平均クロスオーバーから売買シグナルを生成し、MQL5で必要なコードを実装し、統合がシームレスに機能するようにするプロセスを詳しく説明します。その結果、リアルタイムの取引アラートをTelegramのグループチャットに直接提供するシステムが完成します。
preview
MQL5-Telegram統合エキスパートアドバイザーの作成(第5回):TelegramからMQL5にコマンドを送信し、リアルタイムの応答を受信する

MQL5-Telegram統合エキスパートアドバイザーの作成(第5回):TelegramからMQL5にコマンドを送信し、リアルタイムの応答を受信する

この記事では、MQL5とTelegram間のリアルタイム通信を容易にするためのいくつかのクラスを作成します。Telegramからコマンドを取得し、それをデコードして解釈し、適切な応答を送り返すことに重点を置きます。最終的には、これらの相互作用が取引環境内で効果的にテストされ、運用されていることを確認します。