MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
知っておくべきMQL5ウィザードのテクニック(第68回): コサインカーネルネットワークでTRIXとWPRのパターンを使用する

知っておくべきMQL5ウィザードのテクニック(第68回): コサインカーネルネットワークでTRIXとWPRのパターンを使用する

前回の記事では、TRIXとWilliams Percent Range (WPR)の指標ペアを紹介しましたが、今回はこの指標ペアを機械学習で拡張する方法について検討します。TRIXとWPRは、トレンド指標とサポート/レジスタンス補完ペアとして組み合わせられます。本機械学習アプローチでは、畳み込みニューラルネットワーク(CNN)を使用し、予測精度を微調整する際にコサインカーネルをアーキテクチャに組み込んでいます。これは常に、MQL5ウィザードと連携してエキスパートアドバイザー(EA)を組み立てるカスタムシグナルクラスファイル内で行われます。。
preview
MQL5で取引管理者パネルを作成する(第9回):コード編成(III)コミュニケーションモジュール

MQL5で取引管理者パネルを作成する(第9回):コード編成(III)コミュニケーションモジュール

MQL5インターフェイス設計における最新の進展を、再設計されたコミュニケーションパネルの公開とともに詳しく解説します。また、モジュール化の原則に基づいて新しい管理パネルを構築するシリーズも引き続き展開していきます。この記事では、CommunicationsDialogクラスを段階的に開発し、それをDialogクラスから継承する方法を丁寧に解説します。さらに、開発には配列およびListViewクラスを活用します。MQL5開発スキルを高めるための実用的な知見を得るために、ぜひ記事を読み、コメント欄でディスカッションにご参加ください。
preview
ゴールドを例にした一方向トレンド取引における機械学習の考察

ゴールドを例にした一方向トレンド取引における機械学習の考察

この記事では、選択した方向(買いまたは売り)のみで取引をおこなうアプローチについて説明します。この目的のために、因果推論と機械学習の手法を使用します。
preview
知っておくべきMQL5ウィザードのテクニック(第34回):非従来型RBMによる価格の埋め込み

知っておくべきMQL5ウィザードのテクニック(第34回):非従来型RBMによる価格の埋め込み

制限ボルツマンマシンは、1980年代半ば、計算資源が非常に高価だった時代に開発されたニューラルネットワークの一種です。当初は、入力された訓練データセットの次元を削減し、隠れた確率や特性を捉えるために、ギブスサンプリングとコントラストダイバージェンス(Contrastive Divergence)に依存していました。RBMが予測用の多層パーセプトロンに価格を「埋め込む」場合、バックプロパゲーションがどのように同様の性能を発揮できるかを検証します。
preview
取引におけるニューラルネットワーク:時系列予測のためのTransformerの最適化(LSEAttention)

取引におけるニューラルネットワーク:時系列予測のためのTransformerの最適化(LSEAttention)

LSEAttentionフレームワークは、Transformerアーキテクチャの改善を提供します。この手法は、特に長期の多変量時系列予測のために設計されました。提案されたアプローチは、従来のTransformerでよく遭遇するエントロピーの崩壊や学習の不安定性の問題を解決するために応用可能です。
preview
Parafrac V2オシレーター:パラボリックSARとATRの統合

Parafrac V2オシレーター:パラボリックSARとATRの統合

Parafrac V2オシレーターは、パラボリックSARとATR(Average True Range、平均真の範囲)を統合した高度なテクニカル分析ツールです。前バージョンのParafracオシレーターではフラクタルを使用していたため、過去や現在のシグナルを覆い隠すようなスパイクが発生しやすいという課題がありました。Parafrac V2ではATRによるボラティリティ測定を活用することで、トレンドや反転、ダイバージェンスの検出をより滑らかで信頼性の高い方法で行えるようになり、チャートの混雑や分析の過負荷を軽減できます。
preview
ケンドールのタウ係数と距離相関を用いたVGTの市場ポジショニング分析コード

ケンドールのタウ係数と距離相関を用いたVGTの市場ポジショニング分析コード

この記事では、相補的なインジケーターのペアをどのように活用して、過去5年間のVanguard Information Technology Index Fund ETF (VGT)を分析できるかを検討します。具体的には、ケンドールのタウ係数と距離相関という2つの指標を用い、VGTの取引に適したインジケーターの組み合わせだけでなく、それら2つのインジケーターに対するシグナルパターンの最適なペアリングも選定することを目指します。
preview
MQL5入門(第30回):MQL5のAPIとWebRequest関数の習得(IV)

MQL5入門(第30回):MQL5のAPIとWebRequest関数の習得(IV)

APIレスポンスから取得したローソク足データの抽出、変換、整理を、MQL5環境において簡潔におこなうためのステップごとのチュートリアルを紹介します。本ガイドは、コーディングスキルを向上させたい初心者の方や、市場データを効率的に管理するための堅牢な手法を構築したい方に最適です。
preview
市場シミュレーション(第14回):ソケット(VIII)

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

多くのプログラマは、Excelの使用をやめて、Pythonに直接移行し、PythonでExcelファイルを生成して後から結果を分析できるパッケージを使うべきだと考えるかもしれません。しかし、前回の記事で述べたように、この方法は多くのプログラマにとって最も簡単な解決策ではありますが、すべてのユーザーに受け入れられるわけではありません。そして、このような場合、常に正しいのはユーザーです。私たちプログラマは、すべてをうまく機能させる方法を見つけなければなりません。
preview
市場シミュレーション(第6回):MetaTrader 5からExcelへの情報の転送

市場シミュレーション(第6回):MetaTrader 5からExcelへの情報の転送

多くの人、特にプログラマーではない人は、MetaTrader 5と他のプログラムとの間で情報をやり取りすることは非常に難しいと感じます。その代表的な例がExcelです。多くの人がExcelをリスク管理や運用管理のための手段として利用しています。Excelは非常に優れたプログラムであり、VBAプログラマーでなくても比較的容易に習得できます。ここでは、MetaTrader 5とExcelの間に接続を確立する方法について説明します。方法は非常にシンプルなものです。
preview
DoEasy - コントロール(第33部):垂直スクロールバー

DoEasy - コントロール(第33部):垂直スクロールバー

この記事では、DoEasyライブラリのグラフィカル要素の開発を続け、フォームオブジェクトコントロールの垂直スクロールを追加し、さらに将来必要となる便利な関数やメソッドを紹介します。
preview
取引におけるニューラルネットワーク:複雑な軌道予測法(Traj-LLM)

取引におけるニューラルネットワーク:複雑な軌道予測法(Traj-LLM)

この記事では、自動運転車の動作の分野における問題を解決するために開発された興味深い軌道予測方法を紹介します。この手法の著者は、さまざまな建築ソリューションの最良の要素を組み合わせました。
preview
初心者からエキスパートへ:MQL5を使用したアニメーションニュースヘッドライン(VII) - ニュース取引におけるポストインパクト戦略

初心者からエキスパートへ:MQL5を使用したアニメーションニュースヘッドライン(VII) - ニュース取引におけるポストインパクト戦略

高インパクトの経済ニュースが発表された直後の1分間は、ウィップソー(騙しの多い相場)リスクが非常に高い時間帯です。この短い瞬間、価格変動は不規則で、かつ極めてボラティリティが高く、両方向のペンディング注文が立て続けに発動されることも少なくありません。しかし、通常は1分以内には市場が次第に安定し、従来のトレンドへと戻ったり、修正の動きを見せたりしながら、より通常に近いボラティリティ水準に落ち着いていきます。このセクションでは、ニュース取引における代替アプローチを検討し、その有効性を検証し、トレーダーの戦略ツールキットにどのように加えられるかを探っていきます。詳細と洞察は、以下の項目で順を追って解説します。
preview
知っておくべきMQL5ウィザードのテクニック(第82回):DQN強化学習でTRIXとWPRのパターンを使用する

知っておくべきMQL5ウィザードのテクニック(第82回):DQN強化学習でTRIXとWPRのパターンを使用する

前回の記事では、推論学習の枠組みにおける一目均衡表とADXの組み合わせを検証しました。本記事では、第68回で最後に取り上げたインジケーターの組み合わせ、すなわちTRIXとWilliams Percent Range (WPR)を対象に、強化学習を再度取り上げます。今回使用するアルゴリズムは、QR-DQN (Quantile Regression DQN)です。これまでと同様に、MQL5ウィザードでの実装を前提としたカスタムシグナルクラスとして提示します。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第16回):教師あり学習を用いた線形システム同定

MQL5で自己最適化エキスパートアドバイザーを構築する(第16回):教師あり学習を用いた線形システム同定

線形システム同定は、教師あり学習アルゴリズムにおける誤差補正の学習と組み合わせることができます。これにより、統計的モデリング手法に依存したアプリケーションを構築しつつも、モデルが前提とする厳格な仮定の脆弱性を必ずしも引き継ぐことなく設計することが可能になります。従来の教師あり学習アルゴリズムには多くの要件がありますが、それらはフィードバックコントローラーと組み合わせることで補完でき、モデルを補正しながら現在の市場環境に適応させることができます。
preview
Parafracオシレーター:パラボリックとフラクタルインジケーターの組み合わせ

Parafracオシレーター:パラボリックとフラクタルインジケーターの組み合わせ

パラボリックSARとフラクタルインジケーターを組み合わせて、新しいオシレーターベースのインジケーターを作成する方法について説明します。両ツールの独自の強みを統合することにより、トレーダーはより洗練された効果的な取引戦略の開発を目指すことができます。
preview
取引戦略の開発:Flower Volatility Indexのトレンドフォローアプローチ

取引戦略の開発:Flower Volatility Indexのトレンドフォローアプローチ

市場のリズムを解読する絶え間ない探求により、トレーダーやクオンツアナリストは数多くの数学モデルを生み出してきました。本記事では、Flower Volatility Index (FVI)を紹介します。これは、バラ曲線の数学的優雅さを実用的な取引ツールに変換した新しいアプローチです。この研究を通じて、数学モデルを実際の市場環境で分析や意思決定を支援できる実用的な取引メカニズムに適応できることを示しました。
preview
母集団最適化アルゴリズム:極値から抜け出す力(第I部)

母集団最適化アルゴリズム:極値から抜け出す力(第I部)

本稿では、母集団最適化アルゴリズムの挙動を、集団の多様性が低い場合に効率的に極小値を脱出し、最大値に到達する能力という観点から検証することを目的としたユニークな実験を紹介します。この方向性で取り組むことで、ユーザーが設定した座標を出発点として、どの特定のアルゴリズムが検索を成功させることができるのか、またその成功にどのような要因が影響するのかについて、さらなる洞察が得られるでしょう。
preview
取引におけるニューラルネットワーク:Segment Attentionを備えたパラメータ効率重視Transformer(最終回)

取引におけるニューラルネットワーク:Segment Attentionを備えたパラメータ効率重視Transformer(最終回)

前回の記事では、PSformerフレームワークの理論的側面について議論しました。このフレームワークは、従来のTransformerアーキテクチャに、パラメータ共有(PS)メカニズムと時空間Segment Attention (SegAtt)という2つの主要な革新をもたらします。本稿では、前回に引き続き、提案された手法をMQL5を用いて実装する作業について説明します。
preview
深層強化学習を用いたIlanエキスパートアドバイザーの強化

深層強化学習を用いたIlanエキスパートアドバイザーの強化

本記事では、Ilanグリッド型エキスパートアドバイザー(EA)を再考し、MQL5でQ学習を組み込んだMetaTrader 5用適応型バージョンを構築する方法を解説します。状態特徴量の定義、Qテーブル用の離散化、ε-greedyによる行動選択、平均化やポジション決済に対する報酬設計の手法を示します。さらに、Qテーブルの保存や読み込み、学習パラメータのチューニング、EURUSDやAUDUSDに対するストラテジーテスターでの安定性およびドローダウンリスクの評価についても解説します。
preview
プライスアクション分析ツールキットの開発(第42回):ボタンロジックと統計レベルを用いたインタラクティブチャートの検証

プライスアクション分析ツールキットの開発(第42回):ボタンロジックと統計レベルを用いたインタラクティブチャートの検証

市場においてスピードと精度が重要である以上、分析ツールも市場と同じくらい賢くある必要があります。本記事では、ボタン操作に基づくエキスパートアドバイザー(EA)を紹介します。これは、価格データを瞬時に意味のある統計レベルに変換するインタラクティブなシステムです。ワンクリックで平均値、偏差、パーセンタイルなどを計算して表示し、複雑な分析をチャート上の明確なシグナルに変換します。価格が反発、押し戻し、または突破する可能性の高いゾーンをハイライトすることで、分析をより迅速かつ実用的にします。
preview
MQL5における市場ポジショニング戦略の体系(第2回): Nvidia向けマルチパターンのビット単位学習

MQL5における市場ポジショニング戦略の体系(第2回): Nvidia向けマルチパターンのビット単位学習

管理可能なテスト期間において、特定の資産を特定の取引方向で検証する市場ポジショニングに関する新連載を継続します。前回の記事では、Nvidia Corp (NVDA)の株を対象に、RSIとDeMarkerオシレーターの組み合わせから5つのシグナルパターンを検証しました。本記事では残りの5パターンを取り上げ、さらに複数パターンの組み合わせにも踏み込みます。これには、10パターンすべての自由な組み合わせや、特定のペアのみを組み合わせる特殊パターンも含まれます。
preview
リプレイシステムの開発(第55回):コントロールモジュール

リプレイシステムの開発(第55回):コントロールモジュール

この記事では、開発中のメッセージシステムに統合できるように、コントロールインジケーターを実装します。それほど難しくはありませんが、このモジュールの初期化について理解しておくべき細かい点がいくつかあります。ここで提示される資料は教育目的のみに使用されます。示された概念を学習し習得する以外の目的での利用は決して想定されていません。
preview
HTTPとConnexus(第2回):HTTPアーキテクチャとライブラリ設計の理解

HTTPとConnexus(第2回):HTTPアーキテクチャとライブラリ設計の理解

この記事では、HTTPプロトコルの基礎について、主なメソッド(GET、POST、PUT、DELETE)、ステータスコード、URLの構造について説明します。さらに、HTTPリクエストにおけるURLとクエリパラメータの操作を容易にするCQueryParamとCURLクラスによるConexxusライブラリの構築の始まりも紹介します。
preview
MQL5経済指標カレンダーを使った取引(第5回):レスポンシブコントロールとフィルターボタンでダッシュボードを強化する

MQL5経済指標カレンダーを使った取引(第5回):レスポンシブコントロールとフィルターボタンでダッシュボードを強化する

この記事では、ダッシュボードの制御を改善するために、通貨ペアフィルター、重要度レベル、時間フィルター、キャンセルオプションのボタンを作成します。これらのボタンは、ユーザーのアクションに動的に応答するようにプログラムされており、シームレスな操作を可能にします。また、ダッシュボードにリアルタイムの変更を反映するために、ユーザーの行動を自動化します。これにより、パネルの全体的な機能性、モビリティ、応答性が向上します。
preview
MetaTrader 5での取引の視覚的な評価と調整

MetaTrader 5での取引の視覚的な評価と調整

ストラテジーテスターは、単に自動売買ロボットのパラメータを最適化するだけでなく、さらに幅広い活用が可能です。本記事では、口座の取引履歴を事後に評価し、ストラテジーテスター上でポジションのストップロスを変更することで取引の調整をおこなう方法を紹介します。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第9回):二重移動平均クロスオーバー

MQL5で自己最適化エキスパートアドバイザーを構築する(第9回):二重移動平均クロスオーバー

本記事では、二重移動平均クロスオーバー戦略の設計について説明します。この戦略では、上位時間足(例:日足、D1)のシグナルを参照して下位時間足(例:15分足、M15)でエントリーをおこない、ストップロスレベルは中間的リスク時間足(例:4時間足、H4)から算出します。システム定数やカスタム列挙型、トレンドフォローと平均回帰(ミーンリバージョン)モードに対応したロジックを導入し、モジュール化と将来的な遺伝的アルゴリズムによる最適化を重視しています。このアプローチにより、柔軟なエントリーとエグジットの条件を設定でき、下位時間足でのエントリーを高い時間足のトレンドに合わせることで、シグナルのラグを軽減し、取引タイミングを改善することを目指しています。
preview
初心者からエキスパートへ:FX市場の取引期間

初心者からエキスパートへ:FX市場の取引期間

すべての市場の取引期間には始まりと終わりがあり、それぞれは終値によって完結します。この終値がその期間のセンチメントを定義します。各ローソク足のセッションも同様に、終値によってその性質が示されます。これらの基準点を理解することで、市場における現在のムードを測定でき、強気勢力と弱気勢力のどちらが支配しているのかを明らかにすることが可能になります。本記事では、Market Periods Synchronizerに新しい機能を開発するという重要な段階に進みます。この機能は、FX市場のセッションを可視化するものであり、より情報に基づいた取引判断を支援します。このツールは、強気派と弱気派のどちらがセッションを支配しているのかをリアルタイムで識別するうえで特に有効です。それでは、この概念について検討し、それが提供する洞察を明らかにしていきます。
preview
初心者からエキスパートへ:MQL5での可視化による地理的市場認識の強化

初心者からエキスパートへ:MQL5での可視化による地理的市場認識の強化

セッションを意識せずに取引することは、まるでコンパスなしで航海するようなものです。移動してはいるものの、目的を持って移動していないのです。本稿では、トレーダーが市場のタイミングを認識する方法を革新し、通常のチャートを動的な地理的表示に変換する手法を紹介します。MQL5の強力な可視化機能を活用して、リアルタイムでアクティブな取引セッションを点灯させるライブ世界地図を構築します。これにより、抽象的な市場時間が直感的な視覚情報として理解可能になります。この手法は取引心理を鋭敏化すると同時に、複雑な市場構造と実用的な洞察を結びつけるプロフェッショナル向けのプログラミング技術も明らかにします。
preview
リプレイシステムの開発(第50回):物事は複雑になる(II)

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

チャートIDの問題を解決すると同時に、ユーザーが希望する資産の分析とシミュレーションに個人用テンプレートを使用できるようにする機能を提供し始めます。ここで提示される資料は教育目的のみであり、提示される概念の学習および習得以外の目的には決して適用されないものとします。
preview
レーベンバーグ・マルカートアルゴリズムを用いた多層パーセプトロンのトレーニング

レーベンバーグ・マルカートアルゴリズムを用いた多層パーセプトロンのトレーニング

この記事では、順伝播型(フィードフォワード)ニューラルネットワークの学習におけるレーベンバーグ・マルカートアルゴリズムの実装を紹介します。また、scikit-learn Pythonライブラリのアルゴリズムと性能比較もおこなっています。まずは、勾配降下法、モーメンタム付き勾配降下法、確率的勾配降下法などのより単純な学習法について簡単に触れます。
preview
ラクダアルゴリズム(CA)

ラクダアルゴリズム(CA)

ラクダアルゴリズムは2016年に開発され、砂漠におけるラクダの行動をシミュレートして最適化問題を解く手法です。本アルゴリズムは、温度、補給、持久力といった要素を考慮しています。また、本記事では改良版であるCAmも紹介しており、ガウス分布による解生成とオアシス効果パラメータの最適化という主要な改良が含まれています。
preview
古典的な戦略を再構築する(第15回):デイリーブレイクアウト取引戦略

古典的な戦略を再構築する(第15回):デイリーブレイクアウト取引戦略

コンピュータが登場する以前から、人間のトレーダーは長年にわたり金融市場に参加し、意思決定を導く経験則を培ってきました。本記事では、よく知られたブレイクアウト戦略を再検証し、こうした経験から得られた市場ロジックがシステマティックな手法に対抗し得るのかをテストします。結果として、元の戦略は高い精度を示した一方で、不安定性とリスク管理の弱さが明らかになりました。そこで本記事ではアプローチを改良し、裁量的な洞察をより堅牢なアルゴリズム取引戦略へと適応する方法を示します。
preview
MQL5での取引戦略の自動化(第37回):ビジュアル指標付きレギュラーRSIダイバージェンス・コンバージェンス検出

MQL5での取引戦略の自動化(第37回):ビジュアル指標付きレギュラーRSIダイバージェンス・コンバージェンス検出

本記事では、スイングポイントの強さを考慮し、バー制限や許容幅のチェックを組み合わせて、レギュラーRSIダイバージェンスを検出するMQL5エキスパートアドバイザー(EA)を作成します。このEAは、強気または弱気シグナルに基づいて固定ロットでエントリーし、SL/TPをpips単位で設定でき、任意でトレーリングストップも適用可能です。視覚要素として、チャート上に色分けされたラインおよびラベル付きスイングポイントを表示し、戦略分析を強化します。
preview
初級から中級へ:変数(III)

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

今日は、定義済みのMQL5言語変数と定数の使用方法を見ていきます。さらに、別の特殊なタイプの変数である関数を分析します。これらの変数を適切に操作する方法を知っているかどうかは、動作するアプリケーションと動作しないアプリケーションの違いを意味する場合があります。ここで紹介されている内容を理解するには、以前の記事で説明した内容を理解する必要があります。
preview
取引におけるニューラルネットワーク:データの局所構造の探索

取引におけるニューラルネットワーク:データの局所構造の探索

ノイズの多い状況下で市場データの局所構造を効果的に識別・保持することは、取引において極めて重要な課題です。自己アテンション(Self-Attention)メカニズムの活用は、このようなデータの処理において有望な結果を示していますが、従来のアプローチでは基盤となる構造の局所的な特性が考慮されていません。この記事では、こうした構造的依存関係を組み込むことが可能なアルゴリズムを紹介します。
preview
MQL5入門(第20回):ハーモニックパターンの基礎

MQL5入門(第20回):ハーモニックパターンの基礎

本記事では、ハーモニックパターンの基本、構造、そして取引での応用方法について解説します。フィボナッチリトレースメントやフィボナッチエクステンションについて学び、MQL5におけるハーモニックパターン検出の実装方法を理解することで、より高度な取引ツールやエキスパートアドバイザー(EA)を構築するための基礎を築くことができます。
preview
初心者からエキスパートへ:パラメータ制御ユーティリティ

初心者からエキスパートへ:パラメータ制御ユーティリティ

従来のEAやインジケーターの入力プロパティを、リアルタイムで操作可能なオンチャートのコントロールインターフェースへと変換することを想像してみてください。本記事は、これまでに取り組んできたMarket Periods Synchronizerインジケーターでの基礎的な成果を土台とし、上位足(HTF)の市場構造を可視化し、管理する手法を大きく進化させるものです。ここでは、その概念を完全にインタラクティブなユーティリティへと昇華させ、動的な操作性と強化されたマルチタイムフレーム(MTF)のプライスアクションの可視化を、チャート上に直接統合したダッシュボードとして実装します。この革新的なアプローチが、トレーダーとツールの関わり方をどのように変えていくのか、一緒に見ていきましょう。
preview
リプレイシステムの開発(第75回):新しいChart Trade(II)

リプレイシステムの開発(第75回):新しいChart Trade(II)

この記事では、C_ChartFloatingRADクラスについて説明します。これはChart Tradeを機能させるための要となる部分です。ただし、解説はこれで終わりではありません。本記事の内容はかなり広範かつ深い理解を必要とするため、続きは次回の記事で補完します。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
取引におけるニューラルネットワーク:層状メモリを持つエージェント

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

層状メモリアプローチは、人間の認知プロセスを模倣することで、複雑な金融データの処理や新しいシグナルへの適応を可能にし、動的な市場における投資判断の有効性を向上させます。