MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
MQL5で古典的な戦略を再構築する(第3回):FTSE100予想

MQL5で古典的な戦略を再構築する(第3回):FTSE100予想

この連載では、よく知られた取引戦略を再検討し、AIを使って改善できるかどうかを検証します。本日の記事では、FTSE100について調べ、指数を構成する個別銘柄の一部を使って指数の予測を試みます。
preview
多通貨エキスパートアドバイザーの開発(第19回):Pythonで実装されたステージの作成

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

これまでは、標準のストラテジーテスター内で最適化タスクを順に自動実行することだけを考えてきました。しかし、もしそれらの実行の合間に、別の手段で得られたデータを処理したいとしたらどうなるでしょうか。ここでは、Pythonで記述されたプログラムによって新たな最適化ステージを作成する機能の追加を試みます。
preview
ニューラルネットワークが簡単に(第55回):対照的内発制御(Contrastive intrinsic control、CIC)

ニューラルネットワークが簡単に(第55回):対照的内発制御(Contrastive intrinsic control、CIC)

対照訓練は、教師なしで表現を訓練する方法です。その目標は、データセットの類似点と相違点を強調するためにモデルを訓練することです。この記事では、対照訓練アプローチを使用してさまざまなActorスキルを探究する方法について説明します。
preview
MQL5における数値予測を強化するアンサンブル法

MQL5における数値予測を強化するアンサンブル法

この記事では、MQL5における複数のアンサンブル学習手法の実装を紹介し、それらの手法がさまざまな状況下でどの程度有効かを検証します。
preview
知っておくべきMQL5ウィザードのテクニック(第03回):シャノンのエントロピー

知っておくべきMQL5ウィザードのテクニック(第03回):シャノンのエントロピー

今日のトレーダーは哲学者であり、ほとんどの場合、新しいアイデアを探し、試し、変更するか破棄するかを選択します。これは、かなりの労力を要する探索的プロセスです。この連載では、MQL5ウィザードがトレーダーの主力であるべきであることを示します。
preview
DoEasy - コントロール(第30部):ScrollBarコントロールのアニメーション化

DoEasy - コントロール(第30部):ScrollBarコントロールのアニメーション化

今回は、ScrollBarコントロールの開発の続きと、マウスインタラクション機能の実装を開始します。さらに、マウスの状態フラグやイベントのリストも充実させる予定です。
preview
Rest APIを統合したMQL5強化学習エージェントの開発(第4回):MQL5でクラス内の関数を整理する

Rest APIを統合したMQL5強化学習エージェントの開発(第4回):MQL5でクラス内の関数を整理する

この記事では、MQL5における手続き型コーディングからオブジェクト指向プログラミング(OOP)への移行について、REST APIとの統合を中心に説明します。今日は、HTTPリクエスト関数(GETとPOST)をクラスにまとめる方法について説明します。コードのリファクタリングについて詳しく見ていき、孤立した関数をクラスメソッドに置き換える方法を紹介します。記事には実践的な例とテストが含まれています。
preview
取引量による取引の洞察:OHLCチャートを超えて

取引量による取引の洞察:OHLCチャートを超えて

取引量分析と機械学習技術、特にLSTMニューラルネットワークを組み合わせたアルゴリズム取引システムです。価格変動を中心に据えた従来の取引アプローチとは異なり、このシステムは市場の動きを予測するために取引量パターンとその導関数を重視します。この方法論には、取引量導関数分析(一次導関数および二次導関数)、取引量パターンのLSTM予測、および従来のテクニカル指標という3つの主要コンポーネントが組み込まれています。
preview
ニューラルネットワークが簡単に(第95回):Transformerモデルにおけるメモリ消費の削減

ニューラルネットワークが簡単に(第95回):Transformerモデルにおけるメモリ消費の削減

Transformerアーキテクチャに基づくモデルは高い効率を示しますが、その使用は、訓練段階と運転中の両方で高いリソースコストによって複雑になります。この記事では、このようなモデルのメモリ使用量を削減するアルゴリズムを紹介します。
preview
プライスアクション分析ツールキットの開発(第2回): Analytical Commentスクリプト

プライスアクション分析ツールキットの開発(第2回): Analytical Commentスクリプト

プライスアクションを簡素化するというビジョンに沿って、市場分析を大幅に強化し、十分な情報に基づいた意思決定を支援する新しいツールを導入できることを嬉しく思います。このツールは、前日の価格、重要な支持と抵抗のレベル、取引量などの主要なテクニカル指標を表示し、チャート上に視覚的なヒントを自動的に生成します。
preview
MQL5取引ツールキット(第4回):履歴管理EX5ライブラリの開発

MQL5取引ツールキット(第4回):履歴管理EX5ライブラリの開発

詳細なステップバイステップのアプローチで拡張履歴管理EX5ライブラリを作成し、MQL5を使用してクローズされたポジション、注文、取引履歴を取得、処理、分類、並べ替え、分析、管理する方法を学びます。
preview
ニューラルネットワークが簡単に(第71回):目標条件付き予測符号化(GCPC)

ニューラルネットワークが簡単に(第71回):目標条件付き予測符号化(GCPC)

前回の記事では、Decision Transformer法と、そこから派生したいくつかのアルゴリズムについて説明しました。さまざまな目標設定手法で実験しました。実験では、さまざまな方法で目標を設定しましたが、それ以前に通過した軌跡に関するモデルの研究は、常に私たちの関心の外にありました。この記事では、このギャップを埋める手法を紹介したいと思います。
preview
DoEasy - サービス関数(第1回):価格パターン

DoEasy - サービス関数(第1回):価格パターン

この記事では、時系列データを使用して価格パターンを検索するメソッドの開発に着手します。パターンには、どのようなタイプのパターンにも共通する、一定のパラメータセットがあります。この種のデータはすべて、基となる抽象パターンのオブジェクトクラスに集約されます。今回は、抽象パターンクラスとピンバーパターンクラスを作成します。
preview
MQL5における取引戦略の自動化(第45回):逆フェアバリューギャップ(IFVG)

MQL5における取引戦略の自動化(第45回):逆フェアバリューギャップ(IFVG)

本記事では、MQL5において逆フェアバリューギャップ(IFVG, Inverse Fair Value Gap)検出システムを構築します。このシステムは、直近のバーにおける強気/弱気のFVG(フェアバリューギャップ)を最小ギャップサイズフィルターを適用して識別し、価格との相互作用に基づき、その状態をnormal(通常)、mitigated(解消)、inverted(反転)として追跡します(遠側ブレイクによるミティゲーション、再エントリー時のリトレース(押し戻し)、内側から遠側をブレイクしてクローズすることによるインバージョンを含みます)。また、重複は無視し、追跡するFVGの数を制限します。
preview
ニューラルネットワークが簡単に(第59回):コントロールの二分法(DoC)

ニューラルネットワークが簡単に(第59回):コントロールの二分法(DoC)

前回の記事では、Decision Transformerを紹介しました。しかし、外国為替市場の複雑な確率的環境は、提示した手法の可能性を完全に実現することを許しませんでした。今回は、確率的環境におけるアルゴリズムの性能向上を目的としたアルゴリズムを紹介します。
preview
複数の商品を同時に取引する際のリスクバランス

複数の商品を同時に取引する際のリスクバランス

この記事では、初心者が複数の商品を同時に取引する際のリスクバランスを取るためのスクリプトの実装をゼロから書けるようにします。また、経験豊富なユーザーは、この記事で提案されたオプションに関連して、ソリューションを実行するための新しいアイデアが得られるかもしれません。
preview
Connexusヘルパー(第5回):HTTPメソッドとステータスコード

Connexusヘルパー(第5回):HTTPメソッドとステータスコード

この記事では、Web上でクライアントとサーバー間の重要な通信手段であるHTTPメソッドとステータスコードについて理解します。各メソッドの役割を理解することで、リクエストをより正確に制御できるようになり、サーバーに対して実行したいアクションを明確に伝えることができます。これにより、通信の効率が向上します。
preview
MQL5で取引管理者パネルを作成する(第9回):コード編成(IV):取引管理パネルクラス

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

このディスカッションでは、New_Admin_Panel EAにおけるTradeManagementPanelの最新版について解説します。このアップデートでは、組み込みクラスを活用することで、ユーザーフレンドリーな取引管理インターフェイスを提供するようにパネルが強化されました。パネルには、新規ポジションのオープン用取引ボタンや、既存のポジションおよび指値注文の管理用コントロールが含まれています。特に注目すべき機能は、インターフェイス上から直接ストップロス(SL)やテイクプロフィット(TP)を設定できるリスク管理機能が統合された点です。このアップデートにより、大規模なプログラムにおけるコードの整理が改善され、端末上では複雑になりがちな注文管理ツールへのアクセスが簡素化されました。
preview
リプレイシステムの開発(第68回):正しい時間を知る(I)

リプレイシステムの開発(第68回):正しい時間を知る(I)

今日は、流動性が低い時間帯に、マウスポインタを使ってバーの残り時間を確認できるようにする作業を引き続き進めていきます。一見すると簡単そうに思えますが、実際にはこの作業には多くの困難が伴います。いくつかの障害を乗り越える必要があるため、このサブシリーズの最初のパートをしっかりと理解しておくことが、今後の内容を理解する上で非常に重要です。
preview
MQL5で取引管理者パネルを作成する(第4回):ログインセキュリティ層

MQL5で取引管理者パネルを作成する(第4回):ログインセキュリティ層

悪意のある人物が取引管理者室に侵入し、世界中の何百万ものトレーダーに貴重な洞察を伝えるために使用されるコンピューターと管理パネルにアクセスしたと想像してください。このような侵入は、誤解を招くメッセージの不正送信や、意図しないアクションをトリガーするボタンのランダムクリックなど、悲惨な結果につながる可能性があります。このディスカッションでは、MQL5のセキュリティ対策と、これらの脅威から保護するために管理パネルに実装した新しいセキュリティ機能について説明します。セキュリティプロトコルを強化することで、通信チャネルを保護し、グローバルな取引コミュニティの信頼を維持することを目指しています。この記事のディスカッションでさらに詳しい情報を見つけてください。
preview
プライスアクション分析ツールキットの開発(第53回):サポート・レジスタンスゾーン発見のためのPattern Density Heatmap

プライスアクション分析ツールキットの開発(第53回):サポート・レジスタンスゾーン発見のためのPattern Density Heatmap

本記事では、パターン密度ヒートマップ(Pattern Density Heatmap)を紹介します。これは、繰り返し出現するローソク足パターンの検出結果を、統計的に有意なサポート・レジスタンスゾーンに変換するプライスアクションマッピングツールです。単一のシグナルを個別に扱うのではなく、EAは検出結果を固定価格レンジに集約し、密度をスコア化(必要に応じて直近の重み付けも可能)し、高い時間軸のデータと照合してレベルを確認します。その結果として得られるヒートマップは、市場が過去にどの価格レベルで反応したかを可視化し、売買のタイミング、リスク管理、戦略への信頼性向上に活用できます。あらゆる取引スタイルに対応可能です。
preview
MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ(最終回)

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

この記事は、MQTT 5.0プロトコルのネイティブMQL5クライアントの開発ステップを説明する連載の最終回です。ライブラリはまだ製品化されていませんが、この部分では、他の証券会社から入手したティック(またはレート)でカスタム銘柄を更新するためにクライアントを使用します。ライブラリの現在の状況、MQTT 5.0プロトコルに完全に準拠するために足りないもの、可能なロードマップ、そしてその開発をフォローし貢献する方法についての詳細は、この記事の最後をご覧ください。
preview
知っておくべきMQL5ウィザードのテクニック(第26回):移動平均とハースト指数

知っておくべきMQL5ウィザードのテクニック(第26回):移動平均とハースト指数

ハースト指数は、時系列データが長期間にわたってどれだけ自己相関しているかを示す指標です。ハースト指数は、時系列データの長期的な特性を捉えることがわかっているため、経済や金融に限らず、幅広い時系列分析において重要な役割を果たします。本稿では、ハースト指数を移動平均線と組み合わせることで、トレーダーにとって有用なシグナルをどのように得られるかを検討し、その潜在的なメリットに焦点を当てます。
preview
初級から中級まで:テンプレートとtypename(II)

初級から中級まで:テンプレートとtypename(II)

この記事では、最も難しいプログラミング状況のひとつである、同じ関数または手続きのテンプレート内で異なる型を使用する方法について説明します。これまで私たちは主に関数に焦点を当ててきましたが、ここで扱う内容はすべて手続きにも役立ち、応用可能です。
preview
MQL5での取引戦略の自動化(第9回):アジアブレイクアウト戦略のためのエキスパートアドバイザーの構築

MQL5での取引戦略の自動化(第9回):アジアブレイクアウト戦略のためのエキスパートアドバイザーの構築

この記事では、アジアブレイクアウト戦略のためのエキスパートアドバイザー(EA)をMQL5で構築します。セッション中の高値と安値を計算し、移動平均によるトレンドフィルタリングをおこないます。また、動的なオブジェクトスタイリング、ユーザー定義の時間入力、堅牢なリスク管理も実装します。最後に、プログラムの精度を高めるためのバックテストおよび最適化手法を紹介します。
preview
FX裁定取引:リスク管理を伴う公正価値への回帰を目指す行列取引システム

FX裁定取引:リスク管理を伴う公正価値への回帰を目指す行列取引システム

本記事では、クロスレート計算アルゴリズムの詳細な説明、不均衡マトリクスの可視化、さらに効率的な取引のためのMinDiscrepancyおよびMaxRiskパラメータの最適な設定方法について解説します。本システムは、クロスレートを用いて各通貨ペアの「公正価値」を自動的に算出し、価格が公正価値より低い方向へ乖離した場合には買いシグナルを、高い方向へ乖離した場合には売りシグナルを生成します。
preview
MQL5入門(第18回):ウォルフ波動パターンの基本

MQL5入門(第18回):ウォルフ波動パターンの基本

本記事では、ウォルフ波動(Wolfe Wave)パターンを詳細に解説し、弱気と強気の両方のバリエーションを取り上げます。また、この高度なチャートパターンに基づいて有効な買いと売りのセットアップを特定するためのステップごとのロジックも分解して説明します。
preview
取引におけるカオス理論(第2回):さらなる研究

取引におけるカオス理論(第2回):さらなる研究

金融市場におけるカオス理論の探究を続けます。今回は通貨やその他の資産の分析への適用性について考えます。
preview
機械学習における量子化(第1回):理論、コード例、CatBoostでの実装解析

機械学習における量子化(第1回):理論、コード例、CatBoostでの実装解析

この記事では、ツリーモデルの構築における量子化の理論的な応用を考察し、CatBoostに実装された量子化手法を紹介します。複雑な数式は使用しません。
preview
DoEasy-コントロール(第12部):基本リストオブジェクト、ListBoxおよびButtonListBox WinFormsオブジェクト

DoEasy-コントロール(第12部):基本リストオブジェクト、ListBoxおよびButtonListBox WinFormsオブジェクト

この記事では、WinFormsオブジェクトリストの基本オブジェクトと、2つの新しいオブジェクトを作成します。ListBoxとButtonListBoxです。
preview
MQL5で取引管理者パネルを作成する(第3回):テーマ管理のための組み込みクラスの拡張(II)

MQL5で取引管理者パネルを作成する(第3回):テーマ管理のための組み込みクラスの拡張(II)

このディスカッションでは、既存のダイアログライブラリを慎重に拡張して、テーマ管理ロジックを組み込みます。さらに、管理パネルプロジェクトで使用されるCDialog、CEdit、およびCButtonクラスにテーマ切り替えのメソッドを統合します。さらに洞察力のある視点については、引き続きお読みください。
preview
取引におけるニューラルネットワーク:層状メモリを持つエージェント(最終回)

取引におけるニューラルネットワーク:層状メモリを持つエージェント(最終回)

引き続き、FinMemフレームワークの構築に取り組みます。本フレームワークは、人間の認知プロセスを模した層状メモリアプローチを用いることで、複雑な金融データを効果的に処理できるだけでなく、新しいシグナルに適応することも可能にします。その結果、動的に変化する市場における投資判断の精度と有効性が大幅に向上します。
preview
MQL5入門(第15回):初心者のためのカスタムインジケーター作成ガイド(IV)

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

この記事では、MQL5でプライスアクションインジケーターを構築する方法を学びます。具体的には、トレンド分析において重要なポイントである、安値(L)、高値(H)、安値切り上げ(HL)、高値更新(HH)、安値更新(LL)、高値切り下げ(LH)といった構造の把握に焦点を当てます。また、プレミアムゾーンとディスカウントゾーンの識別、50%リトレースメントレベルの表示、リスクリワード比に基づく利益目標の計算についても解説します。さらに、トレンド構造に基づいてエントリーポイント、ストップロス(SL)、テイクプロフィット(TP)の設定方法も扱います。
preview
MQL5入門(第19回):ウォルフ波動の自動検出

MQL5入門(第19回):ウォルフ波動の自動検出

本記事では、強気(上昇)および弱気(下降)のウォルフ波動パターンをプログラムで識別し、MQL5を使用して取引する方法を紹介します。ウォルフ波動構造をプログラムで検出し、それに基づいて取引の実行方法を詳しく解説します。これには、主要なスイングポイントの検出、パターンルールの検証、シグナルに基づくエキスパートアドバイザー(EA)の準備が含まれます。
preview
プライスアクション分析ツールキットの開発(第39回):MQL5でBOSとChoCHの検出を自動化する

プライスアクション分析ツールキットの開発(第39回):MQL5でBOSとChoCHの検出を自動化する

本記事では、フラクタルピボットを実用的な市場構造シグナルへ変換する、コンパクトなMQL5システム「Fractal Reaction System」を紹介します。リペイントを回避するために確定バーのロジックを用い、EAはChoCH (Change-of-Character)警告を検出し、BOS (Break-of-Structure)を確定させ、永続的なチャートオブジェクトを描画し、すべての確定イベントをログ出力してアラート(デスクトップ、モバイル、サウンド)します。アルゴリズム設計、実装上の注意点、テスト結果、そしてEAコード全文を順に解説し、読者ご自身でコンパイル、テスト、展開できるようにします。
preview
MQL5 Algo Forgeへの移行(第3回):外部コードを自分のプロジェクトに統合する

MQL5 Algo Forgeへの移行(第3回):外部コードを自分のプロジェクトに統合する

MQL5 Algo Forgeストレージにある任意のリポジトリから外部コードを自分のプロジェクトへ統合する方法を見ていきましょう。本記事ではいよいよ、有望でありながらもより複雑な課題に踏み込みます。すなわち、MQL5 Algo Forge内のサードパーティ製リポジトリからライブラリを実際に接続し、活用する方法についてです。
preview
MQL5でのAI搭載取引システムの構築(第3回):スクロール対応の単一スレッド型チャットUIへのアップグレード

MQL5でのAI搭載取引システムの構築(第3回):スクロール対応の単一スレッド型チャットUIへのアップグレード

本記事では、MQL5で構築したChatGPT統合プログラムを、タイムスタンプ付きの会話履歴管理と動的スクロール機構を備えた、単一スレッド型チャット指向のUIへとアップグレードします。本システムはJSON解析を用いてマルチターンのメッセージを管理し、スクロールバー表示モードの切り替えやホバーエフェクトをサポートすることで、実装面と操作性の両面からユーザー体験を向上させます。
preview
DoEasy - コントロール(第29部):ScrollBar補助コントロール

DoEasy - コントロール(第29部):ScrollBar補助コントロール

この記事では、ScrollBar補助コントロール要素とその派生オブジェクト(垂直および水平のスクロールバー)の開発を開始します。スクロールバーは、フォームのコンテンツがコンテナを超えた場合にスクロールするために使用されます。スクロールバーは通常フォームの下部と右側にあります。下部の水平のものはコンテンツを左右にスクロールし、垂直のものは上下にスクロールします。
preview
RestAPIを統合したMQL5強化学習エージェントの開発(第1回):MQL5でRestAPIを使用する方法

RestAPIを統合したMQL5強化学習エージェントの開発(第1回):MQL5でRestAPIを使用する方法

この記事では、異なるアプリケーションやソフトウェアシステム間の相互作用におけるAPI (Application Programming Interface)の重要性についてお話しします。アプリケーション間のやり取りを簡素化し、データや機能を効率的に共有することを可能にするAPIの役割を見ていきます。
preview
RestAPIを統合したMQL5強化学習エージェントの開発(第2回):三目並べゲームREST APIとのHTTPインタラクションのためのMQL5関数

RestAPIを統合したMQL5強化学習エージェントの開発(第2回):三目並べゲームREST APIとのHTTPインタラクションのためのMQL5関数

この記事では、MQL5がPythonやFastAPIとどのように相互作用できるか、MQL5のHTTP呼び出しを使用してPythonの三目並べゲームと相互作用する方法について説明します。この記事では、この統合のためのFastAPIを使用したAPIの作成について説明し、MQL5でのテストスクリプトを提供することで、MQL5の多用途性、Pythonのシンプルさ、そして革新的なソルーションを生み出すために異なるテクノロジーを接続するFastAPIの有効性を強調しています。