MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
RestAPIを統合したMQL5強化学習エージェントの開発(第3回):MQL5で自動手番とテストスクリプトを作成する

RestAPIを統合したMQL5強化学習エージェントの開発(第3回):MQL5で自動手番とテストスクリプトを作成する

この記事では、MQL5関数とユニットテストを統合した、Pythonによる三目並べの自動手番の実装について説明します。目標は、MQL5でのテストを通じて、対戦のインタラクティブ性を向上させ、システムの信頼性を確保することです。このプレゼンテーションでは、対戦ロジックの開発、統合、実地テストについて説明し、最後にダイナミックな対戦環境と堅牢な統合システムを作成します。
preview
ニューラルネットワークが簡単に(第87回):時系列パッチ

ニューラルネットワークが簡単に(第87回):時系列パッチ

予測は時系列分析において重要な役割を果たします。この新しい記事では、時系列パッチの利点についてお話しします。
preview
知っておくべきMQL5ウィザードのテクニック(第46回):一目均衡表

知っておくべきMQL5ウィザードのテクニック(第46回):一目均衡表

一目均衡表はトレンド識別システムとして機能する有名な日本の指標です。以前の同様の記事と同様に、パターンごとにこれを調べ、MQL5ウィザードライブラリクラスとアセンブリの助けを借りて、その戦略とテストレポートも評価します。
DoEasyライブラリでの価格(第62部): ティックシリーズをリアルタイムで更新して板情報で作業するための準備
DoEasyライブラリでの価格(第62部): ティックシリーズをリアルタイムで更新して板情報で作業するための準備

DoEasyライブラリでの価格(第62部): ティックシリーズをリアルタイムで更新して板情報で作業するための準備

この記事では、ティックデータの更新をリアルタイムで実装し、板情報を操作するための銘柄オブジェクトクラスを準備します(DOM自体は次の記事で実装されます)。
preview
ビジュアルプログラミング言語DRAKON:MQL開発者と顧客のコミュニケーションツール

ビジュアルプログラミング言語DRAKON:MQL開発者と顧客のコミュニケーションツール

DRAKONは、ロシアの宇宙プロジェクト(例えば、「Buran」再利用可能宇宙船プロジェクト)のプログラマーと、異なる分野の専門家(生物学者、物理学者、エンジニアなど)との対話を簡素化するために設計されたビジュアルプログラミング言語です。この記事では、DRAKONが、コードに触れたことがない人にとっても、アルゴリズムの作成にアクセスしやすく、直感的にし、また、顧客が取引ロボットを注文する際に自分の考えを説明しやすくし、複雑な関数でプログラマーのミスを少なくする方法についてお話します。
preview
リプレイシステムの開発 - 市場シミュレーション(第19回):必要な調整

リプレイシステムの開発 - 市場シミュレーション(第19回):必要な調整

ここでは、コードに新しい関数を追加する必要がある場合に、スムーズかつ簡単に追加できるように基礎を整えます。現在のコードでは、有意義な進歩を遂げるために必要な事柄の一部をまだカバーまたは処理できません。最小限の労力で特定のことを実装できるようにするには、すべてを構造化する必要があります。すべてを正しくおこなえば、対処が必要なあらゆる状況に非常に簡単に適応できる、真に普遍的なシステムを得ることができます。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第6回):自己適応型取引ルール(II)

MQL5で自己最適化エキスパートアドバイザーを構築する(第6回):自己適応型取引ルール(II)

本記事では、より良い売買シグナルを得るために、RSIのレベルと期間を最適化する方法を探ります。最適なRSI値を推定する手法や、グリッドサーチと統計モデルを用いた期間選定の自動化について紹介します。最後に、Pythonによる分析を活用しながら、MQL5でソリューションを実装します。私たちのアプローチは、複雑になりがちな問題をシンプルに解決することを目指した、実用的かつ分かりやすいものです。
preview
プライスアクション分析ツールキットの開発(第44回):MQL5でVWMAクロスオーバーシグナルEAを構築する

プライスアクション分析ツールキットの開発(第44回):MQL5でVWMAクロスオーバーシグナルEAを構築する

本記事では、MetaTrader 5向けに開発されたVWMA(出来高加重移動平均)クロスオーバーシグナルツールを紹介します。このツールは、価格動向と出来高を組み合わせることで、強気および弱気の反転ポイントを特定することを目的としています。このエキスパートアドバイザー(EA)は、チャート上に明確な買いと売りシグナルを直接表示し、豊富な情報を持つパネルを備えるとともに、ユーザーによる詳細なカスタマイズが可能で、実践的な取引戦略の強力な補助となります。
preview
母集団最適化アルゴリズム:魚群検索(FSS)

母集団最適化アルゴリズム:魚群検索(FSS)

魚群検索(FSS)は、そのほとんど(最大80%)が親族の群落の組織的な群れで泳ぐという魚の群れの行動から着想を得た新しい最適化アルゴリズムです。魚の集合体は、採餌の効率や外敵からの保護に重要な役割を果たすことが証明されています。
preview
ニューラルネットワークが簡単に (第42回):先延ばしのモデル、理由と解決策

ニューラルネットワークが簡単に (第42回):先延ばしのモデル、理由と解決策

強化学習の文脈では、モデルの先延ばしにはいくつかの理由があります。この記事では、モデルの先延ばしの原因として考えられることと、それを克服するための方法について考察しています。
preview
プライスアクション分析ツールキットの開発(第5回):Volatility Navigator EA

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

市場の方向性を判断するのは簡単ですが、いつエントリーするかを知るのは難しい場合があります。連載「プライスアクション分析ツールキットの開発」の一環として、エントリーポイント、テイクプロフィットレベル、ストップロスの配置を提供する別のツールを紹介できることを嬉しく思います。これを実現するために、MQL5プログラミング言語を利用しました。この記事では、各ステップについて詳しく見ていきましょう。
preview
MQL5でのAI搭載取引システムの構築(第1回):AI API向けJSON処理の実装

MQL5でのAI搭載取引システムの構築(第1回):AI API向けJSON処理の実装

本記事では、AI API連携のためのデータ交換を扱うJSON解析フレームワークをMQL5で開発します。特に、JSON構造を処理するためのクラスに焦点を当てています。JSONデータのシリアライズ(出力用)およびデシリアライズ(入力用)メソッドを実装し、文字列、数値、オブジェクトなどの各データ型をサポートします。これにより、ChatGPTのようなAIサービスとMQL5間で正確にデータをやり取りでき、将来的なAI駆動型取引システム構築に向けた基盤を提供します。
DoEasyライブラリのグラフィックス(第90部): 標準グラフィカルオブジェクトのイベント基本機能
DoEasyライブラリのグラフィックス(第90部): 標準グラフィカルオブジェクトのイベント基本機能

DoEasyライブラリのグラフィックス(第90部): 標準グラフィカルオブジェクトのイベント基本機能

本稿では、標準のグラフィカルオブジェクトイベントを追跡するための基本的な機能を実装します。グラフィカルオブジェクトのダブルクリックイベントから始めます。
preview
信頼区間を用いて将来のパフォーマンスを見積もる

信頼区間を用いて将来のパフォーマンスを見積もる

この記事では、自動化された戦略の将来のパフォーマンスを推定する手段として、ブーストラッピング技術の応用について掘り下げます。
preview
母集団最適化アルゴリズム:Mind Evolutionary Computation (MEC)アルゴリズム

母集団最適化アルゴリズム:Mind Evolutionary Computation (MEC)アルゴリズム

この記事では、Simple Mind Evolutionary Computation(Simple MEC, SMEC)アルゴリズムと呼ばれる、MECファミリーのアルゴリズムを考察します。このアルゴリズムは、そのアイデアの美しさと実装の容易さで際立っています。
DoEasyライブラリのグラフィックス(第77部): 影オブジェクトクラス
DoEasyライブラリのグラフィックス(第77部): 影オブジェクトクラス

DoEasyライブラリのグラフィックス(第77部): 影オブジェクトクラス

本稿では、グラフィック要素オブジェクトの子孫である 影オブジェクトのクラスを作成し、オブジェクトの背景をグラデーションで塗りつぶす機能を追加します。
preview
母集団最適化アルゴリズム:電磁気的アルゴリズム(ЕМ)

母集団最適化アルゴリズム:電磁気的アルゴリズム(ЕМ)

この記事では、様々な最適化問題において、電磁気的アルゴリズム(EM、electroMagnetism-like Algorithm)を使用する原理、方法、可能性について解説しています。EMアルゴリズムは、大量のデータや多次元関数を扱うことができる効率的な最適化ツールです。
preview
市場シミュレーション(第10回):ソケット(V)

市場シミュレーション(第10回):ソケット(V)

これからExcelとMetaTrader 5の接続の実装を始めますが、その前にいくつか押さえておくべき重要なポイントがあります。これを理解しておくことで、なぜ動くのか、なぜ動かないのかで悩む必要がなくなります。そして、PythonとExcelを組み合わせることに尻込みする前に、xlwingsを使ってExcelからMetaTrader 5をある程度操作できる方法を見てみましょう。ここで紹介する内容は主に教育目的ですが、もちろん、ここで取り上げることだけに制限されるわけではありません。
preview
MQL5での取引戦略の自動化(第7回):動的ロットスケーリングを備えたグリッド取引EAの構築

MQL5での取引戦略の自動化(第7回):動的ロットスケーリングを備えたグリッド取引EAの構築

この記事では、動的なロットスケーリングを採用したMQL5のグリッドトレーディングエキスパートアドバイザー(EA)を構築します。戦略の設計、コードの実装、バックテストのプロセスについて詳しく解説します。最後に、自動売買システムを最適化するための重要な知見とベストプラクティスを共有します。
preview
MQL5入門(第14回):初心者のためのカスタムインジケーター作成ガイド(III)

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

MQL5でチャートオブジェクトを使ってハーモニックパターンインジケーターを構築する方法を学びましょう。スイングポイントの検出、フィボナッチリトレースメントの適用、そしてパターン認識の自動化について解説します。
preview
多層パーセプトロンとバックプロパゲーションアルゴリズム(その3):ストラテジーテスターとの統合 - 概要(I)

多層パーセプトロンとバックプロパゲーションアルゴリズム(その3):ストラテジーテスターとの統合 - 概要(I)

多層パーセプトロンは、非線形分離可能な問題を解くことができる単純なパーセプトロンを進化させたものです。バックプロパゲーションアルゴリズムと組み合わせることで、このニューラルネットワークを効果的に学習させることができます。多層パーセプトロンとバックプロパゲーション連載第3回では、このテクニックをストラテジーテスターに統合する方法を見ていきます。この統合により、取引戦略を最適化するためのより良い意思決定を目的とした複雑なデータ分析が可能になります。この記事では、このテクニックの利点と問題点について説明します。
preview
知っておくべきMQL5ウィザードのテクニック(第02回):コホネンマップ

知っておくべきMQL5ウィザードのテクニック(第02回):コホネンマップ

この連載では、MQL5ウィザードがトレーダーの主力であるべきことを示します。なぜでしょうか。MQL5ウィザードを使用すれば、新しいアイデアを組み立てることで時間を節約できるだけでなく、コーディングの重複によるミスを大幅に減らすことができるため、最終的に、取引の哲学のいくつかの重要な分野にエネルギーを注ぐことができるからです。
DoEasy - コントロール(第32部):水平スクロールバー、マウスホイールスクロール
DoEasy - コントロール(第32部):水平スクロールバー、マウスホイールスクロール

DoEasy - コントロール(第32部):水平スクロールバー、マウスホイールスクロール

この記事では、水平スクロールバーオブジェクト機能の開発を完成します。また、スクロールバーのスライダーを動かしたり、マウスホイールを回転させたりしてコンテナの内容をスクロールできるようにするほか、MQL5の新しい注文実行ポリシーや新しいランタイムエラーコードを考慮したライブラリへの追加もおこないます。
preview
データサイエンスと機械学習(第21回):ニューラルネットワークと最適化アルゴリズムの解明

データサイエンスと機械学習(第21回):ニューラルネットワークと最適化アルゴリズムの解明

ニューラルネットワーク内部で使用される最適化アルゴリズムを解明しながら、ニューラルネットワークの核心に飛び込みます。この記事では、ニューラルネットワークの可能性を最大限に引き出し、モデルを精度と効率の新たな高みへと押し上げる重要なテクニックご紹介します。
preview
因果推論における時系列クラスタリング

因果推論における時系列クラスタリング

機械学習におけるクラスタリングアルゴリズムは、元データを類似した観察結果を持つグループに分けることができる重要な教師なし学習法です。これらのクラスタを用いることで、特定の市場クラスタを分析したり、新しいデータを基に最も安定したクラスタを探索したり、因果関係を推定したりすることが可能です。本稿では、Pythonによる時系列クラスタリングのための独自の手法を提案します。
preview
母集団最適化アルゴリズム:等方的焼きなまし(Simulated Isotropic Annealing、SIA)アルゴリズム(第2部)

母集団最適化アルゴリズム:等方的焼きなまし(Simulated Isotropic Annealing、SIA)アルゴリズム(第2部)

第1部では、よく知られた一般的なアルゴリズムである焼きなまし法について説明しました。その長所と短所を徹底的に検討しました。第2部では、アルゴリズムを抜本的に改良し、新たな最適化アルゴリズムである等方的焼きなまし(Simulated Isotropic Annealing、SIA)法を紹介します。
preview
MQL5での取引戦略の自動化(第8回):バタフライハーモニックパターンを用いたエキスパートアドバイザーの構築

MQL5での取引戦略の自動化(第8回):バタフライハーモニックパターンを用いたエキスパートアドバイザーの構築

この記事では、バタフライハーモニックパターンを検出するためのMQL5エキスパートアドバイザー(EA)を構築します。ピボットポイントを特定し、フィボナッチレベルを検証してパターンを確認します。次に、チャート上にパターンを可視化し、確認された際には自動的に取引を実行します。
preview
ラリー・ウィリアムズの『市場の秘密』(第5回):MQL5におけるボラティリティブレイクアウト戦略の自動化

ラリー・ウィリアムズの『市場の秘密』(第5回):MQL5におけるボラティリティブレイクアウト戦略の自動化

ラリー・ウィリアムズのボラティリティブレイクアウト戦略をMQL5で自動化する方法を、実践的なステップで解説します。日次のレンジ拡張の計算方法、買いと売りレベルの導出、値幅に基づくストップロスとリスクリワードに基づく利益目標によるリスク管理、そしてMetaTrader 5で動作するプロフェッショナルなエキスパートアドバイザー(EA)の構造まで学ぶことができます。これは、ラリー・ウィリアムズの市場概念を完全にテスト可能かつ実運用できる自動売買システムへと変換したいトレーダーや開発者向けに設計されています。
preview
古典的な戦略を再構築する(第12回):EURUSDブレイクアウト戦略

古典的な戦略を再構築する(第12回):EURUSDブレイクアウト戦略

MQL5で収益性の高いブレイクアウト取引戦略を構築する挑戦に、ぜひご参加ください。EURUSDペアを選択し、時間枠で価格ブレイクアウトを取引しましたが、私たちのシステムでは偽のブレイクアウトと真のトレンドの始まりを区別するのが難しかったです。そこで、損失を最小限に抑えながら利益を増やすことを目的としたフィルターをシステムに組み込みました。最終的にはシステムを収益性の高いものにし、誤ったブレイクアウトに対する耐性を高めることに成功しました。
preview
DoEasyライブラリの時系列(第58部): 指標バッファデータの時系列

DoEasyライブラリの時系列(第58部): 指標バッファデータの時系列

時系列の操作に関するトピックのしめくくりとして、指標バッファに格納されているストレージ、検索、およびデータの並べ替えを整理します。これにより、プログラムでライブラリベースで作成される指標の値に基づいて分析をさらに実行できます。ライブラリのすべてのコレクションクラスの一般的な概念により、対応するコレクションで必要なデータを簡単に見つけることができます。それぞれ、今日作成されたクラスでも同じことが可能です。
preview
周波数領域でのフィルタリングと特徴抽出

周波数領域でのフィルタリングと特徴抽出

この記事では、予測モデルに有用な独自の特徴を抽出するために周波数領域で表現された時系列にデジタルフィルタを適用する方法を探ります。
DoEasyライブラリでの価格(第60部): 銘柄ティックデータのシリーズリスト
DoEasyライブラリでの価格(第60部): 銘柄ティックデータのシリーズリスト

DoEasyライブラリでの価格(第60部): 銘柄ティックデータのシリーズリスト

本稿では、単一銘柄のティックデータを格納するためのリストを作成し、EAでの必要なデータの作成と取得を確認します。さらに、使用される銘柄ごとの個別のティックデータリストでティックデータのコレクションを構成します。
preview
リプレイシステムの開発—市場シミュレーション(第2回):最初の実験(II)

リプレイシステムの開発—市場シミュレーション(第2回):最初の実験(II)

今回は、1分という目標を達成するために、別の方法を試してみましょう。ただし、このタスクは思っているほど単純ではありません。
preview
ニューラルネットワークが簡単に(第44回):ダイナミクスを意識したスキルの習得

ニューラルネットワークが簡単に(第44回):ダイナミクスを意識したスキルの習得

前回は、様々なスキルを学習するアルゴリズムを提供するDIAYN法を紹介しました。習得したスキルはさまざまな仕事に活用できます。しかし、そのようなスキルは予測不可能なこともあり、使いこなすのは難しくなります。この記事では、予測可能なスキルを学習するアルゴリズムについて見ていきます。
preview
取引履歴を気にせずにチャート上で直接取引を表示する方法

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

この記事では、キーナビゲーションを使用してチャート上でポジションと取引を直接便利に表示するためのシンプルなツールを作成します。トレーダーは個々の取引を視覚的に調べ、取引結果に関するすべての情報をその場で受け取ることができるようになります。
preview
多通貨エキスパートアドバイザーの開発(第20回):自動プロジェクト最適化段階のコンベアの配置(I)

多通貨エキスパートアドバイザーの開発(第20回):自動プロジェクト最適化段階のコンベアの配置(I)

私たちはすでに、自動最適化を支援するいくつかのコンポーネントを作成しています。作成の過程では、最小限の動作するコードを作るところからリファクタリングを経て、改善されたコードを得るという従来の循環的な構造に従いました。そろそろ、私たちが作成しているシステムの重要なコンポーネントでもあるデータベースの整理を始める時期です。
preview
MQL5取引ツール(第15回):Canvas/ja/ぼかし効果、影描画、滑らかなマウスホイールスクロール

MQL5取引ツール(第15回):Canvas/ja/ぼかし効果、影描画、滑らかなマウスホイールスクロール

MQL5 Canvasダッシュボードを高度な視覚効果で強化します。具体的には、フォグオーバーレイ/ja/ため/ja/ぼかしグラデーション、ヘッダー/ja/影描画、そしてより滑らかな線や曲線を実現するアンチエイリアス描画を追加します。また、チャート/ja/ズームスケールに干渉しない滑らかなマウスホイールスクロールもテキストパネルに実装し、機能面でも改良を加えます。
preview
MQL5の圏論(第3回)

MQL5の圏論(第3回)

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

初級から中級へ:FOR文

この記事では、FOR文の最も基本的な概念について解説します。ここで紹介する内容をしっかり理解することは非常に重要です。他の制御文と異なり、FOR文にはいくつか特有の癖があり、それが原因で複雑になりやすい側面があります。ですので、理解が追いつかないまま放置せず、できるだけ早い段階から学習と実践を始めるようにしましょう。。
preview
リプレイシステムの開発—市場シミュレーション(第5回):プレビューの追加

リプレイシステムの開発—市場シミュレーション(第5回):プレビューの追加

現実的で利用しやすい方法で市場リプレイシステムを実装する方法を開発することができたので、プロジェクトを続けて、リプレイの動作を改善するためのデータを追加してみましょう。