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

icon

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

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

新しい記事を追加
最新 | ベスト
「新規バー」イベントハンドラ
「新規バー」イベントハンドラ

「新規バー」イベントハンドラ

MQL5プログラミング言語はまったく新しいレベルで問題解決をする能力があります。 そういったタスクにして、もオブジェクト指向プログラミングのおかげでそれはすでに高いレベルに引きあげることができるのです。本稿では、かなり力強い多目的ツールに変換されたチャートの新規バーチェックの特にシンプルな例を取り上げます。どんなツールでしょうか?本稿でみつけてください。
カスタムインジケーターに基づくトレーディングシグナルジェネレーター
カスタムインジケーターに基づくトレーディングシグナルジェネレーター

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

カスタムインジケーターに基づくトレーディングシグナルジェネレーターはどのように作成するのでしょうか?カスタムインジケーターはどのように作成するのでしょうか?カスタムインジケーターのデータへのアクセスはどのように取得するのでしょうか?IS_PATTERN_USAGE(0) ストラクチャーとモデルがなぜ必要なのでしょうか?
かぎ足チャート用インジケーター
かぎ足チャート用インジケーター

かぎ足チャート用インジケーター

この記事は、様々なチャートオプションや追加関数を持つかぎ足チャート用インジケーターを紹介します。また、インジケーターのチャート化原則やMQL5実装の特徴なども紹介されています。トレーディングにおける実装の人気なものは、トレンド線から押しのけ、断続的に「肩」をあげ、「腰」を下げるYin/Yang交換戦略です。
新しいMetaTrader 5 とMQL5の登場
新しいMetaTrader 5 とMQL5の登場

新しいMetaTrader 5 とMQL5の登場

これはMetaTrader5のただの簡単なレビューです。このような短い時間でシステムのすべての特徴を述べることはできません。2009年9月9日に試用を開始しました。これはシンボル的な日付でラッキーナンバーになると信じています。ベータ版のMetaTrader5とMQL5を手に入れて数日が経ちました。まだ全ての特徴を使ってはいませんが、すでに関心させられました。
MQL5でのオブジェクト作成と削除の順番
MQL5でのオブジェクト作成と削除の順番

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

MQL5プログラムでは、すべてのオブジェクトはカスタムオブジェクトだろうと、動的配列またはオブジェクト配列は特定の方法で作成され削除されます。 しばしば オブジェクトは他のオブジェクトの一部で、非初期化のオブジェクト削除の順は特に重要になります。本記事ではオブジェクトを使用するメカニズムの例を紹介します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第1部)概念、データ管理および最初の結果
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第1部)概念、データ管理および最初の結果

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

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

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

オブジェクト指向プログラミングに関する多相性やカプセル化などについて理解する必要はありません。これらの機能を使うだけで良いのです。この記事ではオブジェクト指向プログラミングの基本を例を使って具体的に見ていきます。
MQL5でのエラー処理とロギング
MQL5でのエラー処理とロギング

MQL5でのエラー処理とロギング

この記事では、ソフトウェアにおける一般的なエラー処理の問題について述べていきます。また、ロギングについて言及し、MQL5のツールによるデータロガーの実装例をデモンストレーションします。
CCanvas クラスを知る透明なオブジェクトの描画方法
CCanvas クラスを知る透明なオブジェクトの描画方法

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

みなさんは移動平均のぎこちないグラィック以上のものが必要ですか?ターミナルにただ色がついている長方形よりも見栄えの良い何かを描画してみたいですか?ターミナルには魅力的なグラフィックを描くことができるのです。それはカスタムグラフィックを作成する CСanvas クラスで実装することができます。このクラスで透明性を取り入れ、色を混ぜ、オーバーラップと色の混ぜ合わせによって透明の錯覚を産み出すことができるのです。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第15部): 銘柄オブジェクトのコレクション
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第15部): 銘柄オブジェクトのコレクション

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第15部): 銘柄オブジェクトのコレクション

本稿では、前の記事で開発した抽象銘柄オブジェクトに基づく銘柄コレクションの作成を検討します。抽象銘柄の子孫は、銘柄データを明確にし、プログラム内での基本的な銘柄オブジェクトプロパティの可用性を定義します。このような銘柄オブジェクトは、グループとの関係によって区別されます。
エラーとログの発見
エラーとログの発見

エラーとログの発見

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

MetaTrader 5での並列計算

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

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

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

MQLベースのエキスパートアドバイザとデータベースの統合 (SQL server、.NET、および C#)

この記事では、MQL5 ベースのEAに対して Microsoft SQL server データベースサーバーを使用する方法について説明します。 DLL からの関数のインポートが使用します。 DLL は、Microsoft .NET プラットフォームと C# 言語を使用して作成します。 この記事で使用するメソッドは、マイナーな調整があり、MQL4で書かれているEAに適しています。
グラフィカルインタフェース III: シンプルなボタンと多機能ボタン(チャプター 1)
グラフィカルインタフェース III: シンプルなボタンと多機能ボタン(チャプター 1)

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

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

インジケーターの開発を依頼するための要件定義を作成する方法

最もよくあるトレードシステムの開発の第一歩は、相場行動パターンを識別できるテクニカルインジケーターの作成です。 専門的に開発されたインジケーターを、フリーランスのサービスからオーダーすることができます。 この記事からは、適切な要件定義を作成する方法を学習します。より速く、希望のインジケーターを取得するのに役立ちます.
拡散と収束の自動探索
拡散と収束の自動探索

拡散と収束の自動探索

本稿では、シンプル、隠れ、拡張、トリプル、クワドラプル、収束のあらゆる種類の拡散、またA、B、Cクラスの拡散を考察し、それらをチャート上で検索及び表示するためのユニバーサル指標が開発されます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第14部): 銘柄オブジェクト
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第14部): 銘柄オブジェクト

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

本稿では、銘柄コレクションを作成するための基本オブジェクトとなる銘柄オブジェクトクラスを作成します。このクラスによって、さらなる分析と比較に必要な銘柄のデータを取得できるようになります。
MQL5 クックブック:単一ウィンドウでのマルチ タイム フレームのモニター
MQL5 クックブック:単一ウィンドウでのマルチ タイム フレームのモニター

MQL5 クックブック:単一ウィンドウでのマルチ タイム フレームのモニター

MetaTrader 5 には解析に利用可能なタイムフレームが21あります。そういったウィンドウでは特別なチャートオブジェクトを利用することができます。既存のチャートにそのチャートオブジェクトを入れ、シンボル、タイムフレーム、その他プロパティを設定することができるのです。本稿ではそのようなチャートグラフィカルオブジェクトの詳細情報を提供します。同時にサブウィンドウにマルチチャートオブジェクトを設定することができるようになるコントロール(ボタン)を持つインディケータを作成します。またチャートオブジェクトは正確にサブウィンドウにフィットし、チャートまたはターミナルのサイズが変更されると自動で調整されます。
DoEasyライブラリの時系列(第41部): 複数銘柄・複数期間指標の例
DoEasyライブラリの時系列(第41部): 複数銘柄・複数期間指標の例

DoEasyライブラリの時系列(第41部): 複数銘柄・複数期間指標の例

本稿では、DoEasyライブラリの時系列クラスを使用して、選択された時間枠で選択された通貨ペアのチャートをサブウィンドウでローソク足として表示する複数銘柄・複数期間指標の例を検討します。ライブラリクラスを少し変更し、プログラム入力の列挙を格納してコンパイル言語を選択するための別のファイルを作成します。
OpenCL:パラレルワールドへの橋渡し
OpenCL:パラレルワールドへの橋渡し

OpenCL:パラレルワールドへの橋渡し

2012年1月下旬、MetaTrader 5の開発を支援するソフトウェア開発企業はMQL5でのOpenCLのネイティブサポートを発表しました。本稿では解説例を用いてMQL5 環境におけるOpenCL のプログラミング基礎を記述し、処理スピードを上げるプログラムのシンプルな最適化例を提供します。
MQL5 クックブック: インジケーターサブウィンドウコンソールーボタン
MQL5 クックブック: インジケーターサブウィンドウコンソールーボタン

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

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

トレーダーの為の正規表現

正規表現(英語ではregular expressions) とは、正規表現のパターンやマスクと呼ばれる指定されたルールに従ったテキストを処理する為の特別な言語です。この記事では、MQL5のRegularExpressionsライブラリを使用した取引レポートの処理をご紹介し、それを使った最適化結果をデモンストレーションします。
プライスヒストグラム(マーケット特性)とMQL5への導入
プライスヒストグラム(マーケット特性)とMQL5への導入

プライスヒストグラム(マーケット特性)とMQL5への導入

「マーケットプロファイル」は非常に優秀な思索家、 ピーター・スタイドルマイヤー氏によって展開されました。氏は全く異なるモデルセットに導く『水平的な』また『垂直的な』マーケットの動きに関する情報の別の解釈の仕方を提案しました。潜在するマーケットの拍動、または均衡と不均衡の周期と呼ばれる基本パターンがある、と仮定したのです。本記事では、プライスヒストグラムについて考察していきたいと思います。それは、マーケットプロファイルの最も単純なモデルです。また、その MQL5への導入について述べていきたいと思います。
MQL5 クックブック:Position プロパティの取得
MQL5 クックブック:Position プロパティの取得

MQL5 クックブック:Position プロパティの取得

本稿では position プロパティをすべて取得しユーザーに対してダイアログボックスにそれを表示するスクリプトを作成します。スクリプト実行時外部パラメータのドロップダウンリストから利用可能なモード2種類から選択することができます。現在シンボルの position プロパティのみ閲覧するかすべてのシンボルの position プロパティを閲覧するかです。
グラフィカルインタフェース I: ライブラリストラクチャの準備(チャプター 1)
グラフィカルインタフェース I: ライブラリストラクチャの準備(チャプター 1)

グラフィカルインタフェース I: ライブラリストラクチャの準備(チャプター 1)

本稿は、グラフィカルインタフェースの開発に関するあと一つのシリーズの始まりです。現在、MQLアプリケーション内で高品質なグラフィカルインタフェースを迅速かつ簡単に作成できるよコードライブラリは1つもありません。ここで、グラフィカルインタフェースとは私たちになじみ深いオペレーティングシステムで使用されるグラフィカルインタフェースを意味します。
3つのラインブレイクチャートを作成するためのインディケータ
3つのラインブレイクチャートを作成するためのインディケータ

3つのラインブレイクチャートを作成するためのインディケータ

本稿は Steve Nison 氏が著書 "Beyond Candlesticks" で提案している「3つのラインブレークチャート」について取り上げます。このチャートの最大のメリットはそれにより前の変動に関して価格のマイナー変動にフィルターを描けることができることです。チャート作成の原則、インディケータのコード、それに基づくトレーディング戦略例についてお話していこうと思います。
Growing Neural Gas: MQL5への実装
Growing Neural Gas: MQL5への実装

Growing Neural Gas: MQL5への実装

本稿では、Growing neural gas (GNG)と呼ばれるクラスタの適用アルゴリズを実装するムMQL5プログラム開発方法をお見せしていきます。本稿は言語ドキュメンテーションを学習し、一定のプログラミングスキルがあり、神経情報科学分野の基礎知識がある方を対象としています。
MQL5 コードの保護:パスワード保護、キージェネレータ、時間制限、リモートライセンス、高度 EA ライセンスキー暗号化技術
MQL5 コードの保護:パスワード保護、キージェネレータ、時間制限、リモートライセンス、高度 EA ライセンスキー暗号化技術

MQL5 コードの保護:パスワード保護、キージェネレータ、時間制限、リモートライセンス、高度 EA ライセンスキー暗号化技術

開発者のほとんどは自分の書いたコードの保護を必要としています。本稿は MQL5 ソフトウェアを保護するいくつかの異なる方法を紹介します。 - MQL5 スクリプト、Expert Advisors、インディケータに対しライセンス機能を提供する手法を紹介します。パスワード保護、キージェネレータ、アカウントライセンス、時間制限判定、MQL5-RPC 呼び出しを使用するリモート保護も取り上げます。
レンコチャートにおけるインジケーター
レンコチャートにおけるインジケーター

レンコチャートにおけるインジケーター

この記事は、MQL5のレンコチャートとその実装の例を紹介します。このインジケーターの修正は、古典的なチャートとは異なります。インジケーターウィンドウ、メインチャート上の両方で構築できます。さらに、ジグザグインジケーターがあります。そのチャートの実装例をいくつかご確認ください。
ファジーロジックの概要
ファジーロジックの概要

ファジーロジックの概要

ファジーロジックは、数学的論理と集合論の境界を拡張します。この記事では、マムダニ型とスゲノ型モデルを使用して、2つのファジー推論システムを説明し、ファジー理論の基本的な原則を取り扱います。MQL5FuzzyNetライブラリを使用して、これら2つのシステムに基づいてファジーモデルの実装について説明します。
の処理 トレードイベント in Expert Advisor を使って OnTrade() 関数
の処理 トレードイベント in Expert Advisor を使って OnTrade() 関数

の処理 トレードイベント in Expert Advisor を使って OnTrade() 関数

MQL5は様々なタイプのイベント (タイマーイベント、トレードイベント、カスタムイベントなど)を含め、非常に多くの革新をもたらしました。イベントを取り扱う性能で全く新しいタイプの自動・準自動の売買プログラムを作成できます。本記事ではトレードイベントを考え、トレードイベントを処理するOnTrade() 関数のコードを書きます。
インディケーターを別のインディケーターに適用
インディケーターを別のインディケーターに適用

インディケーターを別のインディケーターに適用

OnCalculate() 関数呼び出しショートフォームのインディケーターを書くとき、インディケーターが価格データだけでなく、他のインディケーターデータによっても計算できる事実を見逃すかもしれません。 (内蔵またはカスタムのインディケーターにかかわらず)。他のインディケーターデータに正しく適用するためにインディケーターを改善したいですか?本記事ではそのような修正に必要なステップを復習します。
MQL5 クックブック:ポジションプロパティを取得するためのディール履歴と関数ライブラリ
MQL5 クックブック:ポジションプロパティを取得するためのディール履歴と関数ライブラリ

MQL5 クックブック:ポジションプロパティを取得するためのディール履歴と関数ライブラリ

ポジションプロパティについて先行記事で提供されている情報を簡単にまとめます。本稿では、ディールヒストリーにアクセスした後にのみ取得可能なプロパティを得る関数を数個追加して作成します。また便利な方法でポジションやシンボルプロパティにアクセスできるようにするデータストラクチャについても知識を得ます。
preview
自動取引のための便利でエキゾチックな技術

自動取引のための便利でエキゾチックな技術

本稿では、自動取引のためのいくつかの非常に興味深く有用な技術を紹介します。それらのいくつかには馴染みがあるかもしれません。最も興味深い手法を取り上げ、なぜ使用する価値があるのかを説明します。さらに、これらの技術の実際面での傾向を示します。エキスパートアドバイザーを作成し、説明されているすべての技術を相場履歴を使用してテストします。
preview
可視化の可能性 Rのプロットに似たMQL5のグラフィックス ライブラリ

可視化の可能性 Rのプロットに似たMQL5のグラフィックス ライブラリ

トレードロジックを勉強する際、チャートの視覚的な表現は非常に重要です。科学分野で人気のある数々のプログラミング言語 (R や Python など) は可視化のための関数”プロット”があります。これらは視覚化するために、線、点の分布、ヒストグラムなどを描くことができます。MQL5でも、CGraphics クラスを使用して、同じことができます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第18部): 口座オブジェクトとその他のライブラリオブジェクトの相互作用
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第18部): 口座オブジェクトとその他のライブラリオブジェクトの相互作用

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

本稿では、口座オブジェクトの作業をすべてのライブラリオブジェクトの新しい基本オブジェクトに配置します。また、CBaseObj基本オブジェクトを改善し、追跡パラメータの設定とライブラリオブジェクトイベント受信をテストします。
ユニバーサルEA:カスタムトレーリングストップ(その6)
ユニバーサルEA:カスタムトレーリングストップ(その6)

ユニバーサルEA:カスタムトレーリングストップ(その6)

The sixth part of the article about the universal Expert Advisor describes the use of the trailing stop feature. The article will guide you through how to create a custom trailing stop module using unified rules, as well as how to add it to the trading engine so that it would automatically manage positions.
高速数学的計算に基づくカスタムストラテジーテスター
高速数学的計算に基づくカスタムストラテジーテスター

高速数学的計算に基づくカスタムストラテジーテスター

この記事では、カスタムストラテジーテスターと最適化パスのカスタムアナライザーを作成する方法について説明します。 これにより、数学の計算モード、いわゆるフレームの仕組みを理解することができ、計算のカスタムデータをロードしその圧縮の効果的なアルゴリズムを使用できるようになります。 この記事は、EAの中でカスタム情報を保存する方法に興味がある方にも有意義なものになります。
MQL5 ウィザード:任意の価格で指値注文をオープンすることを EA に教える方法
MQL5 ウィザード:任意の価格で指値注文をオープンすることを EA に教える方法

MQL5 ウィザード:任意の価格で指値注文をオープンすることを EA に教える方法

本稿は現在価格から任意の距離で指値注文を設定することができるようになる機能性の実装のためのトレードシグナルモジュールコードを変更するメソッドについてお話します。それは前回バーの価格クローズまたはオープンであり、あるいは移動平均の値の可能性があります。オプションは数多くあります。重要なことは指値注文に対して任意の始値を設定することができるということです。本稿は指値注文でトレードを行うトレーダーにとっては有用なものとなるでしょう。