MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
MQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の作成
MQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の作成

MQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の作成

本稿はMQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の自動作成について述べます。理論的な情報をすべて学習する必要なくニューラルネットワークと簡単に連携し、ご自身のコードを書く方法をお伝えします。
自動ニューストレーダーのバインディング
自動ニューストレーダーのバインディング

自動ニューストレーダーのバインディング

これは一からシンプルなオブジェクト指向 EA を構築する方法を述べ、オブジェクト指向プログラミングのアドバイスを提供したもう一つ別の MQL5 OOP クラス記事の続編です。本稿では、ニュースをトレードすることのできる EA を開発するのに必要とされる技術の基本をお話します。目標は OOP に関する考え方を提示し続け、ファイルシステムと関連づけながらこのシリーズにおける新しいトピックを取り上げることです。
MQL5 ウィザード:任意の価格で指値注文をオープンすることを EA に教える方法
MQL5 ウィザード:任意の価格で指値注文をオープンすることを EA に教える方法

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

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

有用なテクノロジーカクテルでYour MQL5 顧客を驚嘆させる!

MQL5 はプログラマーに関数の完全セットとオブジェクト指向API を提供します。それらのお陰でプログラマーは MetaTrader 環境内で願うことを行うことができるのです。ただ「ウェブテクノロジー」は今日ひじょに特殊なことをしてなにか違ったもので顧客を驚かせる必要があったり、ただ MT5 「標準ライブラリ」の特定箇所をマスターする十分な時間がないなんらかの状況で救助にきてくれる極端に多才なツールです。今回の例題によりご自身の開発時間管理の仕方と同時にすばらしいテクノロジーカクテルを作成する方法を実用例をご紹介します。
リニアなトレーディングシステムを指数に高める
リニアなトレーディングシステムを指数に高める

リニアなトレーディングシステムを指数に高める

本稿では MQL5 プログラマーの中級者にリニアなトレーディングシステム(固定ロット)からいわゆる指数の技術を簡単に実装することでより収益を上げる方法をお伝えします。これは結果として生じる資金曲線の成長が幾何学的または指数関数で放物線の形を取ります。特にラルフ・ビンス氏によって開発された実用的な「固定比率」のポジションサイジングの MQL5 のバリアントを実装します。
テクニカルインディケータとデジタルフィルター
テクニカルインディケータとデジタルフィルター

テクニカルインディケータとデジタルフィルター

本稿ではデジタルフィルターとしてテクニカルインディケータを取り上げます。デジタルフィルターの処理原則と基本特性が説明されます。また、MetaTrader 5 ターミナルでフィルターカーネルを受け取る実用的な方法と記事 "Building a Spectrum Analyzer" で提案されている既製のスペクトル解析機能との統合について考察します。例として典型的デジタルフィルターのパルスとスペクトル特性を使用します。
MQL5 標準ライブラリの拡張とコードの再利用
MQL5 標準ライブラリの拡張とコードの再利用

MQL5 標準ライブラリの拡張とコードの再利用

MQL5 標準ライブラリによってみなさんの開発者としての生活は楽になります。しかしながらそれは世界中の開発者全員のすべてのニーズを実装するわけではありません。よってみなさんがカスタム的なものをもっと必要とするなら一歩先へすすんで拡張することができます。本稿は MetaQuotesの Zig-Zag テクニカルインディケータを標準ライブラリに統合する方法をご紹介します。私達はMetaQuotes の設計哲学により自分自身の目標を達成しようという気持ちになります。
MQL5 Cookbook:指定の基準に基づく Expert Advisor 最適化結果の保存方法
MQL5 Cookbook:指定の基準に基づく Expert Advisor 最適化結果の保存方法

MQL5 Cookbook:指定の基準に基づく Expert Advisor 最適化結果の保存方法

MQL5 プログラミングに関するシリーズを続けます。今回、われわれは Expert Advisor のパラメータ最適化の最中に各最適化パスの結果を取得する方法を見ていきます。外部パラメータに指定された条件が満たされれば対応するパス値がファイルに書き込まれることを確認できるよう実装が行われます。検証値以外にもそのような結果をもたらしたパラメータも保存します。
MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知
MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知

MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知

本稿では Expert Advisor のファイルに音声ファイルをインクルードすること、それによりトレードイベントに音声通知を追加するなどの問題を考察します。事実、ファイルのインクルードが意味するところは Expert Advisor内に音声ファイルを入れるということです。よってコンパイルされた Expert Advisor (*.ex5) バージョンを他のユーザーに提供する際、音声ファイルは提供せずそれがどこの保存されるか説明する必要があるのです。
MQL5 クックブック: インジケーターサブウィンドウコンソールーボタン
MQL5 クックブック: インジケーターサブウィンドウコンソールーボタン

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

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

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

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

MQL5 クックブック: MQL5でのマルチシンボルボラティリティインジケーターの開発

この記事では、マルチシンボルボラティリティインジケーターを紹介します。マルチシンボルインジケーターの開発は、MQL5開発初心者にとっていくつか難しい点があります。マルチシンボルインジケーターの開発中に生じる主要な問題は、現在のシンボルに関連したその他のシンボルのデータの同期化、いくつかのインジケーターデータの欠如、特定のタイムフレーム間の初めの「本当の」バーの特定などに関連します。これらの問題は、この記事にて詳しく焦点が当てられます。
マルチ通貨システム エキスパートアドバイザーの作成
マルチ通貨システム エキスパートアドバイザーの作成

マルチ通貨システム エキスパートアドバイザーの作成

この記事は、複数のシンボルをトレードし、同時にいくつものトレーディングシステムを使用するエキスパートアドバイザーのストラクチャーを紹介します。もしすでにすべてのEAにおいて最適な入力パラメーターを特定し、それぞれに対して個別に良いテスト結果を得ているのであれば、もしすべての戦略を合わせて同時に全EAをテストすればどのような結果を得ることができるか、ご自身に尋ねてみてください。
かぎ足チャート用インジケーター
かぎ足チャート用インジケーター

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

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

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

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

MQL5 プログラミング基礎:配列

配列は変数や関数と共にほとんどすべてのプログラム言語に欠くことのできないものです。本稿はまず MQL5 初心者プログラマーに関心を持ってもらえる内容であり、経験あるプログラマーにとっては知識をまとめ体系化するのによい機会となるはずです。
MetaTrader 5のトレードシグナル:PAMM アカウントへのよりよい代替手段
MetaTrader 5のトレードシグナル:PAMM アカウントへのよりよい代替手段

MetaTrader 5のトレードシグナル:PAMM アカウントへのよりよい代替手段

MetaTrader 5 が今トレードシグナルを備え、そのため投資家や幹事会社に力強いツールを提供できることをうれしく思います。成功しているトレーダーのトレードをフォローする間にも、ターミナルは自動でそれらをみなさんのアカウントに再生しているのです。
チャート上でトレーディングの考え方を時間をかけずに検証する方法
チャート上でトレーディングの考え方を時間をかけずに検証する方法

チャート上でトレーディングの考え方を時間をかけずに検証する方法

本稿はトレーディングの考え方を速く視覚的に検証する方法について述べます。その方法は価格チャート、シグナルインディケータ、残高計算インディケータの組合せを基にしています。そんなわけで、これからトレーディングの考え方を検索する方法やその考え方を時間をかけずに検証する方法をみなさんと共有したいと思います。
MetaTrader 5 から MetaTrader 4へトレードをコピーする方法
MetaTrader 5 から MetaTrader 4へトレードをコピーする方法

MetaTrader 5 から MetaTrader 4へトレードをコピーする方法

今日MetaTrader 5 の実アカウントでトレードすることはできますか?そのようなトレードをどうやって行いますか?本稿はこういった疑問に対する見解およびMetaTrader 5 ターミナルから MetaTrader 4ターミナルへトレードをコピーするためのワーキングコードを提供します。本稿は Expert Advisors の開発者、実践的トレーダー双方に役立つものです。
MetaTrader 5 ターミナルのストラテジーテスタ内でティック作成をするアルゴリズム
MetaTrader 5 ターミナルのストラテジーテスタ内でティック作成をするアルゴリズム

MetaTrader 5 ターミナルのストラテジーテスタ内でティック作成をするアルゴリズム

MetaTrader 5 により内蔵ストラテジーテスタでExpert Advisors および MQL5を利用し自動トレーディングをシミュレートすることができます。このタイプのシミュレーションは Expert Advisorsの検証と呼ばれ、マルチスレッド最適化を用い、同時に数多くのインスツルメントについて実装することができます。完全な検証のために用可能な分履歴をもとにティック生成が行われる必要があります。本稿ではアルゴリズムの詳細記述を提供します。それによりティックはMetaTrader 5 クライアントターミナルで履歴検証に対して作成されます。
アンマネージドのエクスポートを使用した MQL5へのC#コードのエクスポーズ
アンマネージドのエクスポートを使用した MQL5へのC#コードのエクスポーズ

アンマネージドのエクスポートを使用した MQL5へのC#コードのエクスポーズ

本稿ではMQL5 コードとマネージドの C# 間の異なる連携手法を提供します。またC# に対してMQL5を整理する方法および MQL5 スクリプト内にてエクスポートされたDLL関数を呼びだす方法例も提供します。ここでお話する例がマネージドのコードで DLLを書くことに関する将来的な研究の基になると信じています。本稿はまたすでにC#で実装されている多くのライブラリを使用するために MetaTrader にドアを開けるものです。
時系列の主要特性分析
時系列の主要特性分析

時系列の主要特性分析

本稿ではさまざまな時系列特性を予めすばやく判断するために設計されるクラスを紹介します。これを行うにあたり、統計的パラメータと自己相関関数を決め、時系列のスペクトル推定を実行し、ヒストグラムを作成します。
「マーケット」でプロダクトを宣伝する方法
「マーケット」でプロダクトを宣伝する方法

「マーケット」でプロダクトを宣伝する方法

マーケットを通じて世界中の何百万ものMetaTraderユーザーに取引アプリケーションを提供し始めましょう。このサービスでは、多数のオーディエンスへのアクセス、ライセンスソリューション、試用版、更新の公開、支払いの受け入れなど、既成のインフラストラクチャが提供されています。簡単な販売者登録手続きを完了するだけで製品を公開できます。このサービスが提供する既成の技術基盤を使用すると、プログラムから追加の利益を生み出し始めることができます。
もっとも活発な MQL5.コミュニティメンバーは  iPhonesを勝ち取りました!
もっとも活発な MQL5.コミュニティメンバーは  iPhonesを勝ち取りました!

もっとも活発な MQL5.コミュニティメンバーは iPhonesを勝ち取りました!

もっともすぐれた MQL5.com 参加者に報酬を与えることを決めてからコミュニティの発展に貢献する参加者各位を決定する主要な基準を選んできました。その結果、ウェブサイトに多くの記事を掲載された以下のチャンピオンを得ました。 - investeo (11 件) 、victorg (10 件)、そして『コードベース』にプログラムを投稿され – GODZILLA (340 件)、Integer (61 件) 、 abolk (21 件)です。
トレーダーの作業における統計的分布の役割
トレーダーの作業における統計的分布の役割

トレーダーの作業における統計的分布の役割

本稿は、理論的統計的分布に連携するクラスについて述べた拙著『MQL5 における投擲的可能性』の続編です。われわれには理論的基盤があるので、現実のデータ設定に進み、こ基盤を情報的に利用していきたいと思います。
フィッシャートランスフォームの適用とMetaTrader5の市場分析に対するフィッシャートランスフォーム
フィッシャートランスフォームの適用とMetaTrader5の市場分析に対するフィッシャートランスフォーム

フィッシャートランスフォームの適用とMetaTrader5の市場分析に対するフィッシャートランスフォーム

市場サイクルの確率密度関数(PDF)がガウス性では残らず、むしろ正弦波のPDGとして維持され、大半のインジケーターがその市場サイクルPDFがガウス性であると想定しています。その解決策は、フィッシャートランスフォームを使用することです。フィッシャートランスフォームは、いかなる波形のPDFをガウス性に変換します。この記事は、フィッシャートランスフォームの裏にある数学と、対するフィッシャートランスフォーム、トレーディングへの適用例を紹介します。反対のフィッシャートランスフォームに基づく所有のトレーディングシグナルモジュールが紹介され、評価されます。
UML ツールを用いたExpert Advisorの開発方法
UML ツールを用いたExpert Advisorの開発方法

UML ツールを用いたExpert Advisorの開発方法

本稿では UML グラフィカル言語を用いたExpert Advisorの開発方法についてお話します。そのツールはオブジェクト指向のソフトウェアシステムのビジュアルモデル化に使用されるものです。この方法のおもなメリットはモデル化プロセスの可視化です。本稿には Software Ideas Modelerを使用したExpert Advisorの ストラクチャとプロパティのモデル化を示す例が含まれています。
MQL5.community 人名鑑
MQL5.community 人名鑑

MQL5.community 人名鑑

MQL5.com ウェブサイトはみなさんのことをとてもよく覚えています!何本のスレッドがすばらしい出来か、記事がどれほど人気か、「コードベース」のプログラムがどのくらいの頻度でダウンロードされるか。これは MQL5.comで記憶されていることのほんの小さな一部にしかすぎません。みなさんの実績はプロフィールで確認可能ですが、全体像はどうでしょうか?本稿では全 MQL5.community メンバーの実績概要を示します。
経験的モード分解メソッドのイントロダクション
経験的モード分解メソッドのイントロダクション

経験的モード分解メソッドのイントロダクション

この記事は、経験的モード分解メソッド(EMD)に読者が慣れ親しむことが目的です。Hilbert-HUang変換の基礎部分であり、非定常・非線形的プロセスからデータを分析することを意図されています。この記事はこのメソッドの実装について紹介し、また、その特徴や使用例も提示しています。
自動売買システム作成にたいする新手法としてのオートマタ準拠プログラミング
自動売買システム作成にたいする新手法としてのオートマタ準拠プログラミング

自動売買システム作成にたいする新手法としてのオートマタ準拠プログラミング

本稿は MQL4 および MQL5で EA、インディケータ、スクリプトを作成するまったく新しい方向にわれわれを導きます。将来、このプログラミングパラダイムが EAを実装するすべてのトレーダーにとってしだいに基本となり標準となることでしょう。オートマタ準拠プログラミングパラダイムを使用することで MQL5 および MetaTrader 5 の開発者は新しい言語MQL6、そして新しいプラットフォームMetaTrader 6を作成に近づくのです。
購入前に売買ロボットを検証する方法
購入前に売買ロボットを検証する方法

購入前に売買ロボットを検証する方法

MQL5 マーケットで売買ロボットを買うことは似たような選択肢をしのぐ明らかなメリットがあります。提供される自動化されたシステムを MetaTrader 5 ターミナルで直接徹底的に検証することができるのです。購入前にシステムを完全に把握するため、内蔵ストラテジーテスタで Expert Advisor を不都合なモードで注意して実行することができる/する必要があるのです。
MetaTrader 5での自己組織化機能マップ(Kohonenマップ)の使用
MetaTrader 5での自己組織化機能マップ(Kohonenマップ)の使用

MetaTrader 5での自己組織化機能マップ(Kohonenマップ)の使用

自己組織化機能マップ(Kohonenマップ)の最も興味深い特徴に一つとして、データを監視することなく分類するという点です。基礎的な形式では、入力データの類似マップを作成します。SOMマップは、高次元のデータの分類とビジュアル化のために使用することができます。この記事では、Kohnenマップのいくつかの簡単な使用方法を紹介します。
ジグザグおよび ATR例によるクラスとしてのインディケータ実装
ジグザグおよび ATR例によるクラスとしてのインディケータ実装

ジグザグおよび ATR例によるクラスとしてのインディケータ実装

インディケータを計算する最適な方法についての議論は尽きるところがありません。どこでインディケータ値を計算すべきでしょうか?インディケータ自体でしょうか、またはそのインディケータを使う Expert Advisor に全ロジックを埋め込むのがよいのでしょうか?本稿では、カスタムインディケータ iCustom のソースコードをExpert Advisor のコードに直接、または計算最適化スクリプトに移動し、そして prev_calculated 値をモデル化するバリアントの一つについて述べていきます。
ランダムウォーク理論とトレンドインディケータ
ランダムウォーク理論とトレンドインディケータ

ランダムウォーク理論とトレンドインディケータ

ランダムウォークは現実のマーケットデータと実によく似ていますが、大きな特徴がいくつかあります。本稿ではコインン投げゲームを使用するシミュレーションでランダムウォークのプロパティを考察します。データのプロパティを調査するためトレンドインディケータを作成します。
時系列予測に対する ENCOG マシン学習へのMetaTrader 5インディケータ使用
時系列予測に対する ENCOG マシン学習へのMetaTrader 5インディケータ使用

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

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

マーケット価格予測に対する汎用回帰モデル

マーケット価格は需要と供給の間の安定したバランスから形作られ、それは逆に経済、政治、心理要因の多様性に依存します。こういった要因の影響原因同様、性質の異なることですべての構成要素を直接考慮するのは困難です。本稿は 念入りに作られた回帰モデルを基にしたマーケット価格予測について述べます。
C plus plus テンプレートの代用としての疑似テンプレート使用
C plus plus テンプレートの代用としての疑似テンプレート使用

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

本稿はテンプレートは使わないが、プログラムスタイルはテンプレートに合ったものを保持する方法について述べていきます。カスタムメソッドを使ってテンプレートを実装することをお伝えします。また、指定のテンプレートを基にしたコード作成用既製のスクリプトを添付しています。
価格 Correlationの統計データを基にしたシグナルのフィルタリング
価格 Correlationの統計データを基にしたシグナルのフィルタリング

価格 Correlationの統計データを基にしたシグナルのフィルタリング

過去の価格変動と将来のトレンドの間に関連はあるのでしょうか?前日の値動き特性が本日繰り返されるのはなぜでしょうか?価格変動予想に統計は有用でしょうか?答えはあり、それはポジティブなものです。もしお疑いならこの記事はそんな方向けです。MQL5のシステムでトレーディングシステム向けの作業フィルター作成方法をお話します。それは価格変動の興味深いパターンを表します。
直線回帰例によるインディケータスピードアップの3手法
直線回帰例によるインディケータスピードアップの3手法

直線回帰例によるインディケータスピードアップの3手法

本稿では、インディケータメソッドの計算アルゴリズムの最適化を取り上げます。みなさんはご自身のニーズにもっとも合うメソッドをお探しのことと思います。本稿では3種類の手法について述べます。その一つはきわめて簡単なものです。次のひとつはしっかりした数学の知識が必要です。そして最後のひとつには多少のウィットが必要です。はここで述べられる手法のほとんどを理解するのにインディケータまたはMetaTrader5 ターミナルのデザイン的特性を利用します。その手法はかなり汎用的で直線回帰計算だけでなくその他のインディケータに対しても使用可能です。
MQL5での統計確率分布
MQL5での統計確率分布

MQL5での統計確率分布

本稿は、適用統計に使用されるランダム変数の確率分布(標準、対数正規分布、二項分布、ロジスティック分布、指数分布、コーシー分布、ストゥーデンとの t-分布、 ラプラス分布、 ポアソン分布、双曲線正割分布、 ベータ分布、ガンマ分布)について述べます。またこういった分布を処理するクラス特性についても述べます。