MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
グラフィカルインタフェースVI:チェックボックスコントロール、編集コントロールとその混合型(チャプター 1)
グラフィカルインタフェースVI:チェックボックスコントロール、編集コントロールとその混合型(チャプター 1)

グラフィカルインタフェースVI:チェックボックスコントロール、編集コントロールとその混合型(チャプター 1)

本稿は、MetaTrader端末でグラフィカルインタフェースを作成するためのライブラリの開発に関するシリーズの第六部の始まりです。第1章ではチェックボックスコントロール、編集コントロールとその混合型についてお話します。
銘柄とEAのORDER_MAGICによるバランス/エクイティチャートの分析
銘柄とEAのORDER_MAGICによるバランス/エクイティチャートの分析

銘柄とEAのORDER_MAGICによるバランス/エクイティチャートの分析

MetaTrader 5のヘッジ導入は、複数のエキスパートアドバイザーを1つの取引口座で同時に取引する絶好の機会を提供します。1つの戦略が利益を上げ、2番目の戦略が損失を生み出している場合、利益チャートはゼロに近い値を表示するかもしれません。この場合、各取引戦略のバランスチャートとエクイティチャートを別々に作成することが便利です。
CGraphic ライブラリを使用したスキャルピング相場深度の実装
CGraphic ライブラリを使用したスキャルピング相場深度の実装

CGraphic ライブラリを使用したスキャルピング相場深度の実装

この記事では、スキャルピング相場深度ツールの基本的な関数を作成します。 また、CGraphic ライブラリーをベースにしたティック・チャートを開発し、オーダーブックと統合します。 記述された相場深度を使用して、短期トレードの強力なアシスタントツールを作成することが可能になります。
preview
MQL5を使用してローソク足パターンを検出する方法

MQL5を使用してローソク足パターンを検出する方法

MQL5によって価格のローソク足パターンを自動的に検出する方法を学ぶ新しい記事です。
トレードオブジェクト: メタトレーダーのグラフィカルオブジェクトに基づいたトレードの自動化
トレードオブジェクト: メタトレーダーのグラフィカルオブジェクトに基づいたトレードの自動化

トレードオブジェクト: メタトレーダーのグラフィカルオブジェクトに基づいたトレードの自動化

この記事では、チャートのリニアマークアップに基づいて自動トレーディングシステムを作成するための簡単なアプローチを扱います。MetaTrader4 およびMetaTrader5のオブジェクトの標準プロパティを使用して既製EAを提供し、トレードオペレーションをサポートしています。
初心者のためのMQL5におけるデジタルフィルタの実践的実装
初心者のためのMQL5におけるデジタルフィルタの実践的実装

初心者のためのMQL5におけるデジタルフィルタの実践的実装

トレーディングシステムを構築するトピックを扱うフォーラムではデジタルシグナルのフィルタリングに関する考え方が広く議論されてきています。MQL5においてデジタルフィルタの標準コードを作成しないことは思慮が足りないかもしれません。本稿では、『初心者のためのMQL5におけるカスタムインディケータ』よりシンプルなSMAのインディケータ コードをより複雑で汎用なデジタルフィルタに変換することについて述べます。本稿は前稿からのロジカルな続編です。また、コード内テキストの置き換え方法、プログラムエラーの修正方法についても述べます。
ローソク足分析技術の研究(第3部): パターン操作のライブラリ
ローソク足分析技術の研究(第3部): パターン操作のライブラリ

ローソク足分析技術の研究(第3部): パターン操作のライブラリ

本稿の目的は、カスタムツールを作成して、前述のパターンに関する一連の情報全体を受信して使用できるようにすることです。ユーザが独自の指標、取引パネル、エキスパートアドバイザーなどで使用できるパターン関連関数のライブラリが作成されます。
preview
一からの取引エキスパートアドバイザーの開発(第11部):両建て注文システム

一からの取引エキスパートアドバイザーの開発(第11部):両建て注文システム

この記事では、両建て注文システムを作成します。先物契約は、トレーダーを極度に苦しめる資産タイプですが、なにがそんなに難しいのでしょうか。
トレードシグナルの多通貨監視(パート2):アプリケーションのビジュアル部分の実装
トレードシグナルの多通貨監視(パート2):アプリケーションのビジュアル部分の実装

トレードシグナルの多通貨監視(パート2):アプリケーションのビジュアル部分の実装

前回の記事では、アプリケーションフレームワークを作成し、以降のすべてのタスクの基礎としました。 このパートでは、開発工程を進めます: アプリケーションのビジュアル部分を作成し、インターフェイス要素の基本的な相互作用を構成します。
クロスプラットフォームグリッドEAの開発(パートIII):マーチンゲールによる補正ベースのグリッド
クロスプラットフォームグリッドEAの開発(パートIII):マーチンゲールによる補正ベースのグリッド

クロスプラットフォームグリッドEAの開発(パートIII):マーチンゲールによる補正ベースのグリッド

この記事では、可能な限り最高のグリッドベースのEAの開発に取り組みます。 いつものように、MetaTrader4とMetaTrader5の両方で動作することができるクロスプラットフォームEAになります。 当初このEAは、長期間にわたって利益を上げることができませんでしたが、それ以外は良好でした。 2番目となるこのEAは、数年以上にわたって動作する可能性があります。 しかし、残念ながら、最大ドローダウンが50%未満で、年間利益の50%以上の条件は得ることができませんでした。
クイック手動取引ツールキット: 基本機能
クイック手動取引ツールキット: 基本機能

クイック手動取引ツールキット: 基本機能

今日、多くのトレーダーが自動取引システムに切り替えています。これらのシステムには、追加のセットアップが必要なものも完全に自動化されてすぐに使用できるものもあります。ただし、昔ながらの方法で手動で取引することを好むトレーダーもかなりいます。本稿では、ホットキーを使用してすばやく手動で取引し、ワンクリックで一般的な取引アクションを実行するためのツールキットを作成します。
クロスプラットフォームEA: オーダーマネージャ
クロスプラットフォームEA: オーダーマネージャ

クロスプラットフォームEA: オーダーマネージャ

この記事では、クロスプラットフォームEAのオーダーマネージャの作成について説明します。 オーダーマネージャは、EAによってエントリーされたオーダーと決済、および両方で独立した記録を保持します。
マルチ通貨システム エキスパートアドバイザーの作成
マルチ通貨システム エキスパートアドバイザーの作成

マルチ通貨システム エキスパートアドバイザーの作成

この記事は、複数のシンボルをトレードし、同時にいくつものトレーディングシステムを使用するエキスパートアドバイザーのストラクチャーを紹介します。もしすでにすべてのEAにおいて最適な入力パラメーターを特定し、それぞれに対して個別に良いテスト結果を得ているのであれば、もしすべての戦略を合わせて同時に全EAをテストすればどのような結果を得ることができるか、ご自身に尋ねてみてください。
DoEasyライブラリの時系列(第36部): すべての使用銘柄期間の時系列オブジェクト
DoEasyライブラリの時系列(第36部): すべての使用銘柄期間の時系列オブジェクト

DoEasyライブラリの時系列(第36部): すべての使用銘柄期間の時系列オブジェクト

本稿では、使用された各銘柄期間のバーオブジェクトのリストを単一の銘柄時系列オブジェクトに結合することを検討します。使用されるすべての銘柄時系列期間のリストを格納するオブジェクトが各銘柄に備わることになります。
MQLによるMQLの構文解析
MQLによるMQLの構文解析

MQLによるMQLの構文解析

本稿では、MQLに基づいたソースコードの解析に使用されるプリプロセッサ、スキャナ、パーサについて説明します。MQLの実装が添付されています。
preview
MQL5におけるリソースの使用

MQL5におけるリソースの使用

MQL5プログラムを使うと、ルーチンの演算を自動化するだけでなく、フル機能のグラフィック環境を作ることが可能です。真にインタラクティブなコントロールを作成する機能は、今や、伝統的なプログラミング言語のそれとほとんど同じくらい充実しています。MQL5でフル機能のスタンドアロンプログラムを書くことを望むなら、これらに含まれるリソースを使いましょう。リソースを使ったプログラムは、管理や配布をより簡単に行えます。
グラフィカルインタフェースX: マルチラインテキストボックス(ビルド8)
グラフィカルインタフェースX: マルチラインテキストボックス(ビルド8)

グラフィカルインタフェースX: マルチラインテキストボックス(ビルド8)

マルチラインテキストボックスについて説明します。OBJ_EDIT型のグラフィカルオブジェクトとは異なり、ここで説明されるバージョンには入力文字数の制限がありません。また、カーソルをマウスまたはキーを使用して移動してテキストボックスをシンプルなテキストエディタに切り替えるモードも追加されています。
アジアセッション中の夜間取引: どのように収益性を維持するか
アジアセッション中の夜間取引: どのように収益性を維持するか

アジアセッション中の夜間取引: どのように収益性を維持するか

この記事では、夜間取引の概念、および MQL5 におけるトレーディング戦略とその実装について扱います。 テストを通じ、適切な結論を下します。
Boxplotによる金融時系列のシーズンパターンの探索
Boxplotによる金融時系列のシーズンパターンの探索

Boxplotによる金融時系列のシーズンパターンの探索

この記事では、Boxplotを使用して価格時系列のシーズン特性を表示します。 各Boxplot(あるいは"ボックスアンドウイスキーダイアグラム") は、データセットに沿って値がどのように分布しているかを示す優れたものです。 Boxplotは、視覚的に似ていますが、ローソク足チャートと混同しないでください。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第29部): 未決取引リクエスト - 特定の条件下での注文とポジションの削除と変更
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第29部): 未決取引リクエスト - 特定の条件下での注文とポジションの削除と変更

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第29部): 未決取引リクエスト - 特定の条件下での注文とポジションの削除と変更

本稿では、保留中リクエスト取引の概念の説明を完了し、未決注文を削除する機能と、特定の条件下で注文とポジションを変更する機能を作成します。したがって、シンプルなカスタム戦略、またはユーザ定義の条件でアクティブ化されるEA動作ロジックを開発できるようになります。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第19部): ライブラリメッセージのクラス
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第19部): ライブラリメッセージのクラス

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第19部): ライブラリメッセージのクラス

本稿では、テキストメッセージを表示するクラスについて検討します。現在、異なるテキストメッセージが多数あるので、ロシア語または英語のメッセージを他の言語に保存、表示、翻訳する方法を再調整するときが来ました。さらに、新しい言語をライブラリに追加して言語をすばやく切り替える便利な方法を導入するのが望ましいでしょう。
インディケータの統計パラメータ分析
インディケータの統計パラメータ分析

インディケータの統計パラメータ分析

テクニカル分析は基本クオートを「より明確に」示し、トレーダーがマーケット価格動向を分析し推定することのできるインディケータを幅広く採り入れます。インディケータを使用することに意味はなく、言うまでもなく最初のクオート変換と取得した結果の信頼性に関する問題を解決できないかぎり、インディケータを特定のトレーディングシステムに適用することにも意味がありません。本稿ではそのような結論について確たる理由があることを示していきます。
MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張
MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張

MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張

本稿は MQL5 標準ライブラリの拡張について説明します。それは MQL5 ウィザードを用いてインクルードされたモジュールから受信する価格によって Expert Advisors を作成し、発注し、ストップロスおよびテイクプロフィットを設定することを可能にするものです。この方法はモジュール数に追加の制限は何も設けず、その連携動作において競合が発生することはありません。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第28部): 指値取引リクエストの決済、削除、変更
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第28部): 指値取引リクエストの決済、削除、変更

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第28部): 指値取引リクエストの決済、削除、変更

これは、保留中リクエストの概念に関する3番目の記事です。ここでは、ポジションの決済、指値注文の削除、ポジションと指値注文パラメータの変更のためのメソッドを作成することにより、指値取引リクエストのテストを完了します。
MQL5でのオブジェクトポインターの使用
MQL5でのオブジェクトポインターの使用

MQL5でのオブジェクトポインターの使用

デフォルトで、MQL5ではすべてのオブジェクトがレファレンスによって渡されますが、オブジェクトポインターを使用する可能性があります。しかし、オブジェクトは初期化されないかもしれないので、ポインター 確認が必要です。 この場合、 MQL5はクリティカルエラーでアップロードされずにプログラムが終了します。自動作成されたオブジェクトはこのようなエラーが発生しないのでその意味で安全です。本記事ではオブジェクトレファレンスとオブジェクトポインターの違いを理解し、ポインターを使うセキュアコードの書き方を考察します。
グラフィカルインタフェース I: コントロールのフォーム(チャプター 2)
グラフィカルインタフェース I: コントロールのフォーム(チャプター 2)

グラフィカルインタフェース I: コントロールのフォーム(チャプター 2)

本稿ではグラフィカルインタフェースの第一及び主要素である、コントロールのフォームを作成します。このフォームには複数のコントロールが任意の場所と組み合わせで添付することができます。
長期取引戦略の基盤としてのマルチンゲール
長期取引戦略の基盤としてのマルチンゲール

長期取引戦略の基盤としてのマルチンゲール

本稿では、マルチンゲールシステムについて詳細に検討します。このシステムを取引に適用できるかどうか、またリスクを最小限に抑えるための使用方法が検討されます。この単純なシステムの主な欠点は、預金全体を失う可能性があることです。マルチンゲール技術を使って取引することを決定した場合、この事実は考慮に入れられなければなりません。
ネットワーク関数の適用、または DLL を使用しない MySQL: パートII - シグナル特性の変化を監視するプログラム
ネットワーク関数の適用、または DLL を使用しない MySQL: パートII - シグナル特性の変化を監視するプログラム

ネットワーク関数の適用、または DLL を使用しない MySQL: パートII - シグナル特性の変化を監視するプログラム

前のパートでは、MySQLコネクタの実装をしました。 この記事では、シグナルプロパティを収集するためのサービスを実装し、時間の経過とともに変化を表示するためのプログラムを実装することで、そのアプリケーションを検討します。 実装された例は、ユーザーがシグナルのWebページに表示されないプロパティの変化を観察する必要がある場合、実用的な意味を持ちます。
トレンドとフラットの戦略を個別に最適化する
トレンドとフラットの戦略を個別に最適化する

トレンドとフラットの戦略を個別に最適化する

この記事では、さまざまな市場条件に対して個別に最適化する方法について説明しています。個別最適化とは、上昇トレンドと下降トレンドを別々に最適化して取引システムの最適なパラメータを決定することです。誤ったシグナルの影響を減らして収益性を向上させるために、システムは柔軟に作られています。つまり、市場の動きは常に変化を伴う為、システムには特定の設定や入力データのセットがあります。
Net Framework および C# に基づくグラフィカル インターフェイスの開発 (パート 2): その他のグラフィカル要素
Net Framework および C# に基づくグラフィカル インターフェイスの開発 (パート 2): その他のグラフィカル要素

Net Framework および C# に基づくグラフィカル インターフェイスの開発 (パート 2): その他のグラフィカル要素

この記事は、前回の記事".Net Framework と C#に基づいてEAとインジケータのグラフィカルインターフェイスを開発する"のフォローアップです。 グラフィカルインターフェイスを作成するための新しいグラフィカル要素を紹介します。
トレーダーの注文を実装し、MQL5Freelanceサービスにて利益を生む方法
トレーダーの注文を実装し、MQL5Freelanceサービスにて利益を生む方法

トレーダーの注文を実装し、MQL5Freelanceサービスにて利益を生む方法

MQL5 Freelanceは、開発者がトレーダーにより注文されたトレーディングアプリケーションの作成で収入を得ることのできるオンラインサービスです。トレーダーは、MQL5.comにてすべてのサービス間の違いを理解しだしています:すでに出来上がったトレーディングシステムは、MetaTrader Marketから購入でき、一方、ユーザーによって定義された戦略に基づくトレードを行うユニークなエキスパートアドバイザーは、Freelanceサービスにて注文できます。熟練した開発者は、トレーダーの注文の実装において競い合い、トレーダーは、最も良い時間、コストの条件を提供している人を選択できます。サービスの開始から、トレーダーは10,000もの仕事に対して、合計$600,000ほどを支払ってきました。
グラフィカルインタフェース I: フォームボタンとインターフェイス要素削除のための関数(チャプター 4)
グラフィカルインタフェース I: フォームボタンとインターフェイス要素削除のための関数(チャプター 4)

グラフィカルインタフェース I: フォームボタンとインターフェイス要素削除のための関数(チャプター 4)

本稿では、コントロールのクリックによるフォーム管理のメソッドを追加してWindowクラスの開発を続けていこうと思います。フォームのボタンによってのプログラムの終了を有効にするだけでなく、フォームの最小化と最大化機能も実装します。
標準ライブラリクラスを使ってオリジナルのMarket Watchを作成します。
標準ライブラリクラスを使ってオリジナルのMarket Watchを作成します。

標準ライブラリクラスを使ってオリジナルのMarket Watchを作成します。

新しいMetaTrader 5クライアント端末とMQL5言語はトレーダーにビジュアル情報を提供する機会をもたらします。 本稿では、汎用的拡張可能なクラスセットを提案します。それはチャート上の任意のテキストの表示作成作業をすべて行うものです。 Market Watch インディケータの例を提供します。
ローソク足分析技術の研究(第4部): パターンアナライザーの更新と追加
ローソク足分析技術の研究(第4部): パターンアナライザーの更新と追加

ローソク足分析技術の研究(第4部): パターンアナライザーの更新と追加

本稿では、パターンアナライザーアプリケーションの新しいバージョンについて説明します。このバージョンでは、バグ修正と新機能、そして改訂されたユーザーインターフェイスが提供されています。新しいバージョンを開発するときに、前の記事からのコメントと提案が考慮されました。結果として得られたアプリケーションは、この記事で説明されています。
MQL5での統計確率分布
MQL5での統計確率分布

MQL5での統計確率分布

本稿は、適用統計に使用されるランダム変数の確率分布(標準、対数正規分布、二項分布、ロジスティック分布、指数分布、コーシー分布、ストゥーデンとの t-分布、 ラプラス分布、 ポアソン分布、双曲線正割分布、 ベータ分布、ガンマ分布)について述べます。またこういった分布を処理するクラス特性についても述べます。
バランスグラフを使用した戦略の最適化と、結果の「バランス+最大シャープレシオ」基準との比較
バランスグラフを使用した戦略の最適化と、結果の「バランス+最大シャープレシオ」基準との比較

バランスグラフを使用した戦略の最適化と、結果の「バランス+最大シャープレシオ」基準との比較

本稿では、バランスグラフ分析に基づいたカスタム取引戦略最適化基準をさらにもう1つ考察します。線形回帰は、ALGLIBライブラリの関数を使用して計算されます。
preview
連続ウォークスルー最適化(パート2):ロボットの最適化レポート作成のメカニズム

連続ウォークスルー最適化(パート2):ロボットの最適化レポート作成のメカニズム

ウォークスルー最適化シリーズの最初の記事では、自動オプティマイザで使用するDLLの作成について説明しました。 今回は完全にMQL5言語に専念します。
preview
アルゴリズム取引システムを設計する理由と方法を学ぶ

アルゴリズム取引システムを設計する理由と方法を学ぶ

この記事では、MQL5のいくつかの基本に言及した後で、単純なアルゴリズム取引システムを設計することによって初心者がアルゴリズム取引システム(エキスパートアドバイザー)を設計するためのMQLの基本を示します。
CCanvasでのカスタム指標とインフォグラフィックス
CCanvasでのカスタム指標とインフォグラフィックス

CCanvasでのカスタム指標とインフォグラフィックス

本稿は、より複雑な構造的実装を伴う新しい種類の指標について検討し、擬似3D型指標と動的インフォグラフィックスの開発についても説明します。
リバーシング: 聖杯や危険な妄想?
リバーシング: 聖杯や危険な妄想?

リバーシング: 聖杯や危険な妄想?

この記事では、リバーシングマーチンゲール技術を研究し、トレード戦略を向上させることができるかどうかということはもちろん、使用する価値があるかどうかを判断します。 ヒストリカルデータを操作し、リバーシングテクニックに最適なインジケータを確認するEAを作成します。 また、独立したトレードシステムとしてのインジケータなしで使用できるかどうかもチェックします。 また、リバーシングが、負けトレードから勝ちトレードに変えられるかを確かめます。