MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
プライスアクション。つつみ線パターンのトレード戦略を自動化するには
プライスアクション。つつみ線パターンのトレード戦略を自動化するには

プライスアクション。つつみ線パターンのトレード戦略を自動化するには

本稿はつつみ線パターンに基づくメタトレーダー4のためのエキスパートアドバイザーを作成する手順について書かれています。パターン認識のルール、待機注文とストップ注文の設定ルールについても書かれています。テストと最適化の結果もあなたの質となるよう提供します。
DLLを経由したメタトレーダーターミナルの管理
DLLを経由したメタトレーダーターミナルの管理

DLLを経由したメタトレーダーターミナルの管理

本稿は通知機能の設定をする例を紹介しながら補助DLLライブラリを経由してメタトレーダーユーザーのインターフェイスを使うことについて書かれています。ライブラリソースコードとスクリプトのサンプルを添付しています。
プライスアクション。はらみ足(Inside Bar)トレード戦略の自動化
プライスアクション。はらみ足(Inside Bar)トレード戦略の自動化

プライスアクション。はらみ足(Inside Bar)トレード戦略の自動化

本稿は、はらみ足戦略に基づくメタトレーダー4エキスパートアドバイザーの開発について書かれています。ペンディングとストップオーダーのセッティングルールと、はらみ足と判断する規則についても述べられています。テストと最適化の結果が書かれています。
サポートレジスタンス、プライスアクションからトレードセットアップをおこなうには
サポートレジスタンス、プライスアクションからトレードセットアップをおこなうには

サポートレジスタンス、プライスアクションからトレードセットアップをおこなうには

本稿は、良いタイミングのエントリーをするためのプライスアクションとサポート・レジスタンスレベル(ライン)の観察について書かれています。トレードのセットアップ(エントリー条件)のために、この二つを上手く組み合わせたトレードシステムは何なのか、考えていきます。MQL4のコードには、これらのトレード・コンセプトに基づいたEAに利用されているものがあります。
ラブシェール資産運用法の統計的検証
ラブシェール資産運用法の統計的検証

ラブシェール資産運用法の統計的検証

この記事では、マーチンゲール法よりは攻撃的ではないが、かけ金のアップは2倍ではなく一定の額というラブシェール資産運用法の統計的性質を検証する。
HTMLでのチャート、ダイヤグラム
HTMLでのチャート、ダイヤグラム

HTMLでのチャート、ダイヤグラム

今日は、インストールされたウェブブラウザのないコンピューターはほとんどありません。長い間、ブラウザは進化し成長し続けてきました。この記事は、ブラウザに表示するための、MetaTrader4クライアントターミナルから取得された情報に基づくチャートやダイヤグラムの簡単で安全な作成方法を紹介します。
取引き履歴に基づくトレーディングのプレーヤー
取引き履歴に基づくトレーディングのプレーヤー

取引き履歴に基づくトレーディングのプレーヤー

トレーディングのプレーヤーたったこれだけの短い言葉です。説明は必要ありませんね。ボタンのある小さな箱が心に浮かびます。ボタンを1つ押すと再現します。レバーを動かすと再現スピードが変化します。それとても似ています。本稿では、ほとんどリアルタイムでトレード履歴を再現するプログラムを紹介したいと思います。本稿はOOPの意味、インディケータとの連携、チャート管理についてもいくらか取り上げます。
移動ミニマックス法:テクニカル分析用新インディケータと MQL5への実装実装
移動ミニマックス法:テクニカル分析用新インディケータと MQL5への実装実装

移動ミニマックス法:テクニカル分析用新インディケータと MQL5への実装実装

本稿ではZ.G.Silagadze氏による論文 'Moving Mini-max: a new indicator for technical analysis'を基にした移動ミニマックス インディケータの実装手順について述べます。このインディケータの考え方は、G. Gamov 氏のα 崩壊で提案される量子トンネル現象を基にしています。
Connecting NeuroSolutions Neuronets
Connecting NeuroSolutions Neuronets

Connecting NeuroSolutions Neuronets

ニューロネットの作成に加え、NeuroSolutions ソフトウェアスウィートによりそれらを DLLとしてエクスポートすることが可能となります。本稿では、ニューロネット作成とDLL生成とそれを MetaTrader 5でのトレーディングのためExpert Advisor に連携する手順について述べています。
MetaTrader 5のマルチ通貨モードの実行
MetaTrader 5のマルチ通貨モードの実行

MetaTrader 5のマルチ通貨モードの実行

長い間、マルチ通貨分析やマルチ通貨トレーディングは人々の関心の的でした。完全なマルチ通貨システムを達成する機会は、MetaTrader5とMQL5プログラミング言語のリリースによりようやく可能になりました。この記事では、複数のシンボルにおけるすべてのティックを処理し分析する方法を紹介します。例として、USDドルインデックスのマルチ通貨RSIインジケーターを見てみます。
MQL5 ウィザード:オープンポジションのトレーリングモジュール作成方法
MQL5 ウィザード:オープンポジションのトレーリングモジュール作成方法

MQL5 ウィザード:オープンポジションのトレーリングモジュール作成方法

MQL5ウィザードのトレーディング戦略ジェネレータはトレーディングの考え方を検証することをひじょうに簡素化します。本稿では、MQL5 ウィザードでトレーディング戦略を書く方法、ジェネレータを、価格がポジション方向に行くときストップロスを無損失ゼロレベルへ移動させることでトレーディングの際減益ドローダウンを守ることのできるオープンポジションを管理する独自のクラスと連携させる方法について述べます。MQL5 ウィザード用に作成されたクラスのストラクチャおよび記述フォーマットについても述べます。
価格変動の速度と傾向に基づくトレードアイディア
価格変動の速度と傾向に基づくトレードアイディア

価格変動の速度と傾向に基づくトレードアイディア

この記事では、価格変動の速度と傾向に基づいたトレードアイディアについて紹介しています。検証する戦略の持続性を明らかにする目的で、取引エキスパートアドバイザのテストとして、MQL4言語でトレードアイディアの形式化が行われます。また、チェックや研究、最適化をすることによって、記事に書かれている例の最も良いパラメータが明確になります。
MQL5 ウィザード:リスクおよび資金管理モジュール作成方法
MQL5 ウィザード:リスクおよび資金管理モジュール作成方法

MQL5 ウィザード:リスクおよび資金管理モジュール作成方法

MQL5ウィザードのトレーディング戦略ジェネレータはトレーディングの考え方を検証することをひじょうに簡素化します。本稿では独自のリスクおよび資金管理モジュールの作成と、MQL5 ウィザードでそれを有効にする方法について述べました。例として、資金管理アルゴリズムを取り上げました。そこではトレードボリュームが前回ディールの結果を基に決定されます。またMQL5 ウィザード用に作成されるクラスのストラクチャおよび記述フォーマットについても述べます。
MQL5の電子テーブル
MQL5の電子テーブル

MQL5の電子テーブル

本稿では、第一ディメンションに異なるタイプのデータを含む動的二次元配列クラスについて述べていきます。テーブル形式でデータを格納すると、整理の幅広い問題を解決し、異なるタイプの広範囲におよぶ情報を格納および処理するのに好都合です。テーブルに連携する機能性を実装するクラスのソースコードは本稿に添付があります。
MQL5ウィザード:トレーディングシグナル用モジュール作成方法
MQL5ウィザード:トレーディングシグナル用モジュール作成方法

MQL5ウィザード:トレーディングシグナル用モジュール作成方法

この記事は、価格のクロスオーバーと移動平均に関するシグナルの実行とともに、トレーディングシグナルクラスの記述方法、 MQL5ウィザードのトレーディングストラテジー生成プログラムへの挿入方法、MQL5ウィザードにおいて生成されるクラスの記述フォーマットやストラクチャーについて紹介します。
なぜ2014年8月1日までに、MetaTrader 4を最新のビルドにアップデートする必要があるのでしょうか?
なぜ2014年8月1日までに、MetaTrader 4を最新のビルドにアップデートする必要があるのでしょうか?

なぜ2014年8月1日までに、MetaTrader 4を最新のビルドにアップデートする必要があるのでしょうか?

2014年8月1日から、MetaTrader 4デスクトップターミナルのビルド600以前のバージョンはサポートを終了します。しかし、多くのトレーダーは、お馴染みの古いバージョンを使い続けていて、更新されたプラットフォームの性能について知りません。私たちはその開発に尽力し、トレーダーと共に更に先へ進み、古いビルドから脱却したいと思っています。この記事では、新しいMetaTrader 4の長所についてご紹介したいと思います。
MQL4プログラムの代表的なエラーとその対処法
MQL4プログラムの代表的なエラーとその対処法

MQL4プログラムの代表的なエラーとその対処法

旧バージョンのコンパイラでは、プログラムを強制終了しないために、多くのエラーは実行環境で処理されていました。例えば、ゼロ除算エラーや配列の範囲を越えるなどは重大なエラーです。この重大なエラーがプログラムの強制終了をもたらします。新しいコンパイラのおかげで、実際のエラーソースと潜在的エラーソースを見つけ、コードの質を向上させることができます。この記事では、古いプログラムのコンパイル時に起りうるエラーと、その対処法について検証していきます。
新しいMetaTrader 4ビルド600以降へのアップデート
新しいMetaTrader 4ビルド600以降へのアップデート

新しいMetaTrader 4ビルド600以降へのアップデート

4ターミナル(build600以降)の、ユーザーデータの保存場所が変更されました。以前は、全てのプログラムやテンプレート、プロフィールなどがターミナルのインストールディレクトリに直接保存されていましたが、これからは特定のユーザーターミナルの動作に必要不可欠なデータは、データフォルダと呼ばれる別個の特別なフォルダに保存されます。この記事では、よくある質問についての回答を集めました。
MT4ビルド600以降のバージョンのデータ構造と保存場所
MT4ビルド600以降のバージョンのデータ構造と保存場所

MT4ビルド600以降のバージョンのデータ構造と保存場所

MT4ビルド600以降のバージョンには、データ構造と保存場所が変更されました。これから、MQL4アプリケーションはプログラムタイプ(エキスパートアドバイザー、指標またはスクリプト)に応じて別のディレクトリに配置されます。ほとんどの場合クライアント端末のデータは端末設置場所から分離された特別なデータフォルダに格納されています。この記事は、どうやって データが転送されるのか、又は、なぜデータ構造と保存場所が変更したのかについて説明しています。
チャート分析の良計経済学的アプローチ
チャート分析の良計経済学的アプローチ

チャート分析の良計経済学的アプローチ

本稿では、分析の計量経済学的手法、自己相関分析、とりわけ条件付き分散の分析について述べていきます。ここに挙げた手法のメリットは何でしょうか?非線形 GARCH モデルの使用により、数学的観点から正式に分析した系列を表現することができ、また特定の段階数に関して予測をすることができます。
ミクロ、ミドル、メイントレンドのインディケータ
ミクロ、ミドル、メイントレンドのインディケータ

ミクロ、ミドル、メイントレンドのインディケータ

本稿は James Hyerczyk著 "Pattern, Price & Time: Using Gann Theory in Trading Systems" から得たいくらかの考え方を基にインディケータやExpert Advisor形式でトレードの自動化可能性調査と分析を目的とします。完全にとは言わず、ここではモデル、すなわちギャン理論の最初の部分だけを対象とします。
トレーディングモデルに基づくマルチエキスパートアドバイザーの作成
トレーディングモデルに基づくマルチエキスパートアドバイザーの作成

トレーディングモデルに基づくマルチエキスパートアドバイザーの作成

MQL5にてオブジェクト指向のアプローチを使用すると、マルチ通貨・マルチシステム・マルチタイムフレームのエキスパートアドバイザーの作成を大幅に単純化することができます。全てのタイムフレーム、全ての金融商品において、いくつものトレーディング戦略に基づいた取引をあなたのEAが行うことを想像してみてください。さらに、EAはテスターにて簡単にテストすることができ、すべての戦略において、稼働する資産管理システムがいくつもあります。
チャネルの描画 : 内見および外観
チャネルの描画 : 内見および外観

チャネルの描画 : 内見および外観

マーケット分析および移動平均後トレードを判断するのにチャネルはもっとも人気あるツールだと言っても過言ではないでしょう。チャネルとそのコンポーネントを使用するトレード戦略の多くを深く掘り下げず、数学的基本とインディケータの実用的実装について語っていきたいと思います。それはクライアント端末画面の3つの極値によって判断されるチャネルを描くものです。
MetaTrader 5での並列計算
MetaTrader 5での並列計算

MetaTrader 5での並列計算

人類の歴史において時間は高価値であり、われわれはそれを無駄に費やさないよう努力しています。本稿では、マルチ コア プロセッサのコンピュータをご使用の場合、お手元のExpert Advisor の動作スピードを上げる方法について述べていきます。また、提案のメソッド実装には MQL5以外の言語知識は必要とされません。
CChartObject クラスに基づく新規GUIウィジェット設計と実装
CChartObject クラスに基づく新規GUIウィジェット設計と実装

CChartObject クラスに基づく新規GUIウィジェット設計と実装

前稿『GUI を使用した半自動Expert Advisor』を書いてのち、より複雑なインディケータやExpert Advisorsに新しい関数を伴うインターフェースを強化したいと思うようになりました。MQL5 標準ライブラリクラスを知ってから、新しいウィジェットを実装しました。本稿は、インディケータやExpert Advisorsで使用可能な新しい MQL5 GUI ウィジェットの設計と実装について述べます。本稿で提供しているウィジェットは CChartObjectSpinner、 CChartObjectProgressBar、CChartObjectEditTable です。
定義済みリスクおよびRRレシオに基づく半自動化ドラッグドロップExpert Advisor連携構築
定義済みリスクおよびRRレシオに基づく半自動化ドラッグドロップExpert Advisor連携構築

定義済みリスクおよびRRレシオに基づく半自動化ドラッグドロップExpert Advisor連携構築

すべての取引を自動で行うトレーダーもいれば、複数インディケータのアウトプットを基にして自動と手動のミックスで取引を実行するトレーダーもいます。後者のグループの一員として、私はリスクと利益をチャートから直接、動的に評価するための連携ツールが必要でした。本稿は、定義済みの資本リスクおよびR/Rレシオを連携する半自動化Expert Advisorを実装する方法を提供します。EA パネル実行中には、 Expert Advisor リスク、R/R、ロットサイズ パラメータが変更可能です。
初心者のためのMQL5のカスタムインディケーター
初心者のためのMQL5のカスタムインディケーター

初心者のためのMQL5のカスタムインディケーター

初めての人にはどんな新しいテーマも複雑で学ぶのが難しいように見えます。知っているテーマはシンプルでわかりやすく感じます。しかし、だれもが母国語さえも最初から勉強しなければならないことを単に忘れがちです。自分のトレーディングストラテジーを策定する上で幅広い可能性を提供するMQL5プログラミング言語でもそれは同じです。- 基本的な考えを最もシンプルな例から学びましょう。本記事ではテクニカルインディケーター とMetaTrader 5 クライアントターミナルの相互作用をシンプルなカスタムインディケーター SMAの例を用いて考えます。
MQL5でのオブジェクトポインターの使用
MQL5でのオブジェクトポインターの使用

MQL5でのオブジェクトポインターの使用

デフォルトで、MQL5ではすべてのオブジェクトがレファレンスによって渡されますが、オブジェクトポインターを使用する可能性があります。しかし、オブジェクトは初期化されないかもしれないので、ポインター 確認が必要です。 この場合、 MQL5はクリティカルエラーでアップロードされずにプログラムが終了します。自動作成されたオブジェクトはこのようなエラーが発生しないのでその意味で安全です。本記事ではオブジェクトレファレンスとオブジェクトポインターの違いを理解し、ポインターを使うセキュアコードの書き方を考察します。
MetaTrader 5テスターのストラテジーのビジュアル化
MetaTrader 5テスターのストラテジーのビジュアル化

MetaTrader 5テスターのストラテジーのビジュアル化

”百聞は一見にしかず”ということわざがあります。パリやヴェニスに関する本を読んだとしても、心のイメージに関して言えばこれらの美しい都市を夜に実際に歩いてみるのと同じ感覚を得ることはできません。ビジュアル化の利点は、私たちの生活のあらゆる部分で見つけることができます。それには市場も含まれます。例えば、チャートのプライスアナリストはインディケーターや、ストラテジーテスティングのビジュアル化ももちろん利用します。この記事ではMetaTrader 5のストラテジーテスターのすべてのヴィジュアライゼーション機能の説明をしていきます。
MQL5クラウドネットワークを使った速度アップ
MQL5クラウドネットワークを使った速度アップ

MQL5クラウドネットワークを使った速度アップ

お使いになられているパソコンのコア数はいくつでしょうか?トレーディングストラテジーの最適化のために使えるパソコンは何台あるでしょうか?ここではMQL5クラウドネットワークを使い、マウスをクリックするだけで世界中のコンピューターパワーを利用して計算を早くするための方法を紹介します。"時は金なり"ということわざは、近年より話題となってきました。重要な計算を何十時間もあるいは何日間も待つことはできませこん。
カスタムグラフィックコントロールパート2コントロールライブラリ
カスタムグラフィックコントロールパート2コントロールライブラリ

カスタムグラフィックコントロールパート2コントロールライブラリ

「カスタムグラフィックコントロール」シリーズ第2弾となる本稿では、プログラム(エキスパートアドバイザ、スクリプト、インディケータ)とユーザ間のインタラクションにおいて起こる主要な問題を処理するコントロールライブラリを紹介します。このライブラリにはたいへん多くのクラス(CInputBox、CSpinInputBox、CCheckBox、CRadioGroup、CVSсrollBar、CHSсrollBar、CList、CListMS、 CComBox、CHMenu、CVMenu、CHProgress、CDialer、CDialerInputBox、CTable)と、それらの使用例が含まれています。
MQL5でトレンドを見つけるいくつかの方法
MQL5でトレンドを見つけるいくつかの方法

MQL5でトレンドを見つけるいくつかの方法

あらゆるトレーダーが、所定の時点におけるトレンドを正確に見つけるための多くの機会を提供することができます。これはおそらく、誰もが探している聖杯です。本稿では、トレンドを見つけるいくつかの方法を検討していきます。それはより正確に言えば-MQL5を用いてトレンドを見つけるいくつかの伝統的な方法をプログラムする方法、です。
Meta Trader5がもたらす新たな機会
Meta Trader5がもたらす新たな機会

Meta Trader5がもたらす新たな機会

Meta Trader4は世界中のトレーダーから好評を博し、これ以上に望むものはないように思われていました。高い処理速度、安定性、インディケータ記述の広大な可能性、エキスパートアドバイザー、情報提供型トレーディングシステム、そして100以上の異なるブローカーから選択できることにより-このターミナルは他に類を見ないほどに優れたものでした。しかし時は流れ、今や、Meta Trader4かMeta Trader5かの選択を迫られる時代となりました。本稿では、時代が求めるこの第5世代ターミナルの主な違いについて述べます。
William Blauの指数MQL5におけるトレーディングシステムパート 1:インディケータ
William Blauの指数MQL5におけるトレーディングシステムパート 1:インディケータ

William Blauの指数MQL5におけるトレーディングシステムパート 1:インディケータ

本稿はWilliam Blau著"Momentum, Direction, and Divergence"に述べられるインディケータを紹介します。William Blau氏の手法により迅速に正確に価格曲線の変動を概算し、価格変動の傾向と変換点を判断し、価格ノイズを除去することができるようになりました。一方でまた、トレンドの終了と価格変動の逆転を示しながらマーケットの買いすぎ/売りすぎ状態、シグナルを検出することができます。
スペクトラム分析の構築
スペクトラム分析の構築

スペクトラム分析の構築

本稿は、MQL5言語のグラフィカルオブジェクト使用が可能なバリアントを知っていただくのが目的です。それはグラフィカルオブジェクトを使用し、シンプルなスペクトラム分析を管理するパネルの実装を行うインディケータを分析します。読者のみなさんには本稿をとおしてMQL5の基本を知っていただきたいと思います。
追加バッファなしの中間計算用物価系列の平均化
追加バッファなしの中間計算用物価系列の平均化

追加バッファなしの中間計算用物価系列の平均化

本稿は、もっともシンプルでシングルタイプのクラスに搭載された、従来のまた独自の平均化アルゴリズムを数々取り上げます。それらはほとんどすべてといってよいほどインディケータの開発に汎用的に使用されます。提案するクラスが、カスタムインディケータおよびテクニカルインディケータの「大量」呼び出しに対する有効な代替手段になればよいと思っています。
新しいMQL4のオフラインチャート
新しいMQL4のオフラインチャート

新しいMQL4のオフラインチャート

新しいバージョンのMQL4では、履歴データの保存方法が変更され、MqlRates構造体が新たに追加されました。MqlRates構造体は、Time、Open、Low、High、Close、Volumeなどの値を保存するのに役立ちます。長年にわたってトレーダーは、オフラインチャートを作成する為にHSTファイルに自分のデータを集めて書き込む、自分のプログラムをMQL4で作成していました。各トレーダーは、以前にコンパイルされた全てのEX4ファイルが、新しいMetaTrader4ターミナルで、以前と同様に動作すると確信していることでしょう。
標準ライブラリクラスを使ってオリジナルのMarket Watchを作成します。
標準ライブラリクラスを使ってオリジナルのMarket Watchを作成します。

標準ライブラリクラスを使ってオリジナルのMarket Watchを作成します。

新しいMetaTrader 5クライアント端末とMQL5言語はトレーダーにビジュアル情報を提供する機会をもたらします。 本稿では、汎用的拡張可能なクラスセットを提案します。それはチャート上の任意のテキストの表示作成作業をすべて行うものです。 Market Watch インディケータの例を提供します。
ファジー理論を使用しインディケータを作成する簡単な例
ファジー理論を使用しインディケータを作成する簡単な例

ファジー理論を使用しインディケータを作成する簡単な例

本稿はファイナンシャルマーケット分析にファジー理論の概念を実用的に適用することに特化しています。エンベロープインディケータ上で2つのファジールールに基づくインディケータ生成シグナルの例を提供します。作成されたインディケータは複数のインディケータバッファを使用します。7個のバッファを計算に、5個のバッファをチャート表示に、2個をカラーバッファとします。
MQL5ウィザード:プログラミングしないExpert Advisorsの作成
MQL5ウィザード:プログラミングしないExpert Advisorsの作成

MQL5ウィザード:プログラミングしないExpert Advisorsの作成

プログラミングで時間を無駄にせずトレーディング戦略を試してみたいと思いませんか?MQL5ウィザードではただトレーディングシグナルを選び、トレーリングポジションと資金管理のモジュールに追加するだけです。 - それで仕事は終わりです!独自のモジュール実装または、Jobsサービスから注文します。 - そうして新しいモジュールを既存のモジュールと融合させるのです。