MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
知っておくべきMQL5ウィザードのテクニック(第14回):STFによる多目的時系列予測

知っておくべきMQL5ウィザードのテクニック(第14回):STFによる多目的時系列予測

データのモデリングに「空間」と「時間」の両方の測定基準を使用する空間的時間的融合は、主にリモートセンシングや、私たちの周囲をよりよく理解するための他の多くの視覚ベースの活動で有用です。発表された論文のおかげで、トレーダーへの可能性を検証することで、その活用に斬新なアプローチを取ります。
preview
3Dバーによるトレンド強度・方向指標

3Dバーによるトレンド強度・方向指標

市場マイクロストラクチャの3次元可視化とテンソル分析に基づく、新しい市場トレンド分析のアプローチを検討します。
preview
外国為替におけるポートフォリオ最適化:VaRとマーコウィッツ理論の統合

外国為替におけるポートフォリオ最適化:VaRとマーコウィッツ理論の統合

FXにおけるポートフォリオ取引はどのように機能するのでしょうか。マーコウィッツのポートフォリオ理論による資産配分最適化と、VaRモデルによるリスク最適化はどのように統合できるのでしょうか。ポートフォリオ理論に基づいたコードを作成し、一方では低リスクを確保し、もう一方では受け入れ可能な長期的収益性を得ることを試みます。
preview
リプレイシステムの開発(第38回):道を切り開く(II)

リプレイシステムの開発(第38回):道を切り開く(II)

MQL5プログラマーを自認する人の多くは、この記事で概説するような基本的な知識を持っていません。MQL5は多くの人によって限定的なツールだと考えてられていますが、実際の理由は、そのような人たちが必要な知識を持っていないということです。知らないことがあっても恥じることはありません。聞かなかったことを恥じるべきです。MetaTrader 5で指標の複製を強制的に無効にするだけでは、指標とEA間の双方向通信を確保することはできません。まだこれにはほど遠いものの、チャート上でこの指標が重複していないという事実は、私たちに自信を与えてくれます。
preview
ニューラルネットワークが簡単に(第75回):軌道予測モデルのパフォーマンス向上

ニューラルネットワークが簡単に(第75回):軌道予測モデルのパフォーマンス向上

私たちが作成するモデルはより大きく、より複雑になっています。そのため、訓練だけでなく、運用にもコストがかかります。しかし、決断に要する時間はしばしば重要です。この観点から、品質を損なうことなくモデルのパフォーマンスを最適化する手法を考えてみましょう。
preview
クライアント端末での取引戦略の例の分析

クライアント端末での取引戦略の例の分析

この記事では、ブロック図を使用して、端末のExperts\Free Robotsフォルダにあるローソク足ベースの訓練EAのロジックを調べます。
preview
MQL5での取引戦略の自動化(第35回):ブレーカーブロック取引システムの作成

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

本記事では、MQL5でブレーカーブロック取引システムを作成します。本システムは、レンジ相場を識別し、ブレイクアウトを検出、スイングポイントでブレーカーブロックを検証した上で、リスクパラメータを定義してリテスト取引を実行します。また、オーダーブロックおよびブレーカーブロックを動的なラベルと矢印で可視化し、自動売買やトレーリングストップにも対応しています。
preview
ニューラルネットワークが簡単に(第79回):状態の文脈におけるFeature Aggregated Queries (FAQ)

ニューラルネットワークが簡単に(第79回):状態の文脈におけるFeature Aggregated Queries (FAQ)

前回の記事では、画像内のオブジェクトを検出する方法の1つを紹介しました。ただし、静的な画像の処理は、私たちが分析する価格のダイナミクスのような動的な時系列の処理とは多少異なります。この記事では、私たちが解決しようとしている問題にやや近い、ビデオ中の物体を検出する方法について考えます。
preview
多通貨エキスパートアドバイザーの開発(第7回):フォワード期間に基づくグループの選択

多通貨エキスパートアドバイザーの開発(第7回):フォワード期間に基づくグループの選択

以前は、個々のインスタンスの最適化が実施されたのと同じ期間においてのみ、共同運用の結果を改善する目的で、取引戦略インスタンスグループの選択を評価しました。フォワード期間中に何が起こるか見てみましょう。
preview
ニュース取引が簡単に(第2回):リスク管理

ニュース取引が簡単に(第2回):リスク管理

この記事では、以前のコードと新しいコードに継承を導入します。効率性を高めるために新しいデータベース設計が実装されます。さらに、取引量計算に取り組むためのリスク管理クラスも作成されます。
preview
知っておくべきMQL5ウィザードのテクニック(第36回):マルコフ連鎖を用いたQ学習

知っておくべきMQL5ウィザードのテクニック(第36回):マルコフ連鎖を用いたQ学習

強化学習は、教師あり学習、教師なし学習と並んで、機械学習における3つの主要な考え方の1つです。そのため、最適制御、つまり目的関数に最も適した長期的な方針を学習することに関心があります。このような背景から、ウィザードが作成したEAのMLPの学習プロセスにおいて、MLPがどのような役割を果たす可能性があるのかを探ります。
preview
プライスアクション分析ツールキットの開発(第17回):TrendLoom EAツール

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

プライスアクションを観察し、取引をおこなう立場から言うと、複数の時間枠でトレンドが確認された場合、その方向にトレンドが継続することがよくあります。ただし、トレンドがどれくらい続くかは一定ではなく、ポジションを長期で保有するのか、それともスキャルピングのような短期取引をおこなうのかといったトレーダーのスタイルによって異なります。トレンド確認に使用する時間枠の選択は非常に重要な役割を果たします。以下の記事では、ワンクリックや定期的な更新によって、複数の時間足にわたる全体的なトレンドを自動で分析できる便利なシステムを紹介しています。ぜひご覧ください。
preview
プライスアクション分析ツールキットの開発(第30回):コモディティチャンネル指数(CCI)、Zero Line EA

プライスアクション分析ツールキットの開発(第30回):コモディティチャンネル指数(CCI)、Zero Line EA

プライスアクション分析の自動化は、今後の方向性を示す重要なステップです。本記事では、デュアルCCIインジケーター、ゼロラインクロスオーバー戦略、EMA、そしてプライスアクションを組み合わせ、ATRを用いて売買シグナルを生成し、ストップロス(SL)およびテイクプロフィット(TP)を設定するツールを開発します。CCI Zero Line EAの開発手法について学ぶために、ぜひお読みください。
preview
知っておくべきMQL5ウィザードのテクニック(第72回):教師あり学習でMACDとOBVのパターンを活用する

知っておくべきMQL5ウィザードのテクニック(第72回):教師あり学習でMACDとOBVのパターンを活用する

前回の記事で紹介したMACDとOBVのインジケーターペアをフォローアップし、今回はこのペアを機械学習でどのように強化できるかを見ていきます。MACDとOBVは、それぞれトレンド系と出来高系という補完的なペアです。私たちの機械学習アプローチでは、畳み込みニューラルネットワーク(CNN)を使い、カーネルとチャンネルのサイズを調整する際に指数カーネルを利用して、このインジケーターペアの予測をファインチューニングします。今回もこれまでと同様に、MQL5ウィザードでエキスパートアドバイザー(EA)を組み立てられるようにしたカスタムシグナルクラスファイル内で実装しています。
preview
DoEasy - コントロール(第23部):TabControlおよびSplitContainer WinFormsオブジェクトの改善

DoEasy - コントロール(第23部):TabControlおよびSplitContainer WinFormsオブジェクトの改善

今回は、WinFormsオブジェクトの作業領域の境界線に関連する新しいマウスイベントを追加し、TabControlとSplitContainerコントロールの機能に関するいくつかの欠点を修正することにします。
preview
ダイナミックマルチペアEAの形成(第3回):平均回帰とモメンタム戦略

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

本記事では、ダイナミックマルチペアエキスパートアドバイザー(EA)を構築する旅の第3部として、平均回帰戦略とモメンタム戦略の統合に焦点を当てます。価格の平均からの乖離(Zスコア)を検出して取引に活かす方法や、複数の通貨ペアにおけるモメンタムを測定して取引方向を判断する方法について詳しく解説します。
preview
リプレイシステムの開発 - 市場シミュレーション(第25回):次の段階への準備

リプレイシステムの開発 - 市場シミュレーション(第25回):次の段階への準備

この記事では、リプレイ/シミュレーションシステム開発の第1段階を完了しました。この成果により、システムが高度なレベルに達したことを確認し、新機能の導入への道を開くことができました。目標は、システムをさらに充実させ、市場分析の調査開発のための強力なツールに変えることです。
preview
MQL5での取引戦略の自動化(第11回):マルチレベルグリッド取引システムの開発

MQL5での取引戦略の自動化(第11回):マルチレベルグリッド取引システムの開発

本記事では、MQL5を使用してマルチレベルのグリッド取引システムEAを開発し、グリッド取引戦略の背後にあるアーキテクチャとアルゴリズム設計に焦点を当てます。複数層にわたるグリッドロジックの実装と、市場のさまざまな状況に対応するためのリスク管理手法について探ります。最後に、自動売買システムの構築・テスト・改善をおこなうための詳細な説明と実践的なヒントを提供します。
preview
MQL5入門(第19回):ウォルフ波動の自動検出

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

本記事では、強気(上昇)および弱気(下降)のウォルフ波動パターンをプログラムで識別し、MQL5を使用して取引する方法を紹介します。ウォルフ波動構造をプログラムで検出し、それに基づいて取引の実行方法を詳しく解説します。これには、主要なスイングポイントの検出、パターンルールの検証、シグナルに基づくエキスパートアドバイザー(EA)の準備が含まれます。
preview
市場イベント予測のための因果ネットワーク分析(CNA)とベクトル自己回帰モデルの例

市場イベント予測のための因果ネットワーク分析(CNA)とベクトル自己回帰モデルの例

この記事では、MQL5で因果ネットワーク分析(CNA: Causal Network Analysis)とベクトル自己回帰(VAR: Vector Autoregression)デルを使用した高度な取引システムを実装するための包括的なガイドを紹介します。これらの手法の理論的背景をカバーし、取引アルゴリズムにおける主要な機能を詳細に説明し、実装のためのサンプルコードも含んでいます。
preview
取引システムの構築(第5回):構造化された取引決済による利益管理

取引システムの構築(第5回):構造化された取引決済による利益管理

利益目標まであとわずかというところで価格が反転し、ストップロスにかかってしまう。トレーリングストップによって建値で決済された直後に、市場が元の方向へ大きく動き、当初の目標を超えていく。多くのトレーダーにとって、これはおなじみの悩みでしょう。本記事では、異なるリスクリワードレシオ(RRR)で複数のエントリーを配置する手法に焦点を当て、利益を体系的に確保しながら、全体のリスク曝露を抑えるアプローチを解説します。
preview
リプレイシステムの開発 - 市場シミュレーション(第21回):FOREX (II)

リプレイシステムの開発 - 市場シミュレーション(第21回):FOREX (II)

FOREX市場で作業するためのシステムを構築し続けます。この問題を解決するためには、まず、前のバーを読み込む前にティックの読み込みを宣言しなければなりません。これによって問題は解決されますが、同時にユーザーは構成ファイルの構造に従わざるを得なくなります。これは個人的にはあまり意味がありません。なぜなら、構成ファイルの内容を分析し、実行する役割を担うプログラムを設計することで、ユーザーが必要な要素を好きな順番で宣言できるようになるからです。
preview
多通貨エキスパートアドバイザーの開発(第12回):プロップトレーディングレベルのリスクマネージャーの育成

多通貨エキスパートアドバイザーの開発(第12回):プロップトレーディングレベルのリスクマネージャーの育成

開発中のEAには、ドローダウンを制御するための特定のメカニズムがすでに備わっています。しかし、これは過去の価格データに対するテストの結果に基づいているため、本質的には確率的です。したがって、ドローダウンは最大予想値を超える場合があります (ただし、確率は小さいです)。指定されたドローダウン レベルへの準拠を保証するメカニズムを追加してみましょう。
preview
主成分を用いた特徴量選択と次元削減

主成分を用いた特徴量選択と次元削減

この記事では、Luca Puggini氏とSean McLoone氏による論文「Forward Selection Component Analysis: Algorithms and Applications」に基づき、修正版のForward Selection Component Analysis (FSCA)アルゴリズムの実装について詳しく解説します。
preview
初心者からエキスパートへ:Reporting EA - ワークフローの設定

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

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

DoEasyライブラリのグラフィックス(第96部): フォームオブジェクトのグラフィックとマウスイベントの処理

本稿では、フォームオブジェクトでマウスイベントを処理する機能の作成を開始し、銘柄オブジェクトに新しいプロパティとそのトラッキングを追加します。さらに、チャート銘柄で新しいプロパティが考慮/追加されて追跡されるため、銘柄オブジェクトクラスを改善します。
preview
ニューラルネットワークが簡単に(第78回):Transformerを用いたデコーダなしの物体検出器(DFFT)

ニューラルネットワークが簡単に(第78回):Transformerを用いたデコーダなしの物体検出器(DFFT)

この記事では、取引戦略の構築という問題を別の角度から見てみようと思います。将来の値動きを予測するのではなく、過去のデータの分析に基づいた取引システムの構築を試みます。
preview
取引におけるニューラルネットワーク:状態空間モデル

取引におけるニューラルネットワーク:状態空間モデル

これまでにレビューしたモデルの多くは、Transformerアーキテクチャに基づいています。ただし、長いシーケンスを処理する場合には非効率的になる可能性があります。この記事では、状態空間モデルに基づく時系列予測の別の方向性について説明します。
preview
MQL5での取引戦略の自動化(第3回):ダイナミック取引管理のためのZone Recovery RSIシステム

MQL5での取引戦略の自動化(第3回):ダイナミック取引管理のためのZone Recovery RSIシステム

この記事では、MQL5を使ってZone Recovery RSI EAシステムを構築し、RSIシグナルによって取引を開始し、損失を管理するためのリカバリーストラテジーを実装します。取引エントリー、リカバリーロジック、ポジション管理を自動化するために、ZoneRecoveryクラスを作成します。この記事の最後では、EAのパフォーマンスを最適化し、その有効性を高めるためのバックテストの洞察を紹介します。
preview
リプレイシステムの開発(第62回):サービスの再生(III)

リプレイシステムの開発(第62回):サービスの再生(III)

この記事では、実際のデータを使用する際にアプリケーションのパフォーマンスに影響を及ぼす可能性のある「ティック過剰」の問題について取り上げます。このティック過剰は、1分足を適切なタイミングで構築するうえで支障となることがよくあります。
preview
ニューラルネットワークが簡単に(第70回):閉形式方策改善演算子(CFPI)

ニューラルネットワークが簡単に(第70回):閉形式方策改善演算子(CFPI)

この記事では、閉形式の方策改善演算子を使用して、オフラインモードでエージェントの行動を最適化するアルゴリズムを紹介します。
preview
母集団最適化アルゴリズム:ボイドアルゴリズム

母集団最適化アルゴリズム:ボイドアルゴリズム

この記事では、動物の群れ行動のユニークな例に基づいたボイドアルゴリズムについて考察しています。その結果、ボイドアルゴリズムは、「群知能(Swarm Intelligence)」の名の下に統合されたアルゴリズム群全体の基礎となった。
preview
MQL5で取引管理者パネルを作成する(第6回):取引管理パネル(II)

MQL5で取引管理者パネルを作成する(第6回):取引管理パネル(II)

この記事では、多機能管理パネルの取引管理パネル(Trade Management Panel)を強化します。コードを簡素化し、読みやすさ、保守性、効率性を向上させる強力なヘルパー関数を導入します。また、追加のボタンをシームレスに統合し、インターフェイスを強化して、より幅広い取引タスクを処理する方法も紹介します。ポジションの管理、注文の調整、ユーザーとのやり取りの簡素化など、このガイドは、堅牢でユーザーフレンドリーな取引管理パネルの開発に役立ちます。
preview
MQL5での取引戦略の自動化(第15回):プライスアクションハーモニックCypherパターンの可視化

MQL5での取引戦略の自動化(第15回):プライスアクションハーモニックCypherパターンの可視化

この記事では、CypherハーモニックパターンのMQL5における自動化について探究し、その検出方法とMetaTrader 5チャート上での可視化を詳しく解説します。スイングポイントを特定し、フィボナッチに基づいたパターンを検証し、明確な視覚的注釈とともに取引を実行するエキスパートアドバイザー(EA)を実装します。記事の最後では、効果的な取引のためのバックテストおよび最適化方法についても説明します。
preview
MQL5とMetaTrader 5のインジケーターの再定義

MQL5とMetaTrader 5のインジケーターの再定義

MQL5でインジケーター情報を収集する革新的なアプローチにより、開発者がカスタム入力をインジケーターに渡して即座に計算をおこなえるようになり、より柔軟で効率的なデータ分析が可能になります。この方法は、従来の制約を超えてインジケーターで処理される情報に対する制御性を高めるため、アルゴリズム取引において特に有用です。
preview
知っておくべきMQL5ウィザードのテクニック(第25回):多時間枠のテストと取引

知っておくべきMQL5ウィザードのテクニック(第25回):多時間枠のテストと取引

アセンブリクラスで使用されているMQL5コードアーキテクチャの制限によって、複数の時間枠に基づく戦略は、デフォルトではウィザードで組み立てられたEAではテストできません。今回は、二次移動平均を使用したケーススタディで、複数の時間枠を使用する戦略について、この制限を回避する可能性を探ります。
preview
取引におけるニューラルネットワーク:階層型ベクトルTransformer (HiVT)

取引におけるニューラルネットワーク:階層型ベクトルTransformer (HiVT)

マルチモーダル時系列の高速かつ正確な予測のために開発された階層的ベクトルTransformer (HiVT: Hierarchical Vector Transformer)メソッドについて詳しく説明します。
preview
MQL5での取引戦略の自動化(第12回):Mitigation Order Blocks (MOB)戦略の実装

MQL5での取引戦略の自動化(第12回):Mitigation Order Blocks (MOB)戦略の実装

本記事では、スマートマネー取引向けにオーダーブロックの自動検出をおこなうMQL5取引システムを構築します。戦略のルールを明確にし、そのロジックをMQL5で実装し、さらに取引を効果的に執行するためにリスク管理も統合します。最後に、システムのパフォーマンスを評価するためにバックテストをおこない、最適な結果を得るための改良を加えます。
preview
純粋なMQL5におけるエネルギーベースの学習を用いた特徴量選択アルゴリズム

純粋なMQL5におけるエネルギーベースの学習を用いた特徴量選択アルゴリズム

この記事では、「FREL:A stable feature selection algorithm」と題された学術論文に記載された、Feature Weighting as Regularized Energy-Based Learningと呼ばれる特徴量選択アルゴリズムの実装を紹介します。
preview
古典的な戦略を再構築する(第7回):USDJPYにおける外国為替市場とソブリン債務分析

古典的な戦略を再構築する(第7回):USDJPYにおける外国為替市場とソブリン債務分析

本日の記事では、今後の為替レートと国債の関係を分析します。債券は、最も人気のある固定利付証券の1つであり、今回の議論の焦点となります。AIを使用して従来の戦略を改善できるかどうかを一緒に検討しましょう。