MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
MQL5におけるイベント操作: オンザフライのMA期間変更
MQL5におけるイベント操作: オンザフライのMA期間変更

MQL5におけるイベント操作: オンザフライのMA期間変更

期間13の単純なMA(移動平均)インディケータがチャートに適応されているとします。期間を20に変更したいと思いますが、インディケータ プロパティ ダイアログボックスに移動して数字を13から20に変更したくはありません。マウスとキーボードを使ってこのような操作をするのは飽き飽きです。それも特にインディケータコードを開いてそれを変更したくありません。ボタン、すなわちテンキーの隣にある『上矢印』を一度押すだけでやってしまいたいのです。本稿ではそのやり方について述べていきます。
MQL5: MetaTrader5における、分析と商品先物取引員会レポートの処理
MQL5: MetaTrader5における、分析と商品先物取引員会レポートの処理

MQL5: MetaTrader5における、分析と商品先物取引員会レポートの処理

この記事では、CFTCレポート分析ツールを開発していきます。以下の問題の解決を図っていきます:中間処理や変換なしに、公正取引委員会からのCFTCレポートデータの直接使用を可能にするインジケーターの開発という点です。さらに、これとは異なった目的のために使用することができます:トレーディング戦略の実行においてエキスパートアドバイザーを使用する際に、自動的な分析を作動するスクリプトにおいて、インジケーターを作図し、そのほかのインジケータをデータとして図示することもできます。
初心者のためのMQL5におけるデジタルフィルタの実践的実装
初心者のためのMQL5におけるデジタルフィルタの実践的実装

初心者のためのMQL5におけるデジタルフィルタの実践的実装

トレーディングシステムを構築するトピックを扱うフォーラムではデジタルシグナルのフィルタリングに関する考え方が広く議論されてきています。MQL5においてデジタルフィルタの標準コードを作成しないことは思慮が足りないかもしれません。本稿では、『初心者のためのMQL5におけるカスタムインディケータ』よりシンプルなSMAのインディケータ コードをより複雑で汎用なデジタルフィルタに変換することについて述べます。本稿は前稿からのロジカルな続編です。また、コード内テキストの置き換え方法、プログラムエラーの修正方法についても述べます。
МetaTrader 5からWCFサービスを利用し.NETアプリケーションにクオートをエクスポートする方法
МetaTrader 5からWCFサービスを利用し.NETアプリケーションにクオートをエクスポートする方法

МetaTrader 5からWCFサービスを利用し.NETアプリケーションにクオートをエクスポートする方法

MetaTrader 5からご自身のアプリケーションにクオートをエクスポートしたくありませんか?MQL5-DLLジャンクションを使用するとそのソリューションの作成が可能です!本稿でMetaTrader 5から.NETに書かれたアプリケーションにクオートをエクスポートする方法の一つをお伝えします。私はまさにこのプラットフォームの使用により、クオートのエクスポート実装がおもしろく、根本的にやさしく行えました。残念ながらバージョン5はまだ.NETをサポートしていないので、かつてのように.NETサポート機能のあるwin32 dllを interlayerとして利用します。
MQL5におけるインディケータemissionの描写
MQL5におけるインディケータemissionの描写

MQL5におけるインディケータemissionの描写

本稿では、マーケットリサーチの新手法であるインディケータ エミッションについて考察していきたいと思います。エミッションの計算は異なるインディケータの交点が基本になります。ティックのあとに異なる色や形のポイントが多数表示されます。それらは星雲、雲、軌道、線、アーチなど様々なクラスターを形成します。こういった形は市場価格を左右する見えないバネや力を検出するのに役立ちます。
インディケータ間のデータ交換:簡単です
インディケータ間のデータ交換:簡単です

インディケータ間のデータ交換:簡単です

チャートに添付されるインディケータデータにアクセルする、次のようなプロパティを有する環境を作成したいと思います。:データコピーをしない。利用可能なメソッドを使用する必要がある場合、そのコードについて最小の修正だけ行う。必要な場合MQLコードの使用が好ましいと思います。(もちろんDLLを使う必要がありますが、C++コードのストリングをいくらか使うだけです。)本稿ではMetaTraderターミナルにプログラム環境を開発する簡単な手法について述べます。それにより、他のMQLプログラム からインディケータ バッファにアクセスする手段を得ることができます。
データの交換方法:10分で書くMQL5のためのDLL
データの交換方法:10分で書くMQL5のためのDLL

データの交換方法:10分で書くMQL5のためのDLL

シンプルなDLLを書く方法や異なるシステム バインディングの特殊機能は何かを覚えている開発者はあまりいないと思います。いくつか例を挙げながら、10分でDLLを書く手順を網羅するとともに、バインディング実装の技術的詳細もいくらか説明していきたいと思います。異なるタイプの変数(数値、配列、ストリングなど)に置き換えた例を取り上げ、ビジュアル スタジオでDLLを作成する手順を段階的にお見せしていきます。それに加え、カスタムDLLのクラッシュからクライアント端末を保護する方法についてもご説明します。
プライスヒストグラム(マーケット特性)とMQL5への導入
プライスヒストグラム(マーケット特性)とMQL5への導入

プライスヒストグラム(マーケット特性)とMQL5への導入

「マーケットプロファイル」は非常に優秀な思索家、 ピーター・スタイドルマイヤー氏によって展開されました。氏は全く異なるモデルセットに導く『水平的な』また『垂直的な』マーケットの動きに関する情報の別の解釈の仕方を提案しました。潜在するマーケットの拍動、または均衡と不均衡の周期と呼ばれる基本パターンがある、と仮定したのです。本記事では、プライスヒストグラムについて考察していきたいと思います。それは、マーケットプロファイルの最も単純なモデルです。また、その MQL5への導入について述べていきたいと思います。
初心者のためのクイックスタート、あるいはショートガイド
初心者のためのクイックスタート、あるいはショートガイド

初心者のためのクイックスタート、あるいはショートガイド

読者の皆さんこんにちは!この記事では、Expert Advisorsの作成やインディケーターの使い方などの基本的なコツを簡単に素早く掴めるように説明していきたいと思います。初心者対象で難しいサンプルの紹介は行いません。
オーダーストラテジー多目的Expert Advisor
オーダーストラテジー多目的Expert Advisor

オーダーストラテジー多目的Expert Advisor

この記事では、未処理のオーダーを有効に活用するストラテジーや、それを表すためのメタ言語やそれに基づき動作する多目的ExpertAdvisorを中心に見ていきます。
MQL5でのトレードオペレーション - 簡単です
MQL5でのトレードオペレーション - 簡単です

MQL5でのトレードオペレーション - 簡単です

ほとんどすべてのトレーダーは利益をあげるためにマーケットに参加しますが、中にはそのプロセス自体を楽しむトレーダーもいます。しかし、手動のトレードだけが、エキサイティングな体験をさせてくれるわけではありません。自動トレードシステムの開発も非常に興味深いものです。トレードロボットの作成は面白いミステリー小説を読むのと同じくらい面白いものです。
MQL5 で多色インジケーターを作成する
MQL5 で多色インジケーターを作成する

MQL5 で多色インジケーターを作成する

この記事では、多色のインジケーターを作成する方法あるいは既存のものを多色に変える方法を検討する。MQL5 は情報を便利な形で提示することを可能にする。さてインジケーターの付いた十を越えるチャートを見て RSI (相対力指数)あるいは統計レベルの解析を行う必要はない、インジケーターの値に異なった色でローソク足を塗ればよい。
preview
MQL5を初体験

MQL5を初体験

MQL5のトレーディングストラテジーのプログラム言語を学ぶと決めたものの 、それについて何も知らないのですか?私たちはMQL5とMetaTrader 5のターミナルを新しい参加者の視点から見てみた上で、この短い紹介記事を書いています。この記事では、この言語を使ってできることの簡単なイメージだけではなく、MetaTrader 5とターミナルを使う上でのいくつかのヒントも見つかるはずです。
preview
一瞬でトレードロボットを作る方法

一瞬でトレードロボットを作る方法

金融市場でのトレードには深刻なものを含む多くのリスクがあります。すべてのトレーダーの夢は、絶えずいい状態でいて、恐怖、欲望、あせりなどの人間的な弱さを持たないトレードツールを持つことです。
トレーリングストップを採用した利益を生み出すアルゴリズム
トレーリングストップを採用した利益を生み出すアルゴリズム

トレーリングストップを採用した利益を生み出すアルゴリズム

この記事では、異なるエントリーとトレーリングストップを使ったエグジットで利益を生むアルゴリズムの可能性について学んでいきたいと思います。エントリーのタイプとして、ランダムエントリーとリバースエントリーを使用します。使う逆指値注文はトレーリングストップとトレーリングテイクです。この記事では、年間約30%の利益を生み出すアルゴリズムを紹介します。
メタトレーダー5 - 想像以上の製品です!
メタトレーダー5 - 想像以上の製品です!

メタトレーダー5 - 想像以上の製品です!

メタトレーダー5クライアントターミナルは1から開発され、もちろん旧バージョンをはるかに超える製品となっています。この新しいトレーディングプラットフォームは、どの金融市場においても無限の取引機会を提供します。また、常により使いやすい機能・利便性を提供するため拡張し続けています。そのため、メタトレーダー5の利便性を全て挙げることは難しいものとなっています。一つの記事において簡潔に全てを説明することを試みましたが、簡潔に収めることができず大変驚きました。
6つのステップでトレーディング自動装置を作りましょう!
6つのステップでトレーディング自動装置を作りましょう!

6つのステップでトレーディング自動装置を作りましょう!

もしどのようにトレード用クラス群がどのように組まれているかをご存知でなく、「オブジェクト指向プログラミング」という単語に恐怖を感じるようであれば、この記事はあなたにとって最適かもしれません。実際、売買シグナルのためのモジュールの作成のために詳しい内容を知る必要はありません。ただ、いくつかの簡単なルールに従ってください。作業は全て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の使用についても例を示す。