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

icon

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

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

新しい記事を追加
最新 | ベスト
preview
クラスター分析(第I部):インジケーターラインの傾きをマスターする

クラスター分析(第I部):インジケーターラインの傾きをマスターする

クラスター分析は、人工知能の最も重要な要素の1つです。この記事では、指標の傾きのクラスター分析を適用して、市場が横ばいであるかトレンドに従っているのかを判断するためのしきい値の取得を試みます。
カスタムグラフィックコントロールパート2コントロールライブラリ
カスタムグラフィックコントロールパート2コントロールライブラリ

カスタムグラフィックコントロールパート2コントロールライブラリ

「カスタムグラフィックコントロール」シリーズ第2弾となる本稿では、プログラム(エキスパートアドバイザ、スクリプト、インディケータ)とユーザ間のインタラクションにおいて起こる主要な問題を処理するコントロールライブラリを紹介します。このライブラリにはたいへん多くのクラス(CInputBox、CSpinInputBox、CCheckBox、CRadioGroup、CVSсrollBar、CHSсrollBar、CList、CListMS、 CComBox、CHMenu、CVMenu、CHProgress、CDialer、CDialerInputBox、CTable)と、それらの使用例が含まれています。
preview
Linux上のMetaTrader 5のC++マルチスレッドサポートを備えた概念実証DLLを開発する

Linux上のMetaTrader 5のC++マルチスレッドサポートを備えた概念実証DLLを開発する

最終製品がWindowsとLinuxシステムの両方でシームレスに動作するMetaTrader 5プラットフォームの開発をLinuxシステムのみでおこなう方法のステップとワークフローを探索する旅を始めます。WineとMinGWについて学ぶことができます。これらはどちらも、クロスプラットフォーム開発を機能させるために不可欠なツールです。特に、MinGWのスレッド実装(POSIXおよびWin32)については、どれを使用するかを選択する際に考慮する必要があります。次に、概念実証のDLLを構築し、それをMQL5コードで使用して、最後に両方のスレッド実装のパフォーマンスを比較します。すべては読者の基盤が自力でさらに拡大するようにするためです。この記事を読めば、LinuxでMT関連のツールを快適に構築できるはずです。
DoEasyライブラリの時系列(第39部): ライブラリに基づいた指標 - データイベントと時系列イベントの準備
DoEasyライブラリの時系列(第39部): ライブラリに基づいた指標 - データイベントと時系列イベントの準備

DoEasyライブラリの時系列(第39部): ライブラリに基づいた指標 - データイベントと時系列イベントの準備

本稿では、DoEasyライブラリを適用して複数の銘柄の複数期間の指標を作成する方法について説明します。指標内で機能するライブラリクラスを準備し、指標のデータソースとして使用される時系列の作成をテストします。時系列イベントの作成と送信も実装します。
preview
MQL5クックブック - 経済指標カレンダー

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

この記事では、経済指標カレンダーのプログラミング機能に焦点を当て、カレンダーのプロパティに簡単にアクセスしてイベント値を受け取るためのクラスの作成について考察し検討します。実用的な例として役立つように、CFTCの投機筋ネットポジションを使用して指標を開発します。
preview
ニューラルネットワークが簡単に(第3回): コンボリューションネットワーク

ニューラルネットワークが簡単に(第3回): コンボリューションネットワーク

ニューラルネットワークの話題の続きとして、畳み込み型ニューラルネットワークの考察を提案します。 この種のニューラルネットワークは、通常、視覚的なイメージの分析に適用されます。 本稿では、これらのネットワークの金融市場への応用について考察します。
グラフィカルインタフェースX: マルチラインテキストボックス内のワードラップアルゴリズム(ビルド12)
グラフィカルインタフェースX: マルチラインテキストボックス内のワードラップアルゴリズム(ビルド12)

グラフィカルインタフェースX: マルチラインテキストボックス内のワードラップアルゴリズム(ビルド12)

マルチラインテキストボックスの開発を続けましょう。今回の課題は、テキストがボックス幅を超えた場合には自動的にワードラップを行い、機会が生じた場合にはワードラップを取り消してテキストを前行に収めることです。
preview
ニューラルネットワークが簡単に(第6回): ニューラルネットワークの学習率を実験する

ニューラルネットワークが簡単に(第6回): ニューラルネットワークの学習率を実験する

これまで、様々な種類のニューラルネットワークをその実装とともに考察してきました。 すべての場合において、ニューラルネットワークは、学習率を選択する必要があるグラディエントディーセント法を用いてトレーニングされました。 今回は、正しく選択されたレートの重要性とニューラルネットワーク学習への影響を例を用いて示したいと思います。
プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換
プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換

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

プログラミングを容易にする方法、テクニック、および補助ツールに関するプロのプログラマーからのヒントです。ターミナルの再起動(シャットダウン)後に復元できるパラメータについて説明します。すべての例は、私のCaymanプロジェクトからの実際に機能するコードセグメントです。
自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法
自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法

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

自動トレーディングシステム選手権2010に参加するためのエクスパート開発をめざし、すぐに使えるExpert Advisorテンプレートを使用します。Even novice MQL5プログラマの初心者でもこのタスクをこなすことは可能です。というのも戦略のために基本クラス、関数、テンプレートがすでに準備されているからです。よってみなさんのトレーディングの考えに合う最低限のコードを書いて実装すれば十分です。
グラフィカルインタフェースX: Timeコントロール、チェックボックスコントロールのリストとテーブルのソート(ビルド6)
グラフィカルインタフェースX: Timeコントロール、チェックボックスコントロールのリストとテーブルのソート(ビルド6)

グラフィカルインタフェースX: Timeコントロール、チェックボックスコントロールのリストとテーブルのソート(ビルド6)

グラフィカルインタフェースを作成するためのライブラリの開発が続きます。今回は、チェックボックスコントロールのリストとTimeが対象となります。さらに、CTableクラスではデータを昇順または降順に並べ替えることができるようになりました。
MQL5クックブック:カスタムシンボルを使用したトレーディング戦略ストレステストe
MQL5クックブック:カスタムシンボルを使用したトレーディング戦略ストレステストe

MQL5クックブック:カスタムシンボルを使用したトレーディング戦略ストレステストe

この記事では、カスタムシンボルを使用したトレーディング戦略のストレステストへのアプローチを検討します。 このため、カスタムシンボルクラスを作成します。 このクラスは、サードパーティのソースからティックデータを受信するため、シンボルプロパティを変更するために使用します。 タスクの結果に基づいて、トレード条件を変更するためのオプションを検討し、その下でトレード戦略をテストします。
グラフィカルインタフェース IV:情報インターフェース要素(チャプター1)
グラフィカルインタフェース IV:情報インターフェース要素(チャプター1)

グラフィカルインタフェース IV:情報インターフェース要素(チャプター1)

開発の現段階では、グラフィカルインタフェース作成のライブラリは、フォームとそれに取り付けることができるいくつかのコントロールを含んでいます。今後の記事の1つがマルチウィンドウモードについてになることは、以前に言及されました。そのための準備が整ったので、それは次の章で対処します。この章では、ステータスバーとツールチップ情報インタフェース要素を作成するためのクラスを作成します。
preview
MQL5での行列およびベクトル演算

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

行列とベクトルがMQL5に導入され、数学的な解決策による効率的な操作が可能になりました。これらの新しい型は、数学表記に近い簡潔でわかりやすいコードを作成するための組み込みメソッドを提供します。配列は広範な機能を提供しますが、行列の方がはるかに効率的である場合が多くあります。
DoEasyライブラリの時系列(第43部): 指標バッファオブジェクトクラス
DoEasyライブラリの時系列(第43部): 指標バッファオブジェクトクラス

DoEasyライブラリの時系列(第43部): 指標バッファオブジェクトクラス

この記事では、DoEasyライブラリに基づくカスタム指標プログラムを作成しながら、抽象バッファオブジェクトの子孫としての指標バッファオブジェクトクラスの開発を考察し、宣言を簡略化して指標バッファを操作します。
preview
回帰指標を用いたONNXモデルの評価

回帰指標を用いたONNXモデルの評価

回帰とは、ラベル付けされていない例から実際の値を予測するタスクのことです。いわゆる回帰メトリクスは、回帰モデルの予測精度を評価するために使用されます。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第6回):互いのラインを交差する2つのRSI指標

MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第6回):互いのラインを交差する2つのRSI指標

この記事の多通貨EAは、クロスラインを持つ2つのRSI指標、低速RSIと交差する高速RSIを使用するEA(自動売買ロボット)です。
DoEasyライブラリのグラフィックス(第93部): 複合グラフィカルオブジェクトを作成するための機能の準備
DoEasyライブラリのグラフィックス(第93部): 複合グラフィカルオブジェクトを作成するための機能の準備

DoEasyライブラリのグラフィックス(第93部): 複合グラフィカルオブジェクトを作成するための機能の準備

本稿では、複合グラフィカルオブジェクトを作成するための機能の開発を始めます。 ライブラリが複合グラフィカルオブジェクトの作成をサポートし、それらのオブジェクトが任意の接続階層を持つことができるようになります。このようなオブジェクトの後続の実装に必要なすべてのクラスを準備します。
スペクトラム分析の構築
スペクトラム分析の構築

スペクトラム分析の構築

本稿は、MQL5言語のグラフィカルオブジェクト使用が可能なバリアントを知っていただくのが目的です。それはグラフィカルオブジェクトを使用し、シンプルなスペクトラム分析を管理するパネルの実装を行うインディケータを分析します。読者のみなさんには本稿をとおしてMQL5の基本を知っていただきたいと思います。
データ配列間の相関を解析するためのCGraphicに基づくPairPlot グラフ (時系列)
データ配列間の相関を解析するためのCGraphicに基づくPairPlot グラフ (時系列)

データ配列間の相関を解析するためのCGraphicに基づくPairPlot グラフ (時系列)

テクニカル分析に複数の時系列を比較することは、適切なツールを必要としますが一般的なタスクです。 この記事では、グラフィカル解析のツールを開発し、2つ以上の時系列間の相関関係を検出します。
MQL5 クックブック:異なるプリントモードの使用
MQL5 クックブック:異なるプリントモードの使用

MQL5 クックブック:異なるプリントモードの使用

本稿は MQL5 クックブックシリーズの始まりです。プログラミングの最初の一歩を踏み出そうとしている方が徐々に新しい言語の知識を得ることができるようにシンプルな例を使って始めます。私自身、とても困難だったと言える最初にトレードシステムを設計しプログラムする上での努力を覚えています。それが私の人生で最初のプログラム言語だったという事実があります。それでも思ったより簡単であることが判り、かなり複雑なプログラムを作成できるまで数か月しかかかりませんでした。
preview
MQL5の構造体とデータ表示メソッド

MQL5の構造体とデータ表示メソッド

この記事では、MqlDateTime、MqlTick、MqlRates、MqlBookInfoの各構造体と、それらからデータを表示するメソッドについて見ていきます。構造体のすべてのフィールドを表示するためには、標準的なArrayPrint()関数があります。この関数では、配列に含まれるデータを便利な表形式で、扱われる構造体の型とともに表示します。
MQL5 クックブック:MetaTrader 5 ストラレジーテスタでの position プロパティ分析
MQL5 クックブック:MetaTrader 5 ストラレジーテスタでの position プロパティ分析

MQL5 クックブック:MetaTrader 5 ストラレジーテスタでの position プロパティ分析

先行記事 "MQL5 Cookbook: Position Properties on the Custom Info Panel"の Expert Advisor の変更バージョンを提供します。お伝えする問題の中にはバーからのデータ取得、現シンボルにおける新規バーイベント確認、ファイルに標準ライブラリのトレードクラスのインクルード、トレード処理実行用トレードシグナルおよび関数検索のための関数作成、OnTrade() 関数におけるトレードイベント決定などがあります。
preview
MQL5でのAutoItの使用

MQL5でのAutoItの使用

簡単に説明すると、この記事では、MQL5をAutoItと統合することによってMetraTrader5ターミナルのスクリプトを作成します。その中で、ターミナルのユーザーインターフェイスを操作することによってさまざまなタスクを自動化する方法を説明し、AutoItXライブラリを使用するクラスも紹介します。
preview
エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第3部):トレンド指標

エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第3部):トレンド指標

この参考記事では、トレンド指標カテゴリから標準的な指標を取り上げます。パラメータの宣言と設定、指標の初期化と解除、EAの指標バッファからのデータとシグナルの受信など、EAで指標を使用するためのすぐに使えるテンプレートを作成します。
preview
Scikit-Learnライブラリの分類器モデルとONNXへの書き出し

Scikit-Learnライブラリの分類器モデルとONNXへの書き出し

この記事では、Scikit-Learnライブラリで利用可能なすべての分類器モデルを適用して、フィッシャーのIrisデータセットの分類タスクを解決する方法について説明します。これらのモデルをONNX形式に変換し、その結果得られたモデルをMQL5プログラムで利用してみます。さらに、完全なIrisデータセットで元のモデルとONNXバージョンの精度を比較します。
preview
母集団最適化アルゴリズム:コウモリアルゴリズム(BA)

母集団最適化アルゴリズム:コウモリアルゴリズム(BA)

今回は、滑らかな関数に対して良好な収束性を示すコウモリアルゴリズム(BA)について考えてみることにします。
デルタインジケータの例によるボリュームコントロールを特徴とする株式インジケータの開発
デルタインジケータの例によるボリュームコントロールを特徴とする株式インジケータの開発

デルタインジケータの例によるボリュームコントロールを特徴とする株式インジケータの開発

この記事では、CopyTicks() および CopyTicksRange() 関数を使用して、実際のボリュームに基づいた株価インジケータを開発するアルゴリズムを扱います。 このようなインジケータの開発については、リアルタイムでの操作とストラテジーテスターにおける細かい側面も説明されています。
preview
MQL5クックブック - サービス

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

この記事では、チャートへの結合を必要としないMQL5プログラムである「サービス」の多彩な機能について説明しています。また、他のMQL5プログラムとのサービスの違いをハイライトし、開発者がサービスで作業する際の微妙な違いを強調しています。例として、読者にはサービスとして実装できる幅広い機能をカバーするさまざまなタスクが提供されます。
preview
母集団最適化アルゴリズム:ホタルアルゴリズム(FA)

母集団最適化アルゴリズム:ホタルアルゴリズム(FA)

今回は、ホタルアルゴリズム(FA)という最適化手法について考えてみます。修正により、このアルゴリズムは部外者から真の評価表リーダーへと変貌を遂げました。
preview
指標やEAのデータを表示するダッシュボードの作成

指標やEAのデータを表示するダッシュボードの作成

この記事では、指標とEAで使用するダッシュボードクラスを作成します。これは、エキスパートアドバイザー(EA)に標準指標を含めて使用するためのテンプレートを含む短い連載の紹介記事です。まず、MetaTrader 5データウィンドウに似たパネルを作成します。
preview
MQL5とPythonで自己最適化EAを構築する

MQL5とPythonで自己最適化EAを構築する

この記事では、市況に基づいて取引戦略を自律的に選択変更できるエキスパートアドバイザー(EA)を構築する方法について解説します。マルコフ連鎖の基本を学び、それがアルゴリズムトレードにどのように役立つかを探っていきます。
MQL5 クックブック:BookEvent の処理
MQL5 クックブック:BookEvent の処理

MQL5 クックブック:BookEvent の処理

本稿では BookEvent-マーケットデプスイベントの深さとその処理原則について考察します。「マーケットデプス」を処理するMQL プログラムが例となります。それはオブジェクト指向のアプローチで書かれています。処理結果はパネルとして、またマーケットデプスのレベルとして画面に表示されます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第5部): 取引イベントのクラスとコレクション、プログラムへのイベント送信
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第5部): 取引イベントのクラスとコレクション、プログラムへのイベント送信

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第5部): 取引イベントのクラスとコレクション、プログラムへのイベント送信

前の記事では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。第4部では、口座の取引イベントの追跡をテストしました。本稿では、取引イベントクラスを開発してイベントコレクションに配置します。そこからは、これらはエンジンライブラリの基本オブジェクトとコントロールプログラムチャートに送信されます。
グラフィカルインターフェイスX:ソート、テーブル再構築とセル内のコントロール(ビルド11)
グラフィカルインターフェイスX:ソート、テーブル再構築とセル内のコントロール(ビルド11)

グラフィカルインターフェイスX:ソート、テーブル再構築とセル内のコントロール(ビルド11)

レンダーテーブルにデータソート、列と行の数の管理、コントロールを配置するためのテーブルのセルタイプの設定といった新しい機能を追加し続けます。
preview
EAコンストラクタの開発の試み

EAコンストラクタの開発の試み

この記事では、既製のEAの形で一連の取引機能を提供します。この方法では、指標を追加して入力を変更するだけで、複数の取引ストラテジーを取得できます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第5部): ネッティング勘定イベント
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第5部): ネッティング勘定イベント

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第5部): ネッティング勘定イベント

前の記事では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。連載第5回では、取引イベントクラスとイベントコレクションを作成し、イベントをEngineライブラリの基本オブジェクトとコントロールプログラムチャートに送信しました。今回は、ライブラリをネッティング勘定で動作させます。
DoEasyライブラリでのその他のクラス(第66部): MQL5.comシグナルコレクションクラス
DoEasyライブラリでのその他のクラス(第66部): MQL5.comシグナルコレクションクラス

DoEasyライブラリでのその他のクラス(第66部): MQL5.comシグナルコレクションクラス

本稿では、シグナルを管理する関数を備えたMQL5.comシグナルサービスのシグナルコレクションクラスを作成します。さらに、DOMの売買取引高の合計を表示するように板情報スナップショットオブジェクトクラスを改善します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第27部): 未決取引リクエスト - 特定の条件下でポジションを開く
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第27部): 未決取引リクエスト - 特定の条件下でポジションを開く

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

ユーザが保留中リクエストを使用して取引できるようにする機能の開発を継続します。本稿では、特定の条件下で指値注文を出す機能を実装します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第10部): プログラムリソースの作成と格納
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第10部): プログラムリソースの作成と格納

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第10部): プログラムリソースの作成と格納

この記事では、プログラムのソースコードにデータを保存し、それらから音声ファイルとグラフィックファイルを作成する方法について説明します。アプリケーションを開発するとき、多くの場合、音声と画像が必要です。MQL言語には、このようなデータを使用するいくつかの方法があります。