MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ(第6回)

MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ(第6回)

この記事は、MQTT 5.0プロトコル用のネイティブMQL5クライアントの開発ステップを説明する連載の第6部です。今回は、私たちの最初のリファクタリングにおける主な変更点、私たちがどのようにしてパケット構築クラスのための実行可能な設計図にたどり着いたか、どのようにPUBLISHとPUBACKパケットを構築しているか、そしてPUBACK Reason Codeの背後にあるセマンティクスについてコメントします。
preview
初級から中級まで:オーバーロード

初級から中級まで:オーバーロード

おそらく、この記事は初心者プログラマーにとって最も混乱を招くものになるでしょう。実際のところ、ここでは、同じコード内で必ずしもすべての関数や手続きが一意の名前を持つとは限らないことを示します。同じ名前の関数や手続きを使うことができるのです。これをオーバーロードと呼びます。
preview
MQL5での暗号化の探索:ステップごとのアプローチ

MQL5での暗号化の探索:ステップごとのアプローチ

この記事では、MQL5内での暗号化の統合について探り、取引アルゴリズムのセキュリティと機能を強化する方法を紹介します。主要な暗号化手法と、それらを自動取引に実際に実装する方法について説明します。
preview
人工蜂の巣アルゴリズム(ABHA):テストと結果

人工蜂の巣アルゴリズム(ABHA):テストと結果

この記事では、人工蜂の巣アルゴリズム(ABHA)の探索を続け、コードの詳細を掘り下げるとともに、残りのメソッドについて考察します。ご存じのとおり、このモデルにおける各蜂は個別のエージェントとして表現されており、その行動は内部情報、外部情報、および動機付けの状態に依存します。さまざまな関数を用いてアルゴリズムをテストし、その結果を評価表としてまとめて提示します。
preview
汎用MLP近似器に基づくエキスパートアドバイザー

汎用MLP近似器に基づくエキスパートアドバイザー

この記事では、機械学習の深い知識がなくても利用できる、取引EAでのニューラルネットワークの簡単でアクセスしやすい使用方法を紹介しています。この方法では、目的関数の正規化を省略できるほか、「重みの爆発」や「収束停止」といった問題を解消し、直感的な学習と結果の視覚的な管理を可能にしています。
preview
リプレイシステムの開発(第51回):物事は複雑になる(III)

リプレイシステムの開発(第51回):物事は複雑になる(III)

この記事では、MQL5プログラミングの分野で最も難解な問題の1つである、チャートIDを正しく取得する方法と、オブジェクトがチャートにプロットされない場合がある理由について解説します。ここで提供される資料は教育目的のみに使用されるべきです。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
preview
ニューラルネットワークが簡単に(第51回):Behavior-Guided Actor-Critic (BAC)

ニューラルネットワークが簡単に(第51回):Behavior-Guided Actor-Critic (BAC)

最後の2つの記事では、エントロピー正則化を報酬関数に組み込んだSoft Actor-Criticアルゴリズムについて検討しました。このアプローチは環境探索とモデル活用のバランスをとりますが、適用できるのは確率モデルのみです。今回の記事では、確率モデルと確定モデルの両方に適用できる代替アプローチを提案します。
preview
人工蜂の巣アルゴリズム(ABHA):理論と方法

人工蜂の巣アルゴリズム(ABHA):理論と方法

この記事では、2009年に開発された人工蜂の巣アルゴリズム(ABHA)について説明します。このアルゴリズムは、連続的な最適化問題を解決することを目的としています。この記事では、蜂がそれぞれの役割を担って効率的に資源を見つける蜂のコロニーの行動から、ABHAがどのようにインスピレーションを得ているかを探ります。
preview
MQL5-Telegram統合エキスパートアドバイザーの作成(第6回):レスポンシブなインラインボタンの追加

MQL5-Telegram統合エキスパートアドバイザーの作成(第6回):レスポンシブなインラインボタンの追加

この記事では、インタラクティブなインラインボタンをMQL5エキスパートアドバイザー(EA)に統合し、Telegram経由でリアルタイムにコントロールできるようにします。各ボタンを押すたびに特定のアクションがトリガーされ、ユーザーにレスポンスが返されます。また、Telegramメッセージやコールバッククエリを効率的に処理するための関数もモジュール化します。
preview
MQL5で取引管理者パネルを作成する(第9回):コード編成(I)

MQL5で取引管理者パネルを作成する(第9回):コード編成(I)

このディスカッションでは、大規模なコードベースを扱う際に直面する課題について掘り下げます。MQL5におけるコード構成のベストプラクティスを紹介し、取引管理パネルのソースコードの可読性と拡張性を向上させるための実践的なアプローチを実装します。また、他の開発者がアルゴリズム開発で活用できる再利用可能なコードコンポーネントの開発も目指しています。ぜひ最後までお読みいただき、ご意見をお寄せください。
preview
知っておくべきMQL5ウィザードのテクニック(第59回):移動平均とストキャスティクスのパターンを用いた強化学習(DDPG)

知っておくべきMQL5ウィザードのテクニック(第59回):移動平均とストキャスティクスのパターンを用いた強化学習(DDPG)

MAとストキャスティクスを使用したDDPGに関する前回の記事に引き続き、今回は、DDPGの実装に欠かせない他の重要な強化学習クラスを検証していきます。主にPythonでコーディングしていますが、最終的には訓練済みネットワークをONNX形式でエクスポートし、MQL5に組み込んでウィザードで構築したエキスパートアドバイザー(EA)のリソースとして統合します。
preview
MQL5での取引戦略の自動化(第39回):信頼区間とダッシュボードを備えた統計的平均回帰

MQL5での取引戦略の自動化(第39回):信頼区間とダッシュボードを備えた統計的平均回帰

統計的平均回帰取引用のMQL5エキスパートアドバイザー(EA)を開発します。指定期間における平均、分散、歪度、尖度、ジャック=ベラ統計量などのモーメントを算出し、非正規分布を特定するとともに、適応的な閾値を用いた信頼区間に基づいて売買シグナルを生成します。
preview
リプレイシステムの開発(第29回):エキスパートアドバイザープロジェクト - C_Mouseクラス(III)

リプレイシステムの開発(第29回):エキスパートアドバイザープロジェクト - C_Mouseクラス(III)

C_Mouseクラスを改良した後は、分析のためのまったく新しいフレームワークを作るためのクラスを作ることに集中しましょう。この新しいクラスを作るのに、継承やポリモーフィズムは使用しません。その代わりに、価格線に新しいオブジェクトを追加します。それがこの記事でやろうとしていることです。次回は、分析結果を変更する方法について見るつもりです。これらはすべて、C_Mouseクラスのコードを変更することなくおこなわれます。実際には、継承やポリモーフィズムを使用すれば、もっと簡単に実現できるでしょう。しかし、同じ結果を得る方法は他にもあります。
preview
人工電界アルゴリズム(AEFA)

人工電界アルゴリズム(AEFA)

この記事では、クーロンの静電気力の法則に触発された人工電界アルゴリズム(AEFA: Artificial Electric Field Algorithm)を紹介します。このアルゴリズムは、荷電粒子とその相互作用を利用して複雑な最適化問題を解決するために電気現象をシミュレートします。AEFAは、自然法則に基づいた他のアルゴリズムと比較して、独自の特性を示します。
preview
初級から中級へ:変数(II)

初級から中級へ:変数(II)

今日は、static変数の取り扱いについて学びます。このメカニズムを使用する際に守らなければならないいくつかの推奨事項があるため、この問題は初心者やある程度の経験を持つプログラマーにとってしばしば混乱を招きます。ここで提示される資料は教育目的のみに使用されます。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
preview
知っておくべきMQL5ウィザードのテクニック(第43回):SARSAによる強化学習

知っておくべきMQL5ウィザードのテクニック(第43回):SARSAによる強化学習

SARSAは、State-Action-Reward-State-Actionの略で、強化学習を実装する際に使用できる別のアルゴリズムです。Q学習とDQNで見たように、ウィザードで組み立てられたエキスパートアドバイザー(EA)の中で、これを単なる訓練メカニズムとしてではなく、独立したモデルとしてどのように実装できるかを検討します。
preview
MQL5で取引管理者パネルを作成する(第10回):外部リソースベースのインターフェイス

MQL5で取引管理者パネルを作成する(第10回):外部リソースベースのインターフェイス

本日は、MQL5の機能を活用して、BMP形式の画像などの外部リソースを利用し、トレーディング管理パネル用に独自のスタイルを持ったホームインターフェイスを作成します。ここで紹介する手法は、画像やサウンドなど複数のリソースを一括でパッケージ化して配布する際に特に有効です。このディスカッションでは、こうした機能をどのように実装し、New_Admin_Panel EAにおいてモダンで視覚的に魅力的なインターフェイスを提供するかを一緒に見ていきましょう。
preview
リプレイシステムの開発(第30回):エキスパートアドバイザープロジェクト - C_Mouseクラス(IV)

リプレイシステムの開発(第30回):エキスパートアドバイザープロジェクト - C_Mouseクラス(IV)

今日は、プログラマーとしての職業生活のさまざまな段階で非常に役立つテクニックを学びます。多くの場合、制限されているのはプラットフォーム自体ではなく、制限について話す人の知識です。この記事では、常識と創造性があれば、クレイジーなプログラムなどを作成することなく、MetaTrader 5 プラットフォームをより面白くて多用途にし、シンプルでありながら安全で信頼性の高いコードを作成できることを説明します。創造力を駆使して、ソース コードを1行も削除したり追加したりすることなく、既存のコードを変更します。
preview
PythonとMQL5による多銘柄分析(前編):NASDAQ集積回路メーカー

PythonとMQL5による多銘柄分析(前編):NASDAQ集積回路メーカー

ポートフォリオのリターンを最大化するために、AIを活用してポジションサイジングと注文数量を最適化する方法について解説します。本稿では、アルゴリズムを用いて最適なポートフォリオを特定し、期待リターンやリスク許容度に応じてポートフォリオを調整する手法を紹介します。このプロセスでは、SciPyライブラリやMQL5言語を活用し、保有中のすべてのデータを基に、最適かつ分散化されたポートフォリオを構築します。
preview
MQL5でSHA-256暗号化アルゴリズムをゼロから実装する

MQL5でSHA-256暗号化アルゴリズムをゼロから実装する

これまで、DLLを使用せずに暗号通貨取引所との統合を構築することは長らく課題とされてきました。しかし、本ソリューションは、市場へ直接接続するための包括的なフレームワークを提供します。
preview
プライスアクション分析ツールキットの開発(第49回):トレンド系、モメンタム系、ボラティリティ系インジケーターを1つのMQL5システムに統合する

プライスアクション分析ツールキットの開発(第49回):トレンド系、モメンタム系、ボラティリティ系インジケーターを1つのMQL5システムに統合する

Multi Indicator Handler EAでMetaTrader 5のチャートをシンプルにしましょう。このインタラクティブなダッシュボードは、トレンド系、モメンタム系、ボラティリティ系インジケーターを1つのリアルタイムパネルに統合します。用途に応じてプロファイルを瞬時に切り替え、ワンクリックで表示と非表示を切り替えてチャートを整理し、プライスアクションに集中できます。本記事では、これをMQL5で自作してカスタマイズする手順をステップバイステップで解説します。
preview
リプレイシステムの開発(第33回):発注システム(II)

リプレイシステムの開発(第33回):発注システム(II)

今日も発注システムの開発を続けます。ご覧のように、他の記事ですでに紹介したものを大量に再利用することになります。とはいえ、この記事にはささやかなご褒美があります。まず、デモ口座からでもリアル口座からでも、取引サーバーで使えるシステムを開発します。MetaTrader 5プラットフォームを幅広く活用し、当初から必要なサポートをすべて提供します。
preview
知っておくべきMQL5ウィザードのテクニック(第22回):条件付きGAN

知っておくべきMQL5ウィザードのテクニック(第22回):条件付きGAN

敵対的生成ネットワーク(GAN: Generative Adversarial Network)は、より正確な結果を得るために、互いに訓練し合うニューラルネットワークのペアです。ExpertSignalクラスにおける金融時系列の予測への応用の可能性を考慮し、これらのネットワークの条件型を採用します。
preview
段階的特徴量選択の基準としての相互情報量

段階的特徴量選択の基準としての相互情報量

この記事では、最適な予測変数セットと目的変数との相互情報量に基づく段階的特徴量選択のMQL5実装を紹介します。
preview
MQL5での取引戦略の自動化(第27回):視覚的なフィードバックによるプライスアクションクラブハーモニックパターンの作成

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

本記事では、MQL5で弱気、強気両方のクラブ(Crab)ハーモニックパターンを、ピボットポイントとフィボナッチ比率を用いて識別し、正確なエントリー、ストップロス、テイクプロフィットレベルを使用して取引を自動化するクラブパターンシステムを開発します。また、XABCDパターン構造やエントリーレベルを表示するために、三角形やトレンドラインなどのチャートオブジェクトを使った視覚的な表示機能を追加します。
preview
知っておくべきMQL5ウィザードのテクニック(第29回):MLPの学習率についての続き

知っておくべきMQL5ウィザードのテクニック(第29回):MLPの学習率についての続き

エキスパートアドバイザー(EA)のパフォーマンスに対する学習率の感度を、主に適応学習率を調べることでまとめます。これらの学習率は、訓練の過程で層の各パラメータごとにカスタマイズすることを目的としており、潜在的な利点と期待されるパフォーマンスの差を評価します。
preview
MQL5で古典的な戦略を再構築する(後編):FTSE100と英国債

MQL5で古典的な戦略を再構築する(後編):FTSE100と英国債

この連載では、人気のある取引戦略を探り、AIを使ってその改善を試みます。今日の記事では、株式市場と債券市場の関係に基づく古典的な取引戦略を再考します。
preview
算術最適化アルゴリズム(AOA):AOAからSOA(シンプル最適化アルゴリズム)へ

算術最適化アルゴリズム(AOA):AOAからSOA(シンプル最適化アルゴリズム)へ

本稿では、加算、減算、乗算、除算といった単純な算術演算に基づく算術最適化アルゴリズム(AOA: Arithmetic Optimization Algorithm)を紹介します。これらの基本的な数学的操作が、さまざまな問題の最適解を見つけるための基盤となります。
preview
株式市場における非線形回帰モデル

株式市場における非線形回帰モデル

株式市場における非線形回帰モデル:金融市場は予測できるのかEURUSDの価格を予測するモデルを作成し、それに基づいて2つのロボット(Python版とMQL5版)を作ることを考えてみましょう。
preview
知っておくべきMQL5ウィザードのテクニック(第52回):ACオシレーター

知っておくべきMQL5ウィザードのテクニック(第52回):ACオシレーター

ACオシレーター(アクセラレーターオシレーター、Accelerator Oscillator)は、価格のモメンタムの「速度」だけでなく、その「加速」を追跡する、ビル・ウィリアムズによって開発されたインジケーターの一つです。最近の記事で取り上げたオーサムオシレーター(AO)と非常によく似ていますが、単なるスピードではなく加速に重点を置くことで、遅延の影響を回避しようとしています。本記事では、毎回のようにこのオシレーターからどのようなパターンが得られるかを分析し、ウィザード形式で構築されたエキスパートアドバイザー(EA)を通じて、それらが実際の取引においてどのような意味を持ち得るかを検証します。
preview
アンサンブル学習におけるゲーティングメカニズム

アンサンブル学習におけるゲーティングメカニズム

この記事では、アンサンブルモデルの検討をさらに進め、「ゲート」という概念に注目し、モデル出力を組み合わせることで予測精度や汎化性能の向上にどのように役立つかを解説します。
preview
プライスアクション分析ツールキットの開発(第46回):MQL5におけるスマートな可視化を備えたインタラクティブフィボナッチリトレースメントEAの設計

プライスアクション分析ツールキットの開発(第46回):MQL5におけるスマートな可視化を備えたインタラクティブフィボナッチリトレースメントEAの設計

フィボナッチツールは、テクニカル分析で最も人気のあるツールのひとつです。本記事では、価格の動きに応じて動的に反応するリトレースメントおよびエクステンションレベルを描画し、リアルタイムアラート、スタイリッシュなライン、ニュース風のスクロールヘッドラインを提供するインタラクティブフィボナッチEAの作成方法をご紹介します。このEAのもうひとつの大きな利点は柔軟性です。チャート上で高値(A)と安値(B)のスイング値を直接入力できるため、分析したい価格範囲を正確にコントロールできます。
preview
取引におけるニューラルネットワーク:時空間ニューラルネットワーク(STNN)

取引におけるニューラルネットワーク:時空間ニューラルネットワーク(STNN)

この記事では、時空間変換を活用し、今後の価格変動を効果的に予測する手法について解説します。STNNの数値予測精度を向上させるために、データの重要な側面をより適切に考慮できる連続アテンションメカニズムが提案されています。
preview
集団型ADAM(適応モーメント推定法)

集団型ADAM(適応モーメント推定法)

この記事では、よく知られていて人気のあるADAM勾配最適化手法を集団アルゴリズムに変換し、さらにハイブリッド個体を導入して修正した方法を紹介しています。この新しいアプローチでは、確率分布を使って成功した判断の要素を組み合わせたエージェントを作ることができます。大きな革新点は、有望な解からの情報を適応的に蓄積するハイブリッド集団個体を形成することであり、それによって複雑な多次元空間での探索効率が高まります。
preview
取引におけるニューラルネットワーク:ウェーブレット変換とマルチタスクアテンションを用いたモデル

取引におけるニューラルネットワーク:ウェーブレット変換とマルチタスクアテンションを用いたモデル

ウェーブレット変換とマルチタスク自己アテンション(Self-Attention)モデルを組み合わせたフレームワークを紹介します。本フレームワークは、ボラティリティの高い市場環境における予測の応答性および精度の向上を目的としています。ウェーブレット変換により、資産収益率を高周波成分と低周波成分に分解し、長期的な市場トレンドと短期的な変動の双方を的確に捉えることが可能となります。
preview
取引におけるニューラルネットワーク:階層型ダブルタワーTransformer (Hidformer)

取引におけるニューラルネットワーク:階層型ダブルタワーTransformer (Hidformer)

階層型ダブルタワーTransformer (Hidformer: Hierarchical Double-Tower Transformer)フレームワークについて紹介します。このフレームワークは時系列予測およびデータ分析向けに開発されました。Hidformerの開発者は、Transformerアーキテクチャに対して複数の改良を提案しており、その結果、予測精度の向上と計算リソースの削減を実現しています。
preview
初心者からエキスパートへ:MQL5を使用したバックエンド操作モニター

初心者からエキスパートへ:MQL5を使用したバックエンド操作モニター

取引システムの内部動作を意識せずに、既製のソリューションをそのまま利用することは一見すると安心に思えますが、開発者にとっては必ずしもそうとは限りません。いずれアップデートや動作不良、あるいは予期しないエラーが発生し、その原因がどこにあるのかを正確に突き止め、迅速に診断して解決する必要に迫られます。本記事では、取引用エキスパートアドバイザー(EA)の裏側で通常どのような操作がおこなわれているのかを明らかにするとともに、MQL5を用いてバックエンド操作を表示し、記録するための専用カスタムクラスを開発します。これにより、開発者およびトレーダーの双方が、エラーの特定、挙動の監視、EAごとの診断情報に迅速にアクセスできるようになります。
preview
リプレイシステムの開発(第73回):異例のコミュニケーション(II)

リプレイシステムの開発(第73回):異例のコミュニケーション(II)

この記事では、インジケーターとサービス間でリアルタイムに情報を伝達する方法について解説し、また時間軸を変更した際に発生しうる問題の原因とその解決方法について理解を深めます。おまけとして、最新バージョンのリプレイ/シミュレーションアプリへのアクセスも提供します。
preview
取引におけるナッシュ均衡ゲーム理論のHMMフィルタリングの応用

取引におけるナッシュ均衡ゲーム理論のHMMフィルタリングの応用

この記事では、ジョン・ナッシュのゲーム理論、特にナッシュ均衡の取引への応用について詳しく掘り下げます。トレーダーがPythonスクリプトとMetaTrader 5を活用し、ナッシュの原理を利用して市場の非効率性を特定し、活用する方法について解説します。また、この記事では、隠れマルコフモデル(HMM)や統計分析の利用を含むこれらの戦略を実行するためのステップバイステップのガイドを提供し、取引パフォーマンスの向上を目指します。
preview
取引におけるニューラルネットワーク:点群解析(PointNet)

取引におけるニューラルネットワーク:点群解析(PointNet)

直接的な点群解析は、不要なデータの増加を避け、分類やセグメンテーションタスクにおけるモデルの性能を向上させます。このような手法は、元データの摂動に対して高い性能と堅牢性を示します。