MQL5言語での自動売買ロボットのプログラミングと使用に関する記事

icon

MetaTraderプラットフォームのために作られたExpert Advisorsは、開発者により導入された様々な機能を実行します。自動売買ロボットは1日24時間、通貨をトラックし、取引をコピーし、レポートを送信し、ニュースを分析し、 特別に作成されたグラフィカルインターフェイスを提供することができます。

記事はプログラミングのテクニック、データ処理のための数学的なアイデア、自動売買ロボットの開発と発注についてのヒントを記載します。

新しい記事を追加
最新 | ベスト
DoEasyライブラリのグラフィックス(第74部): CCanvasクラスを使用した基本的グラフィック要素
DoEasyライブラリのグラフィックス(第74部): CCanvasクラスを使用した基本的グラフィック要素

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

本稿では、前の記事からのグラフィカルオブジェクトを構築するという概念を作り直し、標準ライブラリCCanvasクラスを利用したライブラリのすべてのグラフィカルオブジェクトの基本クラスを準備します。
preview
MQL5での取引戦略の自動化(第10回):トレンドフラットモメンタム戦略の開発

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

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

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

以前の記事でおこなったテストの結果、訓練された戦略の最適性は、使用する訓練セットに大きく依存するという結論に達しました。この記事では、モデルを訓練するための軌道を選択するための、シンプルかつ効果的な手法を紹介します。
preview
データサイエンスとML(第41回):YOLOv8を用いた外国為替および株式市場のパターン検出

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

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

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

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

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

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

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

今回は、前回の記事で作成した指標を元に、MQL5で最初のエキスパートアドバイザー(EA)を作成します。リスク管理を含め、取引プロセスを自動化するために必要な全機能を紹介します。これにより、手動の取引執行から自動化されたシステムへとスムーズに移行できるメリットがあります。
preview
MetaTrader 5のPythonでMQL5のような取引クラスを構築する

MetaTrader 5のPythonでMQL5のような取引クラスを構築する

MetaTrader 5のPythonパッケージは、Python言語でMetaTrader 5プラットフォーム用の取引アプリケーションを構築する簡単な方法を提供しますが、強力で有用なツールである一方で、アルゴリズム取引ソリューションを作成する際にはMQL5プログラミング言語ほど容易ではありません。本記事では、MQL5で提供されているものに類似した取引クラスを構築し、類似した構文を作成することで、MQL5と同様にPythonで自動売買ロボットをより簡単に作成できるようにします。
preview
分析型ボリュームプロファイル取引(AVPT):流動性アーキテクチャ、市場メモリ、アルゴリズム実行

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

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

エキスパートアドバイザーのQ値の開発

この記事では、エキスパートアドバイザー(EA)がストラテジーテスターで表示できる品質スコアを開発する方法を見ていきます。Van TharpとSunny Harrisという2つの有名な計算方法を見てみましょう。
preview
ニューラルネットワークが簡単に(第66回):オフライン学習における探索問題

ニューラルネットワークが簡単に(第66回):オフライン学習における探索問題

モデルは、用意された訓練データセットのデータを使用してオフラインで訓練されます。一定の利点がある反面、環境に関する情報が訓練データセットのサイズに大きく圧縮されてしまうというマイナス面もあります。それが逆に、探求の可能性を狭めています。この記事では、可能な限り多様なデータで訓練データセットを埋めることができる方法について考えます。
preview
パターン検索への総当たり攻撃アプローチ(第V部):新鮮なアングル

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

この記事では、私が長い時間をかけてたどり着いた、アルゴリズム取引に対するまったく異なるアプローチを紹介します。もちろん、これはすべて私の総当たり攻撃プログラムに関係しています。これには、複数の問題を同時に解決できるように多くの変更が加えられています。とはいえ、この記事はより一般的で可能な限りシンプルなものであるため、総当たり攻撃について何も知らない読者にも適しています。
preview
MetaTraderのMultibot(第2回):動的テンプレートの改良

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

前回の記事のテーマを発展させ、より柔軟で機能的なテンプレートを作成することにしました。このテンプレートは、より大きな機能を持ち、フリーランスとして、また外部ソリューションとの統合機能を備えた多通貨多期間EAを開発するためのベースとして効果的に使用することができます。
preview
知っておくべきMQL5ウィザードのテクニック(第28回):学習率に関する入門書によるGANの再検討

知っておくべきMQL5ウィザードのテクニック(第28回):学習率に関する入門書によるGANの再検討

学習率(Learning Rate)とは、多くの機械学習アルゴリズムの学習プロセスにおいて、学習目標に向かうステップの大きさのことです。以前の記事で検証したニューラルネットワークの一種である生成的敵対的ネットワーク(GAN: Generative Adversarial Network)のパフォーマンスに、その多くのスケジュールと形式が与える影響を検証します。
preview
ニューラルネットワークが簡単に(第74回):適応による軌道予測

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

本稿では、様々な環境条件に適応可能なマルチエージェントの軌道予測について、かなり効果的な手法を紹介します。
preview
取引戦略の開発を実践する

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

この記事では、独自の取引戦略の開発を試みます。どんな取引戦略も、何らかの統計的優位性に基づいていなければなりません。しかも、この利点は長く続くべきです。
preview
知っておくべきMQL5ウィザードのテクニック(第40回):Parabolic SAR(パラボリックSAR)

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

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

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

この記事では、MQL5経済カレンダーダッシュボードにフィルターを実装し、通貨、重要度、時間ごとにニュースイベントの表示を絞り込みます。まず、各カテゴリのフィルター基準を設定し、それをダッシュボードに組み込むことで、関連するイベントのみが表示されるようにします。最後に、各フィルターが動的に更新され、トレーダーにとって必要な、焦点を絞ったリアルタイムの経済情報が提供されるようにします。
preview
MQL5での取引戦略の自動化(第22回):Envelopes Trend取引のためのZone Recoveryシステムの作成

MQL5での取引戦略の自動化(第22回):Envelopes Trend取引のためのZone Recoveryシステムの作成

本記事では、Envelopes Trend取引戦略と統合されたZone Recoveryシステムを開発します。RSI (Relative Strength Index)とEnvelopesインジケーターを用いて取引を自動化し、損失を抑えるリカバリーゾーンを効果的に管理するためのアーキテクチャを詳述します。実装とバックテストを通じて、変動する市場環境に対応できる効果的な自動取引システムの構築方法を示します。
preview
初心者からエキスパートへ:Reporting EA - ワークフローの設定

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

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

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

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

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

ナンバーウォールは、リニアシフトバックレジスタの一種で、収束を確認することにより、予測可能な数列を事前にスクリーニングします。これらのアイデアがMQL5でどのように役立つかを見ていきます。
preview
一からの取引エキスパートアドバイザーの開発(第28部):未来に向かって(III)

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

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

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

この記事は初心者とプロMQL5開発者の両方を対象としています。これは、シグナルを生成する指標をより長い時間枠のトレンドに定義し、制約するためのコードの一部を提供します。このように、トレーダーはより広い市場視点を取り入れることで戦略を強化することができ、より強固で信頼性の高い売買シグナルが得られる可能性があります。
preview
多通貨エキスパートアドバイザーの開発(第13回):第2段階の自動化 - グループへの選択

多通貨エキスパートアドバイザーの開発(第13回):第2段階の自動化 - グループへの選択

自動最適化の第1段階はすでに実装されています。いくつかの基準に従ってさまざま銘柄と時間枠の最適化を実行し、各パスの結果に関する情報をデータベースに保存します。ここで、最初の段階で見つかったものから最適なパラメータセットのグループを選択します。
preview
MQL5で取引管理者パネルを作成する(第5回):2要素認証(2FA)

MQL5で取引管理者パネルを作成する(第5回):2要素認証(2FA)

本日は、現在開発中の取引管理パネルのセキュリティ強化について説明します。Telegram APIを統合し、2要素認証(2FA)を実現する新しいセキュリティ戦略にMQL5を実装する方法を探ります。このディスカッションでは、MQL5を活用してセキュリティ対策を強化する方法について貴重な洞察を得ることができます。さらに、MathRand関数の機能に焦点を当て、セキュリティフレームワーク内でどのように効果的に活用できるかを検討します。さらに詳しく知りたい方は、読み続けてください。
preview
MQL5での取引戦略の自動化(第35回):ブレーカーブロック取引システムの作成

MQL5での取引戦略の自動化(第35回):ブレーカーブロック取引システムの作成

本記事では、MQL5でブレーカーブロック取引システムを作成します。本システムは、レンジ相場を識別し、ブレイクアウトを検出、スイングポイントでブレーカーブロックを検証した上で、リスクパラメータを定義してリテスト取引を実行します。また、オーダーブロックおよびブレーカーブロックを動的なラベルと矢印で可視化し、自動売買やトレーリングストップにも対応しています。
preview
知っておくべきMQL5ウィザードのテクニック(第49回):近接方策最適化による強化学習

知っておくべきMQL5ウィザードのテクニック(第49回):近接方策最適化による強化学習

近接方策最適化は、強化学習におけるアルゴリズムの一つで、モデルの安定性を確保するために、しばしばネットワーク形式で非常に小さな増分で方策を更新します。前回の記事と同様に、ウィザードで作成したエキスパートアドバイザー(EA)において、これがどのように役立つかを探ります。
preview
知っておくべきMQL5ウィザードのテクニック(第45回):モンテカルロ法による強化学習

知っておくべきMQL5ウィザードのテクニック(第45回):モンテカルロ法による強化学習

モンテカルロは、ウィザードで組み立てられたエキスパートアドバイザー(EA)における実装を検討するために取り上げる、強化学習の4つ目の異なるアルゴリズムです。ランダムサンプリングに基づいていますが、多様なシミュレーション手法を活用できる点が特徴です。
preview
MQL5入門(第26回):MQL5のAPIとWebRequest関数の習得

MQL5入門(第26回):MQL5のAPIとWebRequest関数の習得

本記事では、MQL5におけるWebRequest関数とAPIの使用方法を紹介し、外部プラットフォームと通信する方法を解説します。MetaTrader 5から直接Telegramボットを作成し、チャットやグループのIDを取得し、メッセージの送信、編集、削除をおこなう方法を学びます。これにより、今後のMQL5プロジェクトでのAPI統合の基礎をしっかり身につけることができます。
preview
MQL5における修正グリッドヘッジEA(第3部):シンプルヘッジ戦略の最適化(I)

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

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

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

本記事では、初心者向けにMQL5エキスパートアドバイザー(EA)の構築方法を紹介します。このEAは、クラシックなテクニカルチャートパターンである三尊を識別し、取引をおこないます。記事では、プライスアクションを用いたパターン検出方法、チャートへの描画、エントリー・ストップロス・テイクプロフィットの設定、さらにそのパターンに基づく取引実行の自動化について解説します。
preview
機械学習の限界を克服する(第1回):相互運用可能な指標の欠如

機械学習の限界を克服する(第1回):相互運用可能な指標の欠如

私たちのコミュニティがAIをあらゆる形態で活用した信頼性の高い取引戦略を構築しようとする努力を、静かに蝕んでいる強力で広範な力があります。本稿では、私たちが直面している問題の一部は、「ベストプラクティス」に盲目的に従うことに根ざしていることを明らかにします。読者に対して、実際の市場に基づくシンプルな証拠を提供することで、なぜそのような行動を避け、むしろドメイン固有のベストプラクティスを採用すべきかを論理的に示します。これによって、私たちのコミュニティがAIの潜在的な可能性を回復するチャンスを少しでも持てるようになるのです。
preview
MQL5でのファイル操作の習得:基本的なI/OからカスタムCSVリーダーの構築まで

MQL5でのファイル操作の習得:基本的なI/OからカスタムCSVリーダーの構築まで

この記事では、取引ログ、CSVの処理、外部データの統合など、MQL5における基本的なファイル操作テクニックに焦点を当て、概念的な理解と実践的なコーディングガイドの両面から解説します。読者は、カスタムCSVインポート用のクラスを段階的に構築する方法を学び、実践的なスキルを身につけることができます。
preview
MQL5の圏論(第4回):スパン、実験、合成

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

圏論は数学の一分野であり、多様な広がりを見せていますが、MQL5コミュニティでは今のところ比較的知られていません。この連載では、その概念のいくつかを紹介して考察することで、トレーダーの戦略開発におけるこの注目すべき分野の利用を促進することを目的としたオープンなライブラリを確立することを目指しています。
preview
ニューラルネットワークが簡単に(第72回):ノイズ環境における軌道予測

ニューラルネットワークが簡単に(第72回):ノイズ環境における軌道予測

前回説明した目標条件付き予測符号化(GCPC)法では、将来の状態予測の質が重要な役割を果たします。この記事では、金融市場のような確率的環境における予測品質を大幅に向上させるアルゴリズムを紹介したいとおもいます。
preview
多通貨エキスパートアドバイザーの開発(第6回):インスタンスグループ選択の自動化

多通貨エキスパートアドバイザーの開発(第6回):インスタンスグループ選択の自動化

取引戦略を最適化した後、パラメータのセットを受け取ります。これらを使用して、1つのEAに複数の取引戦略のインスタンスを作成することができます。以前は手動でおこないましたが、ここでは、このプロセスの自動化を試みます。
preview
MQL5での取引戦略の自動化(第23回):トレーリングとバスケットロジックによるゾーンリカバリ

MQL5での取引戦略の自動化(第23回):トレーリングとバスケットロジックによるゾーンリカバリ

この記事では、トレーリングストップとマルチバスケット取引機能を導入することで、ゾーンリカバリー(Zone Recovery)システムを強化します。改善されたアーキテクチャが、利益確定のために動的トレーリングストップをどのように活用し、複数の取引シグナルを効率的に処理するバスケット管理システムの使用方法を探ります。実装とバックテストを通じて、適応的な市場環境に対応するより堅牢な取引システムを実証します。
preview
MQL5での取引戦略の自動化(第28回):視覚的フィードバックによるプライスアクションバットハーモニックパターンの作成

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

本記事では、MQL5で弱気と強気の両方のバット(Bat)ハーモニックパターンを、ピボットポイントとフィボナッチ比率を用いて識別し、正確なエントリー、ストップロス、テイクプロフィットレベルを用いて取引を自動化するバットパターンシステムを開発し、チャートオブジェクトによる視覚的フィードバックを強化します。
preview
多通貨エキスパートアドバイザーの開発(第19回):Pythonで実装されたステージの作成

多通貨エキスパートアドバイザーの開発(第19回):Pythonで実装されたステージの作成

これまでは、標準のストラテジーテスター内で最適化タスクを順に自動実行することだけを考えてきました。しかし、もしそれらの実行の合間に、別の手段で得られたデータを処理したいとしたらどうなるでしょうか。ここでは、Pythonで記述されたプログラムによって新たな最適化ステージを作成する機能の追加を試みます。