MQL5言語のプログラミング例に関する記事

icon

MQL5言語でMetaTraderプラットフォームのインジケータと自動売買ロボットを作成する方法を示すコード例を含む膨大な記事のコレクションにアクセスします。ソースコードは記事に添付されているので、MetaEditorで開いて実行して、アプリがどのように機能するかを確認できます。

これらの記事は自動取引初心者にも、プログラム経験があるプロのトレーダーにも役に立つでしょう。それらは単に例を特徴とするだけではなく、新しいアイデアも含んでいます。

新しい記事を追加
最新 | ベスト
preview
多層パーセプトロンとバックプロパゲーションアルゴリズム(第II部): Pythonでの実装とMQL5との統合

多層パーセプトロンとバックプロパゲーションアルゴリズム(第II部): Pythonでの実装とMQL5との統合

MQLとの統合を開発するために利用できるPythonパッケージが存在し、データの探索、作成、機械学習モデルの使用などのさまざまな機会がもたらされます。MQL5に組み込まれているPython統合により、単純な線形回帰から深層学習モデルまで、さまざまなソリューションを作成できます。開発環境を設定して準備する方法と、いくつかの機械学習ライブラリを使用する方法を見てみましょう。
グラフィカルインタフェース I: 種々のプログラム及びメタトレーダー4ターミナルでのライブラリのテスト(チャプター 5)
グラフィカルインタフェース I: 種々のプログラム及びメタトレーダー4ターミナルでのライブラリのテスト(チャプター 5)

グラフィカルインタフェース I: 種々のプログラム及びメタトレーダー4ターミナルでのライブラリのテスト(チャプター 5)

このグラフィカルインターフェイスに関するシリーズの第一部の前章では、フォームクラスは、そのコントロールを押すしてフォームの管理を許可するメソッドによって改善されました。本稿では、インディケータやスクリプトなどの異なるMQLプログラムでのテストが行われます。ライブラリはすべてのMetaTraderプラットフォームで使用できるクロスプラットフォーム対応として設計されたので、MetaTrader 4でもテストを行います。
モスクワ証券取引所で取引をする際の、EAの安全性について
モスクワ証券取引所で取引をする際の、EAの安全性について

モスクワ証券取引所で取引をする際の、EAの安全性について

この記事では、トレード執行時の安全性を確保する手法について考察します。例として、モスクワ証券取引所における低流動性の株式を扱います。この方法は、"モスクワ証券取引所の例によるトレードの原則"による、実践的なアプローチとなります。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第9部): MQL4との互換性 - データの準備
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第9部): MQL4との互換性 - データの準備

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第9部): MQL4との互換性 - データの準備

前の記事では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。第8部では、注文とポジションの変更イベントを追跡するためのクラスを実装しました。ここでは、MQL4と完全な互換性を備えさせることでライブラリを改善します。
クロスプラットフォームEA: マネーマネジメント
クロスプラットフォームEA: マネーマネジメント

クロスプラットフォームEA: マネーマネジメント

この記事では、クロスプラットフォームEAの マネーマネジメントメソッドの実装について説明します。 マネーマネジメントクラスは、EAによってエントリーされる次のトレードに使用するロットサイズの計算を担当します。
グラフィカルインタフェース  II: 区切り線とコンテキストメニュー要素(チャプター 2)
グラフィカルインタフェース  II: 区切り線とコンテキストメニュー要素(チャプター 2)

グラフィカルインタフェース II: 区切り線とコンテキストメニュー要素(チャプター 2)

本稿では、区切り線要素を作成します。区切り線要素は、独立したインターフェース要素としてだけでなく、他の多くの構成要素の一部として使用することもできます。本稿ではまた、その後、コンテキストメニュークラスの開発に必要なものすべての詳細を考察します。それに加え、アプリケーションのすべてのグラフィカル・インターフェース要素へのポインタ格納の基本であるクラスに必要なすべての追加をご紹介します。
MQL5 クックブック: MQL5でのマルチシンボルボラティリティインジケーターの開発
MQL5 クックブック: MQL5でのマルチシンボルボラティリティインジケーターの開発

MQL5 クックブック: MQL5でのマルチシンボルボラティリティインジケーターの開発

この記事では、マルチシンボルボラティリティインジケーターを紹介します。マルチシンボルインジケーターの開発は、MQL5開発初心者にとっていくつか難しい点があります。マルチシンボルインジケーターの開発中に生じる主要な問題は、現在のシンボルに関連したその他のシンボルのデータの同期化、いくつかのインジケーターデータの欠如、特定のタイムフレーム間の初めの「本当の」バーの特定などに関連します。これらの問題は、この記事にて詳しく焦点が当てられます。
グラフィカルインタフェースVII: テーブルコントロール(チャプター 1)
グラフィカルインタフェースVII: テーブルコントロール(チャプター 1)

グラフィカルインタフェースVII: テーブルコントロール(チャプター 1)

MetaTraderグラフィカルインタフェースに関するシリーズの第七部では、テキストラベル、エディットボックスとレンダーボックスの3つのテーブルタイプについてお話します。後1つの重要かつ頻繁に使用されるコントロールはタブで、これは、他のコントロールのグループを表示/非表示してMQLアプリケーション内でスペースを有効に使ったインタフェースを開発することを可能にします。
グラフィカルインタフェース V: 縦横のスクロールバー(チャプター 1)
グラフィカルインタフェース V: 縦横のスクロールバー(チャプター 1)

グラフィカルインタフェース V: 縦横のスクロールバー(チャプター 1)

MetaTrader環境でのグラフィカルインタフェースを作成するためのライブラリの開発の検討が続きます。シリーズの第一部の最初の記事では、縦横のスクロールバーを作成するためのクラスを作成します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第8部): 注文およびポジション変更イベント
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第8部): 注文およびポジション変更イベント

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第8部): 注文およびポジション変更イベント

前の記事では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。第7部では、StopLimit注文の発動の追跡を追加し、注文とポジションを含む他のイベントを追跡するための機能を準備しました。本稿では、注文とポジションの変更イベントを追跡するためのクラスを開発します。
MQLプログラムのグラフィカルインターフェイスのマークアップツールとしてのMQL 第1部
MQLプログラムのグラフィカルインターフェイスのマークアップツールとしてのMQL 第1部

MQLプログラムのグラフィカルインターフェイスのマークアップツールとしてのMQL 第1部

この論文では、MQLの構造体を用いて、MQLプログラムのウィンドウインタフェースを記述するための新しい概念を提案します。 特別なクラスは、表示可能なMQLマークアップをGUI要素に変換し、管理し、プロパティを設定し、イベントを統一的に処理することができます。 また、標準ライブラリのダイアログや要素にマークアップを使用する例をいくつか紹介します。
スピンドルチャートインジケーター
スピンドルチャートインジケーター

スピンドルチャートインジケーター

この記事は、スピンドルチャート描写とトレード戦略とEAにおけるその使い方に関するものです。まず、日本のロウソク足チャートとも繋がりがある、そのチャートについてみていきます。次に、MQL5言語でのソースコードベースでのインジケーターの実装について分析します。インジケーターとトレード手法に基づいてEAをテストしてみましょう。
オブジェクト指向アプローチによる EA モードのプログラミング
オブジェクト指向アプローチによる EA モードのプログラミング

オブジェクト指向アプローチによる EA モードのプログラミング

本稿は MQL5 でのマルチモード売買ロボットプログラミングの考えかたについて説明します。モードはすべてオブジェクト指向アプローチにより実装されます。どちらのモードクラス階層のインスタンスおよび検証用クラスも提供されます。売買ロボットのマルチモードプログラミングは MQL5 で書かれた EA の処理モードすべての特殊性を考慮するようになっています。関数および列挙はモード特定のために作成されています。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第27部): 取引リクエストの使用 - 指値注文
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第27部): 取引リクエストの使用 - 指値注文

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第27部): 取引リクエストの使用 - 指値注文

この記事では、取引リクエストの開発を継続し、指値注文の発注を実装し、検出された取引クラス使用の欠点を排除します。
CCanvas Classを使ったメーターの描写
CCanvas Classを使ったメーターの描写

CCanvas Classを使ったメーターの描写

メーターは車や飛行機などの産業や日常生活で見ることができます。これには管理する値を即座に反映する半円を使います。この記事では、 MetaTrader 5用のメーターのライブラリについて説明します。
preview
多層パーセプトロンとバックプロパゲーションアルゴリズム

多層パーセプトロンとバックプロパゲーションアルゴリズム

これら2つの手法の人気が高まり、Matlab、R、Python、C ++などで多くのライブラリが開発されています。これらのライブラリは、入力として訓練セットを受け取り、問題に適切なネットワークを自動的に作成します。基本的なニューラルネットワークタイプ(単一ニューロンパーセプトロンと多層パーセプトロンを含む)がどのように機能するかを理解してみましょう。ネットワークを訓練するためのエキサイティングなアルゴリズムである勾配降下法とバックプロパゲーションについて検討します。既存の複雑なモデルは、多くの場合、このような単純なネットワークモデルに基づいています。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第17部): ライブラリオブジェクトの相互作用
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第17部): ライブラリオブジェクトの相互作用

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第17部): ライブラリオブジェクトの相互作用

本稿では、すべてのライブラリオブジェクトの基本オブジェクトの開発を終了し、それに基づいたライブラリオブジェクトがユーザと対話できるようにします。たとえば、ユーザがスプレッドの最大許容サイズと価格レベルを設定してポジションを開き、条件に到達すると、スプレッドまたは価格レベルに基づいたシグナルを持つイベントが銘柄オブジェクトからプログラムに送信されます。
グラフィカルインタフェースVI:スライダーとデュアルスライダーコントロール(チャプター 2)
グラフィカルインタフェースVI:スライダーとデュアルスライダーコントロール(チャプター 2)

グラフィカルインタフェースVI:スライダーとデュアルスライダーコントロール(チャプター 2)

前回の記事では、チェックボックス、編集コントロールやチェックボックスやコンボボックスを持つ編集コントロールの4つの頻繁にグラフィカルインタフェースで使用されるコントロールでライブラリを改良しました。第六部の第2章は、スライダーとデュアルスライダーコントロールに専念されます。
カスタムグラフィックコントロール パート3. フォーム
カスタムグラフィックコントロール パート3. フォーム

カスタムグラフィックコントロール パート3. フォーム

この記事はグラフィックコントロールに関する3つの記事の最後になります。代表的なグラフィカルインターフェースである、フォームの作成や、他のコントロールとの併用の仕方についても紹介します。コントロールライブラリーにはFormクラスの他に、CFrame、CButton、CLabelといったクラスが加えられました。
選択した基準による最適化結果の可視化
選択した基準による最適化結果の可視化

選択した基準による最適化結果の可視化

この記事では、前回の記事で始まった最適化結果を扱うMQLアプリケーションの開発を続けます。今回は、グラフィカルインターフェースを介して、別の基準を指定してパラメーターを最適化した後、最良の結果の表を作成する例をご紹介します。
DoEasyライブラリの時系列(第38部): 時系列コレクション-リアルタイムの更新とプログラムからのデータへのアクセス
DoEasyライブラリの時系列(第38部): 時系列コレクション-リアルタイムの更新とプログラムからのデータへのアクセス

DoEasyライブラリの時系列(第38部): 時系列コレクション-リアルタイムの更新とプログラムからのデータへのアクセス

本稿では、時系列データのリアルタイム更新と、すべての銘柄のすべての時系列から「新しいバー」イベントに関するメッセージを制御プログラムチャートに送信し、カスタムプログラムでこれらのイベントを処理する機能について検討します。「新しいティック」クラスは、現在以外のチャート銘柄と期間の時系列を更新する必要性を判断するために使用されます。
MQL5クックブック - MQL5での未決注文の取り扱いとマルチカレンシーエキスパートアドバイザー
MQL5クックブック - MQL5での未決注文の取り扱いとマルチカレンシーエキスパートアドバイザー

MQL5クックブック - MQL5での未決注文の取り扱いとマルチカレンシーエキスパートアドバイザー

今回は、指値売り、逆指値売りなど未決注文に基づくトレーディングアルゴリズムを持つマルチカレンシーエキスパートアドバイザーを作成していきます。この記事は、以下を紹介します:特定の時間半位におけるトレーディング、未決注文の実行・修正・削除、最後のポジションが利取りや損切りにて閉じられたかのチェック、各シンボルにおける取引の履歴の管理などです。
MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知
MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知

MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知

本稿では Expert Advisor のファイルに音声ファイルをインクルードすること、それによりトレードイベントに音声通知を追加するなどの問題を考察します。事実、ファイルのインクルードが意味するところは Expert Advisor内に音声ファイルを入れるということです。よってコンパイルされた Expert Advisor (*.ex5) バージョンを他のユーザーに提供する際、音声ファイルは提供せずそれがどこの保存されるか説明する必要があるのです。
DelphiでDLLをMQL5向けに書くためのガイド
DelphiでDLLをMQL5向けに書くためのガイド

DelphiでDLLをMQL5向けに書くためのガイド

本稿は、人気のプログラム言語ObjectPascalを使用しDelphiプログラム環境でDLLモジュールの作成メカニズムを検証します。本稿で使用している資料は、まずは問題を抱えたプログラム初心者用に考えられでおります。外部DLLに接続することでMQL5プログラム言語に埋め込まれた境界を破ります。
トレードロボットのプロトタイプ
トレードロボットのプロトタイプ

トレードロボットのプロトタイプ

この論説ではトレーディングシステムのアルゴリズムと要素の作成の原理を要約しシステム化する。この論説はエキスパートアルゴリズムの設計について考察する。トレーディングシステムCExpertAdvisor クラスのある例について考察する。これはトレーディングシステムを素早く簡単に開発するのに使える。
より優れたプログラマー(第01部): MQL5プログラマーとして成功するためにやめなければいけない5つのこと
より優れたプログラマー(第01部): MQL5プログラマーとして成功するためにやめなければいけない5つのこと

より優れたプログラマー(第01部): MQL5プログラマーとして成功するためにやめなければいけない5つのこと

初心者が最高のコーディングキャリアを築くのを妨げている悪い習慣はたくさんあります。これは上級プログラマーさえにも言えることです。この記事では、それらについて説明し、対処します。この記事は、MQL5で開発者として成功したいすべての人にとって必読です。
MQLプログラムのグラフィカルインターフェイスのマークアップツールとしてのMQL 第2部
MQLプログラムのグラフィカルインターフェイスのマークアップツールとしてのMQL 第2部

MQLプログラムのグラフィカルインターフェイスのマークアップツールとしてのMQL 第2部

本論文では、MQLプログラムのウィンドウインタフェースを記述するための新しい概念をMQLの構造体を用いて確認します。 MQLマークアップに基づいてGUIを自動的に作成することで、要素をキャッシュして動的に生成したり、イベントを処理するためのスタイルや新しいスキームを制御したりする関数が追加されます。 標準のコントロールライブラリの強化版が添付されています。
グラフィカルインタフェースVIII:カレンダーコントロール(チャプター1)
グラフィカルインタフェースVIII:カレンダーコントロール(チャプター1)

グラフィカルインタフェースVIII:カレンダーコントロール(チャプター1)

このMetaTraderでのグラフィカルインタフェースの作成に専念した記事シリーズの第八部では、カレンダー、ツリービュー、およびファイルナビゲーターのような複雑な複合コントロールが検討されます。情報が大量のため、それぞれは個別の記事に書かれています。この部分の最初の章では、カレンダーコントロールとその拡張バージョンであるドロップダウンカレンダーに ついて説明します。
グラフィカルインタフェースX:リストとテーブルの高度な管理コードの最適化(ビルド7)
グラフィカルインタフェースX:リストとテーブルの高度な管理コードの最適化(ビルド7)

グラフィカルインタフェースX:リストとテーブルの高度な管理コードの最適化(ビルド7)

ライブラリコードの最適化が必要です。それは、より規則正しく、学習のために読みやすく理解しやすくなければありません。さらに、以前に作成したコントロール(リスト、テーブル、スクロールバー)の開発が続きます。
preview
パラボリックSARを使ってトレーリングストップを追加する方法

パラボリックSARを使ってトレーリングストップを追加する方法

取引戦略を作成する際には、さまざまな保護ストップのオプションをテストする必要があります。その中で、価格に追随してストップロスレベルをダイナミックに引き上げる方法が考えられます。その最有力候補として、パラボリックSAR指標が挙げられます。これ以上シンプルで視覚的にわかりやすい指標はないでしょう。
エルダーレイ (ブルパワーとベアパワー)
エルダーレイ (ブルパワーとベアパワー)

エルダーレイ (ブルパワーとベアパワー)

この記事は、ブルパワー、ベアパワー、移動平均インジケータ (EMA-指数平均)に基づいたエルダーレイトレーディングシステムを扱います。 このシステムは、アレキサンダーエルダーの著書"Trading for a Living"に記述されています。
クロスプラットフォームEA: ストップ
クロスプラットフォームEA: ストップ

クロスプラットフォームEA: ストップ

この記事では、2つのプラットフォームMetaTrader4とMetaTrader5との互換性を確保するために、EAのストップの実装について説明します。
もうひとつ別の MQL5 OOP クラス
もうひとつ別の MQL5 OOP クラス

もうひとつ別の MQL5 OOP クラス

本稿では一からオブジェクト指向 Expert Advisor を構築する方法をお伝えします。トレードの理論的考えを着想することからその考えを実験的世界で実現する MQL5 EA をプログラムするまでです。実践から学ぶことは IMHO で成功への確実な方法です。よってみなさんが最終的に Forex ロボットのコーディングをするために考えを整理できる方法を確認していただけるよう実例を示していきます。また私の目標はみなさんにオブジェクト指向の原理に忠実に従うようお勧めすることです。
MQL5レシピ - オープンヘッジポジションのプロパティを取得しましょう
MQL5レシピ - オープンヘッジポジションのプロパティを取得しましょう

MQL5レシピ - オープンヘッジポジションのプロパティを取得しましょう

MetaTrader 5プラットフォームでは、マルチマーケットだけでなく、さまざまなポジション計算システムの使用も可能です。このような機能は、取引アイデアの実装と形式化のためのツールを大幅に拡大します。この記事では、ポジションが独立してカウントされたとき(『ヘッジ』)のポジションのプロパティの処理と考慮の方法について説明します。派生クラスの提案と、ヘッジポジションのプロパティの処理と取得の例を提示します。
preview
DoEasy - コントロール(第1部):最初のステップ

DoEasy - コントロール(第1部):最初のステップ

本稿では、MQL5を使用してWindows Formsスタイルのコントロールを作成するという広範なトピックを開始します。私が最初に興味を持ったのは、パネルクラスを作成することです。コントロールなしで物事を管理することはすでに困難になっています。したがって、可能なすべてのコントロールをWindows Formsスタイルで作成します。
ユニバーサルEA: シンボルプロパティへのアクセス (その 8)
ユニバーサルEA: シンボルプロパティへのアクセス (その 8)

ユニバーサルEA: シンボルプロパティへのアクセス (その 8)

このテーマの8番目のパートは、任意のトレーディングツールへアクセスする特殊なオブジェクト CSymbol クラスの説明をします。 EAで使用する場合、このクラスはEAのプログラミングを簡素化し、その関数を拡張することができ、シンボルプロパティのセットを提供します。
ユニバーサルEA:保留注文とサポートヘッジ(その5)
ユニバーサルEA:保留注文とサポートヘッジ(その5)

ユニバーサルEA:保留注文とサポートヘッジ(その5)

この記事では、CStrategyの取引エンジンのさらなる詳細を扱います。多くの要望により、取引エンジンに保留中のサポート関数を追加しました。また、MT5の最新バージョンでは、ヘッジオプションを使用してアカウントをサポートしています。同じサポートがCStrategyに追加されています。この記事では、有効なヘッジオプションを持つアカウントのCStrategyと同様に、予約注文のアルゴリズムについて説明します。
グラフィカルインタフェースX: Easy And Fast (簡単で手早い)ライブラリの更新(ビルド2)
グラフィカルインタフェースX: Easy And Fast (簡単で手早い)ライブラリの更新(ビルド2)

グラフィカルインタフェースX: Easy And Fast (簡単で手早い)ライブラリの更新(ビルド2)

シリーズの前回の記事の出版以来、Easy And Fast ライブラリにはいくつかの新機能が加わりました。ライブラリの構造とコードは部分的に最適化され、CPUの負荷が少し軽減されています. 多くのコントロールクラスで繰り返して現れるメソッドは、CElement基本クラスに移動されました。
キャンバスクラスの学習。アンチエイリアスと影
キャンバスクラスの学習。アンチエイリアスと影

キャンバスクラスの学習。アンチエイリアスと影

キャンバスクラスのアンチエイリアシングアルゴリズムは、アンチエイリアスが使用されているすべての構造の基本です。この記事では、アルゴリズムがどのように動作するかについて扱い、可視化に関連する例を示します。また、グラフィックオブジェクトの描画の色合いをカバーし、キャンバス上の図形を描画するために開発された詳細なアルゴリズムがあります。数値解析ライブラリALGLIBは、計算に使用します。
トレーダーライフハック:テスト中の資産、ドローダウン、負荷と目盛りインジケータ
トレーダーライフハック:テスト中の資産、ドローダウン、負荷と目盛りインジケータ

トレーダーライフハック:テスト中の資産、ドローダウン、負荷と目盛りインジケータ

テストプロセスをどのように視覚的に作ることができるでしょう?答えは簡単です:ストラテジーテスターでドローダウン・預金・負荷のインジケーターを含むティック・インジケータ、バランスインジケーターを使用します。このソリューションは、ティック、相場変化、ドローダウン、資産、負荷を視覚的に追跡するのに役立ちます。