MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
フィッシャートランスフォームの適用とMetaTrader5の市場分析に対するフィッシャートランスフォーム
フィッシャートランスフォームの適用とMetaTrader5の市場分析に対するフィッシャートランスフォーム

フィッシャートランスフォームの適用とMetaTrader5の市場分析に対するフィッシャートランスフォーム

市場サイクルの確率密度関数(PDF)がガウス性では残らず、むしろ正弦波のPDGとして維持され、大半のインジケーターがその市場サイクルPDFがガウス性であると想定しています。その解決策は、フィッシャートランスフォームを使用することです。フィッシャートランスフォームは、いかなる波形のPDFをガウス性に変換します。この記事は、フィッシャートランスフォームの裏にある数学と、対するフィッシャートランスフォーム、トレーディングへの適用例を紹介します。反対のフィッシャートランスフォームに基づく所有のトレーディングシグナルモジュールが紹介され、評価されます。
エラーとログの発見
エラーとログの発見

エラーとログの発見

MetaEditor 5にはデバッグ機能が備わっています。しかし、MQL5プログラムを書くとき、個別の値ではなく検証中やオンライン作業中に現れるメッセージをすべて表示したいと思うことがよくあります。ログファイルのサイズが大きい場合、要求されるメッセージを速く簡単に回復するよう自動化するのは疑う余地がありません。本稿では、MQL5プログラム内エラーを発見する方法とログ手法を考察していきます。また、ファイルに単にログインし、ログを簡単に閲覧するためのプログラム、LogMonについての知識も深めていきます。
未知の確率密度関数のカーネル密度推定
未知の確率密度関数のカーネル密度推定

未知の確率密度関数のカーネル密度推定

本稿では、未知の確率密度関数のカーネル密度推定を可能にするプログラム作成に取り組みます。そしてタスク実行のためにカーネル密度推定法を選択しました。本稿にはメソッドのソフトウェア実装コード、その使用例、説明が述べられています。
ランダムウォーク理論とトレンドインディケータ
ランダムウォーク理論とトレンドインディケータ

ランダムウォーク理論とトレンドインディケータ

ランダムウォークは現実のマーケットデータと実によく似ていますが、大きな特徴がいくつかあります。本稿ではコインン投げゲームを使用するシミュレーションでランダムウォークのプロパティを考察します。データのプロパティを調査するためトレンドインディケータを作成します。
古典的な隠れたダイバージェンスを解釈する新しいアプローチ第2部
古典的な隠れたダイバージェンスを解釈する新しいアプローチ第2部

古典的な隠れたダイバージェンスを解釈する新しいアプローチ第2部

本稿では、さまざまな指標のレギュラーダイバージェンスと効率性について批判的に検討します。さらに、分析の精度を高めるためのフィルタリングオプションと、非標準ソリューション機能の説明が含まれています。 その結果、技術的なタスクを解決するための新しいツールを作成します。
インジケータのバッファや配列を使わずにヒストグラムを形成する統計分布
インジケータのバッファや配列を使わずにヒストグラムを形成する統計分布

インジケータのバッファや配列を使わずにヒストグラムを形成する統計分布

この記事では、グラフィックメモリの助けを借りて、相場の統計的分布ヒストグラムをプロットする可能性について説明します。サンプルのヒストグラムと mql5のグラフィカルオブジェクトの「非表示」関数があります。
エキスパートアドバイザーの注文と希望の結果の取得方法
エキスパートアドバイザーの注文と希望の結果の取得方法

エキスパートアドバイザーの注文と希望の結果の取得方法

どのように正しく必要条件の明記を記載するのでしょうか?エキスパートアドバイザーやインジケーターを注文する際にプログラマーに期待すべき点と、期待すべきではない点は何でしょうか?やりとりを記録するにはどうすべきで、何に対して特に注意すべきでしょうか?この記事は、これらの質問や、その他多くの人にとって明白ではない様々な質問に対する答えを提供します。
CCanvas クラスを知る透明なオブジェクトの描画方法
CCanvas クラスを知る透明なオブジェクトの描画方法

CCanvas クラスを知る透明なオブジェクトの描画方法

みなさんは移動平均のぎこちないグラィック以上のものが必要ですか?ターミナルにただ色がついている長方形よりも見栄えの良い何かを描画してみたいですか?ターミナルには魅力的なグラフィックを描くことができるのです。それはカスタムグラフィックを作成する CСanvas クラスで実装することができます。このクラスで透明性を取り入れ、色を混ぜ、オーバーラップと色の混ぜ合わせによって透明の錯覚を産み出すことができるのです。
MQL5 マーケットがトレーディング戦略およびテクニカルインディケータを販売するのにベストな場所である理由
MQL5 マーケットがトレーディング戦略およびテクニカルインディケータを販売するのにベストな場所である理由

MQL5 マーケットがトレーディング戦略およびテクニカルインディケータを販売するのにベストな場所である理由

MQL5.community マーケットは Expert Advisors 開発者に対してすでに何千人という潜在的購入者のいるできあがったマーケットを提供します。これは売買ロボットやテクニカルインディケータを販売するのにはベストな場所です。
ボックスーコックス変換
ボックスーコックス変換

ボックスーコックス変換

この記事は、読者がボックスーコックス変換について詳しく知ることができることを意図されています。使用方法に関して取り組まれ、ランダムなシーケンスと実際の取引価格での変換率を評価を行うものに関しての例がいくつか提示されています。
MQL5でのオブジェクト作成と削除の順番
MQL5でのオブジェクト作成と削除の順番

MQL5でのオブジェクト作成と削除の順番

MQL5プログラムでは、すべてのオブジェクトはカスタムオブジェクトだろうと、動的配列またはオブジェクト配列は特定の方法で作成され削除されます。 しばしば オブジェクトは他のオブジェクトの一部で、非初期化のオブジェクト削除の順は特に重要になります。本記事ではオブジェクトを使用するメカニズムの例を紹介します。
MetaTrader 5での並列計算
MetaTrader 5での並列計算

MetaTrader 5での並列計算

人類の歴史において時間は高価値であり、われわれはそれを無駄に費やさないよう努力しています。本稿では、マルチ コア プロセッサのコンピュータをご使用の場合、お手元のExpert Advisor の動作スピードを上げる方法について述べていきます。また、提案のメソッド実装には MQL5以外の言語知識は必要とされません。
Wolfe波動
Wolfe波動

Wolfe波動

このBill Wolfe氏によって提案された視覚的手法は、市場参入の瞬間と方向を特定するためのパターンを検出することを可能にし、価格目標とその到達時間を予測するのに役立ちます。本稿では、Wolfe波動を検索するジグザグに基づいた指標を作成する方法と、この指標に基づいた簡単なエキスパートアドバイザーで取引する方法について説明します。
新しいMetaTrader 5 とMQL5の登場
新しいMetaTrader 5 とMQL5の登場

新しいMetaTrader 5 とMQL5の登場

これはMetaTrader5のただの簡単なレビューです。このような短い時間でシステムのすべての特徴を述べることはできません。2009年9月9日に試用を開始しました。これはシンボル的な日付でラッキーナンバーになると信じています。ベータ版のMetaTrader5とMQL5を手に入れて数日が経ちました。まだ全ての特徴を使ってはいませんが、すでに関心させられました。
preview
Rを使って高速化したMQL5の統計分布

Rを使って高速化したMQL5の統計分布

Rで実装されている基本的な統計分布を操作するための関数を紹介します。コーシー、ワイブル、正規、対数正規、ロジスティック、指数、均一、ガンマ分布、カイ 2 乗、中央と非心 beta スチューデントの t 分布、F 分布フィッシャーの離散二項および否定的な二項分布、幾何学、幾何とポアソン分布。これらのモデルに実際の分布の適合性の程度を評価できるように、分布の理論的モーメントを計算する関数があります。
買われすぎ・売られすぎゾーンの検出方法について。 第一部
買われすぎ・売られすぎゾーンの検出方法について。 第一部

買われすぎ・売られすぎゾーンの検出方法について。 第一部

買われすぎ/売られすぎのゾーンは、相場の特定の状態を特徴づけ、有価証券の価格の弱い変化によって区別されます。 シナミクスにおけるこの不利な変化は、あらゆるスケールのトレンドの成長の最終段階で顕著です。 トレードにおける利益価値は、可能な限り大きなトレンド振幅をカバーできるかどうかに直接依存するため、このようなゾーンを検出する精度は、どのような証券でも重要な課題となります。
カスタムインジケーターに基づくトレーディングシグナルジェネレーター
カスタムインジケーターに基づくトレーディングシグナルジェネレーター

カスタムインジケーターに基づくトレーディングシグナルジェネレーター

カスタムインジケーターに基づくトレーディングシグナルジェネレーターはどのように作成するのでしょうか?カスタムインジケーターはどのように作成するのでしょうか?カスタムインジケーターのデータへのアクセスはどのように取得するのでしょうか?IS_PATTERN_USAGE(0) ストラクチャーとモデルがなぜ必要なのでしょうか?
f()10分でできるMQL5 のためのDLL (パート II): Visual Studio 2017で作成
f()10分でできるMQL5 のためのDLL (パート II): Visual Studio 2017で作成

f()10分でできるMQL5 のためのDLL (パート II): Visual Studio 2017で作成

元の基本となる記事との関連性は失われていませんが、このトピックに興味がある場合は、まず最初の記事を読んでください。 しかし、前回の記事から時間が経過しているので、現在の Visual Studio 2017 には、更新されたインターフェイスがあります。 また、MetaTrader5プラットフォームにも新しい機能が追加されました。 この記事では、DLLのプロジェクト開発、およびセットアップと MetaTrader5 ツールとのやり取りについて説明します。
ディープニューラルネットワーク(その3)サンプル選択と次元削減
ディープニューラルネットワーク(その3)サンプル選択と次元削減

ディープニューラルネットワーク(その3)サンプル選択と次元削減

本稿は、ディープニューラルネットワークに関する一連の記事の続きです。ここでは、ニューラルネットワークの訓練データの準備に当たってのサンプルの選択(ノイズ除去)、入力データの次元数の削減、及びデータセットの訓練/検証/テストセットへの分割を検討します。
MQL5におけるトレーディング用コントロールパネルの作成
MQL5におけるトレーディング用コントロールパネルの作成

MQL5におけるトレーディング用コントロールパネルの作成

この記事は、MQL5のコントロールパネルの開発における問題を取り扱っています。インターフェイスは、イベントハンドリングによって管理されています。加えて、管理の柔軟なセットアップ方法が複数あります。コントロールパネルは、ポジションを扱い、また、設定、修正、削除や、未決注文も管理します。
CSSセレクタを使用した HTML ページからの構造化データの抽出
CSSセレクタを使用した HTML ページからの構造化データの抽出

CSSセレクタを使用した HTML ページからの構造化データの抽出

この記事では、CSS セレクタに基づいて HTML ドキュメントからデータを分析および変換するための汎用的な方法について説明します。 トレードレポート、テスターレポート、お気に入りの経済カレンダー、パブリックシグナル、アカウント監視、その他のオンラインクオートソースは MQL から直接利用可能になります。
最適化管理(パートII): キーオブジェクトとアドオンロジックの作成
最適化管理(パートII): キーオブジェクトとアドオンロジックの作成

最適化管理(パートII): キーオブジェクトとアドオンロジックの作成

本稿は、以前の最適化管理用のグラフィカルインターフェイスの作成に関する記事の続きです。本稿では、アドオンのロジックについて検討しています。MetaTrader 5ターミナルのラッパーが作成され、アドオンをC#を介した管理プロセスとして実行できるようにします。また、構成ファイルとセットアップファイルを使用した操作についても検討します。アプリケーションのロジックは2つの部分に分かれています。最初の部分では特定のキーを押した後に呼び出されるメソッドを記述し、2番目の部分では最適化の起動と管理を扱います。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第1部)概念、データ管理および最初の結果
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第1部)概念、データ管理および最初の結果

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第1部)概念、データ管理および最初の結果

膨大な数の取引戦略やMetaTrader 5およびMetaTrader 4ターミナル用アプリケーションの開発の注文、さまざまなMetaTrader Webサイトを分析しているうちに、私は、このすべての多様性のほとんどが、異なるプログラムで定期的に現れる同じ基本的な機能、行動、および価値観に基づいているという結論に達しました。これにより、МetaТrader5およびМetaТrader4アプリケーションを簡単かつ迅速に開発するためのDoEasyクロスプラットフォームライブラリが完成しました。
トレーディングにおけるOLAPの適用(その4)。テスターレポートの定量的・視覚的分析
トレーディングにおけるOLAPの適用(その4)。テスターレポートの定量的・視覚的分析

トレーディングにおけるOLAPの適用(その4)。テスターレポートの定量的・視覚的分析

この記事では、シングルパスや最適化結果に関連するテスターレポートのOLAP分析のための基本的なツールを提供しています。 このツールは標準フォーマットのファイル(tstとopt)を扱うことができ、グラフィカルなインターフェイスも提供します。 最後にMQLのソースコードを添付します。
シグナル計算機
シグナル計算機

シグナル計算機

シグナル計算機は、MetaTrader 5のターミナルから直接動作し、ターミナルがシグナルの事前選択とソートを行います。これこそがこの計算機の大きな長所でもあります。これによって、MetaTrader 5のターミナルでは、自分の取引口座と最大限に互換性のあるシグナルのみユーザーに見えることになります。
ボリンジャーバンドによる取引システムの設計方法を学ぶ
ボリンジャーバンドによる取引システムの設計方法を学ぶ

ボリンジャーバンドによる取引システムの設計方法を学ぶ

この記事では、取引の世界で最も人気のある指標の1つであるボリンジャーバンドについて学びます。テクニカル分析を検討し、ボリンジャーバンド指標に基づいてアルゴリズム取引システムを設計する方法を確認します。
ビジュアルストラテジービルダー。 プログラミングなしでトレーディングロボットを作成する
ビジュアルストラテジービルダー。 プログラミングなしでトレーディングロボットを作成する

ビジュアルストラテジービルダー。 プログラミングなしでトレーディングロボットを作成する

この記事では、ビジュアルストラテジービルダーを紹介します。 ユーザーがプログラミングせずにトレードロボットやユーティリティを作成する方法について紹介します。 作成されたEAは、完全に機能し、ストラテジーテスターでテストすることができます。また、クラウドで最適化またはリアルタイムチャートでライブ実行することも可能です。
グラフィカルインタフェース III: シンプルなボタンと多機能ボタン(チャプター 1)
グラフィカルインタフェース III: シンプルなボタンと多機能ボタン(チャプター 1)

グラフィカルインタフェース III: シンプルなボタンと多機能ボタン(チャプター 1)

ボタンについて考えましょう。ここでは、簡単なボタン、拡張機能を持ったボタン(アイコンボタンとスプリットボタン)、また相互接続されたボタン(ボタングループとラジオボタン)を作成するためのいくつかのクラスの例を説明していきます。そのうえ、それらの能力を拡大するためのコントロールのために既存クラスにいくつかの追加を導入します。
オブジェクト指向プログラミング
オブジェクト指向プログラミング

オブジェクト指向プログラミング

オブジェクト指向プログラミングに関する多相性やカプセル化などについて理解する必要はありません。これらの機能を使うだけで良いのです。この記事ではオブジェクト指向プログラミングの基本を例を使って具体的に見ていきます。
DLLを使用せず、名前のつけられたパイプを使っての MetaTrader 5との通信
DLLを使用せず、名前のつけられたパイプを使っての MetaTrader 5との通信

DLLを使用せず、名前のつけられたパイプを使っての MetaTrader 5との通信

多くの開発者が同じ課題に出会います。安全性の低い DLL を使わずトレーディングターミナルのサンドボックスを手に入れる方法です。もっとも簡単で安全な方法の一つは、通常のファイル処理で動作する標準的な「名前付きパイプ」を使用することです。名前付きパイプにより、プロセッサ内でプログラム間のクライアントサーバー通信を行うことができます。サーバー、クライアント、それらの間のデータ交換、パフォーマンスのベンチマークを含んだ C++ 言語および MQL5 での実用例を見ていきます。
80-20 トレード戦略
80-20 トレード戦略

80-20 トレード戦略

この記事では、80-20 トレード戦略を分析するためツール (インジケーターおよびEA) の開発について説明します。トレードルールは"ストリートスマート"より引用します。リンダラッシュクとローレンス · コナーズによる"短期的なトレード戦略”です。mql5を使用して、戦略ルールを定式化し、最近の相場のヒストリーベースで、インディケータとEAをテストします。
トレーダーのリスクを低減するには
トレーダーのリスクを低減するには

トレーダーのリスクを低減するには

金融市場における取引には広範囲のリスクがつきもので、これらは取引システムのアルゴリズムで考慮されるべきです。そのようなリスクを低減することは、取引で利益を得るために最も重要な課題です。
メタトレーダー5の EA の自動最適化
メタトレーダー5の EA の自動最適化

メタトレーダー5の EA の自動最適化

この記事では、MetaTrader5での自己最適化メカニズムの実装について説明します。
MetaTrader5のカスタムウォークフォワード最適化
MetaTrader5のカスタムウォークフォワード最適化

MetaTrader5のカスタムウォークフォワード最適化

この記事では、MQL で実装された組み込みのテスターおよび補助ライブラリを使用して、ウォークフォワード最適化による正確なシミュレーションを扱います。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第25部): 取引サーバから返されたエラーの処理
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第25部): 取引サーバから返されたエラーの処理

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第25部): 取引サーバから返されたエラーの処理

サーバに取引注文を送信した後は、エラーコードやエラーがないことを確認する必要があります。本稿では、取引サーバによって返されるエラーの処理について考察し、未決取引リクエストを作成する準備をします。
自己適応アルゴリズムの開発(第I部):基本的なパターンの検索
自己適応アルゴリズムの開発(第I部):基本的なパターンの検索

自己適応アルゴリズムの開発(第I部):基本的なパターンの検索

この連載では、ほとんどの市場要因を考慮した自己適応アルゴリズムの開発を示すとともに、これらの状況を体系化してロジックで説明し、取引活動で考慮に入れる方法を示します。非常に単純なアルゴリズムから始めて、徐々に理論を習得し、非常に複雑なプロジェクトに進化していきます。
MQL5 クックブック: インジケーターサブウィンドウコンソールーボタン
MQL5 クックブック: インジケーターサブウィンドウコンソールーボタン

MQL5 クックブック: インジケーターサブウィンドウコンソールーボタン

この記事では、ボタンコンソールでユーザーインターフェースを開発する例を紹介します。ユーザーにインタラクティヴィティ性を伝えるため、ボタンはカーソルが図上にある際に色を変えます。ボタンの上にカーソルがある状態で、ボタンの色は、わずかに暗くなり、ボタンがクリックされた時には、わずかにより暗くなります。さらに、ツールチップをそれぞれのボタンに加え、直感的なインターフェースを作成します。
強化学習におけるモンテカルロ法の応用
強化学習におけるモンテカルロ法の応用

強化学習におけるモンテカルロ法の応用

自己学習を行うEAを作成するためのReinforcement learningの適用。前回の記事では、Random Decision Forestアルゴリズムを学び、Reinforcement learning(強化学習)に基づく簡単な自己学習EAを作成しました。このアプローチの主な利点は、取引アルゴリズムを書くことの単純さと『学習」の高速性でした。強化学習(以下、単にRL)は、どのEAにも簡単に組み込むことができ、最適化のスピードを上げられます。
preview
オープニングレンジブレイクアウト日中取引戦略の解読

オープニングレンジブレイクアウト日中取引戦略の解読

オープニングレンジブレイクアウト(ORB)戦略は、市場が開いた直後に形成される初期の取引レンジが、買い手と売り手が価値に合意する重要な価格レベルを反映しているという考えに基づいて構築されています。特定のレンジを上抜けまたは下抜けするブレイクアウトを特定することで、市場の方向性が明確になるにつれて発生することが多いモメンタムを利用し、トレーダーは利益を狙うことができます。本記事では、Concretum Groupの論文から応用した3つのORB戦略を紹介します。
preview
MQL5を使用したカスタムインディケータ(平均足)の作成方法

MQL5を使用したカスタムインディケータ(平均足)の作成方法

この記事では、MQL5を使用して好みに基づいてカスタムインディケータを作成し、MetaTrader 5でチャートの読み取りに使用したり、自動エキスパートアドバイザー(EA)で使用したりする方法を学びます。