MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
プロフィット引き出しモデル構築のためのTesterWithdrawal() 関数の使用
プロフィット引き出しモデル構築のためのTesterWithdrawal() 関数の使用

プロフィット引き出しモデル構築のためのTesterWithdrawal() 関数の使用

本稿は処理中に資産の特定部分の引き出しをするトレードシステムにおけるリスク見積をするためのTesterWithDrawal()関数使用について述べていきます。また、ストラテジーテスタにおける資産の引き出し計算のアルゴリズムへのこの関数の影響についても述べます。この関数はExpert Advisorsのパラメータ最適化に有用です。
preview
多通貨エキスパートアドバイザーの開発(第3回):アーキテクチャの改訂

多通貨エキスパートアドバイザーの開発(第3回):アーキテクチャの改訂

複数の戦略が並行して動作する多通貨EAの開発はすでにある程度進んでいます。蓄積された経験を考慮し、先に進みすぎる前に、ソリューションのアーキテクチャを見直し、改善を試みましょう。
preview
ニューラルネットワークが簡単に(第94回):入力シーケンスの最適化

ニューラルネットワークが簡単に(第94回):入力シーケンスの最適化

時系列を扱うときは、常にソースデータを履歴シーケンスで使用します。しかし、これが最善の選択肢なのでしょうか。入力データの順序を変更すると、訓練されたモデルの効率が向上するという意見があります。この記事では、入力シーケンスを最適化する方法の1つを紹介します。
有用なテクノロジーカクテルでYour MQL5 顧客を驚嘆させる!
有用なテクノロジーカクテルでYour MQL5 顧客を驚嘆させる!

有用なテクノロジーカクテルでYour MQL5 顧客を驚嘆させる!

MQL5 はプログラマーに関数の完全セットとオブジェクト指向API を提供します。それらのお陰でプログラマーは MetaTrader 環境内で願うことを行うことができるのです。ただ「ウェブテクノロジー」は今日ひじょに特殊なことをしてなにか違ったもので顧客を驚かせる必要があったり、ただ MT5 「標準ライブラリ」の特定箇所をマスターする十分な時間がないなんらかの状況で救助にきてくれる極端に多才なツールです。今回の例題によりご自身の開発時間管理の仕方と同時にすばらしいテクノロジーカクテルを作成する方法を実用例をご紹介します。
preview
機械学習や取引におけるメタモデル:取引注文のオリジナルタイミング

機械学習や取引におけるメタモデル:取引注文のオリジナルタイミング

機械学習におけるメタモデル:人間がほとんど介在しない取引システムの自動作成 - いつ、どのように取引をおこなうかはモデルが自ら決定します。
preview
PatchTST機械学習アルゴリズムによる24時間の値動きの予測

PatchTST機械学習アルゴリズムによる24時間の値動きの予測

この記事では、PatchTSTと呼ばれる2023年にリリースされた比較的複雑なニューラルネットワークアルゴリズムを適用し、今後24時間の値動きを予測します。公式リポジトリを使用し、若干の修正を加え、EURUSDのモデルを訓練し、PythonとMQL5の両方で将来の予測をおこなうために適用します。
preview
データサイエンスと機械学習(第28回):AIを使ってEURUSDの複数の先物を予測する

データサイエンスと機械学習(第28回):AIを使ってEURUSDの複数の先物を予測する

多くの人工知能モデルでは単一の将来値を予測することが一般的ですが、この記事では、機械学習モデルを用いて複数の将来値を予測するという強力な手法について掘り下げていきます。このアプローチは「多段階予測」として知られ、明日の終値だけでなく、明後日以降の値も予測することが可能です。多段階予測をマスターすることで、トレーダーやデータサイエンティストはより深い洞察を得ることができ、情報に基づいた意思決定を行うことで予測能力と戦略立案を大幅に強化することができます。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第3回):銘柄名のプレフィックスおよび/またはサフィックスと取引時間セッションを追加しました

MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第3回):銘柄名のプレフィックスおよび/またはサフィックスと取引時間セッションを追加しました

数人のトレーダー仲間から、プレフィックスやサフィックスを持つ銘柄名を持つブローカーでこの多通貨EAを使用する方法、およびこの多通貨EAで取引タイムゾーンや取引タイムセッションを実装する方法についてメールやコメントをいただきました。
リニアなトレーディングシステムを指数に高める
リニアなトレーディングシステムを指数に高める

リニアなトレーディングシステムを指数に高める

本稿では MQL5 プログラマーの中級者にリニアなトレーディングシステム(固定ロット)からいわゆる指数の技術を簡単に実装することでより収益を上げる方法をお伝えします。これは結果として生じる資金曲線の成長が幾何学的または指数関数で放物線の形を取ります。特にラルフ・ビンス氏によって開発された実用的な「固定比率」のポジションサイジングの MQL5 のバリアントを実装します。
preview
データサイエンスと機械学習(第03回):行列回帰

データサイエンスと機械学習(第03回):行列回帰

今回のモデルは行列によって作成されています。これにより柔軟性が得られ、コンピュータの計算限界内に留まる限り、5つの独立変数だけでなく多くの変数を処理できる強力なモデルを作成できます。この記事を面白く読めることは間違いありません。
preview
ゲータ―オシレーター(Gator Oscillator)による取引システムの設計方法を学ぶ

ゲータ―オシレーター(Gator Oscillator)による取引システムの設計方法を学ぶ

人気のあるテクニカル指標に基づいて取引システムを設計する方法を学ぶ本連載の新しい記事では、ゲータ―オシレーターテクニカル指標を取り上げ、簡単な戦略を通じて取引システムを作成する方法について学びます。
新しいカレンダーの表示
新しいカレンダーの表示

新しいカレンダーの表示

本稿では、外部インターネットリソースからの主要な経済的イベントを作業エリアに表示するシンプルで便利なインディケータを書くことについて説明します。
preview
ニューラルネットワークが簡単に(第22部):回帰モデルの教師なし学習

ニューラルネットワークが簡単に(第22部):回帰モデルの教師なし学習

モデルと教師なし学習アルゴリズムの研究を続けます。今回は、回帰モデルの学習に適用した場合のオートエンコーダの特徴について提案します。
preview
初心者からプロまでMQL5をマスターする(第2回):基本的なデータ型と変数の使用

初心者からプロまでMQL5をマスターする(第2回):基本的なデータ型と変数の使用

初心者向け連載の続きです。この記事では、定数や変数を作成する方法、日付や色、その他の便利なデータを書き込む方法を見ていきます。曜日や線のスタイル(実線、点線など)を列挙する方法も学びます。変数と式はプログラミングの基本です。これらは99%のプログラムに間違いなく存在するので、理解することは非常に重要です。したがって、この記事はとてもプログラミング初心者の役に立つでしょう。必要なプログラミング知識レベル:前回の記事(冒頭のリンク参照)の範囲内で、ごく基本的なものです。
preview
MetaTraderとGoogleスプレッドシートを使用して取引ジャーナルを作成する方法

MetaTraderとGoogleスプレッドシートを使用して取引ジャーナルを作成する方法

MetaTraderとGoogleスプレッドシートを使用して取引ジャーナルを作成しましょう。HTTP POST経由で取引データを同期し、HTTPリクエストを使用して取得する方法を学習します。最終的には、取引を効果的かつ効率的に追跡するのに役立つ取引ジャーナルが手に入ります。
preview
MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ(第4回)

MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ(第4回)

この記事は、MQTTプロトコルのネイティブMQL5クライアントの開発ステップを説明する連載の第4回です。このセクションでは、MQTT v5.0のプロパティとは何か、そのセマンティクス、いくつかのプロパティの読み方について説明し、プロトコルを拡張するためにプロパティをどのように使用できるかの簡単な例を示します。
preview
ケルトナーチャネル取引システムの構築とテスト

ケルトナーチャネル取引システムの構築とテスト

この記事では、金融市場において非常に重要な概念であるボラティリティを利用した取引システムを紹介します。ケルトナーチャネル指標を理解し、それをどのようにコードし、どのように簡単な取引戦略に基づいて取引システムを作成し、様々な資産でテストすることができるかを理解した上で、ケルトナーチャネル指標に基づく取引システムを提供します。
preview
MQL5の統合:Python

MQL5の統合:Python

Pythonは、特に金融、データサイエンス、人工知能、機械学習の分野で多くの特徴を持つ、よく知られた人気のプログラミング言語です。また、Pythonは取引にも有効な強力なツールです。MQL5では、この強力な言語を統合して使用することで、目的を効果的に達成することができます。本記事では、Pythonの基本的な情報を学んだ後、MQL5でPythonを統合して使用する方法を紹介します。
われわれはいかにして MetaTrader シグナルサービスとソーシャルトレーディングを発展させたのでしょうか
われわれはいかにして MetaTrader シグナルサービスとソーシャルトレーディングを発展させたのでしょうか

われわれはいかにして MetaTrader シグナルサービスとソーシャルトレーディングを発展させたのでしょうか

われわれはシグナルサービスを強化し、メカニズムを改良し、新しい関数を追加し、欠陥を修正し続けています。2012年の MetaTrader シグナルサービスと現在の MetaTrader シグナルサービスはまったく異なる2つのサービスのようなものです。現在、特定バージョンの MetaTrader クライアントターミナルをサポートするサーバーのネットワークで構成される仮想ホスティングクラウドサービスを導入中です。
RSS フィードによるトレードシグナルの送信
RSS フィードによるトレードシグナルの送信

RSS フィードによるトレードシグナルの送信

みなさんのコミュニティのメンバーと今すぐコミュニケーションをする有名な方法である RSS FEEDS として、トレードシグナルを送信する方法は私のアイデアです。
preview
ニューラルネットワークが簡単に(第21部):変分オートエンコーダ(Variational autoencoder、VAE)

ニューラルネットワークが簡単に(第21部):変分オートエンコーダ(Variational autoencoder、VAE)

前回の記事で、オートエンコーダアルゴリズムについて学びました。他のアルゴリズム同様、このアルゴリズムには長所と短所があります。元の実装では、オートエンコーダは、訓練標本からオブジェクトを可能な限り分離するために使用されます。今回はその短所への対処法についてお話します。
preview
非線形指標

非線形指標

今回は、非線形指標を構築する方法と取引での使用について、いくつか考えてみたいと思います。MetaTraderの取引プラットフォームには、非線形なアプローチを使用する指標がかなりあります。
preview
ボリンジャーバンドを活用したピラニア戦略に基づくMQL5エキスパートアドバイザーの作成

ボリンジャーバンドを活用したピラニア戦略に基づくMQL5エキスパートアドバイザーの作成

この記事では、ボリンジャーバンドを利用したピラニア戦略に基づいてMQL5でエキスパートアドバイザー(EA)を作成し、取引の有効性を高めます。この戦略の重要な原則、コーディングの実装、テストと最適化の方法について説明します。この知識によって、取引シナリオにEAを効果的に導入することが可能になります。
MQL5 Market 一周年
MQL5 Market 一周年

MQL5 Market 一周年

MQL5 Marketがサービスを開始して、1年が経過しました。新しいサービスをMetaTrader5プラットフォームにおけるテクニカルインジケーターやトレーディングシステムの巨大ストアに変える困難な一年でした。
DoEasyライブラリの時系列(第45部): 複数期間指標バッファ
DoEasyライブラリの時系列(第45部): 複数期間指標バッファ

DoEasyライブラリの時系列(第45部): 複数期間指標バッファ

本稿では、複数期間モードと複数銘柄モードで使用する指標バッファオブジェクトおよびコレクションクラスの改善を始めます。現在の銘柄チャートの任意の時間枠からデータを受信して表示するためのバッファオブジェクトの使用を検討するつもりです。
preview
ニューラルネットワークが簡単に(第18部):アソシエーションルール

ニューラルネットワークが簡単に(第18部):アソシエーションルール

この連載の続きとして、教師なし学習の手法の中で、もう1つのタイプの問題であるアソシエーションルールのマイニングについて考えてみましょう。この問題タイプは、小売業、特にスーパーマーケットで、市場の分類を分析するために最初に使用されました。今回は、このようなアルゴリズムの取引への応用についてお話します。
preview
MQL5入門(第11回):MQL5の組み込みインジケーターの操作に関する初心者向けガイド(II)

MQL5入門(第11回):MQL5の組み込みインジケーターの操作に関する初心者向けガイド(II)

RSI、MA、ストキャスティクスなどの複数のインジケーターを使用してMQL5でエキスパートアドバイザー(EA)を開発し、隠れた強気および弱気のダイバージェンスを検出する方法を学びます。教育目的で、詳細な例および完全にコメントされたソースコードを用いて、効果的なリスク管理を実装し、取引を自動化する方法をご紹介します。
DoEasyライブラリの時系列(第47部): 複数銘柄・複数期間標準指標
DoEasyライブラリの時系列(第47部): 複数銘柄・複数期間標準指標

DoEasyライブラリの時系列(第47部): 複数銘柄・複数期間標準指標

この記事では、標準指標を操作する方法の開発を開始します。これにより、最終的には、ライブラリクラスに基づいて複数銘柄の複数期間の標準指標を作成できるようになります。さらに、「スキップされたバー」イベントを時系列クラスに追加し、ライブラリ準備関数をCEngineクラスに移動することで、メインプログラムコードからの過度の負荷を排除します。
DoEasyライブラリでのその他のクラス(第69部): チャットオブジェクトコレクションクラス
DoEasyライブラリでのその他のクラス(第69部): チャットオブジェクトコレクションクラス

DoEasyライブラリでのその他のクラス(第69部): チャットオブジェクトコレクションクラス

本稿からチャートオブジェクトコレクションクラスの開発を開始します。このクラスでは、サブウィンドウと指標とともにチャートオブジェクトのコレクションリストを保存し、選択したチャートとそのサブウィンドウ、または複数のチャートのリストを一度に操作する機能を提供します。
DoEasyライブラリのグラフィックス(第86部): グラフィカルオブジェクトコレクション - プロパティ変更の管理
DoEasyライブラリのグラフィックス(第86部): グラフィカルオブジェクトコレクション - プロパティ変更の管理

DoEasyライブラリのグラフィックス(第86部): グラフィカルオブジェクトコレクション - プロパティ変更の管理

本稿では、ライブラリ内のグラフィカルオブジェクトのプロパティ値の変更の追跡とともに、削除と名前変更を検討します。
preview
自動で動くEAを作る(第15回):自動化(VII)

自動で動くEAを作る(第15回):自動化(VII)

自動化に関するこの連載を完結させるために、前回に引き続きトピックについて説明しましょう。EAを時計仕掛けのように動かすために、すべてがどのように組み合わされるかを見ていきます。
トレーダミネーター 3:売買ロボットの台頭
トレーダミネーター 3:売買ロボットの台頭

トレーダミネーター 3:売買ロボットの台頭

記事 "Dr. Tradelove..." で Expert Advisorを作成しました。それは選択済みのトレーディングシステムのパラメータを自立的に最適化するものです。それ以上に EAにある一つのトレーディングシステムのパラメータだけを最適化するのではなく、複数あるトレーディングシステムから最良のものを選ぶExpert Advisorを作成しようと決めました。それがどうなったか見ていきます。
preview
母集団最適化アルゴリズム:蟻コロニー最適化(ACO)

母集団最適化アルゴリズム:蟻コロニー最適化(ACO)

今回は、蟻コロニー最適化アルゴリズムについて解析します。このアルゴリズムは非常に興味深く、複雑です。この記事では、新しいタイプのACOの作成を試みます。
preview
データサイエンスと機械学習(第11回):単純ベイズ、取引における確率論

データサイエンスと機械学習(第11回):単純ベイズ、取引における確率論

確率を利用した取引は綱渡りのようなもので、正確さとバランス、そしてリスクに対する鋭い理解が必要です。取引の世界では、確率がすべてです。確率は、成功と失敗、利益と損失の違いになります。確率の力を活用することで、トレーダーは十分な情報に基づいた意思決定をおこない、リスクを効果的に管理し、経済的目標を達成することができます。つまり、経験豊富な投資家であれ、初心者のトレーダーであれ、確率を理解することは、取引の可能性を引き出す鍵になるのです。この記事では、確率を利用したエキサイティングな取引の世界を探求し、取引ゲームを次のレベルに引き上げる方法を紹介します。
preview
独自のLLMをEAに統合する(第1部):ハードウェアと環境の導入

独自のLLMをEAに統合する(第1部):ハードウェアと環境の導入

今日の人工知能の急速な発展に伴い、言語モデル(LLM)は人工知能の重要な部分となっています。私たちは、強力なLLMをアルゴリズム取引に統合する方法を考える必要があります。ほとんどの人にとって、これらの強力なモデルをニーズに応じて微調整し、ローカルに展開して、アルゴリズム取引に適用することは困難です。本連載では、この目標を達成するために段階的なアプローチをとっていきます。
preview
初心者からプロまでMQL5をマスターする(第3回):複雑なデータ型とインクルードファイル

初心者からプロまでMQL5をマスターする(第3回):複雑なデータ型とインクルードファイル

これはMQL5プログラミングの主な側面を説明する連載の第3回目です。この記事では、前回の記事で触れなかった複雑なデータ型について説明します。具体的には、構造体、共用体、クラス、および「関数」データ型を扱います。また、#includeプリプロセッサディレクティブを使ってプログラムにモジュール性を加える方法についても解説します。
preview
MQL5でパラボリックSARと単純移動平均(SMA)を使用した高速取引戦略アルゴリズムを実装する

MQL5でパラボリックSARと単純移動平均(SMA)を使用した高速取引戦略アルゴリズムを実装する

この記事では、パラボリックSARと単純移動平均(SMA)インジケーターを活用し、応答性の高い取引戦略を構築する高速取引型エキスパートアドバイザー(EA)をMQL5で開発します。インジケーターの使用方法、シグナルの生成、テストおよび最適化プロセスなど、戦略の実装について詳しく解説します。
Connecting NeuroSolutions Neuronets
Connecting NeuroSolutions Neuronets

Connecting NeuroSolutions Neuronets

ニューロネットの作成に加え、NeuroSolutions ソフトウェアスウィートによりそれらを DLLとしてエクスポートすることが可能となります。本稿では、ニューロネット作成とDLL生成とそれを MetaTrader 5でのトレーディングのためExpert Advisor に連携する手順について述べています。
MQL5 クックブック:オーバーフィットの影響低減とクオート不足への対処
MQL5 クックブック:オーバーフィットの影響低減とクオート不足への対処

MQL5 クックブック:オーバーフィットの影響低減とクオート不足への対処

どのようなトレーディング戦略を使っていようと、将来の収益を確保するためどのパラメータを選択すべきかという疑問は常にあるものです。本稿は同時に複数のシンボルパラメータを最適化する機能を備えたExpert Advisor 例を提供します。この方法はパラメータのオーバーフィットによる影響を軽減し、1個のシンボルからのデータが調査に十分でない場合に対処するものです。
preview
単一チャート上の複数インジケータ(第02部): 実験1

単一チャート上の複数インジケータ(第02部): 実験1

前回の「単一チャート上の複数インジケータ」稿では、単一のチャートで複数のインジケータを使用する方法の概念と基本を説明しました。この記事では、ソースコードを提供して詳しく説明します。