MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
トレードシステムの評価 - 参入、退出と取引における一般の有効性
トレードシステムの評価 - 参入、退出と取引における一般の有効性

トレードシステムの評価 - 参入、退出と取引における一般の有効性

トレードシステムの有効性と利益性を決定できる多数の尺度がある。しかし、トレーダーは常にどのシステムでも試したいと考えている。この記事はどのようにして有効性の尺度に基づいた統計が MetaTrader 5 のプラットフォームに使えるかを教えるものである。 これは取引による統計の解釈を、S.V.Bulashev(ブラシェフ)による著作"Statistika dlya traderov"(トレーダーのための統計) の記述に矛盾しないものに変換するクラスを含んでいる。また最適化のためのカスタムファンクションの例も含んでいる。
自己適応アルゴリズムの開発(第II部): 効率の向上
自己適応アルゴリズムの開発(第II部): 効率の向上

自己適応アルゴリズムの開発(第II部): 効率の向上

この記事では、以前に作成したアルゴリズムの柔軟性を向上させることでトピックの開発を続けます。アルゴリズムは、分析期間内のローソク足の数の増加または上昇/下降ローソク足超過率のしきい値の増加によって、より安定しました。分析のためにより大きなサンプルサイズを設定するかより高いローソク足の超過率を設定して、妥協する必要がありました。
非標準自動取引
非標準自動取引

非標準自動取引

詳しく市場分析をせず MT4 のプラットフォームで行う首尾よく快適な取引。そんなこと、できるのでしょうか?そのような取引を実際に実装することはできますか?私はできると思います。特に自動取引では!
preview
取引のための組合せ論と確率論(第I部):基本

取引のための組合せ論と確率論(第I部):基本

この連載では、確率論の実用的応用を見つけて、取引と価格設定のプロセスの説明を試みます。最初の記事では、組合せ論と確率の基礎を調べ、確率論の枠組みでフラクタルを適用する方法の最初の例を分析します。
preview
PatchTST機械学習アルゴリズムによる24時間の値動きの予測

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

この記事では、PatchTSTと呼ばれる2023年にリリースされた比較的複雑なニューラルネットワークアルゴリズムを適用し、今後24時間の値動きを予測します。公式リポジトリを使用し、若干の修正を加え、EURUSDのモデルを訓練し、PythonとMQL5の両方で将来の予測をおこなうために適用します。
preview
日足レンジブレイクアウト戦略に基づくMQL5 EAの作成

日足レンジブレイクアウト戦略に基づくMQL5 EAの作成

この記事では、日足レンジブレイクアウト(Daily Range Breakout)戦略に基づいてMQL5エキスパートアドバイザー(EA)を作成します。戦略の重要な概念を説明し、EAの設計図を設計し、MQL5でブレイクアウトロジックを実装します。最後に、EAの効果を最大限に引き出すためのバックテストと最適化の手法について探ります。
preview
パターン検索への総当たり攻撃アプローチ(第III部): 新しい水平線

パターン検索への総当たり攻撃アプローチ(第III部): 新しい水平線

本稿では、総当たり攻撃のトピックを続けます。プログラムアルゴリズムに市場分析の新しい機会を導入することで分析速度を高め、結果の品質を向上します。新しい追加により、このアプローチ内でグローバルパターンの最高品質で表示できるようになります。
グラフィカルインタフェース  II:ライブラリのイベントハンドラの設定(チャプター3)
グラフィカルインタフェース  II:ライブラリのイベントハンドラの設定(チャプター3)

グラフィカルインタフェース II:ライブラリのイベントハンドラの設定(チャプター3)

以前の記事には、メインメニューの構成部分を作成するためのクラスの実装が含まれています。ここで、主要な基本クラスと作成されたコントロールのクラスでイベントハンドラを細かく見ることにします。また、マウスカーソルの位置に応じたチャートの状態の管理にも特別な注意が払われます。
トレーダーのキット:デコインディケータ
トレーダーのキット:デコインディケータ

トレーダーのキット:デコインディケータ

本稿では、インディケータを装飾する際の主要なタスク、そのソリューションと自動化を見つけ出します。
preview
固定プライスアクションストップロスまたは固定RSI(スマートストップロス)

固定プライスアクションストップロスまたは固定RSI(スマートストップロス)

ストップロスは、取引における資金管理に関する主要なツールです。ストップロス、テイクプロフィット、ロットサイズを効果的に使用することで、トレーダーは取引の一貫性を改善し、全体的に収益性を高めることができます。ストップロスは優れたツールですが、使用時に課題に遭遇することがあります。主要なものはストップロスハントです。この記事では、取引でのストップロスハントを減らす方法と、従来のストップロスの使用法と比較して収益性を判断する方法について説明します。
グラフィックコントロールオプションを用いたインディケータ作成
グラフィックコントロールオプションを用いたインディケータ作成

グラフィックコントロールオプションを用いたインディケータ作成

マーケットの動きに通じた方はMACDインディケータ(移動平均収束拡散)をご存じでしょう。価格の変動を分析するのに力強いツールで、コンピュータ分析手法が登場したごく初期段階からトレーダーに利用されているものです。本稿では MACDの潜在的修正と修正間でグラフィカルに切り替える可能性のあるインディケータへの実装について考察していきます。
preview
知っておくべきMQL5ウィザードのテクニック(第06回):フーリエ変換

知っておくべきMQL5ウィザードのテクニック(第06回):フーリエ変換

ジョセフ・フーリエによって導入されたフーリエ変換は、複雑なデータの波動点を単純な構成波に分解する手段です。この記事では、トレーダーにとって有益なこの機能を見ていきます。
preview
ONNX統合の課題を克服する

ONNX統合の課題を克服する

ONNXは、異なるプラットフォーム間で複雑なAIコードを統合するための素晴らしいツールです。ただし、この素晴らしいツールを最大限に活用するためにはいくつかの課題に対処する必要があります。この記事では、読者が直面する可能性のある一般的な問題と、それを軽減する方法について説明します。
EAステータス SMS 通知機能
EAステータス SMS 通知機能

EAステータス SMS 通知機能

稼働中のEAの状況を知らせることで何処にいても常に詳細な状況を確認できるSMS通知システムの開発
DoEasyライブラリでのその他のクラス(第71部): チャットオブジェクトコレクションイベント
DoEasyライブラリでのその他のクラス(第71部): チャットオブジェクトコレクションイベント

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

本稿では、いくつかのチャートオブジェクトイベント(銘柄チャートとチャートサブウィンドウの追加/削除、およびチャートウィンドウの指標の追加/削除/変更)を追跡する機能を作成します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - 初期実装(ポジションのオープン)
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - 初期実装(ポジションのオープン)

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - 初期実装(ポジションのオープン)

本稿では、注文の値にいくつかのデータを格納し、マジックナンバーを配置し、保留中リクエストの実装を開始します。概念を確認するために、サーバエラーを受信して、待機後に繰り返しリクエストを送信する必要がある際にマーケットポジションを開くための最初のテスト保留中リクエストを作成しましょう。
preview
MQL5クックブック - 経済指標カレンダー

MQL5クックブック - 経済指標カレンダー

この記事では、経済指標カレンダーのプログラミング機能に焦点を当て、カレンダーのプロパティに簡単にアクセスしてイベント値を受け取るためのクラスの作成について考察し検討します。実用的な例として役立つように、CFTCの投機筋ネットポジションを使用して指標を開発します。
preview
ボリンジャーバンドを活用したピラニア戦略に基づくMQL5エキスパートアドバイザーの作成

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

この記事では、ボリンジャーバンドを利用したピラニア戦略に基づいてMQL5でエキスパートアドバイザー(EA)を作成し、取引の有効性を高めます。この戦略の重要な原則、コーディングの実装、テストと最適化の方法について説明します。この知識によって、取引シナリオにEAを効果的に導入することが可能になります。
preview
MQL5でのAI搭載取引システムの構築(第3回):複数行入力の克服、チャットの持続性の確保、シグナル生成

MQL5でのAI搭載取引システムの構築(第3回):複数行入力の克服、チャットの持続性の確保、シグナル生成

本記事では、ChatGPTを統合したMQL5プログラムを拡張し、改良されたテキストレンダリングにより複数行入力の制限を克服します。さらに、AES256暗号化およびZIP圧縮で保存された永続的なチャット履歴をナビゲートするサイドバーを導入し、チャートデータの統合による初期売買シグナルの生成もおこないます。
ファジー理論を使用しインディケータを作成する簡単な例
ファジー理論を使用しインディケータを作成する簡単な例

ファジー理論を使用しインディケータを作成する簡単な例

本稿はファイナンシャルマーケット分析にファジー理論の概念を実用的に適用することに特化しています。エンベロープインディケータ上で2つのファジールールに基づくインディケータ生成シグナルの例を提供します。作成されたインディケータは複数のインディケータバッファを使用します。7個のバッファを計算に、5個のバッファをチャート表示に、2個をカラーバッファとします。
MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ
MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ

MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ

今回は、現在シンボルについてポジションプロパティを取得し、マニュアルトレーディングの間カスタム情報パネルにそのポジションプロパティを表示するシンプルな Expert Advisor を作成します。情報パネルはグラフィカルオブジェクトを用いて作成され、表示される情報はティック毎にリフレッシュされます。これは "MQL5 Cookbook: Getting Position Properties"と呼ばれるシリーズの以前の記事に記載があるスクリプトをつねにマニュアルで実行しなければならないのよりはるかに便利になります。
数式の計算(第2部)Prattパーサーおよび操車場パーサー
数式の計算(第2部)Prattパーサーおよび操車場パーサー

数式の計算(第2部)Prattパーサーおよび操車場パーサー

この記事では、演算子の優先順位に基づいたパーサーを使用した数式の解析と評価の原則について検討します。Prattパーサーと操車場パーサー、バイトコードの生成とこのコードによる計算を実装し、式の関数として指標を使用する方法と、これらの指標に基づいてエキスパートアドバイザーで取引シグナルを設定する方法を確認します。
preview
MQLプロジェクトでJSON Data APIを使用する

MQLプロジェクトでJSON Data APIを使用する

MetaTraderにはないデータを使用できることを想像してみてください。価格分析とテクニカル分析による指標からデータを得るだけです。取引力を一段と高めるデータにアクセスできることを想像してみてください。APIデータを通して他のソフトウェア、マクロ分析手法、超高度ツールの出力をMetaTraderを通じてミックスすれば、MetaTraderソフトウェアのパワーを倍増させることができます。この記事では、APIの使い方を教え、便利で価値のあるAPIデータサービスを紹介します。
ヘッジ  Expert Advisor コーディングの基礎
ヘッジ  Expert Advisor コーディングの基礎

ヘッジ Expert Advisor コーディングの基礎

ヘッジ Expert Advisor の例が本稿で提供されたばかりです。私は個人的に好むヘッジペアを選びます。EURJPY と GBPJPY です。それはつねに同じように変動し、ヘッジングオーダータイプの設定が簡単なものです。
preview
MQL5での行列およびベクトル演算

MQL5での行列およびベクトル演算

行列とベクトルがMQL5に導入され、数学的な解決策による効率的な操作が可能になりました。これらの新しい型は、数学表記に近い簡潔でわかりやすいコードを作成するための組み込みメソッドを提供します。配列は広範な機能を提供しますが、行列の方がはるかに効率的である場合が多くあります。
テクニカル分析:どのように分析するのか?
テクニカル分析:どのように分析するのか?

テクニカル分析:どのように分析するのか?

本稿ではインディケータ、マルチタイムフレームインディケータの再作成および日本式ろうそく足を使用するクオート表示に関する著者の意見を簡潔に述べます。本稿はプログラムの特定部分には言及せzす、一般的特徴を述べるものです。
MQL5 クックブック: 価格の乖離を分析するマルチシンボルインジケーターの開発
MQL5 クックブック: 価格の乖離を分析するマルチシンボルインジケーターの開発

MQL5 クックブック: 価格の乖離を分析するマルチシンボルインジケーターの開発

この記事では、特定の期間における価格の分離を分析するためのマルチシンボルインジケーターの開発を紹介します。そのトピックは、「MQL5クックブック:MQL5のマルチシンボルボラティリティインジケーターの開発」というマルチカレンシーインジケーターのプログラミングに関する以前の記事にてすでに紹介されています。なので、今回は新しい特徴や劇的に変更された機能についてのみ紹介します。マルチカレンシーインジケーターのプログラミングに詳しくなければ、以前の記事をまずお読みいただくことをお勧めします。
preview
MQL5.comでシグナルプロバイダーとして成功する方法

MQL5.comでシグナルプロバイダーとして成功する方法

この記事の主な目的は、MQL5.comでトップのシグナルプロバイダーになるための手順を簡単かつ正確に説明することです。私の知識と経験に基づいて、優れた戦略を見つけ、テストして最適化する方法など、成功するシグナルプロバイダーになるために何が必要かを説明します。さらに、シグナルの公開、説得力のある説明の作成、シグナルの効果的な宣伝と管理に関するヒントも提供します。
preview
MQL5取引ツールキット(第2回):ポジション管理EX5ライブラリの拡張と実装

MQL5取引ツールキット(第2回):ポジション管理EX5ライブラリの拡張と実装

MQL5コードやプロジェクトでEX5ライブラリをインポートして使用する方法をご紹介します。今回は、既存のライブラリにポジション管理関数を追加し、2つのエキスパートアドバイザー(EA)を作成することで、EX5ライブラリを拡張します。最初の例では、可変指数ダイナミック平均(VIDyA: Variable Index Dynamic Average)テクニカル指標を使用して、トレーリングストップ取引戦略EAを開発し、2番目の例では、取引パネルを使用して、ポジションの監視、オープン、クローズ、および修正をおこないます。この2つの例では、アップグレードされたEX5ポジション管理ライブラリの使用方法と実装方法を紹介します。
プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換
プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換

プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換

プログラミングを容易にする方法、テクニック、および補助ツールに関するプロのプログラマーからのヒントです。ターミナルの再起動(シャットダウン)後に復元できるパラメータについて説明します。すべての例は、私のCaymanプロジェクトからの実際に機能するコードセグメントです。
preview
MQL5の統合:Python

MQL5の統合:Python

Pythonは、特に金融、データサイエンス、人工知能、機械学習の分野で多くの特徴を持つ、よく知られた人気のプログラミング言語です。また、Pythonは取引にも有効な強力なツールです。MQL5では、この強力な言語を統合して使用することで、目的を効果的に達成することができます。本記事では、Pythonの基本的な情報を学んだ後、MQL5でPythonを統合して使用する方法を紹介します。
数式の計算(第1部)再帰下降パーサ
数式の計算(第1部)再帰下降パーサ

数式の計算(第1部)再帰下降パーサ

本稿では、数式の解析と計算の基本原則について説明します。事前に構築された構文木に基づいて、インタプリタモードと高速計算モードで動作する再帰下降パーサを実装します。
preview
Candlestick Trend Constraintモデルの構築(第6回):オールインワン統合

Candlestick Trend Constraintモデルの構築(第6回):オールインワン統合

一つの大きな課題は、異なる機能を持つ同じプログラムを、同じ通貨ペアに対して複数のチャートウィンドウで実行し、管理することです。この問題を解決するには、複数の機能を一つのメインプログラムに統合する方法を検討する必要があります。さらに、プログラムの設定を操作ログに出力する方法や、成功したシグナルのブロードキャストをチャートインターフェイス上に表示する方法についても解説します。連載が進むにつれ、この記事でさらに詳しい情報を提供していきます。
ギャップ ー 収入戦略か50/50か?
ギャップ ー 収入戦略か50/50か?

ギャップ ー 収入戦略か50/50か?

ギャップ現象の研究とは、前の時間枠の終値と次の時間の終値との間の有意差の状況や、日々のバーの向かう方向を分析することです。関数GetOpenFileNameのDLLシステムを使用します。
preview
MQL5クックブック - サービス

MQL5クックブック - サービス

この記事では、チャートへの結合を必要としないMQL5プログラムである「サービス」の多彩な機能について説明しています。また、他のMQL5プログラムとのサービスの違いをハイライトし、開発者がサービスで作業する際の微妙な違いを強調しています。例として、読者にはサービスとして実装できる幅広い機能をカバーするさまざまなタスクが提供されます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第2部)過去の注文と取引のコレクション
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第2部)過去の注文と取引のコレクション

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第2部)過去の注文と取引のコレクション

最初の部分では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。過去の注文と取引、および市場の注文とポジションに関するデータを格納するための基本オブジェクトであるCOrder抽象オブジェクトを作成しました。ここでは、口座履歴データをコレクションに格納するために必要なすべてのオブジェクトを開発します。
preview
継続的なウォークフォワード最適化(その8)。プログラムの改善と修正

継続的なウォークフォワード最適化(その8)。プログラムの改善と修正

本連載では、ユーザーや読者の皆様からのご意見・ご要望をもとに、プログラムを修正しています。 この記事では、オートオプティマイザーの新バージョンを掲載しています。 このバージョンでは、要求された機能を実装し、他の改善点を提供しています。
自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法
自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法

自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法

自動トレーディングシステム選手権2010に参加するためのエクスパート開発をめざし、すぐに使えるExpert Advisorテンプレートを使用します。Even novice MQL5プログラマの初心者でもこのタスクをこなすことは可能です。というのも戦略のために基本クラス、関数、テンプレートがすでに準備されているからです。よってみなさんのトレーディングの考えに合う最低限のコードを書いて実装すれば十分です。
MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成
MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成

MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成

本稿ではトレーディングシステムの最適化に対して一組のパラメータを使うパターンを作成していきます。同時にパラメータ数は無制限に認めます。シンボルリストは標準的なテキストファイル (*.txt)内に作成します。各シンボルに対する入力パラメータもファイルに格納されます。このように Expert Advisorの入力パラメータ数に関してターミナルの制約を回避することができます。
ユニバーサルEA:グループでの取引とストラテジーのポートフォリオを管理する(その4)
ユニバーサルEA:グループでの取引とストラテジーのポートフォリオを管理する(その4)

ユニバーサルEA:グループでの取引とストラテジーのポートフォリオを管理する(その4)

CStrategyの取引エンジンについての一連の記事の最後のパートでは、XMLファイルからストラテジーをロードする方法を行います。複数の取引アルゴリズムの同時動作を考慮し、単一の実行可能モジュールからのEAを選択する簡単なパネルを提示し、その取引モードを管理します。