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

icon

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

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

新しい記事を追加
最新 | ベスト
MQL5 クックブック: インジケーターサブウィンドウコンソールースクロールバー
MQL5 クックブック: インジケーターサブウィンドウコンソールースクロールバー

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

様々なコントロールを試してみましょう。今回はスクロールバーを紹介します。「MQL5クックブック:インジケーターサブウィンドウコンソールーボタン」という以前の記事のように、すべての処理がインジケーターサブウィンドウにて実行されます。OnChartEvent()関数にてイベントを扱う詳しい詳細を提供しているので、上記の記事を読んでみてください。この点はこの記事においても言及されます。今回はMQL5リソースを用いて取得される金融商品情報の大きなリストのための垂直スクロールバーを作成します。
グラフィカルインタフェースIX:カラーピッカーコントロール(チャプター1)
グラフィカルインタフェースIX:カラーピッカーコントロール(チャプター1)

グラフィカルインタフェースIX:カラーピッカーコントロール(チャプター1)

本稿は、MetaTrader取引ターミナルのグラフィカルインタフェース作成ライブラリの開発に関するシリーズの第九部の初めとなります。それは2章で構成され、カラーピッカー、カラーボタン、プログレスバーや折れ線グラフなどのコントロールとインターフェースの新しい要素が提示されてます。
C plus plus テンプレートの代用としての疑似テンプレート使用
C plus plus テンプレートの代用としての疑似テンプレート使用

C plus plus テンプレートの代用としての疑似テンプレート使用

本稿はテンプレートは使わないが、プログラムスタイルはテンプレートに合ったものを保持する方法について述べていきます。カスタムメソッドを使ってテンプレートを実装することをお伝えします。また、指定のテンプレートを基にしたコード作成用既製のスクリプトを添付しています。
preview
DoEasy - サービス関数(第2回):はらみ線パターン

DoEasy - サービス関数(第2回):はらみ線パターン

今回は、引き続きDoEasyライブラリの価格パターンを見ていきましょう。また、プライスアクションフォーメーションのはらみ線パターンクラスも作成します。
単一インスツルメント上で異なるExpert Advisorsを使ったトレーディングのためのORDER_MAGICの使用
単一インスツルメント上で異なるExpert Advisorsを使ったトレーディングのためのORDER_MAGICの使用

単一インスツルメント上で異なるExpert Advisorsを使ったトレーディングのためのORDER_MAGICの使用

本稿は、異なるExpert Advisorsの自動トレーディングの分割、組立て、同期同様magic-identificationを使用したインフォメーションコーディングの疑問について考察します。本稿は、より経験を積んだトレーダー同様初心者にも興味深い内容となっています。その理由は、Expert Advisorsおよび様々な戦略の複雑なシステムの同期を実装するのに有用な垂直ポジションの疑問に取り組んでいるからです。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第21部): 取引クラス - 基本クロスプラットフォーム取引オブジェクト
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第21部): 取引クラス - 基本クロスプラットフォーム取引オブジェクト

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第21部): 取引クラス - 基本クロスプラットフォーム取引オブジェクト

この記事では、取引クラスを新しいライブラリセクションとして開発し始めます。さらに、MetaTrader 5およびMetaTrader 4プラットフォーム向けの統合基本取引オブジェクトの開発を検討します。サーバにリクエストを送信する場合、このような取引オブジェクトにより、検証済みの正しい取引リクエストパラメータがサーバに渡されます。
DoEasyライブラリでのその他のクラス(第67部): チャットオブジェクトクラス
DoEasyライブラリでのその他のクラス(第67部): チャットオブジェクトクラス

DoEasyライブラリでのその他のクラス(第67部): チャットオブジェクトクラス

本稿では、(単一の取引製品チャートの)チャートオブジェクトクラスを作成し、MQL5シグナルオブジェクトのコレクションクラスを改善して、コレクションに格納されている各シグナルオブジェクトでリストの更新時にすべてのパラメータが更新されるようにします。
preview
時間の取扱い(第2部): 関数

時間の取扱い(第2部): 関数

証券会社のオフセットとGMTを自動で特定します。おそらく不十分な答えしかくれない(欠如した時間について説明することはいとわないでしょうが)証券会社にサポートを求める代わりに、時間が変わる週に証券会社が価格をどのように計算するかを自分で見ます。結局のところ、私たちはPCを持っているので、面倒な手作業ではなくプログラムを使用します。
グラフィカルインタフェースVII: タブコントロール(チャプター2)
グラフィカルインタフェースVII: タブコントロール(チャプター2)

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

第七部の最初の章では、テーブルを作成するためのコントロールであるテキストラベルテーブル(CLabelsTable)、エディットボックステーブル(CTable)およびレンダーテーブル(CCanvasTable)の3つのクラスが紹介されました。本稿(チャプター2)ではタブコントロールが考察されます。
モスクワ為替先物のスプレッド戦略の開発例
モスクワ為替先物のスプレッド戦略の開発例

モスクワ為替先物のスプレッド戦略の開発例

MT5 プラットフォームでは、同時に複数の金融商品のトレードロボットをテストすることができます。組み込みのストラテジーテスターは、自動的にヒストリーデータをブローカーのサーバーからダウンロードします。そのため、開発者は特別手動で何かをする必要はありません。シンプルかつ確実に異なるシンボルのミリ秒単位のティックによるトレード環境を再現することが可能です。この記事では、2つのモスクワ為替先物においてスプレッドストラテジーをテストと開発を行います。
preview
PSAR、平均足、ディープラーニングを組み合わせて取引に活用する

PSAR、平均足、ディープラーニングを組み合わせて取引に活用する

このプロジェクトでは、ディープラーニングとテクニカル分析の融合を探求し、FXの取引戦略を検証します。EUR/USDの動きを予測するために、PSAR、SMA、RSIのような伝統的な指標とともにONNXモデルを採用し、迅速な実験のためにPythonスクリプトを使用します。MetaTrader 5のスクリプトは、この戦略をライブ環境に導入し、ヒストリカルデータとテクニカル分析を使用して、情報に基づいた取引決定をおこないます。バックテストの結果は、積極的な利益追求よりもリスク管理と着実な成長に重点を置いた、慎重かつ一貫したアプローチを示しています。
MQL5におけるインディケータemissionの描写
MQL5におけるインディケータemissionの描写

MQL5におけるインディケータemissionの描写

本稿では、マーケットリサーチの新手法であるインディケータ エミッションについて考察していきたいと思います。エミッションの計算は異なるインディケータの交点が基本になります。ティックのあとに異なる色や形のポイントが多数表示されます。それらは星雲、雲、軌道、線、アーチなど様々なクラスターを形成します。こういった形は市場価格を左右する見えないバネや力を検出するのに役立ちます。
グラフィカルインターフェイスXI:テーブルセル内のテキストエディットボックスとコンボボックス(ビルド15)
グラフィカルインターフェイスXI:テーブルセル内のテキストエディットボックスとコンボボックス(ビルド15)

グラフィカルインターフェイスXI:テーブルセル内のテキストエディットボックスとコンボボックス(ビルド15)

このライブラリアップデートでは、テーブルコントロール(CTableクラス)に新しいオプションが追加されます。テーブルセル内のコントロールのラインアップが拡張され、今回はテキストエディットボックスとコンボボックスが追加されます。また、このアップデートでは、実行中にMQLアプリケーションのウィンドウのイズを変更する機能も導入されています。
取引イベントおよびシグナルの音声通知システム
取引イベントおよびシグナルの音声通知システム

取引イベントおよびシグナルの音声通知システム

今日では、ナビゲーター、音声検索、翻訳ツールがよく使用され、音声アシスタントは人間の生活において重要な役割を果たしています。本稿では、さまざまな取引イベント、市場の状態、取引シグナルによって生成されるシグナルに対するシンプルでユーザフレンドリーな音声通知システムの開発を試みます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第23部): 基本取引クラス - パラメータ有効性の検証
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第23部): 基本取引クラス - パラメータ有効性の検証

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第23部): 基本取引クラス - パラメータ有効性の検証

本稿では、取引クラスの不正な取引注文パラメータ値に対する制御と取引イベントの音声通知において開発を続けています。
ユニバーサルEA:イベントモデルと取引ストラテジープロトタイプ(パート2)
ユニバーサルEA:イベントモデルと取引ストラテジープロトタイプ(パート2)

ユニバーサルEA:イベントモデルと取引ストラテジープロトタイプ(パート2)

この記事は、ユニバーサルEAのシリーズです。このパートでは、データ処理に基づいて、オリジナルのイベント・モデルについて解説し、エンジンのストラテジーの基本クラスの構造を扱います。
preview
連続ウォークフォワード最適化(パート4):最適化マネージャ(オートオプティマイザ)

連続ウォークフォワード最適化(パート4):最適化マネージャ(オートオプティマイザ)

この記事の主な目的は、アプリケーションとその機能を操作するメカニズムについて説明することです。 したがって、この記事は、アプリケーションの使用方法に関する説明書としても使うことができます。 アプリケーションの使用法においてありがちな落とし穴と詳細を扱っています。
ターミナル間のデータ交換にクラウドストレージサービスを使用
ターミナル間のデータ交換にクラウドストレージサービスを使用

ターミナル間のデータ交換にクラウドストレージサービスを使用

クラウド技術の普及が進んでいます。 今日では、有料と無料のストレージサービスから選択することができます。 トレードで使用することは可能でしょうか? 本稿では, クラウドストレージサービスを利用してターミナル間でのデータ交換を行う技術を提案します。
エリック・ナイマンの『チャネル』インディケータ
エリック・ナイマンの『チャネル』インディケータ

エリック・ナイマンの『チャネル』インディケータ

この記事では、エリック・L・ナイマン氏の著書『トレーダーの小百科事典』を元に『チャネル』インディケータの作成について述べていきます。このインディケータは、指定した期間で計算したベアとブルの値に基づき、トレンドの方向を表示します。この記事では、サンプルコードと共にインディケータの計算と構築の原理を説明し、インディケータをベースにエキスパートアドバイザを作成し、外部パラメータの最適化について述べていきます。
AutoElliottWaveMaker -  Elliott Wavesの半自動分析のためのMetaTrader 5ツール
AutoElliottWaveMaker -  Elliott Wavesの半自動分析のためのMetaTrader 5ツール

AutoElliottWaveMaker - Elliott Wavesの半自動分析のためのMetaTrader 5ツール

本稿は AutoElliottWaveMakerのレビューを行います。 - 手動と自動の組合せの波形ラベリングを表す MetaTrader 5 におけるElliott Wave分析に対する初めての開発です wave labeling. 波形分析ツールは包括的に MQL5 で書かれており、外部 dll ライブラリはインクルードしていません。これは MQL5で洗練されたおもしろいプログラムが開発できる(するべきである)というもうひとつの証明です。
グラフィカルインターフェイスX:マルチラインテキストボックスでのテキスト選択(ビルド13)
グラフィカルインターフェイスX:マルチラインテキストボックスでのテキスト選択(ビルド13)

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

本稿では、他のテキストエディタと同様に、さまざまなキーの組み合わせによってテキストを選択して選択したテキストを削除する機能を実装します。さらに、引き続きコードを最適化し、ライブラリの進化の第2段階の最終プロセスではすべてのコントロールが別々の画像(キャンバス)としてレンダリングされるため、これに向かってクラスを準備します。
preview
Scikit-Learnライブラリの分類器モデルとONNXへの書き出し

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

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

グラフィカルインタフェースVIII: ツリービューコントロール(チャプター2)

前のグラフィカルインターフェイス第八部では静的およびドロップダウンカレンダー要素に焦点が当てられました。この第2章は、グラフィカルインタフェースを作成するために使用されるすべての完全なライブラリーに含まれているツリービューという均等に複雑な要素に焦点を当てます。本稿で実装されるツリービューは複数の柔軟な設定とモードを含み、ニーズに合わせてコントロール要素を調整することができます。
preview
ニューラルネットワークが簡単に(第12回): ドロップアウト

ニューラルネットワークが簡単に(第12回): ドロップアウト

ニューラルネットワークを研究する次のステップとして、ニューラルネットワークの訓練中に収束を高める手法を検討することをお勧めします。そのような手法はいくつかありますが、本稿では、それらの1つである「ドロップアウト」について考察します。
クロスプラットフォームEA: CExpertAdvisor と CExpertAdvisors クラス
クロスプラットフォームEA: CExpertAdvisor と CExpertAdvisors クラス

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

この記事では、クロスプラットフォームのEAについて扱っています。主にクラス CExpertAdvisor と CExpertAdvisors は、この記事で説明した他のすべてのコンポーネントのコンテナとして機能します。
preview
MQL5の構造体とデータ表示メソッド

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

この記事では、MqlDateTime、MqlTick、MqlRates、MqlBookInfoの各構造体と、それらからデータを表示するメソッドについて見ていきます。構造体のすべてのフィールドを表示するためには、標準的なArrayPrint()関数があります。この関数では、配列に含まれるデータを便利な表形式で、扱われる構造体の型とともに表示します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第22部): 取引クラス - 基本取引クラス、制限の検証
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第22部): 取引クラス - 基本取引クラス、制限の検証

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第22部): 取引クラス - 基本取引クラス、制限の検証

この記事では、ライブラリベースの取引クラスの開発を開始し、最初のバージョンに取引操作を行うためのアクセス許可の初期検証を追加します。さらに、基本取引クラスの機能とコンテンツをわずかながら拡張します。
MetaTrader 5 プラットフォームに新しい UI 言語を追加する方法
MetaTrader 5 プラットフォームに新しい UI 言語を追加する方法

MetaTrader 5 プラットフォームに新しい UI 言語を追加する方法

MetaTrader 5 プラットフォームのユーザーインターフェースは複数言語に翻訳されています。あなたの母国語がサポートされている言語に含まれていなかったとしてもご心配なく。MetaQuotes Software Corp. が全利用者に対して提供する特別な MetaTrader 5 MultiLanguage Pack ユーティリティを使用して簡単に翻訳することができるのです。本稿ではMetaTrader 5 プラットフォームに新しい ユーザーインターフェース言語を追加する方法を提示します。
その他のアプリのためにMetaTrader5の取引価格を準備する方法
その他のアプリのためにMetaTrader5の取引価格を準備する方法

その他のアプリのためにMetaTrader5の取引価格を準備する方法

この記事は、エラーのハンドリングも含めて、ディレクトリの作成、データのコピー、Market Watchでのシンボルを使用の例などを紹介します。これら全ての要素は、最終的にユーザーによって定義されたフォーマットにてデータが格納されるためのシングルスクリプトにて集められます。
運動継続モデル-チャート上での検索と実行統計
運動継続モデル-チャート上での検索と実行統計

運動継続モデル-チャート上での検索と実行統計

この記事では、運動継続モデルの1つをプログラムによって定義します。 この主なアイデアは、2つの波の定義です(メインと補正) 極値点については、フラクタルだけでなく、 "潜在的な " フラクタル-まだフラクタルとして形成されていない極値点を適用します。
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関連のツールを快適に構築できるはずです。
preview
エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第3部):トレンド指標

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

この参考記事では、トレンド指標カテゴリから標準的な指標を取り上げます。パラメータの宣言と設定、指標の初期化と解除、EAの指標バッファからのデータとシグナルの受信など、EAで指標を使用するためのすぐに使えるテンプレートを作成します。
グラフィックコントロールオプションを用いたインディケータ作成
グラフィックコントロールオプションを用いたインディケータ作成

グラフィックコントロールオプションを用いたインディケータ作成

マーケットの動きに通じた方はMACDインディケータ(移動平均収束拡散)をご存じでしょう。価格の変動を分析するのに力強いツールで、コンピュータ分析手法が登場したごく初期段階からトレーダーに利用されているものです。本稿では MACDの潜在的修正と修正間でグラフィカルに切り替える可能性のあるインディケータへの実装について考察していきます。
DoEasyライブラリの時系列(第35部): バーオブジェクトと銘柄の時系列リスト
DoEasyライブラリの時系列(第35部): バーオブジェクトと銘柄の時系列リスト

DoEasyライブラリの時系列(第35部): バーオブジェクトと銘柄の時系列リスト

本稿は、簡単で迅速なプログラム開発のためのDoEasyライブラリの作成に関する新しいシリーズの始まりとなります。本稿では、銘柄の時系列データにアクセスして操作するためのライブラリ機能を実装します。メインおよび拡張時系列バーデータを格納するバーオブジェクトを作成し、オブジェクトの検索と並び替えを容易にするために、時系列リストにバーオブジェクトを配置します。
MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ
MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ

MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ

今回は、現在シンボルについてポジションプロパティを取得し、マニュアルトレーディングの間カスタム情報パネルにそのポジションプロパティを表示するシンプルな Expert Advisor を作成します。情報パネルはグラフィカルオブジェクトを用いて作成され、表示される情報はティック毎にリフレッシュされます。これは "MQL5 Cookbook: Getting Position Properties"と呼ばれるシリーズの以前の記事に記載があるスクリプトをつねにマニュアルで実行しなければならないのよりはるかに便利になります。
MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成
MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成

MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成

本稿ではトレーディングシステムの最適化に対して一組のパラメータを使うパターンを作成していきます。同時にパラメータ数は無制限に認めます。シンボルリストは標準的なテキストファイル (*.txt)内に作成します。各シンボルに対する入力パラメータもファイルに格納されます。このように Expert Advisorの入力パラメータ数に関してターミナルの制約を回避することができます。
preview
あらゆるタイプのトレーリングストップを開発してEAに接続する方法

あらゆるタイプのトレーリングストップを開発してEAに接続する方法

この記事では、様々なトレーリングストップを簡単に作成するためのクラスと、トレーリングストップを任意のEAに接続する方法について説明します。
DoEasyライブラリでのその他のクラス(第71部): チャットオブジェクトコレクションイベント
DoEasyライブラリでのその他のクラス(第71部): チャットオブジェクトコレクションイベント

DoEasyライブラリでのその他のクラス(第71部): チャットオブジェクトコレクションイベント

本稿では、いくつかのチャートオブジェクトイベント(銘柄チャートとチャートサブウィンドウの追加/削除、およびチャートウィンドウの指標の追加/削除/変更)を追跡する機能を作成します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - 初期実装(ポジションのオープン)
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - 初期実装(ポジションのオープン)

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

本稿では、注文の値にいくつかのデータを格納し、マジックナンバーを配置し、保留中リクエストの実装を開始します。概念を確認するために、サーバエラーを受信して、待機後に繰り返しリクエストを送信する必要がある際にマーケットポジションを開くための最初のテスト保留中リクエストを作成しましょう。
グラフィカルインタフェース  II:ライブラリのイベントハンドラの設定(チャプター3)
グラフィカルインタフェース  II:ライブラリのイベントハンドラの設定(チャプター3)

グラフィカルインタフェース II:ライブラリのイベントハンドラの設定(チャプター3)

以前の記事には、メインメニューの構成部分を作成するためのクラスの実装が含まれています。ここで、主要な基本クラスと作成されたコントロールのクラスでイベントハンドラを細かく見ることにします。また、マウスカーソルの位置に応じたチャートの状態の管理にも特別な注意が払われます。