MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
MetaTraderのMultibot:1つのチャートから複数のロボットを起動させる

MetaTraderのMultibot:1つのチャートから複数のロボットを起動させる

今回は、個々のチャートにロボットの各インスタンスを設定する必要がなく、1つのチャートにのみ接続された状態で複数のチャートで使用できる汎用MetaTraderロボットを作成するための簡単なテンプレートについて考えてみます。
preview
カスタムインジケーター:ネット口座の部分的なエントリー、エグジット、リバーサル取引のプロット

カスタムインジケーター:ネット口座の部分的なエントリー、エグジット、リバーサル取引のプロット

この記事では、MQL5でインジケーターを作成する非標準的な方法について説明します。トレンドやチャートパターンに注目するのではなく、部分的なエントリーやエグジットを含めた独自のポジション管理を目的とします。取引履歴やポジションに関連する動的マトリックスと、いくつかの取引機能を広範に活用し、これらの取引がおこなわれた場所をチャート上に表示します。
MQL5でICQを用いたExpert Advisorの連携
MQL5でICQを用いたExpert Advisorの連携

MQL5でICQを用いたExpert Advisorの連携

本稿は、Expert Advisor と ICQ ユーザー間の情報交換について述べていきます。いくつかの例を提供します。ICQ クライアントを使用し、携帯電話やPDAでクライアント端末から遠隔でトレーディング情報を受け取りたい方には興味を引かれる資料を提供することとなるでしょう。
preview
エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第1部):オシレーター

エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第1部):オシレーター

この記事では、オシレーターカテゴリから標準的な指標を検討します。パラメータの宣言と設定、指標の初期化と初期化解除、EAの指標バッファからのデータとシグナルの受信など、EAですぐに使用できるテンプレートを作成します。
preview
取引におけるニューラルネットワーク:時系列の区分線形表現

取引におけるニューラルネットワーク:時系列の区分線形表現

本記事は、これまでの公開記事とはやや異なる内容となっています。本記事では、時系列データの代替的な表現について解説します。時系列の区分的線形表現とは、小さな区間ごとに線形関数を用いて時系列データを近似する手法です。
preview
ウィリアムズPRによる取引システムの設計方法を学ぶ

ウィリアムズPRによる取引システムの設計方法を学ぶ

MetaTrader 5で使用される最も人気のあるテクニカル指標によってMQL5で取引システムを設計する方法を学ぶ連載の新しい記事です。今回は、ウィリアムズの%R指標による取引システムの設計方法について学びます。
preview
ニュース取引が簡単に(第3回):取引の実施

ニュース取引が簡単に(第3回):取引の実施

この記事では、ニュース取引エキスパートアドバイザー(EA)で、データベースに保存されている経済指標カレンダーに基づいて取引を開始します。さらに、EAのグラフィックを改善し、今後の経済指標カレンダーイベントに関するより適切な情報を表示する予定です。
preview
MFIによる取引システムの設計方法を学ぶ

MFIによる取引システムの設計方法を学ぶ

最も人気のあるテクニカル指標に基づいて取引システムを設計する連載のこの新しい記事では、新しくマネーフローインデックス(Money Flow Index、MFI)テクニカル指標を考察します。その詳細を学び、MQL5によって簡単な取引システムを開発し、MetaTrader 5で実行します。
preview
データサイエンスと機械学習(第09回):K近傍法(KNN)

データサイエンスと機械学習(第09回):K近傍法(KNN)

これは、訓練データセットから学習しない遅延アルゴリズムです。代わりにデータセットを保存し、新しいサンプルが与えられるとすぐに動作します。シンプルでありながら、実世界でさまざまなケースに応用されています。
preview
ニューラルネットワークが簡単に(第33部):分散型Q学習における分位点回帰

ニューラルネットワークが簡単に(第33部):分散型Q学習における分位点回帰

分散型Q学習の研究を続けます。今日は、この方法を反対側から見てみましょう。価格予測問題を解決するために、分位点回帰を利用する可能性を検討します。
preview
DoEasyライブラリのグラフィックス(第100部):拡張された標準グラフィックオブジェクトの処理を改善する

DoEasyライブラリのグラフィックス(第100部):拡張された標準グラフィックオブジェクトの処理を改善する

現在の記事では、拡張(および標準)グラフィックオブジェクトとキャンバス上のフォームオブジェクトの同時処理における明らかな欠陥を排除し、前の記事で実行されたテスト中に検出されたエラーを修正します。ライブラリの説明のこのセクションは本稿で締めくくります。
preview
ニューラルネットワークが簡単に(第32部):分散型Q学習

ニューラルネットワークが簡単に(第32部):分散型Q学習

この連載で前回Q学習法を紹介しました。この手法は、各行動の報酬を平均化するものです。2017年には、報酬分布関数を研究する際に、より大きな成果を示す2つの研究が発表されました。そのような技術を使って、私たちの問題を解決する可能性を考えてみましょう。
preview
パターン検索への総当たり攻撃アプローチ(第VI部):循環最適化

パターン検索への総当たり攻撃アプローチ(第VI部):循環最適化

この記事では、MetaTrader 4および5の取引の自動化チェーン全体を完成するだけでなく、より興味深いことができるようになった改善の最初の部分を示します。今後、このソリューションにより、EAの作成と最適化の両方を完全に自動化し、効果的な取引構成を見つけるための人件費を最小限に抑えることができます。
preview
独自のLLMをEAに統合する(第3部):CPUを使った独自のLLMの訓練

独自のLLMをEAに統合する(第3部):CPUを使った独自のLLMの訓練

今日の人工知能の急速な発展に伴い、言語モデル(LLM)は人工知能の重要な部分となっています。私たちは、強力なLLMをアルゴリズム取引に統合する方法を考える必要があります。ほとんどの人にとって、これらの強力なモデルをニーズに応じて微調整し、ローカルに展開して、アルゴリズム取引に適用することは困難です。本連載では、この目標を達成するために段階的なアプローチをとっていきます。
preview
データサイエンスと機械学習(第29回):AI訓練に最適なFXデータを選ぶための重要なヒント

データサイエンスと機械学習(第29回):AI訓練に最適なFXデータを選ぶための重要なヒント

この記事では、AIモデルのパフォーマンスを向上させるために、最も適切で高品質なFXデータを選択するための重要な側面について深く掘り下げます。
preview
データサイエンスと機械学習(第12回):自己学習型ニューラルネットワークは株式市場を凌駕することができるのか?

データサイエンスと機械学習(第12回):自己学習型ニューラルネットワークは株式市場を凌駕することができるのか?

常に株式市場を予測しようとするのにお疲れでないでしょうか。より多くの情報に基づいた投資判断をするための水晶玉があったらとお思いでしょうか。自己学習型ニューラルネットワークは、あなたが探していたソリューションかもしれません。この記事では、これらの強力なアルゴリズムが、株式市場を凌駕する「波に乗る」のに役立つのかどうかを探ります。膨大な量のデータを分析し、パターンを特定することで、自己訓練されたニューラルネットワークは、しばしば人間のトレーダーよりも精度の高い予測をおこなうことができます。この最先端のテクノロジーを使って、利益を最大化し、よりスマートな投資判断をおこなう方法をご紹介します。
preview
モスクワ取引所(MOEX)の指値注文を使用した自動グリッド取引

モスクワ取引所(MOEX)の指値注文を使用した自動グリッド取引

この記事では、MOEXでの作業を目的としたMetaTrader 5用のMQL5エキスパートアドバイザー(EA)の開発について考察します。EAは、MetaTrader 5ターミナルを使用して、グリッド戦略に従いながらMOEXで取引することになります。EAには、ストップロスとテイクプロフィットによるポジションの決済、および特定の市況での未決注文の削除が含まれます。
preview
外国為替市場の季節性から利益を得る

外国為替市場の季節性から利益を得る

例えば、冬になると新鮮な野菜の値段が上がったり、霜が降りると燃料の値段が上がったりすることはよく知られていますが、同じようなパターンが外国為替市場にもあることを知っている人は少ないです。
グラフィカルインターフェイスX:レンダーテーブルの更新とコード最適化(ビルド10)
グラフィカルインターフェイスX:レンダーテーブルの更新とコード最適化(ビルド10)

グラフィカルインターフェイスX:レンダーテーブルの更新とコード最適化(ビルド10)

レンダーテーブル(CCanvasTable)に新しい機能を補完していきます。テーブルには、ホバー時の列の強調表示;、各セルにアイコンの配列を追加する機能とそれらを切り替えるメソッド、 実行時にセルテキストを設定または変更する機能などが含まれます。
preview
プライスアクション分析ツールキットの開発(第19回):ZigZag Analyzer

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

すべてのプライスアクショントレーダーは、トレンドを確認し、転換点や継続の可能性があるレベルを見つけるために、トレンドラインを手動で使用します。本連載では、市場分析を簡単にするために、傾斜トレンドラインを描画することに特化したツールを紹介します。このツールは、トレーダーが効果的なプライスアクション評価に不可欠な主要トレンドとレベルを明確に示すことで、分析プロセスを簡素化します。
DoEasyライブラリのグラフィックス(第83部): 抽象標準グラフィカルオブジェクトのクラス
DoEasyライブラリのグラフィックス(第83部): 抽象標準グラフィカルオブジェクトのクラス

DoEasyライブラリのグラフィックス(第83部): 抽象標準グラフィカルオブジェクトのクラス

本稿では、抽象グラフィカルオブジェクトのクラスを作成します。このオブジェクトは、標準のグラフィカルオブジェクトのクラスを作成するための基礎として機能します。グラフィカルオブジェクトには複数のプロパティがあるため、抽象グラフィカルオブジェクトクラスを実際に作成する前に、多くの準備作業が必要です。この作業には、ライブラリ列挙型のプロパティの設定が含まれます。
preview
データサイエンスと機械学習(第07回)::多項式回帰

データサイエンスと機械学習(第07回)::多項式回帰

線形回帰とは異なり、多項式回帰は、線形回帰モデルでは処理できないタスクをより適切に実行することを目的とした柔軟なモデルです。MQL5で多項式モデルを作成し、そこから何か良いものを作る方法を見つけてみましょう。
preview
MQL5の圏論(第16回):多層パーセプトロンと関手

MQL5の圏論(第16回):多層パーセプトロンと関手

本連載16回目となる今回は、関手と、それが人工ニューラルネットワークを使ってどのように実装できるかを見ていきます。当連載ではこれまで、ボラティリティを予測するというアプローチをとってきましたが、今回はポジションのエントリーとエグジットのシグナルを設定するためのカスタムシグナルクラスの実装を試みます。
preview
PythonとMQL5でロボットを開発する(第3回):モデルベース取引アルゴリズムの実装

PythonとMQL5でロボットを開発する(第3回):モデルベース取引アルゴリズムの実装

PythonとMQL5で自動売買ロボットを開発する連載を続けます。この記事では、Pythonで取引アルゴリズムを作成します。
preview
MQL5入門(第12回):初心者のためのカスタムインジケーター作成ガイド

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

MQL5でカスタムインジケーターを構築する方法を学びます。プロジェクトベースのアプローチを採用します。この初心者向けガイドでは、インジケーターバッファ、プロパティ、トレンドの視覚化について解説し、段階的に学習を進めることができます。
preview
データサイエンスとML(第42回):PythonでARIMAを用いた外国為替時系列予測、知っておくべきことすべて

データサイエンスとML(第42回):PythonでARIMAを用いた外国為替時系列予測、知っておくべきことすべて

ARIMAは自己回帰和分移動平均(Auto Regressive Integrated Moving Average)の略称で、強力な従来の時系列予測モデルです。このモデルは、時系列データ内の急上昇や変動を検出する機能により、次の値を正確に予測できます。この記事では、ARIMAが何であるか、どのように機能するか、市場での次の価格を高い精度で予測する際に何ができるかなどについて説明します。
DoEasyライブラリのグラフィックス(第82部): ライブラリオブジェクトのリファクタリングとグラフィカルオブジェクトのコレクション
DoEasyライブラリのグラフィックス(第82部): ライブラリオブジェクトのリファクタリングとグラフィカルオブジェクトのコレクション

DoEasyライブラリのグラフィックス(第82部): ライブラリオブジェクトのリファクタリングとグラフィカルオブジェクトのコレクション

本稿では、各オブジェクトに一意のタイプを割り当てることですべてのライブラリオブジェクトを改善し、ライブラリのグラフィカルオブジェクトコレクションクラスの開発を続けます。
preview
ダイナミックマルチペアEAの形成(第1回):通貨相関と逆相関

ダイナミックマルチペアEAの形成(第1回):通貨相関と逆相関

ダイナミックマルチペアEAは、相関戦略と逆相関戦略の両方を活用し、取引パフォーマンスの最適化を図ります。リアルタイムの市場データを分析することで、通貨ペア間の相関関係や逆相関関係を特定し、それらを取引に活かします。
preview
母集団最適化アルゴリズム:差分進化(DE)

母集団最適化アルゴリズム:差分進化(DE)

この記事では、これまでに取り上げたアルゴリズムの中で最も議論の的となっているアルゴリズム、差分進化(DE)アルゴリズムについて考察します。
preview
母集団最適化アルゴリズム:人工蜂コロニー(ABC)

母集団最適化アルゴリズム:人工蜂コロニー(ABC)

今回は、人工蜂コロニーアルゴリズムを研究し、機能空間を研究する新しい原理で知識を補います。今回は、古典アルゴリズムについて、私の解釈を紹介します。
preview
ボラティリティベースの取引システムの構築と最適化の方法(チャイキンボラティリティ - CHV)

ボラティリティベースの取引システムの構築と最適化の方法(チャイキンボラティリティ - CHV)

この記事では、チャイキンボラティリティ(CHV、Chaikin Volatility)という名前の、ボラティリティに基づく後1つの指標を提供します。カスタム指標の使用方法と構築方法を確認した後、カスタム指標の構築方法を理解します。使用できるいくつかの簡単な戦略を共有し、どちらがより優れているかを理解するためにテストします。
preview
単一チャート上の複数インジケータ(第03部): ユーザー向け定義の開発

単一チャート上の複数インジケータ(第03部): ユーザー向け定義の開発

今日はインジケータシステムの機能を初めて更新します。前回の「単一チャート上の複数のインジケータ」稿では、チャートのサブウィンドウで複数のインジケータを使用できるようにする基本的なコードについて検討しましたが、提示されたのは、はるかに大規模なシステムの出発点にすぎませんでした。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第2回):指標シグナル:多時間枠放物線SAR指標

MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第2回):指標シグナル:多時間枠放物線SAR指標

この記事の多通貨エキスパートアドバイザー(EA)は、1つの銘柄チャートからのみ複数の銘柄ペアの取引(注文を出す、注文を決済する、トレーリングストップロスとトレーリングプロフィットなどで注文を管理するなど)ができるEAまたは自動売買ロボットです。今回は、PERIOD_M15からPERIOD_D1までの多時間枠でパラボリックSARまたはiSARという1つの指標のみを使用します。
preview
MQL5入門(第17回):トレンド反転のためのエキスパートアドバイザーの構築

MQL5入門(第17回):トレンド反転のためのエキスパートアドバイザーの構築

この記事では、トレンドラインのブレイクアウトや反転を利用したチャートパターン認識に基づいて取引をおこなうMQL5のエキスパートアドバイザー(EA)の構築方法を初心者向けに解説します。トレンドラインの値を動的に取得し、プライスアクションと比較する方法を学ぶことで、読者は上昇・下降トレンドライン、チャネル、ウェッジ、トライアングルなどのチャートパターンを識別し取引できるEAを開発できるようになります。
preview
CatBoostモデルにおける交差検証と因果推論の基本、ONNX形式への書き出し

CatBoostモデルにおける交差検証と因果推論の基本、ONNX形式への書き出し

この記事では、機械学習を使用してボットを作成する方法を提案しています。
preview
自動で動くEAを作る(第12回):自動化(IV)

自動で動くEAを作る(第12回):自動化(IV)

自動化されたシステムをシンプルだと思う方はおそらく、それを作るために必要なことを十分に理解していないのでしょう。今回は、多くのエキスパートアドバイザー(EA)を死に至らしめる問題点についてお話します。この問題を解決するために、無差別に注文をトリガーすることが考えられます。
preview
一からの取引エキスパートアドバイザーの開発(第22部):新規受注システム(V)

一からの取引エキスパートアドバイザーの開発(第22部):新規受注システム(V)

今日は、新しい受注システムの開発を進めていきます。新しいシステムを導入するのはそう簡単なことではありません。プロセスが非常に複雑になるような問題がしばしば発生します。このような問題が発生したときは、一度立ち止まって、自分たちの進むべき方向を再分析しなければなりません。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第7回):オーサムオシレーターシグナルを持つジグザグ

MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第7回):オーサムオシレーターシグナルを持つジグザグ

この記事の多通貨エキスパートアドバイザー(EA)は、オーサムオシレーター(AO、Awesome Oscillator)でフィルタされたジグザグ(ZigZag)指標を使用するまたは互いのシグナルをフィルタするEA(自動売買)です。
preview
古典的な戦略をPythonで再構築する(第2回):ボリンジャーバンドのブレイクアウト

古典的な戦略をPythonで再構築する(第2回):ボリンジャーバンドのブレイクアウト

本稿では、線形判別分析(LDA: Linear Discriminant Analysis)とボリンジャーバンドを統合し、戦略的市場参入シグナルの生成を目的としたカテゴリ別ゾーン予測を活用する取引戦略を考察します。
preview
確率最適化と最適制御の例

確率最適化と最適制御の例

SMOC(Stochastic Model Optimal Controlの略と思われる)と名付けられたこのエキスパートアドバイザー(EA)は、MetaTrader 5用の高度なアルゴリズム取引システムのシンプルな例です。テクニカル指標、モデル予測制御、動的リスク管理を組み合わせて取引判断をおこないます。このEAには、適応パラメーター、ボラティリティに基づくポジションサイジング、トレンド分析が組み込まれており、さまざまな市場環境においてパフォーマンスを最適化します。