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

icon

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

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

新しい記事を追加
最新 | ベスト
MetaTrader5の任意のシンボルでトレーディングアイデアをテスト!
MetaTrader5の任意のシンボルでトレーディングアイデアをテスト!

MetaTrader5の任意のシンボルでトレーディングアイデアをテスト!

カスタムシンボルを作成すると、トレーディングシステムと金融相場分析に役立ちます。 今日ではトレーダーは、無数のチャートやテストトレード戦略をプロットすることができます。
時系列予測に対する ENCOG マシン学習へのMetaTrader 5インディケータ使用
時系列予測に対する ENCOG マシン学習へのMetaTrader 5インディケータ使用

時系列予測に対する ENCOG マシン学習へのMetaTrader 5インディケータ使用

本稿ではMetaTrader 5 の ENCOGへの連携をご紹介します。これは発展したニューラルネットワークとマシン学習のフレームワークです。 標準的テクニカルインディケータを基にしたシンプルなニューラルネットワークインディケータとニューラルインディケータを基にしたExpert Advisor についても語ります。ソースコード、コンパイルされたバイナリ、 DLL、トレーニングされたネットワークはすべて添付があります。
HTMLでのチャート、ダイヤグラム
HTMLでのチャート、ダイヤグラム

HTMLでのチャート、ダイヤグラム

今日は、インストールされたウェブブラウザのないコンピューターはほとんどありません。長い間、ブラウザは進化し成長し続けてきました。この記事は、ブラウザに表示するための、MetaTrader4クライアントターミナルから取得された情報に基づくチャートやダイヤグラムの簡単で安全な作成方法を紹介します。
トレードの一時停止について
トレードの一時停止について

トレードの一時停止について

本稿は、1つのMT4クライアントターミナル上で複数のEAを稼働中に、トレードオペレーションの一時停止に関する問題に取り組んでいます。MQL4のターミナル操作とプログラミングに関する基本スキルをお持ちのユーザー様向けに書かれています。
ジグザグの力(第二部)データの受け取り、処理、表示の例
ジグザグの力(第二部)データの受け取り、処理、表示の例

ジグザグの力(第二部)データの受け取り、処理、表示の例

本稿の最初の部分では、変更されたジグザグ指標と、そのタイプの指標のデータを受け取るためのクラスについて説明しました。ここでは、これらのツールに基づいて指標を開発する方法を示し、ジグザグ指標によって形成されたシグナルに従って取引を行うことを特徴とするテスト用のEAを作成します。さらに、本稿ではグラフィカルユーザインタフェースを開発するためのEasyAndFastライブラリの新しいバージョンを紹介します。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第1回):ADXとパラボリックSARの組み合わせによる指標シグナル

MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第1回):ADXとパラボリックSARの組み合わせによる指標シグナル

この記事で紹介する多通貨エキスパートアドバイザー(EA)は、1つの銘柄チャートから複数の銘柄ペアの取引(新規注文、決済注文、注文の管理など)を行うことができるEA(自動売買ロボット)です。
クロスプラットフォームEA: カスタムストップ、ブレイクイーブン、トレーリング
クロスプラットフォームEA: カスタムストップ、ブレイクイーブン、トレーリング

クロスプラットフォームEA: カスタムストップ、ブレイクイーブン、トレーリング

この記事では、クロスプラットフォームEAでのカスタムストップレベルの設定方法について説明します。 また、時間の経過とともにストップレベルを設定するメソッドについても説明します。
Expert Advisorの限界と検証
Expert Advisorの限界と検証

Expert Advisorの限界と検証

このシンボルは月曜ににトレードできる? ポジションをオープンするのに必要なお金が十分ある? ストップロスが起こった時ロスの大きさは? ペンディングオーダーの数を制限するには? トレード操作が実行されたのは現在のバーそれとも以前のバー? トレードロボットがこの種の検証をできない場合、どんなトレードストラテジーも負け戦略になる可能性があります。本記事はどんなExpert Advisorにおいても便利な検証例を紹介します。
スプレッドシートを使ってトレード戦略を構築する
スプレッドシートを使ってトレード戦略を構築する

スプレッドシートを使ってトレード戦略を構築する

この記事では、スプレッドシート(Excel、Calc、Google)を使ってあらゆる戦略を分析できるようにするための基本的な考え方や方法を解説します。 得られた結果をMetaTrader5のテスターと比較します。
preview
トレーディングにおけるニューラルネットワークの実用化。 Python (パートI)

トレーディングにおけるニューラルネットワークの実用化。 Python (パートI)

今回は、Pythonによるディープニューラルネットワークのプログラミングに基づいたトレードシステムの実装を一つ一つ分析します。 Googleが開発した機械学習ライブラリ「TensorFlow」を使って行います。 また、ニューラルネットワークの記述にはKerasライブラリを使用します。
DoEasyライブラリの時系列(第37部): すべての使用銘柄期間の時系列オブジェクト
DoEasyライブラリの時系列(第37部): すべての使用銘柄期間の時系列オブジェクト

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

本稿は、プログラムで使用されるすべての銘柄の指定された時間枠の時系列コレクションの開発についてです。時系列コレクション、コレクションの時系列パラメータを設定するメソッド、および開発された時系列に履歴データを最初に入力するメソッドを開発します。
トレードDiNapoliレベル
トレードDiNapoliレベル

トレードDiNapoliレベル

この記事では、MQL5 標準ツールを使用してDiNapoliレベルでトレードするためのEAの実現を考察します。 そのパフォーマンスをテストし、最終的な結論まで導きます。
GUIによる汎用的なオシレーター
GUIによる汎用的なオシレーター

GUIによる汎用的なオシレーター

この記事では、独自のグラフィカルインターフェイスを使用して、よくあるオシレーターに基づく汎用的なインジケータの作成プロセスについて説明します。GUIは、ユーザーが迅速かつ容易に、グラフ ・ ウィンドウから (開くことがなくそのプロパティ)、各オシレーターの設定を直接変更するとでき、特定のタスクに最適なオプションを選択することができます。
EX5 ライブラリ使用による開発プロジェクトの促進
EX5 ライブラリ使用による開発プロジェクトの促進

EX5 ライブラリ使用による開発プロジェクトの促進

.ex5 ファイルにクラス/関数の実装詳細を非表示にすることでノウハウアルゴリズムを他の開発者と共有し、共通のプロジェクトを設定し、ウェブ上でそれらを進めていくことができるようになります。そして MetaQuotes チームが ex5 ライブラリクラスの直接継承機能を実現することに全力を傾ける一方で、われわれはそれをいますぐ実装していこうとしているのです。
グラフィカルインタフェースIX:プログレスバーと折れ線グラフコントロール(チャプター2)
グラフィカルインタフェースIX:プログレスバーと折れ線グラフコントロール(チャプター2)

グラフィカルインタフェースIX:プログレスバーと折れ線グラフコントロール(チャプター2)

第九部の第2章はプログレスバーと折れ線グラフに専念されます。いつものように、これらのコントロールがカスタムMQLアプリケーションでどのように使用できるかを明らかにする詳細な実施例が存在します。
preview
ニューラルネットワークが簡単に(第10回): Multi-Head Attention

ニューラルネットワークが簡単に(第10回): Multi-Head Attention

ニューラルネットワークにおける自己注意のメカニズムについては、以前に検討しました。実際には、最新のニューラルネットワークアーキテクチャは、いくつかの並列した自己注意スレッドを使用して、シーケンスの要素間のさまざまな依存関係を見つけます。このようなアプローチの実装を検討し、ネットワーク全体のパフォーマンスへの影響を評価しましょう。
エキスパートアドバイザ作成の特徴
エキスパートアドバイザ作成の特徴

エキスパートアドバイザ作成の特徴

MetaTrader 4取引システムでのエキスパートアドバイザ作成の特徴
preview
MetaTrader5のWebSocket

MetaTrader5のWebSocket

MQL5 APIが更新されてネットワーク機能が導入される前は、MetaTraderプログラムでは、WebSocketベースのサービスに接続してインターフェイスする機能が制限されていました。しかしもちろん、これはすべて変わっています。本稿では、純粋なMQL5でのWebSocketライブラリの実装について説明します。WebSocketプロトコルの簡単な説明とともに結果のライブラリの使用方法に関する手順のガイドが提示されます。
ディープニューラルネットワーク(その5)DNNハイパーパラメータのベイズ最適化
ディープニューラルネットワーク(その5)DNNハイパーパラメータのベイズ最適化

ディープニューラルネットワーク(その5)DNNハイパーパラメータのベイズ最適化

本稿では、様々な訓練の変形によって得られたディープニューラルネットワークのハイパーパラメータにベイズ最適化を適用する可能性について検討します。様々な訓練の変形における最適なハイパーパラメータを有するDNNの分類の質が比較されます。DNN最適ハイパーパラメータの有効性の深さは、フォワードテストで確認されています。分類の質を向上させるための方向性が特定されています。
ポイントおよびグラフチャート化インディケータ
ポイントおよびグラフチャート化インディケータ

ポイントおよびグラフチャート化インディケータ

現在マーケットの状況に関する情報を提供するチャートは数多くあります。「ポイント」や「グラフ」チャートのようにそれらの多くは遠い過去の遺産です。本稿は実時間のインディケータを用いて「ポイントとグラフ」チャート例について述べます。
MetaTrader 5での複数銘柄残高グラフ
MetaTrader 5での複数銘柄残高グラフ

MetaTrader 5での複数銘柄残高グラフ

本稿では、グラフィカルインターフェイスに最後のテスト結果に基づいた複数銘柄の残高グラフと預金損失率グラフを備えたMQLアプリケーションの例を示します。
大きなプログラムでの注文に関する考察
大きなプログラムでの注文に関する考察

大きなプログラムでの注文に関する考察

複雑なプログラムでの注文に関する考察の一般的な原則を研究していきます。
MetaTrader 5とMATLABの連携
MetaTrader 5とMATLABの連携

MetaTrader 5とMATLABの連携

本稿はMetaTrader 5とMatLab数学的パッケージの連携について詳しく述べていきます。それは、データ変換のメカニズム、デスクトップMatLabとの連携のためのユニバーサルライブラリの開発手順をさします。またMatLab環境で生成されるDLLの使用についても述べていきます。本稿は C++ 言語とMQL5をご存じの経験者を対象としています。
EAのリモートコントロールの方法
EAのリモートコントロールの方法

EAのリモートコントロールの方法

トレーディングロボットの主な利点は、リモートの VPS サーバー上で24時間動作できることです。 しかし、時にはサーバーに直接アクセスすることができず、タスクに介入する必要があります。 EAをリモートで管理することは可能でしょうか。 この記事では、外部コマンドを使用してEAを制御するオプションの1つを提案します。
ラグを最小に抑えた有効な平均化アルゴリズム:インディケータでの使用
ラグを最小に抑えた有効な平均化アルゴリズム:インディケータでの使用

ラグを最小に抑えた有効な平均化アルゴリズム:インディケータでの使用

本稿では、著者が作成した高クオリティーのカスタム平均化関数について説明します。それらは以下です:JJMASeries()、JurXSeries()、 JLiteSeries()、ParMASeries()、LRMASeries()、T3Series()。本稿ではまたインディケータ-内での上記関数のアプリケーションも取り上げます。著者はこれら関数の使用を基に豊富なインディケータライブラリを提供します。
MеtaTrader 5 チャート上の水平図
MеtaTrader 5 チャート上の水平図

MеtaTrader 5 チャート上の水平図

水平方向の図は、ターミナルのチャート上で一般的ではありませんが、使用することができます。例えば、特定の期間のボリュームや価格分布を表示するインジケータを開発するとき、様々なマーケットデプスのバージョンを作成するときなどです。 この記事では、グラフィカルなプリミティブの配列としての水平ダイアグラムの構築と管理を検討します。
OpenCL を使用したローソク足パターンのテスト
OpenCL を使用したローソク足パターンのテスト

OpenCL を使用したローソク足パターンのテスト

この記事では、OpenCL ローソク足パターンテスターを "1 分 OHLC " モードで実装するアルゴリズムについて説明します。 また、高速かつ低速の最適化モードで起動したビルトインストラテジーテスターとの速度を比較します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - リクエストオブジェクトクラス
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - リクエストオブジェクトクラス

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

前の記事では、保留中取引リクエストの概念を確認しました。保留中リクエストは、実際には、特定の条件によって実行される一般的な取引注文です。本稿では、保留中リクエストオブジェクトの完全なクラス(基本リクエストオブジェクトとその子孫)を作成します。
MQL5で3Dモデリング
MQL5で3Dモデリング

MQL5で3Dモデリング

時系列は、動的なシステムであり、確率変数の値が継続的または連続に等間隔で受信されます。市場分析の2Dから3Dへの移行は、複雑なプロセスと研究オブジェクトにおいて、新たな展望を与えます。この記事では、2次元データの3D表現をする可視化手法について説明します。3Dモデリングは、複雑なプロセスや現象を分析し、その結果を予測できます。
トレーダーのハック: 定義と ForEach のブレンド (#define)
トレーダーのハック: 定義と ForEach のブレンド (#define)

トレーダーのハック: 定義と ForEach のブレンド (#define)

この記事は、現在MQL4でコーディングしていて、MQL5に切り替えたいとは思っていない人のためのものです。 今回はMQL4のスタイルでコードを書く方法を模索していきます。 #define プリプロセッサのマクロ置換を見ていきます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第4部)MQL4との互換性 - ポジション決済イベント
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第4部)MQL4との互換性 - ポジション決済イベント

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第4部)MQL4との互換性 - ポジション決済イベント

MetaTrader 5およびMetaTrader 4プラットフォーム用のプログラムの開発を簡素化する大規模なクロスプラットフォームライブラリの開発を継続します。第10部では、MQL4とのライブラリの互換性に関する作業を再開し、ポジションを開くイベントと未決注文の発動イベントを定義しました。本稿では、ポジション決済イベントを定義し、未使用の注文プロパティを取り除きます。
トレーダーのライフハック: テストの比較レポート
トレーダーのライフハック: テストの比較レポート

トレーダーのライフハック: テストの比較レポート

この記事では、EAを4 つの異なるトレードでテストします。4つのテストにおけるレポートの最終的な比較は、オンラインストアでの商品のような表にします。追加として、各シンボルの分布図が自動的に作成されます。
MQLプログラムをグラフィカルに表示するためのマークアップツールとしてのMQL(その3)。 フォームデザイナー
MQLプログラムをグラフィカルに表示するためのマークアップツールとしてのMQL(その3)。 フォームデザイナー

MQLプログラムをグラフィカルに表示するためのマークアップツールとしてのMQL(その3)。 フォームデザイナー

本論文では、MQLの構造を利用してMQLプログラムのウィンドウインタフェースを構築する概念の説明をします。 特殊なグラフィカル・エディタでは、GUI要素の基本クラスで構成されるレイアウトをインタラクティブに設定し、MQLにエクスポートしてMQLプロジェクトで使用することができます。 本論文では、エディタの内部設計とユーザーガイドを紹介します。 ソースコードも添付します。
グラフィカルインタフェースVI:チェックボックスコントロール、編集コントロールとその混合型(チャプター 1)
グラフィカルインタフェースVI:チェックボックスコントロール、編集コントロールとその混合型(チャプター 1)

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

本稿は、MetaTrader端末でグラフィカルインタフェースを作成するためのライブラリの開発に関するシリーズの第六部の始まりです。第1章ではチェックボックスコントロール、編集コントロールとその混合型についてお話します。
MQL5 プログラミングの基礎:ターミナルのグローバル変数
MQL5 プログラミングの基礎:ターミナルのグローバル変数

MQL5 プログラミングの基礎:ターミナルのグローバル変数

本稿はターミナルのグローバル変数の処理を助けるオブジェクト作成のための MQL5 言語オブジェクト指向機能を明らかにします。実用例として私はプログラム段階実装のためのコントロールポイントとしてグローバル変数が使用される場合を考察します。
マルチタイムフレームとマルチ通貨パネルの作成
マルチタイムフレームとマルチ通貨パネルの作成

マルチタイムフレームとマルチ通貨パネルの作成

この記事では、オブジェクト指向プログラミングを使うMetaTrader 5のマルチタイムフレームとマルチ通貨パネルの作成の仕方を解説します。主な目的は、パネルのコードを変更することなく、価格や価格の変化、インディケーターの値や売買条件のカスタマイズなど 多くの異なった種類のデータを表示することのできる汎用パネルの作成です。
ユニットテストの助けを借りたコードのクオリティー向上
ユニットテストの助けを借りたコードのクオリティー向上

ユニットテストの助けを借りたコードのクオリティー向上

シンプルなプログラムにさえ信じられないようなエラーがよくあるものです。「どうしてそんなふうになったんだろう?」というのが、そのようなエラーが明らかになったとき最初に思うことです「どうしたらエラーを出さずにすむのだろう?」というのは、あまり頻繁に心に浮かばない第2の問いです。完璧に欠点のないコードを作成するのは不可能です。特に大規模なプロジェクトでは。ですが、ちょうどよいタイミングでエラーを検出するために技術を利用できるものです。本稿では、一般的なユニットテスト方法の助けを借りてコードのクオリティーを向上する方法を説明します。
MetaTrader 4 クライアントターミナルの秘密:インディケータ編
MetaTrader 4 クライアントターミナルの秘密:インディケータ編

MetaTrader 4 クライアントターミナルの秘密:インディケータ編

自分のインディケータを書こうと思っていますか?おそらくインディケータの中で必要とするものはすでにクライアントターミナルに埋め込まれていることがおわかりになるでしょう。では、一から始める理由はありますか?統合されたインディケータ特性の概略テーブル;インディケータをチャートにアタッチする特別な機能とメソッド;レベル構築;異なるタイムフレームについてのインディケータ表示。
MQL5とQLUAの比較ーなぜMQL5での取引操作は28倍速いのか?
MQL5とQLUAの比較ーなぜMQL5での取引操作は28倍速いのか?

MQL5とQLUAの比較ーなぜMQL5での取引操作は28倍速いのか?

多くのトレーダーは、どれくらいの速さで自分の注文が取引所に到達し、どれくらいの時間で実行されるのか、そしていつトレーダーの取引ターミナルに取引操作の結果が反映されるのかということについてよく考えるものだと思います。今まで誰もMQL5とQLUAのプログラムを使用した取引操作速度の比較測定を行っていないので、この比較を行いたいと思います。
グラフィカルインタフェースX: テキストエディットボックス、ピクチャスライダー、及びシンプルなコントロール(ビルド5)
グラフィカルインタフェースX: テキストエディットボックス、ピクチャスライダー、及びシンプルなコントロール(ビルド5)

グラフィカルインタフェースX: テキストエディットボックス、ピクチャスライダー、及びシンプルなコントロール(ビルド5)

この記事では、テキストエディットボックス、ピクチャスライダー、および追加的なシンプルなコントロール(テキストラベルとピクチャ)の新しいコントロールについて検討します。ライブラリは成長を続けており、新しいコントロールの導入に加えて、以前作成されたものも改善されています。