MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
MetaTrader 5での自己組織化機能マップ(Kohonenマップ)の使用
MetaTrader 5での自己組織化機能マップ(Kohonenマップ)の使用

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

自己組織化機能マップ(Kohonenマップ)の最も興味深い特徴に一つとして、データを監視することなく分類するという点です。基礎的な形式では、入力データの類似マップを作成します。SOMマップは、高次元のデータの分類とビジュアル化のために使用することができます。この記事では、Kohnenマップのいくつかの簡単な使用方法を紹介します。
夜間の取引はどれ程信頼性があるか?
夜間の取引はどれ程信頼性があるか?

夜間の取引はどれ程信頼性があるか?

この記事では、クロスペアの夜間取引の特徴について明らかにしていきたいと思います。どこから利益は生まれ、なぜ深刻な損失が発生することがあるのかを説明していきます。夜間取引の為に開発されたエキスパートアドバイザの例を引用しています。この戦略に基づく取引経験についてお話していきます。
取引口座の分析
取引口座の分析

取引口座の分析

この記事は、MT4での取引履歴を元に取引の分析を行うためのツールについて説明しています。特に、その技術面を分析します。分析後に、取引要因の改善方法をまとめます。分析には、MQLab™ Graphic Reportスクリプトを使用します。
ローソク足の動きを予測するための簡単な方法
ローソク足の動きを予測するための簡単な方法

ローソク足の動きを予測するための簡単な方法

価格変動の傾向を知ることは、取引操作から良い結果を得るためには大切なことです。ローソク足が与えうる傾向についての、いくつかの情報があります。この記事では、ローソク足の動きを予測する、いくつかの簡単なアプローチを検証していきます。</div>
テクニカル指標や取引シグナルの利益表のビジュアル最適化
テクニカル指標や取引シグナルの利益表のビジュアル最適化

テクニカル指標や取引シグナルの利益表のビジュアル最適化

この記事は、前の記事「テクニカル指標とアラートの利益のビジュアルテスト」の関連記事です。パラメータ変更プロセスに双方向性を加え、検査の目的を変えることにより、シグナルを用いて取引結果予想を表示するだけでなく、メインチャートのシグナルパラメータ値を制御する役割として仮想スライドを動かすことで、取引レイアウトやバランスチャート、取引結果を即座に取得できるツールを作成します。
インディケータとシグナルの利益性のビジュアルテスト
インディケータとシグナルの利益性のビジュアルテスト

インディケータとシグナルの利益性のビジュアルテスト

取引シグナルのインディケータの選択や、それらの計算方法は、通常、これらのシグナルを使用するエキスパートアドバイザのバックテストを行い分析します。しかし、各インディケータに基づいてエキスパートアドバイザを作成するのは、常に可能で必要で妥当であるわけではありません。他のインディケータのシグナルでの、取引の利益性の能率的な計算は、自分でそれらのシグナルを集め、それに基づく理想的な取引の図を描く、特別なインディケータを使う事で行う事ができます。これを使う事で、視覚的に結果を評価するだけでなく、素早く最適なパラメータを選出することができます。
チャネルを利用したトレードのためのエキスパートアドバイザー
チャネルを利用したトレードのためのエキスパートアドバイザー

チャネルを利用したトレードのためのエキスパートアドバイザー

このエキスパートアドバイザーはチャネルラインをプロットします。上と下のチャネルラインがサポート・レジスタンスレベルとして振る舞います。エキスパートアドバイザーは基準点を設け、値が届くかチャネルラインを越えるかする度にサウンド通知をおこない、関連する印を描きます。フラクタルなフォーメーションにおいて、対応する矢印が最後のバーに現れます。ラインブレイクアウトは大きくなっていくトレンドの可能性を示唆します。このエキスパートアドバイザーは幅広い範囲で批評されます。
Lite_EXPERT2.mqhファイル - EAの最適化の実践例
Lite_EXPERT2.mqhファイル - EAの最適化の実践例

Lite_EXPERT2.mqhファイル - EAの最適化の実践例

この記事では、筆者はEA構築の具体例にて、Lite_EXPERT2.mqhファイルの関数の紹介を続けます。Average True Range (ATR)の指標値に基づいて明確にされる取引から取引へと変動する指値注文の使用案を検証します。
Lite_EXPERT2.mqh:エキスパートアドバイザー開発者のためのファンクションキット
Lite_EXPERT2.mqh:エキスパートアドバイザー開発者のためのファンクションキット

Lite_EXPERT2.mqh:エキスパートアドバイザー開発者のためのファンクションキット

本稿は「ポピュラーなトレードシステムに基づくエキスパートアドバイザーとトレーディングロボット最適化の錬金術」シリーズの続きです。読者はLite_EXPERT2.mqh fileのより多くの普遍的な関数ライブラリについて親しくなるでしょう。
EAステータス SMS 通知機能
EAステータス SMS 通知機能

EAステータス SMS 通知機能

稼働中のEAの状況を知らせることで何処にいても常に詳細な状況を確認できるSMS通知システムの開発
ジグザグおよび 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-分布、 ラプラス分布、 ポアソン分布、双曲線正割分布、 ベータ分布、ガンマ分布)について述べます。またこういった分布を処理するクラス特性についても述べます。
ソースコードのトレーシング デバッギング 構造分析
ソースコードのトレーシング デバッギング 構造分析

ソースコードのトレーシング デバッギング 構造分析

実行されたコードのストラクチャーの作成とトレーシングの複雑な問題は、特に困難なく解決することができます。これは、MetaTrader5から可能になりました。これは、MQL5言語の新しい機能である、様々な複雑なデータ型の自動生成やローカルスコープ外に出た際の除去などのおかでです。この記事は、その方法論や、すぐ使えるツールを紹介します。
統計的推定
統計的推定

統計的推定

シーケンスの統計的パラメータの推定はたいへん重要なものです。それはたいていの数学的モデルと手法が異なる前提に基づいているからです。たとえば、分布法則の正常化、分散値、その他パラメータです。よって時系列を分析し推定するとき、主要な統計的パラメータを素早く明確に推定できるシンプルで使い勝手のよいツールが必要です。本稿では、もっともシンプルなランダムシーケンスの統計パラメータとビジュアル分析のメソッドをいくつか取り上げ述べていきます。それにより MQL5 でこれらメソッド、またニュープロットアプリケーションを用いて計算した結果の視覚化メソッドを実装します。
Expert Advisors最適化のカスタム基準作成
Expert Advisors最適化のカスタム基準作成

Expert Advisors最適化のカスタム基準作成

MetaTrader 5 クライアント端末は Expert Advisor パラメータを最適化する幅広い機会を提供します。またストラレジーテスタに含まれる最適化評価基準に対して、開発者には自身の基準を作成するチャンスが与えられています。これは Expert Advisorsを検証し最適化する数えきれない可能性に導きます。本稿ではそのような基準を、複雑なもの単純なもの双方、作成する実践的方法について記述します。
サルでも解るMQL5 ウィザード
サルでも解るMQL5 ウィザード

サルでも解るMQL5 ウィザード

2011年初頭、 MQL5 ウィザードの第一版を発売しました。この新しいアプリケーションはトレーディングロボットを自動で作成する便利なツールを提供します。MetaTrader 5 ユーザーはだれでも、MQL5でプログラミングする方法を知らなくても独自のExpert Advisor を作成することができるのです。
高度適応インディケータ理論および MQL5への実装
高度適応インディケータ理論および MQL5への実装

高度適応インディケータ理論および MQL5への実装

本稿は高度適応インディケータとその MQL5への実装について述べます。適応型サイバーサイクル、適応型重心、適応型RVIです。すべてのインディケータはJohn F. Ehlersの原著 "Cybernetic Analysis for Stocks and Futures" で紹介されていました。
指数平滑法を用いた時系列予測
指数平滑法を用いた時系列予測

指数平滑法を用いた時系列予測

この記事は、読者に短期間の時系列分析にて使用される指数平滑法モデルに馴染みを持ってもらうことを目的としています。加えて、最適化や予測結果の評価に関連する問題も扱い、スクリプトやインジケーターのいくつかの例を提供します。この記事は、指数平滑法モデルに基づいた予測の原則の初歩の知識として役に立つと思います。
インディケータの統計パラメータ分析
インディケータの統計パラメータ分析

インディケータの統計パラメータ分析

テクニカル分析は基本クオートを「より明確に」示し、トレーダーがマーケット価格動向を分析し推定することのできるインディケータを幅広く採り入れます。インディケータを使用することに意味はなく、言うまでもなく最初のクオート変換と取得した結果の信頼性に関する問題を解決できないかぎり、インディケータを特定のトレーディングシステムに適用することにも意味がありません。本稿ではそのような結論について確たる理由があることを示していきます。
トレーディングシステム作成のための判別分析の利用
トレーディングシステム作成のための判別分析の利用

トレーディングシステム作成のための判別分析の利用

トレーディングシステムを開発するとき、たいていインディケータとそのシグナルの最良の組合せを選ぶのに問題が起こります。判別分析はそのような組合せを見つける方法の一つです。本稿では、マーケットデータ収集のための EA 開発例を提供し、f Statistica ソフトウェアにおいてFOREXマーケットに対する予測モデル構築のための判別分析の使用を解説します。
Expert Advisor ビジュアルウィザードを用いたExpert Advisorsの作成
Expert Advisor ビジュアルウィザードを用いたExpert Advisorsの作成

Expert Advisor ビジュアルウィザードを用いたExpert Advisorsの作成

MetaTrader 5 用Expert Advisor ビジュアルウィザードは、数分でExpert Advisを設計することができる理解しやすい定義済みトレーディンブロックセットを伴う高い直観的グラフィカル環境を提供します。Expert Advisor ビジュアルウィザードのクリック、ドラッグ、ドロップ方法により鉛筆と紙で行うように外為トレーディング戦略のビジュアル表現とシグナルを作成することができます。こういったトレーディングダイアグラムは、それらをすぐに使える Expert Advisorsに変換するモラニス社製 MQL5によって自動的に分析されます。連携したグラフィカル環境は設計プロセスを簡素化し、 MQL5 コードを書く必要はなくなります。
トレーダミネーター 3:売買ロボットの台頭
トレーダミネーター 3:売買ロボットの台頭

トレーダミネーター 3:売買ロボットの台頭

記事 "Dr. Tradelove..." で Expert Advisorを作成しました。それは選択済みのトレーディングシステムのパラメータを自立的に最適化するものです。それ以上に EAにある一つのトレーディングシステムのパラメータだけを最適化するのではなく、複数あるトレーディングシステムから最良のものを選ぶExpert Advisorを作成しようと決めました。それがどうなったか見ていきます。
MQL5 コードの保護:パスワード保護、キージェネレータ、時間制限、リモートライセンス、高度 EA ライセンスキー暗号化技術
MQL5 コードの保護:パスワード保護、キージェネレータ、時間制限、リモートライセンス、高度 EA ライセンスキー暗号化技術

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

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

最後の改革

トレーディングターミナルを見てください。価格の提示はどのような意味に見えますか?バー、ろうそく足、罫線私たちは価格からしか利益を得ない一方、時間と価格の両方を追求しています。市場を分析する際に、価格のみに注意を向けるだけで良いのでしょうか?この記事は、(「3目並べ」)ポイント・フィギュアチャート作成のためのスクリプトとアルゴリズムを提唱します。記されている推奨にて、記載されている実用的な使用方法の様々な価格パターンを考察していきます。
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で洗練されたおもしろいプログラムが開発できる(するべきである)というもうひとつの証明です。
MetaTrader 5とMQL5の提供する限りのない機会
MetaTrader 5とMQL5の提供する限りのない機会

MetaTrader 5とMQL5の提供する限りのない機会

この記事では、MQL5を0から学び始めて9ヶ月でどれほどの結果を得ることができるかという点とともに、トレーダーのプログラムがどのようなもになることができるかの例を紹介したいと思います。この例は、価格チャートで最小限のスペースを使用しながら、プログラムがどれほど多機能に、かつ、情報を提供するようになるのかについて紹介します。そして、ユーザーにとってトレードパネルがどれほどカラフル、明るく、直感的に分かりやすくなるか見ることができます。その他数多くの機能を紹介します。
MQL5 マーケットがトレーディング戦略およびテクニカルインディケータを販売するのにベストな場所である理由
MQL5 マーケットがトレーディング戦略およびテクニカルインディケータを販売するのにベストな場所である理由

MQL5 マーケットがトレーディング戦略およびテクニカルインディケータを販売するのにベストな場所である理由

MQL5.community マーケットは Expert Advisors 開発者に対してすでに何千人という潜在的購入者のいるできあがったマーケットを提供します。これは売買ロボットやテクニカルインディケータを販売するのにはベストな場所です。
OpenCL:パラレルワールドへの橋渡し
OpenCL:パラレルワールドへの橋渡し

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

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

OpenCL: ネィティブから、より洞察力のあるプログラミングへ

この記事は、少なくともOpenCLカー熱の実行されるハードウェアについて考察されている際に、最適化能力の可能性について焦点を当てています。取得された図形は、天井に着く値とは程遠いですが、既存のリソースをここに持っておくべきであるとしています(ターミナルの開発者に実行されるOpenCL APIは、ワークグループのサイズなど、最適化に重要なパラメーターを管理することを可能にしていません。)ホストプログラムの実行中に取得されたパフォーマンスはとても重要です。
MQL5.community - ユーザーメモ
MQL5.community - ユーザーメモ

MQL5.community - ユーザーメモ

みなさんは登録したばかりで、おそらく「メッセージに写真を挿入する方法は?」、「MQL5 のソースコードをフォーマットする方法は?」、「個人のメッセージはどこに保存されるの?」などという疑問があることでしょう。またそのほかにも数多くの質問があるかもしれません。本稿では MQL5.communityに慣れていただくための実践的な情報を準備し、利用可能な機能を最大限に活用していただけるようにします。
MQL5 コード用自動作成ドキュメンテーション
MQL5 コード用自動作成ドキュメンテーション

MQL5 コード用自動作成ドキュメンテーション

Java プログラマーの多くは JavaDocs により作成することのできる自動作成ドキュメンテーションを熟知されていることと思います。その考え方は、検索が簡単なヘルプファイルに抽出できる半構造法によりコードにコメントを追加するというものです。C++ 言語界にもまたドキュメンテーション自動作成機能があります。 Microsoft の SandCastle と Doxygen が代表的な2つです。本稿は MQL5 コードで構成済みコメントから HTML ヘルプファイルを作成するための Doxygen 使用について述べます。実験はひじょうにうまくいきましたから、Doxygen が MQL5 コードから作り出すヘルプのドキュメンテーションは大きな価値を加えると信じています。
インターネットを介して端末間でデータ交換をするためのWinInet.dll利用
インターネットを介して端末間でデータ交換をするためのWinInet.dll利用

インターネットを介して端末間でデータ交換をするためのWinInet.dll利用

本稿は HTTP リクエストを介することでインターネットに連携する原理、および仲介サーバーを用いた端末間でのデータ交換について述べます。MQL5 環境でインターネットリソースと連携するためのMqlNet ライブラリクラスについて述べます。異なる仲介会社からの価格をモニターし、ターミナルを終了 することなく他のトレーダーとメッセージ交換をし、インターネットで情報検索をする。これらは例に過ぎませんが、本稿で検討します。
MQL5およびMQL4で自動売買ロボットを注文する方法
MQL5およびMQL4で自動売買ロボットを注文する方法

MQL5およびMQL4で自動売買ロボットを注文する方法

「フリーランス」は、MQL4/MQL5自動売買ロボットとテクニカルインディケーターを発注できる最大のフリーランスサービスです。何百人ものプロの開発者がいつでもMetaTrader4/5ターミナル用のカスタム取引アプリケーションを開発できます。
テクニカル分析:何を分析するのか?
テクニカル分析:何を分析するのか?

テクニカル分析:何を分析するのか?

本稿では MetaTrader クライアント端末において利用可能なクオート表示の特殊性をいくつか分析してみます。本稿は一般論を述べるものでプログラムについては述べていません。