MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
外国為替におけるポートフォリオ最適化:VaRとマーコウィッツ理論の統合

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

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

取引におけるトレンド基準

トレンドは多くの取引戦略において重要な要素です。本記事では、トレンドを識別するために使用されるいくつかのツールとその特性にを見ていきます。トレンドを理解し正しく解釈することは、取引効率を大幅に高め、リスクを最小限に抑えることにつながります。
preview
ログレコードをマスターする(第3回):ログを保存するためのハンドラの調査

ログレコードをマスターする(第3回):ログを保存するためのハンドラの調査

この記事では、ログライブラリのハンドラの概念を説明し、その仕組みを理解するとともに、コンソール、データベース、ファイルの3種類の基本的な実装を作成します。今後の記事に向けて、ハンドラの基本構造から実践的なテストまでを網羅し、完全な機能実装の基盤を整えます。
preview
MQL5での取引戦略の自動化(第19回):Envelopes Trend Bounce Scalping - 取引執行とリスク管理(その2)

MQL5での取引戦略の自動化(第19回):Envelopes Trend Bounce Scalping - 取引執行とリスク管理(その2)

この記事では、MQL5でEnvelopes Trend Bounce Scalping戦略の取引実行とリスク管理を実装します。注文の発注、ストップロスやポジションサイズなどのリスク制御をおこないます。最後に、第18回の基盤をもとにバックテストと最適化をおこないます。
preview
ラリー・ウィリアムズの『市場の秘密』(第1回):MQL5でスイングストラクチャーインジケーターを構築する

ラリー・ウィリアムズの『市場の秘密』(第1回):MQL5でスイングストラクチャーインジケーターを構築する

MQL5でラリー・ウィリアムズ式の市場構造インジケーターを構築するための実践的なガイドです。バッファの設定、スイングポイントの検出、チャートの設定、そしてトレーダーがテクニカル市場分析でこのインジケーターをどのように活用できるかについて解説します。
preview
リプレイシステムの開発(第31回):エキスパートアドバイザープロジェクト - C_Mouseクラス(V)

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

リプレイ/シミュレーションの終了まで残り時間を表示できるタイマーが必要です。これは一見、シンプルで迅速な解決策に見えるかもしれません。多くの人は、取引サーバーが使用しているのと同じシステムを適応して使用しようとするだけです。しかし、この解決策を考えるとき、多くの人が考慮しないことがあります。リプレイでは、そしてシミュレーションではなおさら、時計の動きは異なるということです。こうしたことが、このようなシステムの構築を複雑にしています。
preview
人工協調探索(ACS)アルゴリズム

人工協調探索(ACS)アルゴリズム

人工協調探索(ACS)は、バイナリ行列と、相互主義的関係と協調に基づく複数の動的な個体群を用いて、最適解を迅速かつ正確に探索する革新的な手法です。捕食者と被食者に対するACS独自のアプローチにより、数値最適化問題で優れた結果を出すことができます。
preview
GMDH (The Group Method of Data Handling):MQL5で多層反復アルゴリズムを実装する

GMDH (The Group Method of Data Handling):MQL5で多層反復アルゴリズムを実装する

この記事では、MQL5におけるGMDH (The Group Method of Data Handling)の多層反復アルゴリズム実装について説明します。
preview
知っておくべきMQL5ウィザードのテクニック(第20回):関数同定問題

知っておくべきMQL5ウィザードのテクニック(第20回):関数同定問題

関数同定問題は、研究対象のデータセットをマッピングする基本モデルがどのようなものであるかについて、最小限の仮定から始める回帰の形式です。ベイズ法やニューラルネットワークでも実装可能ですが、ここでは遺伝的アルゴリズムによる実装が、MQL5ウィザードで使用可能なExpertSignalクラスのカスタマイズにどのように役立つかを見ていきます。
preview
Candlestick Trend Constraintモデルの構築(第5回):通知システム(パート1)

Candlestick Trend Constraintモデルの構築(第5回):通知システム(パート1)

本連載で作成するTrend Constraint指標からのシグナル通知を受信するためのTelegramとWhatsAppの統合を説明するために、メインのMQL5コードを特定のコードスニペットに分解します。これにより、トレーダーや開発者(初心者か経験豊富かを問わず)が簡単にコンセプトを把握できるようになります。まず、MetaTrader 5の通知に関する設定と、ユーザーにとってのその意義について説明します。これは、開発者が自分のシステムにさらに応用するためのメモを事前に取るのに役立ちます。
preview
知っておくべきMQL5ウィザードのテクニック(第32回):正則化

知っておくべきMQL5ウィザードのテクニック(第32回):正則化

正則化とは、ニューラルネットワークのさまざまな層全体に適用される離散的な重み付けに比例して、損失関数にペナルティを与える形式です。様々な正則化形式について、ウィザードで組み立てたEAを使ったテスト実行で、この正則化が持つ重要性を見てみます。
preview
知っておくべきMQL5ウィザードのテクニック(第36回):マルコフ連鎖を用いたQ学習

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

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

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

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

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

Soft Actor Criticは、Actorネットワーク1つとCriticネットワーク2つ、合計3つのニューラルネットワークを用いる強化学習アルゴリズムです。これらのモデルは、CriticがActorネットワークの予測精度を高めるように設計された、いわばマスタースレーブの関係で連携します。本連載では、ONNXの導入も兼ねて、こうした概念を、ウィザード形式で構築されたエキスパートアドバイザー(EA)内のカスタムシグナルとしてどのように実装・活用できるかを探っていきます。
preview
ニューラルネットワークが簡単に(第73回):値動きを予測するAutoBot

ニューラルネットワークが簡単に(第73回):値動きを予測するAutoBot

引き続き、軌道予測モデルを訓練するアルゴリズムについて説明します。この記事では、「AutoBot」と呼ばれるメソッドを紹介します。
preview
PythonからMQL5へ:量子に着想を得た取引システムへの旅

PythonからMQL5へ:量子に着想を得た取引システムへの旅

この記事では、量子に着想を得た取引システムの開発について検討し、Pythonプロトタイプから実際の取引のためのMQL5実装への移行について説明します。このシステムは、量子シミュレーターを使用した従来のコンピューター上で実行されますが、重ね合わせや量子もつれなどの量子コンピューティングの原理を使用して市場の状態を分析します。主な機能には、8つの市場状態を同時に分析する3量子ビットシステム、24時間のルックバック期間、および市場分析用の7つのテクニカル指標が含まれます。精度率は控えめに思えるかもしれませんが、適切なリスク管理戦略と組み合わせると大きな優位性が得られます。
preview
リプレイシステムの開発 - 市場シミュレーション(第15回):シミュレーターの誕生(V) - ランダムウォーク

リプレイシステムの開発 - 市場シミュレーション(第15回):シミュレーターの誕生(V) - ランダムウォーク

この記事では、私たちのシステムのシミュレーターの開発を完成させます。ここでの主な目的は、前回の記事で説明したアルゴリズムを設定することです。このアルゴリズムは、ランダムウォークの動きを作り出すことを目的としています。したがって、今日の資料を理解するためには、過去の記事の内容を理解する必要があります。シミュレーターの開発をフォローしていない方は、この一連の流れを最初から読まれることをお勧めします。さもないと、ここで説明されることがわからなくなるかもしれません。
preview
ニューラルネットワークが簡単に(第86回):U字型Transformer

ニューラルネットワークが簡単に(第86回):U字型Transformer

時系列予測アルゴリズムの研究を続けます。この記事では、もう1つの方法であるU字型Transformerについて説明します。
preview
MQL5の圏論(第23回):二重指数移動平均の別の見方

MQL5の圏論(第23回):二重指数移動平均の別の見方

この記事では、前回に引き続き、日常的な取引指標を「新しい」視点で見ていくことをテーマとします。今回は、自然変換の水平合成を取り扱いますが、これに最適な指標は、今回取り上げた内容を拡大したもので、二重指数移動平均(DEMA)です。
preview
3Dバーによるトレンド強度・方向指標

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

市場マイクロストラクチャの3次元可視化とテンソル分析に基づく、新しい市場トレンド分析のアプローチを検討します。
preview
多通貨エキスパートアドバイザーの開発(第12回):プロップトレーディングレベルのリスクマネージャーの育成

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

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

価格変動:数理モデルとテクニカル分析

為替通貨ペアの価格変動を予測することは、トレーディング成功における重要な要素です。本記事では、さまざまな価格変動モデルを検討し、それぞれの利点と欠点を分析するとともに、実際のトレード戦略への応用可能性を探ります。また、隠れたパターンを特定し、予測精度を向上させるためのアプローチについても考察します。
preview
ラリー・ウィリアムズの『市場の秘密』(第2回):市場構造取引システムの自動化

ラリー・ウィリアムズの『市場の秘密』(第2回):市場構造取引システムの自動化

MQL5でラリー・ウィリアムズの市場構造の概念を自動化する方法を学びます。スイングポイントを読み取り、売買シグナルを生成し、リスクを管理し、動的なトレーリングストップ戦略を適用する完全なエキスパートアドバイザー(EA)を構築します。
preview
無政府社会最適化(ASO)アルゴリズム

無政府社会最適化(ASO)アルゴリズム

この記事では、無政府社会最適化(ASO)アルゴリズムに触れ、無政府社会(中央集権的な権力や様々な種類のヒエラルキーから解放された社会的相互作用の異常なシステム)の参加者の非合理的で冒険的な行動に基づくアルゴリズムが、解空間を探索し、局所最適の罠を回避できることを議論します。本稿では、連続問題にも離散問題にも適用可能な統一的なASO構造を提示します。
preview
知っておくべきMQL5ウィザードのテクニック(第48回):ビル・ウィリアムズのアリゲーター

知っておくべきMQL5ウィザードのテクニック(第48回):ビル・ウィリアムズのアリゲーター

ビル・ウィリアムズが考案したアリゲーターインジケーターは、明確なシグナルを生成し、他のインジケーターと組み合わせて使用されることが多い、多機能なトレンド識別インジケーターです。MQL5ウィザードのクラスとアセンブリを活用することで、パターンベースでさまざまなシグナルをテストできるため、このインジケーターも検討対象となります。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第8回):複数戦略分析

MQL5で自己最適化エキスパートアドバイザーを構築する(第8回):複数戦略分析

複数の戦略をどのように組み合わせれば、最も効果的に強力なアンサンブル戦略を構築できるでしょうか。本記事では、3種類の戦略を1つの取引アプリケーションに統合する方法について検討します。トレーダーは通常、ポジションのエントリーとクローズに特化した戦略を用いますが、私たちは機械がこのタスクをより優れた形で遂行できるかどうかを探ります。最初の議論として、ストラテジーテスターの機能と、本タスクで必要となるオブジェクト指向プログラミング(OOP)の原則に慣れていきます。
preview
MQL5での取引戦略の自動化(第11回):マルチレベルグリッド取引システムの開発

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

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

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

本日は、Last価格に基づくシミュレーションを妨げていた制限を取り除き、このタイプのシミュレーションに特化した新しいエントリポイントをご紹介します。操作の仕組みはすべて、FOREX市場の原理に基づいています。この手順の主な違いは、BidシミュレーションとLastシミュレーションの分離です。ただし、時間をランダム化し、C_Replayクラスに適合するように調整するために使用された方法は、両方のシミュレーションで同じままであることに注意することが重要です。これは良いことです。特にティック間の処理時間に関して、一方のモードを変更すれば、もう一方のモードも自動的に改善されるからです。
preview
時系列の非定常性の指標としての2標本コルモゴロフ–スミルノフ検定

時系列の非定常性の指標としての2標本コルモゴロフ–スミルノフ検定

この記事では、最も有名なノンパラメトリック同質性検定の1つである2標本のコルモゴロフ–スミルノフ検定について考察します。モデルデータと実際の相場の両方が分析されています。また、この記事では非定常性指標(iスミルノフ距離)の構築例も紹介しています。
preview
初級から中級へ:演算子

初級から中級へ:演算子

この記事では、主な演算子 について学んでいきます。このトピックは理解しやすいかもしれませんが、コードフォーマットに数式を含める際には非常に重要なポイントがいくつかあります。これらの細部を十分に理解していないと、経験の浅いプログラマーは最終的に自分で解決策を見つけることをあきらめてしまうかもしれません。
preview
取引におけるニューラルネットワーク:点群の階層的特徴量学習

取引におけるニューラルネットワーク:点群の階層的特徴量学習

点群から特徴量を抽出するアルゴリズムの研究を続けます。この記事では、PointNet手法の効率を高めるメカニズムについて解説します。
preview
機械学習を用いたフラクタルパターンの検出と分類

機械学習を用いたフラクタルパターンの検出と分類

本記事では、フラクタル解析と機械学習を用いた市場予測という興味深いテーマを取り上げます。これらは、金融価格チャート上に形成される多様なフラクタル構造を探究するための第一歩に過ぎません。本記事では、相関を用いてパターンを検出し、CatBoostアルゴリズムでそれらを分類します。
preview
多通貨エキスパートアドバイザーの開発(第5回):可変ポジションサイズ

多通貨エキスパートアドバイザーの開発(第5回):可変ポジションサイズ

前回開発中のエキスパートアドバイザー(EA)は、固定されたポジションサイズのみを使用して取引をおこなうことができました。これはテスト用には許容できますが、実際の口座で取引する場合にはお勧めできません。可変のポジションサイズで取引できるようにしましょう。
preview
多通貨エキスパートアドバイザーの開発(第7回):フォワード期間に基づくグループの選択

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

以前は、個々のインスタンスの最適化が実施されたのと同じ期間においてのみ、共同運用の結果を改善する目的で、取引戦略インスタンスグループの選択を評価しました。フォワード期間中に何が起こるか見てみましょう。
preview
Numbaを使用したPythonの高速取引ストラテジーテスター

Numbaを使用したPythonの高速取引ストラテジーテスター

この記事では、Numbaを使った機械学習モデルのための高速ストラテジーテスターを実装しています。純粋なPythonのストラテジーテスターと比べて50倍速く動作します。このライブラリを使って特にループを含む数学計算を高速化することを推奨しています
preview
Connexusのリクエスト(第6回):HTTPリクエストとレスポンスの作成

Connexusのリクエスト(第6回):HTTPリクエストとレスポンスの作成

Connexusライブラリ連載第6回目では、HTTPリクエストの構成要素全体に焦点を当て、リクエストを構成する各コンポーネントを取り上げます。そして、リクエスト全体を表現するクラスを作成し、これまでに作成したクラスを統合します。
preview
知っておくべきMQL5ウィザードのテクニック(第14回):STFによる多目的時系列予測

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

データのモデリングに「空間」と「時間」の両方の測定基準を使用する空間的時間的融合は、主にリモートセンシングや、私たちの周囲をよりよく理解するための他の多くの視覚ベースの活動で有用です。発表された論文のおかげで、トレーダーへの可能性を検証することで、その活用に斬新なアプローチを取ります。
preview
FX裁定取引:合成通貨の動きとその平均回帰の分析

FX裁定取引:合成通貨の動きとその平均回帰の分析

本記事では、PythonおよびMQL5を用いて合成通貨の動きを分析し、現在のFX裁定取引の実現可能性について検討します。また、合成通貨を分析するための既製Pythonコードを紹介するとともに、FXにおける合成通貨の概念についても詳しく解説します。
preview
プロップファームチャレンジをクリアするための自動リスク管理

プロップファームチャレンジをクリアするための自動リスク管理

本記事では、GOLD向けのプロップファーム用エキスパートアドバイザー(EA)の設計について解説します。このEAは、ブレイクアウトフィルター、マルチタイムフレーム分析、堅牢なリスク管理、そして厳格なドローダウン制御を特徴としています。ルール違反を回避し、ボラティリティの高い市場環境下でも安定した取引実行を維持することで、トレーダーがプロップファームのチャレンジをクリアするのを支援します。
preview
リプレイシステムの開発(第35回):調整(I)

リプレイシステムの開発(第35回):調整(I)

前に進む前に、いくつかのことを解決する必要があります。これらは実際には必要な修正ではなく、クラスの管理方法や使用方法の改善です。その理由は、システム内の何らかの相互作用によって障害が発生したということです。このような失敗をなくすために原因を突き止めようと試みましたが、すべて失敗に終わりました。例えば、C/C++でポインタや再帰を使用すると、プログラムがクラッシュしてしまいます。