MQL開発におけるCI/CDの重要性:なぜJenkinsとMQLUnitがアルゴリズム取引の「盾」となるのか
MQL (MetaQuotes Language) 開発の世界、特にアルゴリズム取引の領域において、CI/CD(継続的インテGRT−ション/継続的デプロイメント)やユニットテストといった現代的なソフトウェア工学の手法は、依然として広く普及しているとは言えない状況である。AI MQL合同会社は、MQL5向けのユニットテストフレームワーク(MQLUnit)の導入、MT5ストラテジーテスターのコマンドライン自動実行、そしてJenkinsやGitLab CIといったCI/CDパイプラインの構築を完了し、規律ある厳格な開発プロセスを確立した。本稿の目的は、この開発プロセスが、アルゴリズム取引戦略というビジネス価値(「矛」)を最大化するために、いかに堅牢な品質保証(「盾」)として機能するかを技術的に解説することである。この「盾」の導入により、AI MQLはリリース後に発見される致命的なバグの90%削減という成果を達成している。
第1部:アルゴリズム取引における「工芸」から「工学」への移行
1.1. MQL開発の「暗rmse知」という時限爆弾
アルゴリズム取引のコミュニティは、その歴史的経緯から、個人のトレーダーや小規模な開発チームが中心となって発展してきた。その結果、多くのソフトウェア開発プラクティスが、再現性や堅牢性を担保する「工学(Engineering)」ではなく、個人のスキルや経験則に依存する「工芸(Craft)」のレベルに留まっているのが実情である。具体的には、厳格なバージョン管理システム(VCS)の不在、自動化されたテストプロセスの欠如、そして属人化された「暗黙知」への依存が挙げられる 1。
この開発文化の遅れは、プラットフォームベンダーであるMetaQuotes社自身の動向によって客観的に証明されている。同社の代表であるRenat Fatkhullin氏は、公式のMQL5コミュニティフォーラムにおいて、Gitとの統合を特徴とする新しい開発プラットフォーム「MQL5 Algo Forge」が「間もなく登場する(coming soon)」と告知している 3。
この告知は、重要な事実を示唆している。すなわち、現代のソフトウェア開発においてデファクトスタンダードである分散型バージョン管理システム「Git」が、2024年現在において「新機能」として宣伝されているという事実である 4。これは、既存の標準的なMQL開発環境(MetaEditor)や、MetaQuotes社が提供する標準VCS(MQL5 Storage)が、現代的な開発プロセスから取り残されていたことをベンダー自身が認めているに他ならない。
AI MQLが、標準的な開発プロセスとしてJenkins 5 やGitLab CI 6 を既に運用している事実は、我々がMQLコミュニティの標準ではなく、FinTech業界の最高水準でオペレーションを行っていることの強力な証左である。
1.2. アルゴリズム取引における品質の二重性:「矛」と「盾」
AI MQLは、アルゴリズム取引システムを二つの不可分な要素、すなわち「矛」と「盾」によって定義する。
- 矛 (Spear): アルファ(収益)を直接生み出す取引戦略、価格予測モデル、そして最適な実行ロジックである。これはビジネス価値の源泉そのものである 7。
- 盾 (Shield): システムの堅牢性、信頼性、およびバグの不在を保証する品質保証(QA)プロセス、厳格なリスク管理、そして規制コンプライアンスである 9。
DevOps Research and Assessment (DORA) による広範な業界調査は、継続的インテGRT−ション(CI)の実践が、「より高品質なソフトウェア」と「より安定したシステム」の実現に直接的に寄与することを統計的に証明している 11。
このCIの利点は、一般的なITシステムと金融工学の領域では、その意味合いが根本的に異なる。一般的なEコマースサイトにおいて、バグは「機会損失」や「ユーザーの不満」を引き起こす。しかし、アルゴリズム取引システムにおいて、バグ は「機会損失」に留まらない。それは「即時の、かつ壊滅的な資本の破壊」を意味する。取引アルゴリズムのバグは、それ自体が能動的な金融負債として機能する。
したがって、DORAが示す「安定性の向上」 11 というCIの利点は、金融ドメインにおいて指数関数的に増幅される。AI MQLにとって「盾」は単なるコストセンターではなく、資本を防衛し、獲得したアルファを維持するための、最も重要なP&L(損益)ドライバーなのである。
第2部:最強の「盾」を鍛造する:AI MQLのCI/CDパイプライン
2.1. 規律の礎:Gitによるバージョン管理
AI MQLにおける全てのコード資産、すなわちEA、インジケータ、スクリプト、ライブラリは、Gitによる厳格なバージョン管理下にある。第1.1節で述べた通り、MQLコミュニティにおいてはこのプラクティス自体が標準ではない 4 が、金融機関としての説明責任(Accountability)と追跡可能性(Traceability)を担保する上で、これは譲ることのできない第一歩である。
2.2. 自動化された品質GRT−ト:MQLUnitによるユニットテスト
MQLコミュニティでは、複雑なExpert Advisor (EA) のデバッグとテストの非効率性が、長年にわたり重大な課題として認識されてきた 12。この課題に対し、AI MQLは nschlimm/MQL5Unit 16 や MQLLAB/MQLUNIT 18 といったオープンソース・フレームワークを基盤とし、独自の厳格なテスト規律を確立している。
MQLUnitのアーキテクチャを理解する上で最も重要な設計思想は、それが「ストラテジーテスター上でEAスクリプトとして実行される」という点にある 19。
なぜMQLUnitは、JUnit 13 やCppUnit 18 のように、純粋なロジックとしてテストを実行しないのであろうか。その理由は、MQLプログラムのドメイン固有の性質にある。MQLコードは、単なる純粋なロジック(例:MathAbs() 20)の集合体ではない。それは、OnTick() や OnCalculate() 21 といったプラットフォームからのイベントに駆動され、iMA() や CopyBuffer() 19 といったプラットフォームの状態(市場データ)に強く依存する「状態機械(State Machine)」である。
MQLコードを、それが動作すべきMetaTraderプラットフォームのコンテキスト(市場シミュレーション)から切り離してテストすることは、本質的に無意味である。MQLUnitのアーキテクチャ 19 は、MetaTraderプラットフォームが提供する唯一のシミュレーション環境であるストラテジーテスターを「テストハーネス」として利用する、極めて合理的かつドメイン固有の適応なのである。
AI MQLのテストスイートは、Setup(テスト環境の初期化、例:インジケータのロード)、UnitTest(ロジックの検証、例:AssertTrueによる表明)、TearDown(リソースの解放、例:オブジェクトのクリーンアップ)という、厳格なライフサイクルに従って実行される 17。
2.3. パイプラインの心臓部:JenkinsとMT5テスターの自動連携
AI MQLのCI/CDパイプラインは、以下のプロセスによって自動化されている。
- 開発者がGitリポジトリにコード変更をプッシュする。
- Jenkins 5 またはGitLab CI 6 のパイプラインが自動的にトリガーされる。
- CIサーバーが、MetaTrader 5の実行ファイル terminal64.exe をヘッドレス(UIなし)で起動する。このオーケストレーションは、Pythonスクリプト 25 またはバッチスクリプト 25 によって制御される。
この自動化の核心は、terminal64.exe に渡されるコマンドラインパラメータ、または専用の .ini 設定ファイルにある 27。
MQL5のCI/CDを実現可能にするには、二つの技術的な鍵が存在する。第一の鍵は、terminal64.exe がコマンドラインインターフェース 25 を持ち、外部からの自動起動が可能であること。そして第二の鍵は、CIジョブがタスクの完了を認識し、次のステップに進むためのメカニズムである。
MT5はGUIベースのプラットフォームであり、テストが完了してもプロセスは通常終了しない。CIサーバー(Jenkins)は、terminal64.exe プロセスが終了するのを待ち続けるため、パイプラインは永久にハングアップしてしまう。この問題を解決する、地味だが決定的に重要な技術要素こそが、.ini 設定ファイル内の TestShutdownTerminal=true というフラグである 27。
このフラグは、ストラテジーテスターがテスト完了後に terminal64.exe プロセス自体を自動的に終了させるよう指示する。これにより、CIジョブはプロセスの正常終了を検知し、制御をパイプラインの次のステップ(例:TestReport 27 として出力されたテスト結果の解析と成果物(Artifact)としてのアーカイブ)に進めることができる。AI MQLの自動化ノウハウは、まさにこの連携の自動化と、MQLUnitのテスト結果ログをパースしてビルドのPass/Failを決定するロジックにある。
【表1:MT5ストラテジーテスター自動実行のための.ini設定】
| パラメータ | AI MQLのCI/CDにおける役割と解説 | 引用元 |
| TestExpert | 実行するMQLUnitテストスイート(EAスクリプトとしてパッケージ化)を指定する。 | 27 |
| TestExpertParameters | テストスイートに渡す外部パラメータ(例:テスト対象のEAの input 変数)を指定する。 | 27 |
| TestSymbol / TestPeriod | テストを実行する市場コンテキスト(例:EURUSD, H1)を定義し、テストの再現性を担保する。 | 27 |
| TestModel | テストの粒度(例:0 = Every tick)を定義し、ロジックの実行精度を保証する。 | 27 |
| TestReport | MQLUnitのテスト結果(Pass/Fail、アサーション違反)を出力するHTMLファイル。CIサーバーはこれを「成果物」としてアーカイブする。 | 27 |
| TestShutdownTerminal | [最重要] true に設定。テスト完了後、terminal64.exe プロセスを自動終了させ、CIジョブに制御を戻す。これがMQL CI/CDの技術的要諦である。 | 27 |
第3部:プロジェクト事例に見る「盾」の実践
3.1. ケーススタディ1:MQL4からMQL5へのレガシーマイグレーション
多くの金融資産が、MQL4で書かれたレガシーコードに依存している 29。しかし、MQL4とMQL5の間には根本的な非互換性が多数存在し 30、MQL5への移行 33 は極めて高リスクなプロジェクトとなる。
主な技術的トラップ(落とし穴)は以下の通りである:
- 時系列インデックスの反転: MQL4では、Open のようにインデックス 0 が「最新」のバーを指す。対照的に、MQL5のインジケータバッファはデフォルトでインデックス 0 が「最古」のデータを指す 21。
- データアクセス関数の置換: Open, High, Close といった事前定義された時系列配列はMQL5では廃止され、CopyOpen(), CopyHigh(), CopyClose() といった関数による明示的なデータコピーが必要となった 34。
- 関数シグネチャの変更: 例えば SetIndexBuffer 関数は、MQL5ではバッファに格納するデータ型(double など)を明示的に指定するようシグネチャが変更された 21。
これらの移行作業において、CI/CDパイプラインはなぜ「唯一の」解となるのか。例として、「時系列インデックスの反転」 21 というバグを考える。
開発者がMQL4コードをMQL5に「移植」する際、構文エラー(例:Open の使用)はMetaEditorコンパイラが検出する。しかし、開発者が Open を MyBuffer に(一見正しく)書き換えた場合、コンパイルは成功する。
問題は、Open が「10本前のバー」を意味するのに対し、MyBuffer は「10本目の(古い)バー」を意味する可能性があることである。プログラムは、逆さまの時系列データに基づいて取引ロジックを実行する。これは、意図したロジックと完全に逆の(そして壊滅的な)取引判断を引き起こす「サイレント・キラー」バグである。
この種のセマンティック・リグレッション(意味論的な後退)は、コンパイラでは検出不可能であり、手動テスト(目視確認)では見落とされる可能性が極めて高い。これを防ぐ唯一の信頼できる方法は、AI MQLが第2部で構築した「CI/CDの盾」である。MQLUnitの回帰テストスイート 19 が、「特定の既知のチャートデータにおいて、20期間移動平均線の値が、期待される既知の値と一致すること」を毎回のコミットで自動的にアサーション(表明)することによってのみ、このリスクは管理可能となる。
【表2:MQL4 vs MQL5 主要な技術的移行課題(リグレッション・トラップ)】
| 概念 | MQL4 (旧仕様) | MQL5 (新仕様) | AI MQLの「盾」による防御 |
| 時系列インデックス | 配列の 0 インデックスが「最新のバー」を指す。 | デフォルトで 0 インデックスが「最古のバー」を指す。21 | MQLUnit 19 が「特定のバーにおけるインジケータの期待値」をアサートし、インデックス反転バグを即座に検出する。 |
| データアクセス | Open, Close などの事前定義配列。 34 | CopyOpen(), CopyClose() 関数による明示的な配列コピーが必要。34 | CIパイプライン 5 が、データコピーの失敗やオフバイワンエラー(配列外参照)をユニットテストで即座に検出する。 |
| 主要関数 | MarketInfo() 34 | SymbolInfoDouble(), SymbolInfoTick() などに細分化。34 | MQLUnit 19 が、旧関数の振る舞いを模倣したラッパー関数をテストし、完全な互換性をアサーションレベルで保証する。 |
3.2. ケーススタディ2:gRPCによる次世代分散型取引システム
AI MQLのアーキテクチャは、MQL5をモノリシックなEAとして利用するだけに留まらない。MQL5は、Python 35 やC# 37 といった外部システムとの高度な連携が可能である。
AI MQLは、MQL5と外部システム(例:Pythonで記述された機械学習推論サーバー、C#で記述された中央集権的なリスク管理ダッシュボード)間の通信プロトコルとして、一般的なREST APIではなく、gRPC (Google Remote Procedure Call) 39 を選択した。
その理由は、gRPCが持つ圧倒的なパフォーマンスと低遅延性にある。gRPCはHTTP/2をベースにしており、プロトコルバッファ (Protobufs) による極めて高速なシリアライズ(データ変換)を実現する 40。金融 40 やオンラインゲーム 40 のような、1ミリ秒の遅延がビジネスの勝敗を分けるリアルタイム・データストリーミング環境 41 において、gRPCの双方向ストリーミング機能 42 は決定的な優位性を持つ。
このgRPCを採用した分散型アーキテクチャ 39 において、MQL5の役割は根本的に変化する。MQL5は、全てのロジックを内包する「脳」から、取引執行と市場データ受信に特化した「高速な手足(エージェント)」へとその役割を変える。真の「脳」(複雑な機械学習の推論やポートフォリオレベルのリスク計算)は、PythonやC#といった、より強力な言語で記述された外部のマイクロサービス 39 が担当する。
このアーキテクチャにおける最大のリスクは、モノリシックなEAの内部バグではなく、コンポーネント(マイクロサービス)間の「契約(Contract)」の破壊である。例えば、PythonのgRPCサーバーがレスポンス(例:OrderResponse)のフィールド名をpriceからexecution_priceに変更した場合、MQL5クライアント(EA)は即座に機能不全に陥る。
したがって、AI MQLの「盾」は、MQLUnit 19 によるMQLコードのテスト(単体テスト)に留まらない。CI/CDパイプラインは、gRPCの .proto ファイル(「契約」の定義)の文法テスト、モックサーバーに対するMQL5クライアントのテスト(インテGRT−ションテスト)、そしてステージング環境におけるPythonサーバーとMQL5エージェントのE2E(End-to-End)テストまで、システム全体を防御する「盾」へと拡大・進化しているのである。
第4部:「盾」が「矛」を生み出す:品質保証とビジネス価値の連関
4.1. バグ90%削減の経済合理性:The Rule of Ten
AI MQLは、本レポートで詳述したCI/CDという「盾」の導入により、リリース後に発見される致命的なバグの数を90%削減することに成功した。
この成果の経済的価値は、ソフトウェア工学における「Rule of Ten(10倍ルール)」 44 によって合理的に説明される。この法則は、バグの修正コストが、発見が遅れるほど指数関数的に増大することを示している。IBMなどの研究によれば、ユニットテスト段階(開発初期)での修正コストを「1」とすると、システムテストでは「10」、受入テストでは「100」、そして本番リリース後に発見された場合のコストは「1,000」以上に達する 44。このコストには、直接的な修正費用だけでなく、機会損失、そしてアルゴリズム取引の場合は顧客(ファンド)の資本損失と信頼の失墜が含まれる。
AI MQLの「90%バグ削減」というメトリクスが意味するのは、本番環境で「1,000」のコストを支払うはずだった致命的なバグを、開発初期のユニットテスト段階(CIパイプライン)で「1」のコストで体系的に捕捉 44 しているという事実である。
これは誇張されたマーケティング文句ではない。CI/CDパイプラインの導入 11 と「10倍ルール」 44 の原則に従い、開発プロセスを「シフトレフト」(品質保証のプロセスを開発サイクルのより早期に移行させること)させたことによる、必然的な経済的帰結である。事実、Capital Oneのような先進的な金融機関は、Jenkins 5 などのツールを導入したCI/CDパイプラインにより、デプロイ時間を90%削減したと報告されている 45。また、CIの導入が欠陥検出率を大幅に向上させる 46 ことは、複数の業界レポートによって裏付けられている。
4.2. 規制コンプライアンスという「盾」
アルゴリズム取引は、もはや開発者が自由にコードを書ける「無法地帯」ではない。それは、厳格な規制監督下にある金融活動である 9。AI MQLの「盾」は、この法的責任に対する具体的な回答でもある。
欧州証券市場監督局 (ESMA) が定める MiFID II (金融商品市場指令II) の Article 48(6) および RTS 7 は、取引参加者に対し、自社のアルゴリズムが「無秩序な取引条件 (disorderly trading conditions)」を引き起こさないことを保証するため、「適切なテスト (appropriate testing)」と「テストを容易にする環境 (environments to facilitate such testing)」を整備することを法的に義務付けている 49。
同様に、米国の金融業規制機構 (FINRA) も、Notice 15-09 51 において、厳格な「ソフトウェアテストとシステム検証 (Software Testing and System Validation)」を求めている。特に「本番環境から隔離された開発環境」でのテスト実施を強く推奨しており、これがコンプライアンスの要件となっている 51。
ここで、AI MQLが第2部で構築したCI/CDパイプライン(Jenkins 5 + MQLUnit 19 + MT5 CLI自動化 25)のアーキテクチャを想起されたい。それは、まさに「コミット毎に自動実行される、本番から隔離された、無秩序な取引条件(例:フラッシュクラッシュ、極端なボラティリティ)をシミュレートし検証するためのテスト環境」そのものである。
AI MQLの「盾」は、単なる業界のベストプラクティス 11 ではない。それは、MiFID II 50 やFINRA 51 が金融機関に対して要求する、法的・倫理的義務を果たすための具体的なコンプライアンス・ソリューションである。我々は、クライアント(ヘッジファンドやアセットマネジメント企業)のコンプライアンス部門や監査部門に対し、このパイプライン全体を、透明性の高い技術的監査証跡(Audit Trail)として提示することが可能である。
【表3:アルゴリズム取引におけるCI/CDと規制コンプライアンスの対応】
| 規制機関 | ドキュメント | 要求事項 | AI MQLが提供するコンプライアンス・ソリューション(=「盾」) |
| ESMA (EU) | MiFID II, Article 48(6) 49 RTS 7 50 | 「無秩序な取引条件」を防ぐための「適切なテスト」と「テスト環境」の義務化。 | Jenkins/GitLab CI 5 とMT5 CLI 25 による、隔離された自動テスト環境の体系的な提供。 |
| FINRA (US) | Notice 15-09 51 | 「ソフトウェアテストとシステム検証」。 「本番環境から隔離された」テストの厳格な実施。 | MQLUnit 19 による厳格な自動ユニットテストとリグレッションテストの実施、およびその全記録のアーカイブ。 |
| Global | Model Risk Management 9 CFA Institute 52 | モデルリスク管理、テスト、デプロイメントの厳格な管理とガバナンス。 | Gitによる全変更履歴の追跡、MQLUnit 19 によるモデルの論理的検証、CIパイプラインによるデプロイプロセスの自動化と統制。 |
4.3. 結論:AI MQLが提供する「規律」という名の価値
「矛」(アルファ)の追求は、時に「盾」(品質)を軽視する誘惑を生む。しかし、アルゴリズム取引の歴史(例:2012年のKnight Capitalの大規模損失)において、壊滅的な破綻は常に「矛」の戦略的失敗ではなく、「盾」(品質保証、テストプロセス、デプロイメント手順)の致命的な欠如によって引き起こされてきた。
AI MQLがクライアントに真に提供する価値は、優れたアルゴリズム(矛)だけではない。それを支える、業界最高水準の堅牢な開発プロセスと、自動化された品質保証(盾)である 11。
我々はこの「規律」こそが、「10倍ルール」 44 の悪夢的なコストからクライアントの資本を守り、MiFID II 50 やFINRA 51 といった規制当局の厳格な要求に応え、そしてアルゴリズム取引という事業において長期的なビジネス価値を生み出す唯一の道であると確信するものである。
引用
- Git is needlessly complicated : r/unpopularopinion – Reddit 2025/11/15 参照 https://www.reddit.com/r/unpopularopinion/comments/1az7reh/git_is_needlessly_complicated/
- Does every new dev struggle with git? : r/embedded – Reddit 2025/11/15 参照 https://www.reddit.com/r/embedded/comments/1eg8xpg/does_every_new_dev_struggle_with_git/
- Are there any serious plans to upgrade MetaEditor to a professional … 2025/11/15 参照 https://www.mql5.com/en/forum/487540
- Discussing the article: “GIT: What is it?” – Leverage – Articles, Library … 2025/11/15 参照 https://www.mql5.com/en/forum/470097
- Configuring Jenkins CI/CD pipelines – Graphite 2025/11/15 参照 https://graphite.com/guides/in-depth-guide-ci-cd-jenkins
- GitLab CI/CD Test Automation Pipeline & Reporting – Testmo 2025/11/15 参照 https://www.testmo.com/guides/gitlab-ci-test-automation/
- Quality Assurance on Algorithmic Trading Strategies – Journal of Scientific and Engineering Research 2025/11/15 参照 https://jsaer.com/download/vol-11-iss-1-2024/JSAER2024-11-1-286-289.pdf
- Using algorithmic trading to analyze short term profitability of Bitcoin – PeerJ 2025/11/15 参照 https://peerj.com/articles/cs-337/
- Statement of Good Practice for the application of a model risk management framework to electronic trading algorithms – Financial Markets Standards Board 2025/11/15 参照 https://fmsb.com/wp-content/uploads/2025/04/Model-Risk-Electronic-Trading-Algorithm_FINAL-05.04.pdf
- (PDF) Software Testing Framework for the Financial Market – ResearchGate 2025/11/15 参照 https://www.researchgate.net/publication/381635564_Software_Testing_Framework_for_the_Financial_Market
- Capabilities: Continuous Integration – DORA 2025/11/15 参照 https://dora.dev/capabilities/continuous-integration/
- Enhancing the Quality of the Code with the Help of Unit Test – MQL4 Articles – MQL5 2025/11/15 参照 https://www.mql5.com/en/articles/1579
- Unit testing framework – MQL4 programming forum – MQL5 2025/11/15 参照 https://www.mql5.com/en/forum/126639
- Running UnitTests in MT5. – MT4 – General – MQL5 programming forum 2025/11/15 参照 https://www.mql5.com/en/forum/228133
- Unit Testing – Feedback requested – MQLUNIT vs mt4-unittest 2025/11/15 参照 https://www.mql5.com/en/forum/361885
- Scripts: MQLUnit – Unit Tests Framework For Complex Expert Advisors – Articles, Library comments – MQL5 programming forum 2025/11/15 参照 https://www.mql5.com/en/forum/360627
- nschlimm/MQL5Unit: Tiny unit test Framework for MQL5 … – GitHub 2025/11/15 参照 https://github.com/nschlimm/MQL5Unit
- MQLLAB/MQLUNIT: Object-oriented unit testing framework for MetaTarder 4 MQL4 inspired by JUnit3 and CppUnit. – GitHub 2025/11/15 参照 https://github.com/MQLLAB/MQLUNIT
- Free download of the ‘MQLUnit – Tiny Unit Tests Framework … – MQL5 2025/11/15 参照 https://www.mql5.com/en/code/33089
- mql_unit_test package is a simple instrument for unit testing for mql language. – GitHub 2025/11/15 参照 https://github.com/vivazzi/mql_unit_test
- Moving from MQL4 – MQL5 Reference 2025/11/15 参照 https://www.mql5.com/en/docs/migration
- Download top scripts for MetaTrader 5 in MQL5 Code Base for free 2025/11/15 参照 https://www.mql5.com/en/code/mt5/scripts/best/page8
- Pipeline as Code with Jenkins 2025/11/15 参照 https://www.jenkins.io/solutions/pipeline/
- Tutorial: Create and run your first GitLab CI/CD pipeline 2025/11/15 参照 https://docs.gitlab.com/ci/quick_start/
- Metatrader 5 command line backtesting – Strategy Tester – Expert … 2025/11/15 参照 https://www.mql5.com/en/forum/462397
- How to automate optimizations in MT5 strategy tester – YouTube 2025/11/15 参照 https://www.youtube.com/watch?v=aUiLM3cang8
- Starting strategy tester through command line parameters? – MQL5 2025/11/15 参照 https://www.mql5.com/en/forum/127577
- How to control/automate MT5 Backtesting by using Window Command – MQL5 2025/11/15 参照 https://www.mql5.com/en/forum/465835
- MT4 or MT5. Now MQL4 documentation page not working. – MT4 – General – MQL5 programming forum 2025/11/15 参照 https://www.mql5.com/en/forum/483341
- what is the problems when you convert Mql4 to Mql5 2025/11/15 参照 https://www.mql5.com/en/forum/385557
- MQL4 to MQL5 translation desk – Forex Factory 2025/11/15 参照 https://www.forexfactory.com/thread/631868-mql4-to-mql5-translation-desk
- It appears the MQL5 / MT5 is an epic fail. – MT5 – MQL4 and MetaTrader 4 2025/11/15 参照 https://www.mql5.com/en/forum/141758
- How to Migrate from MT4 to MT5 | Step-by-Step Guide – tastyfx 2025/11/15 参照 https://www.tastyfx.com/platforms/metatrader-5/how-to-migrate-mt4-to-mt5/
- Migrating from MQL4 to MQL5 – MQL5 Articles 2025/11/15 参照 https://www.mql5.com/en/articles/81
- Python Integration – MQL5 Reference 2025/11/15 参照 https://www.mql5.com/en/docs/python_metatrader5
- MQL5 Integration: Python – MQL5 Articles 2025/11/15 参照 https://www.mql5.com/en/articles/14135
- SDET: Exploring gRPC Testing: Practical Examples with Postman, C# and Python clients 2025/11/15 参照 https://medium.com/@dneprokos/sdet-exploring-grpc-testing-practical-examples-with-postman-c-and-python-clients-f1a29f91e3eb
- GRPC: Sending messages from Python to C#, best method? – Stack Overflow 2025/11/15 参照 https://stackoverflow.com/questions/67237330/grpc-sending-messages-from-python-to-c-best-method
- What is gRPC? Use Cases and Benefits – Kong Inc. 2025/11/15 参照 https://konghq.com/blog/learning-center/what-is-grpc
- gRPC use cases – ByteSizeGo 2025/11/15 参照 https://www.bytesizego.com/blog/grpc-use-cases
- 4 ways enterprise architects are using gRPC in the real world – Red Hat 2025/11/15 参照 https://www.redhat.com/en/blog/grpc-use-cases
- Practical/real-life use-cases for gRPC : r/dotnet – Reddit 2025/11/15 参照 https://www.reddit.com/r/dotnet/comments/r2ekfj/practicalreallife_usecases_for_grpc/
- The Importance of gRPC Monitoring for High-Performance Systems – Groundcover 2025/11/15 参照 https://www.groundcover.com/blog/grpc-monitoring
- Rule of Ten: How To Cut Your Software Development Costs 2025/11/15 参照 https://www.code-intelligence.com/blog/rule-of-ten
- DevOps Case Studies – DEV Community 2025/11/15 参照 https://dev.to/rainleander/devops-case-studies-c47
- Continuous Integration Impact on Software Development Quality – Journal of Sustainability, Policy, and Practice 2025/11/15 参照 https://schoalrx.com/index.php/jspp/article/download/27/25
- Electronic trading – Keeping up with the risk at capital markets firms – SIFMA 2025/11/15 参照 https://www.sifma.org/wp-content/uploads/2018/03/EY_MarketingPDF_CLA18.pdf
- Standard II(B) Market Manipulation – CFA Institute 2025/11/15 参照 https://www.cfainstitute.org/standards/professionals/code-ethics-standards/standards-of-practice-ii-b
- Consultation Paper – | European Securities and Markets Authority 2025/11/15 参照 https://www.esma.europa.eu/sites/default/files/library/esma-70-156-2368_mifid_ii_consultation_paper_on_algorithmic_trading.pdf
- MiFID II Review Report – | European Securities and Markets Authority 2025/11/15 参照 https://www.esma.europa.eu/sites/default/files/library/esma70-156-4572_mifid_ii_final_report_on_algorithmic_trading.pdf
- Regulatory Notice 15-09 | FINRA.org 2025/11/15 参照 https://www.finra.org/rules-guidance/notices/15-09
- Trade Strategy and Execution | CFA Institute 2025/11/15 参照 https://www.cfainstitute.org/insights/professional-learning/refresher-readings/2025/trade-strategy-execution