MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
トレードレポートとSMS通知の作成と発行
トレードレポートとSMS通知の作成と発行

トレードレポートとSMS通知の作成と発行

トレーダーはかならずしも何時間もトレーディング端末の前に座っていられるわけでも、またそうしたいわけでもありません。特に、トレーディングシステムが多かれ少なかれ形式化され自動でマーケット状況を特定できる場合にはそうです。本稿ではトレード結果レポートをHTMLファイルとして作成し、FTPを介してWWWサーバーにアップロードする方法について述べます。また、トレードイベント通知をSMSとして携帯電話に送信することみついても考察します。
異なる国での異なるタイムゾーンに基づくトレーディング戦略例
異なる国での異なるタイムゾーンに基づくトレーディング戦略例

異なる国での異なるタイムゾーンに基づくトレーディング戦略例

インターネット検索をしていると、多くの戦略を見つけるのはたやすいことです。そこから多様な提案を得ることができます。インサイダーの方法を採り入れ、異なる大陸の異なるタイムゾーンに基づく戦略作成の手順を見ていきます。
遺伝的アルゴリズム - とても簡単です!
遺伝的アルゴリズム - とても簡単です!

遺伝的アルゴリズム - とても簡単です!

この記事では、執筆者は遺伝的アルゴリズムを使用した進化計算について紹介しています。例を用いながらアルゴリズムの機能について紹介し、実用的な推奨される用例を提示しています。
「サル」でもわかるMQL:オブジェクトクラスの設計 構築方法
「サル」でもわかるMQL:オブジェクトクラスの設計 構築方法

「サル」でもわかるMQL:オブジェクトクラスの設計 構築方法

ビジュアルデザインのサンプルプログラムを作成することで、MQL5にてどのようにクラスを設計し、構築するかについて紹介致します。この記事は、MT5アプリケーションに取り組む、プログラム初心者のために執筆されています。オブジェクト指向プログラミングの理論の奥深くまで到達せずに、クラスを作成する技術の簡潔、かつ簡単な理解を提供します。
初心者のための複数インディケータバッファの作成
初心者のための複数インディケータバッファの作成

初心者のための複数インディケータバッファの作成

複雑なコードは一組の簡単なコードから構成されます。簡単なコードに慣れていれば、複雑なコードはそれほど複雑に見えません。本稿では、複数のインディケータバッファによって1件のインディケータを作成する方法について考察していきたいと思います。例として、アルーンインディケータを細かく分析し、2つの異なるバージョンのコードを提示します。
MetaTrader 5とMATLABの連携
MetaTrader 5とMATLABの連携

MetaTrader 5とMATLABの連携

本稿はMetaTrader 5とMatLab数学的パッケージの連携について詳しく述べていきます。それは、データ変換のメカニズム、デスクトップMatLabとの連携のためのユニバーサルライブラリの開発手順をさします。またMatLab環境で生成されるDLLの使用についても述べていきます。本稿は C++ 言語とMQL5をご存じの経験者を対象としています。
グラフィックコントロールオプションを用いたインディケータ作成
グラフィックコントロールオプションを用いたインディケータ作成

グラフィックコントロールオプションを用いたインディケータ作成

マーケットの動きに通じた方はMACDインディケータ(移動平均収束拡散)をご存じでしょう。価格の変動を分析するのに力強いツールで、コンピュータ分析手法が登場したごく初期段階からトレーダーに利用されているものです。本稿では MACDの潜在的修正と修正間でグラフィカルに切り替える可能性のあるインディケータへの実装について考察していきます。
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 5 のプラットフォームに使えるかを教えるものである。 これは取引による統計の解釈を、S.V.Bulashev(ブラシェフ)による著作"Statistika dlya traderov"(トレーダーのための統計) の記述に矛盾しないものに変換するクラスを含んでいる。また最適化のためのカスタムファンクションの例も含んでいる。
他のインジケーターをベースにインジケーターを作成する
他のインジケーターをベースにインジケーターを作成する

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

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

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

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

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

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

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

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