MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
マルチタイムフレームとマルチ通貨パネルの作成
マルチタイムフレームとマルチ通貨パネルの作成

マルチタイムフレームとマルチ通貨パネルの作成

この記事では、オブジェクト指向プログラミングを使うMetaTrader 5のマルチタイムフレームとマルチ通貨パネルの作成の仕方を解説します。主な目的は、パネルのコードを変更することなく、価格や価格の変化、インディケーターの値や売買条件のカスタマイズなど 多くの異なった種類のデータを表示することのできる汎用パネルの作成です。
オブジェクト指向プログラミング
オブジェクト指向プログラミング

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

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

カスタムグラフィックコントロール パート3. フォーム

この記事はグラフィックコントロールに関する3つの記事の最後になります。代表的なグラフィカルインターフェースである、フォームの作成や、他のコントロールとの併用の仕方についても紹介します。コントロールライブラリーにはFormクラスの他に、CFrame、CButton、CLabelといったクラスが加えられました。
カスタムグラフィックコントロールパート1:簡単なコントロールを作成する
カスタムグラフィックコントロールパート1:簡単なコントロールを作成する

カスタムグラフィックコントロールパート1:簡単なコントロールを作成する

本稿では、グラフィックコントロールの一般的な原則を網羅します。グラフィックオブジェクトの作業を早く便利に行うためのツールを用意し、テキストや数値データの入力のために簡単なコントロールを作成する方法や、その使用方法の例を分析していきます。
MQL5ウィザード:新バージョン
MQL5ウィザード:新バージョン

MQL5ウィザード:新バージョン

本稿では、最新のMQL5ウィザードで利用できる新しい特徴について述べます。シグナルのアーキテクチャが変更され、さまざまなマーケットパターンにもどつくトレーディングロボットを作成することができるようになっています。本稿に含まれる例では、エキスパートアドバイザのインタラクティブな作成手順を説明しています。
preview
MQL5におけるリソースの使用

MQL5におけるリソースの使用

MQL5プログラムを使うと、ルーチンの演算を自動化するだけでなく、フル機能のグラフィック環境を作ることが可能です。真にインタラクティブなコントロールを作成する機能は、今や、伝統的なプログラミング言語のそれとほとんど同じくらい充実しています。MQL5でフル機能のスタンドアロンプログラムを書くことを望むなら、これらに含まれるリソースを使いましょう。リソースを使ったプログラムは、管理や配布をより簡単に行えます。
preview
メタトレーダー5における検証の原則

メタトレーダー5における検証の原則

メタトレーダー5の3つの検証モードの違いは何でしょうか、また、特に何が求められているのでしょうか?複数手段で同時にトレードを行うEAの検証は、どのように行われるのでしょうか?検証中は、いつどのようにしてインディケータの値が計算され、イベントはどのように処理されるのでしょうか?「始値オンリー」モードの検証中に、異なる金融商品のバーを同期させるにはどうしたらいいでしょうか?本稿ではこれらをはじめとする、多くの質問に答えてみます。
MQL5のExpert Advisorsのテストと最適化を行うためのガイド
MQL5のExpert Advisorsのテストと最適化を行うためのガイド

MQL5のExpert Advisorsのテストと最適化を行うためのガイド

ここでは、コードエラーを見つけ解決するための段階的な手順について説明します。またExpert Advisor(以下EA)への入力パラメータのテストと最適化の手順についても説明します。Meta Trader 5のクライアント端末のStrategy Testerの使い方がわかれば、ご自身のEAに最も適したシンボルや入力パラメータセットを見つけることができるようになります。
メタトレーダー5クライアントターミナルにおける適応型トレーディングシステムとその使用
メタトレーダー5クライアントターミナルにおける適応型トレーディングシステムとその使用

メタトレーダー5クライアントターミナルにおける適応型トレーディングシステムとその使用

本稿では、多くのストラテジーで構成され、それぞれが「バーチャル」トレードオプションを実行する、適応型システムの変形を提案します。リアルトレーディングは、その時点で最大利益となるストラテジーにしたがって行われます。オブジェクト指向アプローチ、データを扱うクラスや、標準ライブラリのトレードクラスのおかげで、システムのアーキテクチャはシンプルかつスケーラブルになりました;今や、数百のトレードストラテジーを含む適応型システムを、簡単に作成し、分析することができます。
「新しいトレーディングの特質」に基づいたエキスパートアドバイザー : Bill Williams著
「新しいトレーディングの特質」に基づいたエキスパートアドバイザー : Bill Williams著

「新しいトレーディングの特質」に基づいたエキスパートアドバイザー : Bill Williams著

この記事ではエキスパートアドバイザーの開発について論じる、これは私の著作 "New Trading Dimensions: How to Profit from Chaos in Stocks, Bonds, and Commodities" (新しいトレーディングの次元:株式、ボンド、商品の混沌から儲ける方法) by Bill Williams に基づいている。戦略そのものはよく知られているが、その使用はいまだにトレーダーたちの間でも議論の的である。この論説はシステムのトレード・シグナル、その実装の詳細、そして履歴データでのテスト結果について考察する。
MetaTrader 4での取引ストラテジーテスターの特徴
MetaTrader 4での取引ストラテジーテスターの特徴

MetaTrader 4での取引ストラテジーテスターの特徴

この記事は、MetaTrader 4での取引ストラテジーテスターの特徴を詳細に説明しています。
EAのバックテストのレポートの見方
EAのバックテストのレポートの見方

EAのバックテストのレポートの見方

EAのバックテストのレポートのおかげで様々なエキスパートアドバイザーをならべ比べることができます。この記事はそのようなレポートについて説明しています。
Strategy Tester: トレード戦略のテストモード
Strategy Tester: トレード戦略のテストモード

Strategy Tester: トレード戦略のテストモード

テクニカル分析の多くのプログラムは、履歴データで取引戦略をテストすることができます。
カスタムインディケータ作成の特徴
カスタムインディケータ作成の特徴

カスタムインディケータ作成の特徴

カスタムインディケータ作成の特徴
エキスパートアドバイザ作成の特徴
エキスパートアドバイザ作成の特徴

エキスパートアドバイザ作成の特徴

MetaTrader 4取引システムでのエキスパートアドバイザ作成の特徴
トレードシステムの評価 - 参入、退出と取引における一般の有効性
トレードシステムの評価 - 参入、退出と取引における一般の有効性

トレードシステムの評価 - 参入、退出と取引における一般の有効性

トレードシステムの有効性と利益性を決定できる多数の尺度がある。しかし、トレーダーは常にどのシステムでも試したいと考えている。この記事はどのようにして有効性の尺度に基づいた統計が MetaTrader 5 のプラットフォームに使えるかを教えるものである。 これは取引による統計の解釈を、S.V.Bulashev(ブラシェフ)による著作"Statistika dlya traderov"(トレーダーのための統計) の記述に矛盾しないものに変換するクラスを含んでいる。また最適化のためのカスタムファンクションの例も含んでいる。
他のインジケーターをベースにインジケーターを作成する
他のインジケーターをベースにインジケーターを作成する

他のインジケーターをベースにインジケーターを作成する

MQL5ではインジケーターをゼロから、あるいは他に顧客の端末に組み込まれていたり、カスタムのものだったりで既に存在するものからなど、どちらからでも作成することができる。 そしてまたここで2つの方法がある - あるインジケーターに新しい計算やグラフィックスタイルを加えることでを改良する方法、あるいは顧客の端末に組み込みあるいはカスタムのものを iCustom() あるいは IndicatorCreate() ファンクション経由で使う方法である。
独自のトレーリングストップ注文を作成する方法
独自のトレーリングストップ注文を作成する方法

独自のトレーリングストップ注文を作成する方法

トレーダーの基本原則 - 利得を増やし、損失を削る!この論説では基本技術の一つ、この原則に従うことを可能にする - 保護的停止レベル (ストップ・ロスレベル) をポジションの利得が増大した時点で動かす、すなわちトレーリングストップレベルを考察する。ここではSAR と NRTR インジケーターに基づいてトレーリングストップをするためのクラスを作成する手続きをステップを追って示す。誰でもこのトレーリングストップをそのエキスパートに挿入し、あるいは独立にそれをそのアカウントのポジションを制御するために使用することができる。
トレードロボットのプロトタイプ
トレードロボットのプロトタイプ

トレードロボットのプロトタイプ

この論説ではトレーディングシステムのアルゴリズムと要素の作成の原理を要約しシステム化する。この論説はエキスパートアルゴリズムの設計について考察する。トレーディングシステムCExpertAdvisor クラスのある例について考察する。これはトレーディングシステムを素早く簡単に開発するのに使える。
MQL5における 20のトレードシグナル
MQL5における 20のトレードシグナル

MQL5における 20のトレードシグナル

この記事ではトレードシステムが有効であるために必要なトレードシグナルをいかに受け取るかを教える。ここでは20のトレードシグナルを作る例を個別のカスタムファンクションとして与えるので、エキスパートアドバイザーを開発する間にも利用することができる。便宜上、この論説で使われた全てのファンクションは一つのmqhインクルードファイルにまとめられているので将来エキスパートアドバイザーに接続することは容易である。
エキスパートアドバイザーの資金管理のためのファンクション
エキスパートアドバイザーの資金管理のためのファンクション

エキスパートアドバイザーの資金管理のためのファンクション

トレード戦略の開発は主に市場に入り、そして、出るためのパターンの探索と、ポジションの維持に注目している。もし自動トレーディングのためにあるパターンをルールとして形式化できれば、トレーダーはポジションの量、マージンのサイズを計算する問題に立ち向かい、さらに貸付資金の安全なレベルを維持して自動モードでオープンなポジションを確実にするであろう。この論説では MQL5 言語を用いてこれらの計算を行う簡単な例を構築する
スタンダードライブラリーのクラスとグーグルチャートAPIを用いて情報ボードを生成する
スタンダードライブラリーのクラスとグーグルチャートAPIを用いて情報ボードを生成する

スタンダードライブラリーのクラスとグーグルチャートAPIを用いて情報ボードを生成する

MQL5 プログラミング言語は主に自動取引システムと複雑な技術的解析の道具の創造をターゲットとしている。. しかしこのことを別として、これはマーケットの状況の追跡に対する興味深いシステムの創造も可能にし、トレーダーとの相互のつながりを与える。この記事ではMQL5の標準ライブラリーの要素とこのような目的に到達するための実例を示すことにする。またチャート作成のためのグーグルチャートAPIの使用についても例を示す。
MQL5でExpert Advisorを書くための初心者向けステップバイステップガイド
MQL5でExpert Advisorを書くための初心者向けステップバイステップガイド

MQL5でExpert Advisorを書くための初心者向けステップバイステップガイド

MQL5のExpert Advisorプログラミングはシンプルで簡単に学べます。ステップバイステップガイドでは、策定されたトレーディングストラテジーに基づきシンプルなExpert Advisorを書くのに必要な基本的ステップを説明します。Expert Advisorの構造、内蔵 テクニカルインディケーターとトレーディング関数の使用、 デバッグモード の詳細とストラテジーテスターの使用を紹介します。
MQL5でのティックインディケーターの作成
MQL5でのティックインディケーターの作成

MQL5でのティックインディケーターの作成

本記事では価格のティックチャートをプロットするティックインディケーターと指定ティック数でロウソク足をプロットするTickロウソク足インディケーターの2つのインディケーター作成を考えます。 各インディケーターは受信価格をファイルに書き、このインディケーターのリスタート後にその保存データを使用します。 (これらのデータは他のプログラムでも使用されます)
MQL5での作画スタイル
MQL5での作画スタイル

MQL5での作画スタイル

MQL4では、6つ作画スタイルがありますが、MQL5では18の作画スタイルがあります。そのため、MQL5の作画スタイルを紹介する記事を書くに値するかもしれません。本記事では、MQL5での作画スタイルの詳細を考えます。 さらに、 インディケーターを作成してどのようにこれらの作画スタイルを使い、プロットを洗練するかお見せします。
MQL5でのインディケーター の呼び方
MQL5でのインディケーター の呼び方

MQL5でのインディケーター の呼び方

MQLプログラミング言語の新バージョンでは、 インディケーター扱いアプローチが変化しただけでなく、インディケーター作成の新しい方法があります。さらに、 インディケーターバッファーの取り組みがより柔軟になり、今では希望のインデックス方向を指定し、好きなだけインディケーター値を入手できます。本記事ではインディケーター呼び出しとインディケーターバッファーからのデータ検索の基本方法を 説明します。
の処理 トレードイベント in Expert Advisor を使って OnTrade() 関数
の処理 トレードイベント in Expert Advisor を使って OnTrade() 関数

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

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

MQL5入門: シンプルなExpert Advisorとカスタムインディケーターの書き方

MetaTrader 5 クライアントターミナルのMetaQuotesプログラミング言語 5 (MQL5)は、MQL4に比べ新しい可能性を含み、性能がより高いです。本記事はこの新しいプログラミング言語を紹介します。Expert Advisorとカスタムインディケーターの書き方のシンプルな例を本記事で紹介します。これらの例を理解するのに必要なMQL5言語の詳細についても考察します。
初心者のためのMQL5: Expert Advisorでのテクニカルインディケーター使用ガイド
初心者のためのMQL5: Expert Advisorでのテクニカルインディケーター使用ガイド

初心者のためのMQL5: Expert Advisorでのテクニカルインディケーター使用ガイド

Expert Advisorで内蔵またはカスタムインディケーターの値を入手するには、まずそのハンドラーを対応する関数を使って作成しなければなりません。本記事の例は、自分のプログラム作成時にどのようにテクニカルインディケーターを使うか説明します。本記事はMQL5 言語の内蔵のインディケーターを説明します。これはトレーディングストラテジー策定の経験が浅い人向けで、関数のライブラリを使ったシンプルで分りやすいインディケーターの使用法を紹介します。
MQL5でのオブジェクト作成と削除の順番
MQL5でのオブジェクト作成と削除の順番

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

MQL5プログラムでは、すべてのオブジェクトはカスタムオブジェクトだろうと、動的配列またはオブジェクト配列は特定の方法で作成され削除されます。 しばしば オブジェクトは他のオブジェクトの一部で、非初期化のオブジェクト削除の順は特に重要になります。本記事ではオブジェクトを使用するメカニズムの例を紹介します。
Expert Advisorの限界と検証
Expert Advisorの限界と検証

Expert Advisorの限界と検証

このシンボルは月曜ににトレードできる? ポジションをオープンするのに必要なお金が十分ある? ストップロスが起こった時ロスの大きさは? ペンディングオーダーの数を制限するには? トレード操作が実行されたのは現在のバーそれとも以前のバー? トレードロボットがこの種の検証をできない場合、どんなトレードストラテジーも負け戦略になる可能性があります。本記事はどんなExpert Advisorにおいても便利な検証例を紹介します。
インディケーターを別のインディケーターに適用
インディケーターを別のインディケーターに適用

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

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

MQL5: 自分のインディケーターの作成

インディケーターとは何でしょう?スクリーン上に便利な方法で表示したい計算値の一式です。値の一式は配列としてプログラムに表されます。そのため、インディケーターの作成は配列 (価格配列) を取り扱い、他の配列 (インディケーター 値)に結果を記録するアルゴリズムを書くことを意味します。True Strength Indexの作成について説明することで、MQL5でどのようにインディケーターを書くか説明します。
新しいレールへの第一歩: MQL5内のカスタムインディケーター
新しいレールへの第一歩: MQL5内のカスタムインディケーター

新しいレールへの第一歩: MQL5内のカスタムインディケーター

新しいターミナルと言語のすべての可能性と特徴をリストすることはしません。それらはあまりにも多くありすぎ、新規の特徴によっては別の記事で説明するに値します。またここにはオブジェクト指向プログラミングで書かれたコードがありません。開発者にとってさらに有利になる点として、ただ単に言及するにはあまりにも真剣なトピックです。本記事ではインディケーターとその構造・図面・タイプ・プログラミング の詳細についてMQL4と比較しながら考察します。初心者にも経験のある開発者にも本記事が有益となる事を願います。おそらく何か新しく学べることがあると思います。
新しいMetaTrader 5 とMQL5の登場
新しいMetaTrader 5 とMQL5の登場

新しいMetaTrader 5 とMQL5の登場

これはMetaTrader5のただの簡単なレビューです。このような短い時間でシステムのすべての特徴を述べることはできません。2009年9月9日に試用を開始しました。これはシンボル的な日付でラッキーナンバーになると信じています。ベータ版のMetaTrader5とMQL5を手に入れて数日が経ちました。まだ全ての特徴を使ってはいませんが、すでに関心させられました。
EAのパラメータの選択における テスト(最適化) テクニックとその基準
EAのパラメータの選択における テスト(最適化) テクニックとその基準

EAのパラメータの選択における テスト(最適化) テクニックとその基準

テストにおける聖杯を見つけることは難しくありませんが、取り除くことは非常に困難です。この記事では、ユーザーの負荷を最小に抑え、最大の効果を得られるように、自動化されたグループとEAの選定について説明します。
1分でできるデータ品質評価
1分でできるデータ品質評価

1分でできるデータ品質評価

1分でできるデータ品質評価
EAのサンプル
EAのサンプル

EAのサンプル

一般的なMACDを使ったEAを例として、MQL4開発の原則を紹介します。
エラー 146 (「トレードコンテキスト ビジー」) と、その対処方法
エラー 146 (「トレードコンテキスト ビジー」) と、その対処方法

エラー 146 (「トレードコンテキスト ビジー」) と、その対処方法

この記事では、MT4において複数のEAの衝突をさける方法を扱います。ターミナルの操作、MQL4の基本的な使い方がわかる人にとって、役に立つでしょう。