MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
ポイントおよびグラフチャート化インディケータ
ポイントおよびグラフチャート化インディケータ

ポイントおよびグラフチャート化インディケータ

現在マーケットの状況に関する情報を提供するチャートは数多くあります。「ポイント」や「グラフ」チャートのようにそれらの多くは遠い過去の遺産です。本稿は実時間のインディケータを用いて「ポイントとグラフ」チャート例について述べます。
マシンラーニング:サポートベクターマシンをトレーディングで利用する方法
マシンラーニング:サポートベクターマシンをトレーディングで利用する方法

マシンラーニング:サポートベクターマシンをトレーディングで利用する方法

「サポートベクターマシン」は生物情報学分野でこれまで長く利用され、複雑なデータセットを評価し、データ分類すに利用できる有用なパターンを抽出するため数学を利用しています。本稿はサポートベクターマシンとは何か、それがどのように役立つか、またなぜ複雑なパターンを抽出するのに便利かを考察します。そしてそれをマーケットに応用する方法、およびトレードを行う上で将来役立つであろう使用方法を調査します。また「サポートベクターマシン学習ツール」を使用し、読者のみなさんがご自身のトレーディングで実験することができる実用例を提供します。
MQL5 プログラミング基礎:文字列
MQL5 プログラミング基礎:文字列

MQL5 プログラミング基礎:文字列

本稿は MQL5 で文字列を用いて行えることを網羅しています。まずは MQL5 初心者プログラマーに関心を持ってもらえる内容であり、経験ある開発者にとっては知識をまとめ体系化するのによい機会となるはずです。
preview
MetaTrader 4とMetaTrader 5のシグナルプロバイダーになる方法

MetaTrader 4とMetaTrader 5のシグナルプロバイダーになる方法

取引シグナルを提供して収入を得たいですか?MQL5.comのWebサイトに販売者として登録し、取引口座を指定し、トレーダーがあなたの取引に購読してコピーできるようにできます。
インディケータエミッションの積分特性計算
インディケータエミッションの積分特性計算

インディケータエミッションの積分特性計算

インディケータエミッションはマーケットリサーチでほとんど研究されていない分野です。時間依存性データのひじょうに大きな配列を処理することで起こる分析の難しさがその主な理由です。既存のグラフ分析は資源集約的に過ぎ、そのためエミッションの時系列を利用する簡素なアルゴリズムの開発をもたらしました。本稿では視覚的(直観的イメージ)分析がどのようにエミッションの積分特性の研究に置き換えることができるのかを示します。トレーダー、自動売買システムの開発者双方に興味深いものとなることでしょう。
MQL5 プログラミング基礎:時刻
MQL5 プログラミング基礎:時刻

MQL5 プログラミング基礎:時刻

本稿は時間と連携する標準的 MQL5 関数に着目します。また、プログラムテクニック、Expert Advisors およびインディケータを作成する際必要となる時間と関連する実践的に便利な関数も取り上げます。特に注意を払うのが時間測定の一般的理論です。本稿はまず MQL5 の初心者プログラマーに興味を持ってもらえる内容です。
MetaTrader 4 および MetaTrader 5 用トレードシグナルについての一般情報
MetaTrader 4 および MetaTrader 5 用トレードシグナルについての一般情報

MetaTrader 4 および MetaTrader 5 用トレードシグナルについての一般情報

MetaTrader 4 / MetaTrader 5 トレードシグナルによりトレーダーにシグナル提供者のトレード処理のコピーが可能となります。われわれの目標は定期購買者を保護し不必要なコストから解放する新しい大規模に利用されるサービスの開発でした。
MetaTrader4とMetaTrader5のトレーディングシグナル用ウィジェット
MetaTrader4とMetaTrader5のトレーディングシグナル用ウィジェット

MetaTrader4とMetaTrader5のトレーディングシグナル用ウィジェット

MetaTrader4とMetaTrader5ユーザーがシグナル提供者になり、さらなる利益を生む機会を得ることができるようになりました。新しいウィジェットを用いて、あなたのサイトやブログ、SNSページにトレーディング実績を掲載できます。ウィジェットを用いる利点は明確です;シグナルプロバイダーの人気を向上し、成功したトレーダーとしての評判を築くのみでなく、新しい購読者を惹きつけます。その他のサイトにウィジェットを載せているトレーダーはこれらの利益を享受できます。
MQL5 クックブック:Position プロパティの取得
MQL5 クックブック:Position プロパティの取得

MQL5 クックブック:Position プロパティの取得

本稿では position プロパティをすべて取得しユーザーに対してダイアログボックスにそれを表示するスクリプトを作成します。スクリプト実行時外部パラメータのドロップダウンリストから利用可能なモード2種類から選択することができます。現在シンボルの position プロパティのみ閲覧するかすべてのシンボルの position プロパティを閲覧するかです。
MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ
MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ

MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ

今回は、現在シンボルについてポジションプロパティを取得し、マニュアルトレーディングの間カスタム情報パネルにそのポジションプロパティを表示するシンプルな Expert Advisor を作成します。情報パネルはグラフィカルオブジェクトを用いて作成され、表示される情報はティック毎にリフレッシュされます。これは "MQL5 Cookbook: Getting Position Properties"と呼ばれるシリーズの以前の記事に記載があるスクリプトをつねにマニュアルで実行しなければならないのよりはるかに便利になります。
MQL5 クックブック:MetaTrader 5 ストラレジーテスタでの position プロパティ分析
MQL5 クックブック:MetaTrader 5 ストラレジーテスタでの position プロパティ分析

MQL5 クックブック:MetaTrader 5 ストラレジーテスタでの position プロパティ分析

先行記事 "MQL5 Cookbook: Position Properties on the Custom Info Panel"の Expert Advisor の変更バージョンを提供します。お伝えする問題の中にはバーからのデータ取得、現シンボルにおける新規バーイベント確認、ファイルに標準ライブラリのトレードクラスのインクルード、トレード処理実行用トレードシグナルおよび関数検索のための関数作成、OnTrade() 関数におけるトレードイベント決定などがあります。
MQL5 Cookbook:トレードレベルを設定/変更する際エラーを避ける方法
MQL5 Cookbook:トレードレベルを設定/変更する際エラーを避ける方法

MQL5 Cookbook:トレードレベルを設定/変更する際エラーを避ける方法

シリーズの前稿 "MQL5 Cookbook: Analyzing Position Properties in the MetaTrader 5 Strategy Tester" からの Expert Advisor への取り組みの続編として、既存の関数を改良、最適化しつつ有用な関数を数多く用いて Expert Advisor を強化していきます。今回 Expert Advisor は MetaTrader 5 「ストラテジーテスタ」で最適化可能な外部パラメータを取得し、いくつかの点でシンプルなトレーディングシステムのようになります。
MQL5 クックブック:ポジションプロパティを取得するためのディール履歴と関数ライブラリ
MQL5 クックブック:ポジションプロパティを取得するためのディール履歴と関数ライブラリ

MQL5 クックブック:ポジションプロパティを取得するためのディール履歴と関数ライブラリ

ポジションプロパティについて先行記事で提供されている情報を簡単にまとめます。本稿では、ディールヒストリーにアクセスした後にのみ取得可能なプロパティを得る関数を数個追加して作成します。また便利な方法でポジションやシンボルプロパティにアクセスできるようにするデータストラクチャについても知識を得ます。
MQL5 クックブック:Expert Advisorsにトレード条件を設定するためのインディケータ利用
MQL5 クックブック:Expert Advisorsにトレード条件を設定するためのインディケータ利用

MQL5 クックブック:Expert Advisorsにトレード条件を設定するためのインディケータ利用

本稿では MQL5 クックブックシリーズの先行記事をとおして作業をおこなってきているExpert Advisorの修正を続行します。今回は、Expert Advisor は値がポジションオープンの条件を確認するのに使用されるインディケータを使って強化されます。それに一点添えるために、外部パラメータにドロップダウンリストを作成し、3つのトレードインディケータの中から1つを選ぶことができるようにします。
Expert Advisor パラメータのユーザーパネルからの『オンザフライ』の変更
Expert Advisor パラメータのユーザーパネルからの『オンザフライ』の変更

Expert Advisor パラメータのユーザーパネルからの『オンザフライ』の変更

本稿ではパラメータをユーザーパネルから管理できる Expert Advisor の実装を示すちょっとした例を提供します。『オンザフライ』でパラメータを変更するとき、Expert Advisor はのちにファイルから読み込みパネル上で適切に表示するために情報パネルからファイルに取得した値を書きます。本稿はマニュアルでトレードを行う方または半自動モードでトレードを行う方に適しているでしょう。
MQL5 クックブック:トリプルスクリーン戦略に基づくトレーディングシステムに対するフレームワーク作成
MQL5 クックブック:トリプルスクリーン戦略に基づくトレーディングシステムに対するフレームワーク作成

MQL5 クックブック:トリプルスクリーン戦略に基づくトレーディングシステムに対するフレームワーク作成

本稿では MQL5で「リプルスクリーン」戦略に基づくトレーディングシステムに対するフレームワークを作成します。Expert Advisor を一から作成することはしません。代わりに、実質上すでにわれわれの目的に役だっている先行記事 "MQL5 Cookbook: Using Indicators to Set Trading Conditions in Expert Advisors" のプログラムを変更するだけとします。よって本稿は既製プログラムのパターンを簡単に変更する方法もお伝えします。
MQL5 クックブック: マルチ通貨 Expert Advisor - シンプル、かしこい、迅速なアプローチ
MQL5 クックブック: マルチ通貨 Expert Advisor - シンプル、かしこい、迅速なアプローチ

MQL5 クックブック: マルチ通貨 Expert Advisor - シンプル、かしこい、迅速なアプローチ

本稿ではマルチ通貨 Expert Advisorに適切なシンプルなアプローチの実装について述べます。これは理想的な条件下でありながら各シンボルに対して異なるパラメータでExpert Advisor を検証/トレーディングする設定を可能にするということです。例として2個のシンボルに対するパターンを作成しますが、コードに少し変更を加えるだけで必要に応じてそれ以外のシンボルも追加できるようにしておきます。
MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成
MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成

MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成

本稿ではトレーディングシステムの最適化に対して一組のパラメータを使うパターンを作成していきます。同時にパラメータ数は無制限に認めます。シンボルリストは標準的なテキストファイル (*.txt)内に作成します。各シンボルに対する入力パラメータもファイルに格納されます。このように Expert Advisorの入力パラメータ数に関してターミナルの制約を回避することができます。
MQL5 クックブック:ディールヒストリーのファイルへの書き込みと シンボルごとの残高チャートの Excel形式での作成
MQL5 クックブック:ディールヒストリーのファイルへの書き込みと シンボルごとの残高チャートの Excel形式での作成

MQL5 クックブック:ディールヒストリーのファイルへの書き込みと シンボルごとの残高チャートの Excel形式での作成

さまざまなフォーラムのコミュニケーションの際、Microsoft Excel チャート形式のスクリーンショットとして表示される検証結果の例を多く使いました。そしてそのようなチャートの作成方法を教えてほしいと頻繁に質問を受けました。ついに本稿でそれを説明する時間を得ました。
MQL5 クックブック:オーバーフィットの影響低減とクオート不足への対処
MQL5 クックブック:オーバーフィットの影響低減とクオート不足への対処

MQL5 クックブック:オーバーフィットの影響低減とクオート不足への対処

どのようなトレーディング戦略を使っていようと、将来の収益を確保するためどのパラメータを選択すべきかという疑問は常にあるものです。本稿は同時に複数のシンボルパラメータを最適化する機能を備えたExpert Advisor 例を提供します。この方法はパラメータのオーバーフィットによる影響を軽減し、1個のシンボルからのデータが調査に十分でない場合に対処するものです。
MQL5 プログラムのデバッグ
MQL5 プログラムのデバッグ

MQL5 プログラムのデバッグ

本稿は第一にすでに言語を学習したがまだプログラム開発を完全にはマスターしていないプログラマーを対象としています。本稿ではいくつかデバッグテクニックを提供し、著者やその他多くのプログラマーの経験を紹介します。
MQL5 クックブック:典型的なチャートイベントの処理
MQL5 クックブック:典型的なチャートイベントの処理

MQL5 クックブック:典型的なチャートイベントの処理

本稿では典型的なチャートイベントを考察し、その処理例についてお話します。マウスのイベント、キーストローク、グラフィックオブジェクトの作成/変更/消去、チャートおよびグラフィックオブジェクト上でのマウスのクリック、マウスでのグラフィックオブジェクト移動、テキストフィールドでのテキスト編集終了、チャート上でのイベント修正を取り上げます。考察する各イベントに対応する MQL5 プログラム例も提供します。
計算用OpenCL のインストール方法と使用法
計算用OpenCL のインストール方法と使用法

計算用OpenCL のインストール方法と使用法

MQL5 が OpenCLに対するネイティブサポートを開始して1年以上経過しました。とはいうものの、Expert Advisors、インディケータ、スクリプトで並列計算を行うことの真の価値を解っているユーザーは多くありません。本稿はみなさんが MetaTrader 5 トレーディングターミナルでこの技術を使ってみることができるようにお手持ちのコンピュータに OpenCL をインストールしセットアップするお手伝いをいたします。
もうひとつ別の MQL5 OOP クラス
もうひとつ別の MQL5 OOP クラス

もうひとつ別の MQL5 OOP クラス

本稿では一からオブジェクト指向 Expert Advisor を構築する方法をお伝えします。トレードの理論的考えを着想することからその考えを実験的世界で実現する MQL5 EA をプログラムするまでです。実践から学ぶことは IMHO で成功への確実な方法です。よってみなさんが最終的に Forex ロボットのコーディングをするために考えを整理できる方法を確認していただけるよう実例を示していきます。また私の目標はみなさんにオブジェクト指向の原理に忠実に従うようお勧めすることです。
MQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の作成
MQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の作成

MQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の作成

本稿はMQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の自動作成について述べます。理論的な情報をすべて学習する必要なくニューラルネットワークと簡単に連携し、ご自身のコードを書く方法をお伝えします。
自動ニューストレーダーのバインディング
自動ニューストレーダーのバインディング

自動ニューストレーダーのバインディング

これは一からシンプルなオブジェクト指向 EA を構築する方法を述べ、オブジェクト指向プログラミングのアドバイスを提供したもう一つ別の MQL5 OOP クラス記事の続編です。本稿では、ニュースをトレードすることのできる EA を開発するのに必要とされる技術の基本をお話します。目標は OOP に関する考え方を提示し続け、ファイルシステムと関連づけながらこのシリーズにおける新しいトピックを取り上げることです。
MQL5 ウィザード:任意の価格で指値注文をオープンすることを EA に教える方法
MQL5 ウィザード:任意の価格で指値注文をオープンすることを EA に教える方法

MQL5 ウィザード:任意の価格で指値注文をオープンすることを EA に教える方法

本稿は現在価格から任意の距離で指値注文を設定することができるようになる機能性の実装のためのトレードシグナルモジュールコードを変更するメソッドについてお話します。それは前回バーの価格クローズまたはオープンであり、あるいは移動平均の値の可能性があります。オプションは数多くあります。重要なことは指値注文に対して任意の始値を設定することができるということです。本稿は指値注文でトレードを行うトレーダーにとっては有用なものとなるでしょう。
資金管理について
資金管理について

資金管理について

様々な資金管理システムの使用について詳細に説明します。また、それらを使用した取引の結果もご覧いただけます。
有用なテクノロジーカクテルでYour MQL5 顧客を驚嘆させる!
有用なテクノロジーカクテルでYour MQL5 顧客を驚嘆させる!

有用なテクノロジーカクテルでYour MQL5 顧客を驚嘆させる!

MQL5 はプログラマーに関数の完全セットとオブジェクト指向API を提供します。それらのお陰でプログラマーは MetaTrader 環境内で願うことを行うことができるのです。ただ「ウェブテクノロジー」は今日ひじょに特殊なことをしてなにか違ったもので顧客を驚かせる必要があったり、ただ MT5 「標準ライブラリ」の特定箇所をマスターする十分な時間がないなんらかの状況で救助にきてくれる極端に多才なツールです。今回の例題によりご自身の開発時間管理の仕方と同時にすばらしいテクノロジーカクテルを作成する方法を実用例をご紹介します。
リニアなトレーディングシステムを指数に高める
リニアなトレーディングシステムを指数に高める

リニアなトレーディングシステムを指数に高める

本稿では MQL5 プログラマーの中級者にリニアなトレーディングシステム(固定ロット)からいわゆる指数の技術を簡単に実装することでより収益を上げる方法をお伝えします。これは結果として生じる資金曲線の成長が幾何学的または指数関数で放物線の形を取ります。特にラルフ・ビンス氏によって開発された実用的な「固定比率」のポジションサイジングの MQL5 のバリアントを実装します。
テクニカルインディケータとデジタルフィルター
テクニカルインディケータとデジタルフィルター

テクニカルインディケータとデジタルフィルター

本稿ではデジタルフィルターとしてテクニカルインディケータを取り上げます。デジタルフィルターの処理原則と基本特性が説明されます。また、MetaTrader 5 ターミナルでフィルターカーネルを受け取る実用的な方法と記事 "Building a Spectrum Analyzer" で提案されている既製のスペクトル解析機能との統合について考察します。例として典型的デジタルフィルターのパルスとスペクトル特性を使用します。
MQL5 標準ライブラリの拡張とコードの再利用
MQL5 標準ライブラリの拡張とコードの再利用

MQL5 標準ライブラリの拡張とコードの再利用

MQL5 標準ライブラリによってみなさんの開発者としての生活は楽になります。しかしながらそれは世界中の開発者全員のすべてのニーズを実装するわけではありません。よってみなさんがカスタム的なものをもっと必要とするなら一歩先へすすんで拡張することができます。本稿は MetaQuotesの Zig-Zag テクニカルインディケータを標準ライブラリに統合する方法をご紹介します。私達はMetaQuotes の設計哲学により自分自身の目標を達成しようという気持ちになります。
MQL5 Cookbook:指定の基準に基づく Expert Advisor 最適化結果の保存方法
MQL5 Cookbook:指定の基準に基づく Expert Advisor 最適化結果の保存方法

MQL5 Cookbook:指定の基準に基づく Expert Advisor 最適化結果の保存方法

MQL5 プログラミングに関するシリーズを続けます。今回、われわれは Expert Advisor のパラメータ最適化の最中に各最適化パスの結果を取得する方法を見ていきます。外部パラメータに指定された条件が満たされれば対応するパス値がファイルに書き込まれることを確認できるよう実装が行われます。検証値以外にもそのような結果をもたらしたパラメータも保存します。
MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知
MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知

MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知

本稿では Expert Advisor のファイルに音声ファイルをインクルードすること、それによりトレードイベントに音声通知を追加するなどの問題を考察します。事実、ファイルのインクルードが意味するところは Expert Advisor内に音声ファイルを入れるということです。よってコンパイルされた Expert Advisor (*.ex5) バージョンを他のユーザーに提供する際、音声ファイルは提供せずそれがどこの保存されるか説明する必要があるのです。
MQL5 クックブック: インジケーターサブウィンドウコンソールーボタン
MQL5 クックブック: インジケーターサブウィンドウコンソールーボタン

MQL5 クックブック: インジケーターサブウィンドウコンソールーボタン

この記事では、ボタンコンソールでユーザーインターフェースを開発する例を紹介します。ユーザーにインタラクティヴィティ性を伝えるため、ボタンはカーソルが図上にある際に色を変えます。ボタンの上にカーソルがある状態で、ボタンの色は、わずかに暗くなり、ボタンがクリックされた時には、わずかにより暗くなります。さらに、ツールチップをそれぞれのボタンに加え、直感的なインターフェースを作成します。
MQL5 クックブック: インジケーターサブウィンドウコンソールースクロールバー
MQL5 クックブック: インジケーターサブウィンドウコンソールースクロールバー

MQL5 クックブック: インジケーターサブウィンドウコンソールースクロールバー

様々なコントロールを試してみましょう。今回はスクロールバーを紹介します。「MQL5クックブック:インジケーターサブウィンドウコンソールーボタン」という以前の記事のように、すべての処理がインジケーターサブウィンドウにて実行されます。OnChartEvent()関数にてイベントを扱う詳しい詳細を提供しているので、上記の記事を読んでみてください。この点はこの記事においても言及されます。今回はMQL5リソースを用いて取得される金融商品情報の大きなリストのための垂直スクロールバーを作成します。
MQL5 クックブック: MQL5でのマルチシンボルボラティリティインジケーターの開発
MQL5 クックブック: MQL5でのマルチシンボルボラティリティインジケーターの開発

MQL5 クックブック: MQL5でのマルチシンボルボラティリティインジケーターの開発

この記事では、マルチシンボルボラティリティインジケーターを紹介します。マルチシンボルインジケーターの開発は、MQL5開発初心者にとっていくつか難しい点があります。マルチシンボルインジケーターの開発中に生じる主要な問題は、現在のシンボルに関連したその他のシンボルのデータの同期化、いくつかのインジケーターデータの欠如、特定のタイムフレーム間の初めの「本当の」バーの特定などに関連します。これらの問題は、この記事にて詳しく焦点が当てられます。
マルチ通貨システム エキスパートアドバイザーの作成
マルチ通貨システム エキスパートアドバイザーの作成

マルチ通貨システム エキスパートアドバイザーの作成

この記事は、複数のシンボルをトレードし、同時にいくつものトレーディングシステムを使用するエキスパートアドバイザーのストラクチャーを紹介します。もしすでにすべてのEAにおいて最適な入力パラメーターを特定し、それぞれに対して個別に良いテスト結果を得ているのであれば、もしすべての戦略を合わせて同時に全EAをテストすればどのような結果を得ることができるか、ご自身に尋ねてみてください。
かぎ足チャート用インジケーター
かぎ足チャート用インジケーター

かぎ足チャート用インジケーター

この記事は、様々なチャートオプションや追加関数を持つかぎ足チャート用インジケーターを紹介します。また、インジケーターのチャート化原則やMQL5実装の特徴なども紹介されています。トレーディングにおける実装の人気なものは、トレンド線から押しのけ、断続的に「肩」をあげ、「腰」を下げるYin/Yang交換戦略です。
MQL5 クックブック:単一ウィンドウでのマルチ タイム フレームのモニター
MQL5 クックブック:単一ウィンドウでのマルチ タイム フレームのモニター

MQL5 クックブック:単一ウィンドウでのマルチ タイム フレームのモニター

MetaTrader 5 には解析に利用可能なタイムフレームが21あります。そういったウィンドウでは特別なチャートオブジェクトを利用することができます。既存のチャートにそのチャートオブジェクトを入れ、シンボル、タイムフレーム、その他プロパティを設定することができるのです。本稿ではそのようなチャートグラフィカルオブジェクトの詳細情報を提供します。同時にサブウィンドウにマルチチャートオブジェクトを設定することができるようになるコントロール(ボタン)を持つインディケータを作成します。またチャートオブジェクトは正確にサブウィンドウにフィットし、チャートまたはターミナルのサイズが変更されると自動で調整されます。