MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
ソケットを使ったツイッターのセンチメント分析

ソケットを使ったツイッターのセンチメント分析

この革新的な取引ボットは、MetaTrader 5とPythonを統合し、リアルタイムのソーシャルメディアセンチメント分析を活用して自動売買の意思決定をおこないます。特定の金融商品に関連するツイッターのセンチメントを分析することで、ボットはソーシャルメディアのトレンドを実用的な取引シグナルに変換します。ソケット通信によるクライアントサーバーアーキテクチャを採用しており、MT5の取引機能とPythonのデータ処理能力とのシームレスな相互作用を実現しています。
preview
時間、価格、ボリュームに基づいた3Dバーの作成

時間、価格、ボリュームに基づいた3Dバーの作成

この記事では、多変量3D価格チャートとその作成方法について詳しく説明します。また、3Dバーが価格反転をどのように予測するか、PythonとMetaTrader 5を使ってリアルタイムでこれらのボリュームバーをプロットする方法についても考察します。
preview
母集団最適化アルゴリズム:群鳥アルゴリズム(BSA)

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

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

MQL5におけるSQLiteの機能:銘柄とマジックナンバー別の取引統計を表示するダッシュボード

この記事では、口座別、銘柄別、および取引戦略別に取引統計をダッシュボードに表示するインジケーターの作成について考察します。コードは、ドキュメントおよびデータベース操作に関する記事の例に基づいて実装します。
preview
ダーバスボックスブレイクアウト戦略における高度な機械学習技術の探究

ダーバスボックスブレイクアウト戦略における高度な機械学習技術の探究

ニコラス・ダーバスによって考案された「ダーバスボックスブレイクアウト戦略」は、株価が一定の「ボックス」レンジを上抜けたときに強い上昇モメンタムが示唆されることから、買いシグナルを見極めるためのテクニカル取引手法です。本記事では、この戦略コンセプトを例として用い、機械学習の3つの高度な技術を探っていきます。それは、取引をフィルタリングするのではなくシグナルを生成するために機械学習モデルを使用すること、離散的ではなく連続的なシグナルを用いること、異なる時間枠で学習されたモデルを使って取引を確認すること、の3点です。
preview
知っておくべきMQL5ウィザードのテクニック(第19回):ベイズ推定

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

ベイズ推定とは、新しい情報が入手可能になったときに確率仮説を更新するためにベイズの定理を採用することです。これは直感的に時系列分析への適応につながるので、シグナルだけでなく、資金管理やトレーリングストップのためのカスタムクラスを構築する際に、これをどのように利用できるか見てみましょう。
DoEasyライブラリのグラフィックス(第74部): CCanvasクラスを使用した基本的グラフィック要素
DoEasyライブラリのグラフィックス(第74部): CCanvasクラスを使用した基本的グラフィック要素

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

本稿では、前の記事からのグラフィカルオブジェクトを構築するという概念を作り直し、標準ライブラリCCanvasクラスを利用したライブラリのすべてのグラフィカルオブジェクトの基本クラスを準備します。
preview
DoEasy-コントロール(第20部):SplitContainer WinFormsオブジェクト

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

今回の記事では、MS Visual StudioツールキットからSplitContainerコントロールの開発を開始します。このコントロールは、垂直または水平の可動セパレータで区切られた2つのパネルで構成されています。
preview
MQL5での取引戦略の自動化(第4回):Multi-Level Zone Recoveryシステムの構築

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

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

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

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

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

この記事では、無生物由来の興味深いアルゴリズム、つまり川床形成プロセスをシミュレーションするIntelligent Water Drops (IWD)について考察しています。このアルゴリズムのアイデアにより、従来の格付けのリーダーであったSDSを大幅に改善することが可能になりました。いつものように、新しいリーダー(修正SDSm)は添付ファイルにあります。
preview
ニューラルネットワークが簡単に(第64回):ConserWeightive Behavioral Cloning (CWBC)法

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

以前の記事でおこなったテストの結果、訓練された戦略の最適性は、使用する訓練セットに大きく依存するという結論に達しました。この記事では、モデルを訓練するための軌道を選択するための、シンプルかつ効果的な手法を紹介します。
preview
初心者のためのMQL5によるSP500取引戦略

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

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

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

ここでは、次回以降の仕事に関連するいくつかの要素を簡略化します。シミュレーターが生成するランダム性を視覚化する方法も説明しましょう。
preview
アルゴリズム取引のリスクマネージャー

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

本稿の目的は、リスクマネージャーを利用する必要性を証明し、アルゴリズム取引におけるリスク管理の原則を別クラスで実践することで、金融市場におけるデイ取引と投資におけるリスク標準化アプローチの有効性を誰もが検証できるようにすることです。この記事では、アルゴリズム取引用のリスクマネージャークラスを作成します。これは、手動取引のリスクマネージャーの作成について述べた前回の記事の論理的な続きです。
preview
プライスアクション分析ツールキットの開発(第3回):Analytics Master EA

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

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

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

本記事では、モデルがおこなうすべての予測に密かに影響を与える、隠れた幾何学的誤差の源に新たな視点を提供します。取引における機械学習予測の評価方法と活用法を再考することで、従来見過ごされてきたこの視点が、より鋭い意思決定、より高いリターン、そして、すでに理解していると思っていたモデルをより賢く活用する道を開くことを示します。
preview
知っておくべきMQL5ウィザードのテクニック(第21回):経済指標カレンダーデータによるテスト

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

経済指標カレンダーのデータは、デフォルトではストラテジーテスターのエキスパートアドバイザー(EA)でテストすることはできません。この制限を回避するために、データベースがどのように役立つかを考察します。そこでこの記事では、SQLiteデータベースを使用して経済指標カレンダーのニュースをアーカイブし、ウィザードで組み立てられたEAがこれを使用して売買シグナルを生成できるようにする方法を探ります。
preview
人工散布アルゴリズム(ASHA)

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

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

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

ダイクストラ法は、グラフ理論における古典的な最短経路探索手法であり、市場ネットワークをモデル化することで取引戦略の最適化に応用できます。トレーダーは、ローソク足チャート上の価格データをグラフとして扱い、最も効率的な「経路」を見つけるためにダイクストラ法を使用できます。
preview
母集団最適化アルゴリズム:社会集団の進化(ESG)

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

多母集団アルゴリズムの構成原理を考えます。この種のアルゴリズムの一例として、新しいカスタムアルゴリズムであるESG (Evolution of Social Groups)を見てみましょう。このアルゴリズムの基本概念、母集団相互作用メカニズム、利点を分析し、最適化問題におけるパフォーマンスを検証します。
preview
MetaTrader 5で隠れマルコフモデルを統合する

MetaTrader 5で隠れマルコフモデルを統合する

この記事では、Pythonを使用して学習した隠れマルコフモデルをMetaTrader 5アプリケーションに統合する方法を示します。隠れマルコフモデルは、時系列データをモデル化するために使用される強力な統計的ツールであり、モデル化されるシステムは観測不可能な(隠れた)状態によって特徴付けられます。HMMの基本的な前提は、ある時刻にある状態にある確率は、その前のタイムスロットにおけるプロセスの状態に依存するということです。
preview
Candlestick Trend Constraintモデルの構築(第8回):エキスパートアドバイザーの開発 (I)

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

今回は、前回の記事で作成した指標を元に、MQL5で最初のエキスパートアドバイザー(EA)を作成します。リスク管理を含め、取引プロセスを自動化するために必要な全機能を紹介します。これにより、手動の取引執行から自動化されたシステムへとスムーズに移行できるメリットがあります。
preview
知っておくべきMQL5ウィザードのテクニック(第28回):学習率に関する入門書によるGANの再検討

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

学習率(Learning Rate)とは、多くの機械学習アルゴリズムの学習プロセスにおいて、学習目標に向かうステップの大きさのことです。以前の記事で検証したニューラルネットワークの一種である生成的敵対的ネットワーク(GAN: Generative Adversarial Network)のパフォーマンスに、その多くのスケジュールと形式が与える影響を検証します。
preview
MQL5で取引管理者パネルを作成する(第12回):FX取引計算ツールの統合

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

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

知っておくべきMQL5ウィザードのテクニック(第08回):パーセプトロン

パー​​セプトロン(単一隠れ層ネットワーク)は、基本的な自動取引に精通していて、ニューラルネットワークを試してみようとしている人にとって、優れた入門編となります。エキスパートアドバイザー(EA)用のMQL5ウィザードクラスの一部であるシグナルクラスアセンブリでこれをどのように実現できるかを段階的に見ていきます。
preview
季節性を利用した外国為替スプレッド取引

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

この記事では、外国為替取引におけるスプレッド取引時に季節性要因を利用したレポートデータの生成および提供の可能性について検討します。
preview
手動取引のリスクマネージャー

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

この記事では、手動取引用のリスクマネージャークラスをゼロから書く方法について詳しく説明します。このクラスは、自動化プログラムを使用するアルゴリズムトレーダーが継承するための基本クラスとしても使用できます。
preview
ニューラルネットワークが簡単に(第66回):オフライン学習における探索問題

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

モデルは、用意された訓練データセットのデータを使用してオフラインで訓練されます。一定の利点がある反面、環境に関する情報が訓練データセットのサイズに大きく圧縮されてしまうというマイナス面もあります。それが逆に、探求の可能性を狭めています。この記事では、可能な限り多様なデータで訓練データセットを埋めることができる方法について考えます。
preview
ニューラルネットワークが簡単に(第74回):適応による軌道予測

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

本稿では、様々な環境条件に適応可能なマルチエージェントの軌道予測について、かなり効果的な手法を紹介します。
preview
一からの取引エキスパートアドバイザーの開発(第28部):未来に向かって(III)

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

私たちの発注システムが対応できていないタスクがまだ1つありますが、最終的に解決する予定です。MetaTrader 5は、注文値の作成と修正を可能にするチケットのシステムを備えています。アイデアは、同じチケットシステムをより高速かつ効率的にするエキスパートアドバイザー(EA)を持つことです。
preview
MQL5-Telegram統合エキスパートアドバイザーの作成(第7回):チャート上のインジケーター自動化のためのコマンド解析

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

この記事では、TelegramコマンドをMQL5と統合して、取引チャートへのインジケーターの追加を自動化する方法について解説します。ユーザーからのコマンドを解析し、MQL5で実行し、インジケーターベースの取引を円滑におこなうためのシステムをテストするプロセスについて説明します。
preview
ダイナミックマルチペアEAの形成(第3回):平均回帰とモメンタム戦略

ダイナミックマルチペアEAの形成(第3回):平均回帰とモメンタム戦略

本記事では、ダイナミックマルチペアエキスパートアドバイザー(EA)を構築する旅の第3部として、平均回帰戦略とモメンタム戦略の統合に焦点を当てます。価格の平均からの乖離(Zスコア)を検出して取引に活かす方法や、複数の通貨ペアにおけるモメンタムを測定して取引方向を判断する方法について詳しく解説します。
preview
Candlestick Trend Constraintモデルの構築(第1回):EAとテクニカル指標について

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

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

初心者からプロまでMQL5をマスターする(第6回):エキスパートアドバイザー開発の基礎

この記事は初心者向け連載の続きです。今回はエキスパートアドバイザー(EA)開発の基本原理について解説します。2つのEAを作成します。1つ目はインジケーターを使わず、予約注文で取引をおこなうEA。2つ目は標準の移動平均線(MA)インジケーターを利用し、成行価格で取引をおこなうEAです。ここでは、前回までの記事の内容をある程度理解していることを前提としています。
preview
古典的な戦略を再構築する(第10回):AIはMACDを強化できるか?

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

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

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

この記事では、エキスパートアドバイザー(EA)がストラテジーテスターで表示できる品質スコアを開発する方法を見ていきます。Van TharpとSunny Harrisという2つの有名な計算方法を見てみましょう。
preview
MetaTraderのMultibot(第2回):動的テンプレートの改良

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

前回の記事のテーマを発展させ、より柔軟で機能的なテンプレートを作成することにしました。このテンプレートは、より大きな機能を持ち、フリーランスとして、また外部ソリューションとの統合機能を備えた多通貨多期間EAを開発するためのベースとして効果的に使用することができます。
preview
MQL5で取引管理者パネルを作成する(第5回):2要素認証(2FA)

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

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

多通貨エキスパートアドバイザーの開発(第8回):新しいバーの負荷テストと処理

進歩に伴い、1つのEAでより多くの取引戦略インスタンスを同時に実行するようになりました。リソースの限界に達する前に、どのくらいのインスタンスが利用可能かを検討することが重要です。