MQL5プログラミング記事

icon

取引戦略をプログラミングするためのMQL5言語を、ほとんどがコミュニティメンバーによって書かれた数多くの公開記事で学びます。記事は統合、テスター、取引戦略等のカテゴリに分けられていて、プログラミングに関連する疑問への解答を素早く見つけることができます。

新着記事をフォローして、フォーラムでディスカッションしてください。

新しい記事を追加
最新 | ベスト
クロスプラットフォームEA:MQL5標準ライブラリからコンポーネントの再利用
クロスプラットフォームEA:MQL5標準ライブラリからコンポーネントの再利用

クロスプラットフォームEA:MQL5標準ライブラリからコンポーネントの再利用

クロスプラットフォームEAはMQL4に有用であり、MQL5標準ライブラリ内に一部コンポーネントが存在します。 この記事では、MQL4コンパイラと互換性のあるMQL5標準ライブラリの特定コンポーネントを作るメソッドを取り扱います。
クロスプラットフォームEA:序章
クロスプラットフォームEA:序章

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

この記事では、クロスプラットフォームのEAを容易に開発できるメソッドを詳述します。提案メソッドは、両方のバージョンによって共有関数を統合し、互換性のない関数の派生クラスを分割します。
MQL5とQLUAの比較ーなぜMQL5での取引操作は28倍速いのか?
MQL5とQLUAの比較ーなぜMQL5での取引操作は28倍速いのか?

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

多くのトレーダーは、どれくらいの速さで自分の注文が取引所に到達し、どれくらいの時間で実行されるのか、そしていつトレーダーの取引ターミナルに取引操作の結果が反映されるのかということについてよく考えるものだと思います。今まで誰もMQL5とQLUAのプログラムを使用した取引操作速度の比較測定を行っていないので、この比較を行いたいと思います。
キャンバスクラスの学習。アンチエイリアスと影
キャンバスクラスの学習。アンチエイリアスと影

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

キャンバスクラスのアンチエイリアシングアルゴリズムは、アンチエイリアスが使用されているすべての構造の基本です。この記事では、アルゴリズムがどのように動作するかについて扱い、可視化に関連する例を示します。また、グラフィックオブジェクトの描画の色合いをカバーし、キャンバス上の図形を描画するために開発された詳細なアルゴリズムがあります。数値解析ライブラリALGLIBは、計算に使用します。
グラフィカルインタフェースX: Easy And Fast (簡単で手早い)ライブラリの更新(ビルド2)
グラフィカルインタフェースX: Easy And Fast (簡単で手早い)ライブラリの更新(ビルド2)

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

シリーズの前回の記事の出版以来、Easy And Fast ライブラリにはいくつかの新機能が加わりました。ライブラリの構造とコードは部分的に最適化され、CPUの負荷が少し軽減されています. 多くのコントロールクラスで繰り返して現れるメソッドは、CElement基本クラスに移動されました。
グラフィカルインタフェースIX:プログレスバーと折れ線グラフコントロール(チャプター2)
グラフィカルインタフェースIX:プログレスバーと折れ線グラフコントロール(チャプター2)

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

第九部の第2章はプログレスバーと折れ線グラフに専念されます。いつものように、これらのコントロールがカスタムMQLアプリケーションでどのように使用できるかを明らかにする詳細な実施例が存在します。
MQLのソケットの使用およびシグナルプロバイダになる方法
MQLのソケットの使用およびシグナルプロバイダになる方法

MQLのソケットの使用およびシグナルプロバイダになる方法

現代の情報社会はソケットの存在なしに成り立つでしょうか?1982年に登場し現在までほぼ変わることなく、ソケットは私達の為に毎秒動いています。これは私達が暮らすマトリックスの神経終末ネットワークのベースです。
グラフィカルインタフェースIX:カラーピッカーコントロール(チャプター1)
グラフィカルインタフェースIX:カラーピッカーコントロール(チャプター1)

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

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

グラフィカルインタフェースVIII: ファイルナビゲータコントロール(チャプター3)

シリーズの第八部の前章では、ライブラリがマウスポインタ、カレンダー、ツリービューを開発するためのいくつかのクラスによって強化されました。本稿は、MQLアプリケーションのグラフィカルインターフェースの一部として使用できるファイルナビゲーターコントロールを扱います。
トレーダーライフハック:テスト中の資産、ドローダウン、負荷と目盛りインジケータ
トレーダーライフハック:テスト中の資産、ドローダウン、負荷と目盛りインジケータ

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

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

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

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

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

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

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

第七部の最初の章では、テーブルを作成するためのコントロールであるテキストラベルテーブル(CLabelsTable)、エディットボックステーブル(CTable)およびレンダーテーブル(CCanvasTable)の3つのクラスが紹介されました。本稿(チャプター2)ではタブコントロールが考察されます。
自己組織化特徴マップ(Kohonenマップ) - サブジェクトリビジッティング
自己組織化特徴マップ(Kohonenマップ) - サブジェクトリビジッティング

自己組織化特徴マップ(Kohonenマップ) - サブジェクトリビジッティング

この記事では、Kohonenマップで動作するのテクニックについて説明します。Kohonenマップで困難に直面し、MQL4とMQL5でのプログラミングの基本的なレベルがわかる研究者や経験豊富なプログラマーを対象としています。自己組織化特徴マップ(Kohonenマップ) - サブジェクトリビジッティング
機械学習モデルの評価と変数の選択
機械学習モデルの評価と変数の選択

機械学習モデルの評価と変数の選択

この記事では、機械学習モデルで使用する入力変数(予測変数)の選択、前処理および評価の詳細に焦点を当てています。新しいアプローチと予測分析とモデルの可能性と過学習への影響を考慮します。モデルを使用した全体的な結果は、この段階の結果に依存します。予測変数の選択に、新しい、オリジナルなアプローチを提供します。
グラフィカルインタフェースVII: テーブルコントロール(チャプター 1)
グラフィカルインタフェースVII: テーブルコントロール(チャプター 1)

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

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

トレーダーの為のライフハック:1つのバックテストは良いが、4つは更に良い

最初のテストをする時にトレーダーには「4つのモードのうちのどれを使ったらいいのだろうか?」という一つの疑問が浮かんでくると思います。モードにはそれぞれにそれぞれの利点と特徴があるので、それを簡単にして、ワンクリックで一度に全てのモードを起動させましょう!この記事では、Win APIとちょっとしたマジックを使って、4つのテストチャートを一度に表示する方法をご紹介します。
領域法
領域法

領域法

取引システム『領域法』は、RSIオシレーターの通常ではない解釈において使われます。この記事では、領域法を可視化するインディケータと、このシステムに基づいてトレードを行うエキスパートアドバイザを提供します。記事では、様々な通貨ペアや時間軸、面積値でのエキスパートアドバイザの詳細なテスト結果が記述されています。
エキスパートアドバイザとインディケータに素早く制御パネルを追加する方法
エキスパートアドバイザとインディケータに素早く制御パネルを追加する方法

エキスパートアドバイザとインディケータに素早く制御パネルを追加する方法

自分のエキスパートアドバイザやインディケータに便利な制御パネルを追加したいけど、何をどうしたら良いかわかりませんか?この記事では、貴方のMQL4/MQL5プログラムに入力パラメータを持つダイアログパネルを『取り付ける方法』をステップバイステップでご紹介します。
ビル・ウィリアムズのシステムに基づく取引システムモジュール
ビル・ウィリアムズのシステムに基づく取引システムモジュール

ビル・ウィリアムズのシステムに基づく取引システムモジュール

この記事では、ビル・ウィリアムズの取引システムや、このシステムパターンをチャート上で発見しマーキングする為に開発されたMQL5モジュールの使用方法、見つけたパターンでの自動売買の原則、また様々な取引銘柄でのテスト結果を公開しています。
ユニバーサルEA:シグナルの標準メタトレーダーモジュールとの統合(その7)
ユニバーサルEA:シグナルの標準メタトレーダーモジュールとの統合(その7)

ユニバーサルEA:シグナルの標準メタトレーダーモジュールとの統合(その7)

このパートでは、シグナルモジュールとCStrategyエンジンの統合の可能性が、メタトレーダーの標準ライブラリにあることについて記述します。この記事では、カスタム戦略を作成するメソッドと同様に、シグナルの操作メソッドについて説明します。
実際ティックでの取引ストラテジーのテスト
実際ティックでの取引ストラテジーのテスト

実際ティックでの取引ストラテジーのテスト

この記事では、簡単な取引ストラテジーを3つのモード(履歴からの記録ティックを使用した『リアルティックに基づいた全てのティック』、『1分足OHLC』、『全ティック』)でテストします。
ユニバーサル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.
エリック・ナイマンの『チャネル』インディケータ
エリック・ナイマンの『チャネル』インディケータ

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

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

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

この記事では、ソフトウェアにおける一般的なエラー処理の問題について述べていきます。また、ロギングについて言及し、MQL5のツールによるデータロガーの実装例をデモンストレーションします。
ユニバーサルEA:保留注文とサポートヘッジ(その5)
ユニバーサルEA:保留注文とサポートヘッジ(その5)

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

この記事では、CStrategyの取引エンジンのさらなる詳細を扱います。多くの要望により、取引エンジンに保留中のサポート関数を追加しました。また、MT5の最新バージョンでは、ヘッジオプションを使用してアカウントをサポートしています。同じサポートがCStrategyに追加されています。この記事では、有効なヘッジオプションを持つアカウントのCStrategyと同様に、予約注文のアルゴリズムについて説明します。
マーケットでの公開前にトレードロボットに行うべき検査
マーケットでの公開前にトレードロボットに行うべき検査

マーケットでの公開前にトレードロボットに行うべき検査

マーケットの全ての製品は、均一な品質基準を確保する為に、公開前に事前の必須検査を受けます。この記事では、開発者が自分のテクニカルインディケータやトレードロボットで犯しがちなミスについてお話しします。また、マーケットへ提出する前の、製品の自己テストの方法もご紹介します。
ユニバーサルEA:グループでの取引とストラテジーのポートフォリオを管理する(その4)
ユニバーサルEA:グループでの取引とストラテジーのポートフォリオを管理する(その4)

ユニバーサルEA:グループでの取引とストラテジーのポートフォリオを管理する(その4)

CStrategyの取引エンジンについての一連の記事の最後のパートでは、XMLファイルからストラテジーをロードする方法を行います。複数の取引アルゴリズムの同時動作を考慮し、単一の実行可能モジュールからのEAを選択する簡単なパネルを提示し、その取引モードを管理します。
MQL5の料理本 - 移動チャネルのプログラミング
MQL5の料理本 - 移動チャネルのプログラミング

MQL5の料理本 - 移動チャネルのプログラミング

本稿では、等間隔チャネルシステムのプログラミング法について取り扱っています。等間隔チャネル構築の細部まで本稿で紹介します。チャネル分類について説明したのち、移動チャネルのプログラミング法について提案します。コード実行にはオブジェクト指向型プログラムを使用しています。
ユニバーサルEA:カスタムストラテジーと補助トレードクラス(その3)
ユニバーサルEA:カスタムストラテジーと補助トレードクラス(その3)

ユニバーサルEA:カスタムストラテジーと補助トレードクラス(その3)

この記事では、ストラテジーの取引エンジンのアルゴリズムを分析していきます。シリーズの3番目の部分は、このアプローチを使用して、特定の取引ストラテジーを開発する方法の詳細な分析があります。特別な注意が補助アルゴリズムに必要です - EAは、従来のインデクサーを使用して、システムとデータへのアクセスをログに記録します(Close[1]、Open[0]など)
ユニバーサルEA:イベントモデルと取引ストラテジープロトタイプ(パート2)
ユニバーサルEA:イベントモデルと取引ストラテジープロトタイプ(パート2)

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

この記事は、ユニバーサルEAのシリーズです。このパートでは、データ処理に基づいて、オリジナルのイベント・モデルについて解説し、エンジンのストラテジーの基本クラスの構造を扱います。
エキスパートアドバイザーを使って自分ルールでシグナルをコピーするには?
エキスパートアドバイザーを使って自分ルールでシグナルをコピーするには?

エキスパートアドバイザーを使って自分ルールでシグナルをコピーするには?

シグナルを購読していると、このような状況が起こることがあります。貴方の取引口座はレバレッジが1:100であるのに、プロバイダのレバレッジは1:500かつ最小ロットでトレードを行っていて、貴方の取引残高はほぼ同じ。そしてこの時コピー係数は10%から15%になるという状況です。この記事では、このような場合にどのようにコピー係数を上げたら良いかをお話しします。
ユニバーサルEA:戦略トレードモード(その1)
ユニバーサルEA:戦略トレードモード(その1)

ユニバーサルEA:戦略トレードモード(その1)

EAの開発者は、プログラミングのスキルに関係なく、信頼性の高い取引プロセスを整理するため、同じタスクとアルゴリズムの問題に直面しています。この記事では、これらのタスクの解決に着手し、トレードアイデアを記述するための便利なCStrategyエンジンの可能性を説明します。
エキスパートアドバイザの自己最適化:進化的遺伝的アルゴリズム
エキスパートアドバイザの自己最適化:進化的遺伝的アルゴリズム

エキスパートアドバイザの自己最適化:進化的遺伝的アルゴリズム

この記事では、進化的アルゴリズムにある主要な原理と、その多様性および特徴について検証します。実験を使用した簡単なエキスパートアドバイザの例では、最適化が私達の取引システムに何をもたらすかを見ていきます。遺伝的、進化的、またその他のタイプの最適化を実装するプログラムのセットを検証し、取引システムのパラメータの最適化や予測変数のセットの最適化時の適用例をご紹介します。
グラフィカルインタフェース V:コンボボックス要素(チャプター 3)
グラフィカルインタフェース V:コンボボックス要素(チャプター 3)

グラフィカルインタフェース V:コンボボックス要素(チャプター 3)

シリーズの第五部の最初の2つの記事では、スクロールバーとビューリストを作成するためのクラスが作成されました。この章では、コンボボックスコントロールのクラスを作成する方法についてお話します。これはまた、とりわけ第五部の前の章で考慮された要素を含むコンパウンドコントロールです。
初心者のためのMQL5:グラフィックオブジェクトのアンチバンダルプロテクト
初心者のためのMQL5:グラフィックオブジェクトのアンチバンダルプロテクト

初心者のためのMQL5:グラフィックオブジェクトのアンチバンダルプロテクト

グラフィックコントロールパネルが削除されたり、他の誰かによって変更されている場合、プログラムに対し、何をすべきか?この記事では、チャート上の「オーナーレス」オブジェクトを処理します。アプリケーションが削除された後に、プログラムで作成されたオブジェクトが残っている場合の処理を行います。
グラフィカルインタフェースVI:スライダーとデュアルスライダーコントロール(チャプター 2)
グラフィカルインタフェースVI:スライダーとデュアルスライダーコントロール(チャプター 2)

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

前回の記事では、チェックボックス、編集コントロールやチェックボックスやコンボボックスを持つ編集コントロールの4つの頻繁にグラフィカルインタフェースで使用されるコントロールでライブラリを改良しました。第六部の第2章は、スライダーとデュアルスライダーコントロールに専念されます。
グラフィカルインタフェースVI:チェックボックスコントロール、編集コントロールとその混合型(チャプター 1)
グラフィカルインタフェースVI:チェックボックスコントロール、編集コントロールとその混合型(チャプター 1)

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

本稿は、MetaTrader端末でグラフィカルインタフェースを作成するためのライブラリの開発に関するシリーズの第六部の始まりです。第1章ではチェックボックスコントロール、編集コントロールとその混合型についてお話します。
モスクワ証券取引所(MOEX)の為のトレードロボット作成は何から始めたら良いか
モスクワ証券取引所(MOEX)の為のトレードロボット作成は何から始めたら良いか

モスクワ証券取引所(MOEX)の為のトレードロボット作成は何から始めたら良いか

モスクワ証券取引所のトレーダーの多くが。自分のトレードアルゴリズムを自動化したいと考えていても、何から始めたら良いかわからずにいます。MQL5言語は膨大な取引機能を提供するだけでなく、アルゴトレードにおける最初の一歩を最大限に簡単なものにするクラスも提供しています。
トレーダーの為の正規表現
トレーダーの為の正規表現

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

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