MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
MQL5 (MQL4)から MySQL データベースにアクセスする方法
MQL5 (MQL4)から MySQL データベースにアクセスする方法

MQL5 (MQL4)から MySQL データベースにアクセスする方法

本稿はMQL と MySQLデータベース間のインターフェース作成について説明します。また、既存の実用的ソリューションについて話し、データベースと連携するライブラリのより便利な実装方法を提供します。関数の詳細記述、インターフェースの構成、MySQLと連携する特別な機能を取り上げます。ソフトウェアソリューションについては、本稿の添付に動的ライブラリ、ドキュメンテーション、MQL4 および MQL5 言語のスクリプト例があります。
売買ロボット物語:余計なものがない方がいい?
売買ロボット物語:余計なものがない方がいい?

売買ロボット物語:余計なものがない方がいい?

2年前『最後の聖戦』でひじょうに興味深い、しかし現在広く使用されていないマーケット情報表示方法-ポイント&フィギュアチャート を再検討しました。ここで私はみなさんにポイント&フィギュアチャートで検出されるパターンに基づく売買ロボットを書いてみることを提案します。
3つのラインブレイクチャートを作成するためのインディケータ
3つのラインブレイクチャートを作成するためのインディケータ

3つのラインブレイクチャートを作成するためのインディケータ

本稿は Steve Nison 氏が著書 "Beyond Candlesticks" で提案している「3つのラインブレークチャート」について取り上げます。このチャートの最大のメリットはそれにより前の変動に関して価格のマイナー変動にフィルターを描けることができることです。チャート作成の原則、インディケータのコード、それに基づくトレーディング戦略例についてお話していこうと思います。
SQL と MQL5:SQLite データベースとの連携
SQL と MQL5:SQLite データベースとの連携

SQL と MQL5:SQLite データベースとの連携

本稿はご自身のプロジェクトで SQL を利用することに興味のある開発者を対象としています。ここではSQLite の機能性とメリットについて説明します。SQLite の特別な知識は必要ありませんが、SQL の最小限の知識があれば役に立つと思います。
安くて楽しいニューラルネットワーク - MetaTrader 5 でNeuroPro へリンク
安くて楽しいニューラルネットワーク - MetaTrader 5 でNeuroPro へリンク

安くて楽しいニューラルネットワーク - MetaTrader 5 でNeuroPro へリンク

トレード用の特定のニューラルネットワークプログラムが高価で複雑そうであったら、反対にシンプル過ぎると思えたら、NeuroPro をお試しください。それは無料でアマチュア用の最適な機能セットが備えられています。本稿では MetaTrader 5 と連携してそれを利用する方法をお伝えします。
ビデオチュートリアル:MetaTrader Singals Service
ビデオチュートリアル:MetaTrader Singals Service

ビデオチュートリアル:MetaTrader Singals Service

15分にて、このビデオチュートリアルは、MetaTrader Singals Serviceが何であるか、そして詳細にどのようにトレードシグナルをサブスクライブするか、どのようにシグナル提供者になるかについて説明しています。このチュートリアルを見ると、どのトレードシグナルにもサブスクライブし、自身のシグナルを発行し、宣伝することができるようになります。
ラグのないデジタルフィルターの作成
ラグのないデジタルフィルターの作成

ラグのないデジタルフィルターの作成

本稿はストリームデータにおいて有用な信号(トレンド)を判断する方法の一つについて説明します。マーケットクオートに対して適用される小規模なフィルタリング(平滑化)テストが最終バーで再作成されないノンラギングデジタルフィルタ(インディケータ)作成の可能性を示しています。
MetaTrader 5の継続的な先物取引
MetaTrader 5の継続的な先物取引

MetaTrader 5の継続的な先物取引

先物取引の短期的なスパンは、テクニカル分析を複雑にします。短いチャートをテクニカル分析するのは難しいです。例えば、UX-9.13 Ukrainian Stockインデックス先物のディチャートにおけるバーの数は、100以上になります。したがって、トレーダーは総合的な長期の先物取引を作成します。この記事は、MetaTrader 5ターミナルにて、異なる日付の先物取引を組み合わせる方法を紹介します。
MQL5 エキスパートアドバイザーから、GSMモデムを使用する
MQL5 エキスパートアドバイザーから、GSMモデムを使用する

MQL5 エキスパートアドバイザーから、GSMモデムを使用する

現在、トレーディングのアカウントを監視する手段がたくさんあります:モバイルターミナルはICQを用い、プッシュ通知を行います。しかし、すべてインターネットの接続を必要とします。この記事は、特に呼び出しやテキストメッセージはできるが、モバイルのインターネットを使用できないような時にトレーディングターミナルの情報を取得できるようになるエキスパートアドバイザーを作成するプロセスを紹介します。
レンコチャートにおけるインジケーター
レンコチャートにおけるインジケーター

レンコチャートにおけるインジケーター

この記事は、MQL5のレンコチャートとその実装の例を紹介します。このインジケーターの修正は、古典的なチャートとは異なります。インジケーターウィンドウ、メインチャート上の両方で構築できます。さらに、ジグザグインジケーターがあります。そのチャートの実装例をいくつかご確認ください。
MQL5クックブック - MQL5での未決注文の取り扱いとマルチカレンシーエキスパートアドバイザー
MQL5クックブック - MQL5での未決注文の取り扱いとマルチカレンシーエキスパートアドバイザー

MQL5クックブック - MQL5での未決注文の取り扱いとマルチカレンシーエキスパートアドバイザー

今回は、指値売り、逆指値売りなど未決注文に基づくトレーディングアルゴリズムを持つマルチカレンシーエキスパートアドバイザーを作成していきます。この記事は、以下を紹介します:特定の時間半位におけるトレーディング、未決注文の実行・修正・削除、最後のポジションが利取りや損切りにて閉じられたかのチェック、各シンボルにおける取引の履歴の管理などです。
MQL5 クックブック: 価格の乖離を分析するマルチシンボルインジケーターの開発
MQL5 クックブック: 価格の乖離を分析するマルチシンボルインジケーターの開発

MQL5 クックブック: 価格の乖離を分析するマルチシンボルインジケーターの開発

この記事では、特定の期間における価格の分離を分析するためのマルチシンボルインジケーターの開発を紹介します。そのトピックは、「MQL5クックブック:MQL5のマルチシンボルボラティリティインジケーターの開発」というマルチカレンシーインジケーターのプログラミングに関する以前の記事にてすでに紹介されています。なので、今回は新しい特徴や劇的に変更された機能についてのみ紹介します。マルチカレンシーインジケーターのプログラミングに詳しくなければ、以前の記事をまずお読みいただくことをお勧めします。
MQL5プログラミングベージックス:リスト
MQL5プログラミングベージックス:リスト

MQL5プログラミングベージックス:リスト

トレーディング戦略開発のためのプログラミング言語の新バージョン、MQL5は、以前のバージョン、MQL4と比較してより強力で効果的な機能を提供しています。その利点は本質的にオブジェクト指向プログラミングの機能にあります。この記事は、ノードやリストなど複雑なカスタムデータ型を用いることについて詳しく見ていきます。また、MQL5での実際的なプログラミングにてリストを用いる例を紹介します。
スピンドルチャートインジケーター
スピンドルチャートインジケーター

スピンドルチャートインジケーター

この記事は、スピンドルチャート描写とトレード戦略とEAにおけるその使い方に関するものです。まず、日本のロウソク足チャートとも繋がりがある、そのチャートについてみていきます。次に、MQL5言語でのソースコードベースでのインジケーターの実装について分析します。インジケーターとトレード手法に基づいてEAをテストしてみましょう。
preview
MetaTrader 5 の注文、ポジション、取引

MetaTrader 5 の注文、ポジション、取引

メタトレーダー5の取引システムの仕組みへの理解がなければ、信頼性のある自動取引ロボットの作成はできません。クライアントターミナルが売買サーバーにアクセスし、ポジションや注文、取引に関する情報を取得します。MQL5を使用し適切に取得したデータを扱うには、MQL5とクライアント側の相互の連携に関するより良い理解が必要になります。
われわれはいかにして MetaTrader シグナルサービスとソーシャルトレーディングを発展させたのでしょうか
われわれはいかにして MetaTrader シグナルサービスとソーシャルトレーディングを発展させたのでしょうか

われわれはいかにして MetaTrader シグナルサービスとソーシャルトレーディングを発展させたのでしょうか

われわれはシグナルサービスを強化し、メカニズムを改良し、新しい関数を追加し、欠陥を修正し続けています。2012年の MetaTrader シグナルサービスと現在の MetaTrader シグナルサービスはまったく異なる2つのサービスのようなものです。現在、特定バージョンの MetaTrader クライアントターミナルをサポートするサーバーのネットワークで構成される仮想ホスティングクラウドサービスを導入中です。
トレードシグナルを購読選択する場合のチップステップバイステップガイド
トレードシグナルを購読選択する場合のチップステップバイステップガイド

トレードシグナルを購読選択する場合のチップステップバイステップガイド

このガイドは、シグナルサービス・トレードシグナルのテスト・要求されたシグナルを調べるアプローチシステムのためのものであり、潜在性・リスク・トレード意図・様々な口座タイプや金融ツールで稼働するという基準を満たします。
ZigZag インディケータ:新鮮なアプローチと新しいソリューション
ZigZag インディケータ:新鮮なアプローチと新しいソリューション

ZigZag インディケータ:新鮮なアプローチと新しいソリューション

本稿は高度なZigZag インディケータ作成の可能性を検証します。ノードを特定する考え方はエンベロープインディケータの使用に基づいています。連続したエンベロープに対する入力パラメータの特定の組合せを見つけることができ、そこでは ZigZag ノードはすべてエンベロープバンドの範囲 内にあると考えられます。結果的に新規ノードの座標を予測しようとすることができるのです。
エキスパートアドバイザーの注文と希望の結果の取得方法
エキスパートアドバイザーの注文と希望の結果の取得方法

エキスパートアドバイザーの注文と希望の結果の取得方法

どのように正しく必要条件の明記を記載するのでしょうか?エキスパートアドバイザーやインジケーターを注文する際にプログラマーに期待すべき点と、期待すべきではない点は何でしょうか?やりとりを記録するにはどうすべきで、何に対して特に注意すべきでしょうか?この記事は、これらの質問や、その他多くの人にとって明白ではない様々な質問に対する答えを提供します。
MQL5 クックブック:異なるプリントモードの使用
MQL5 クックブック:異なるプリントモードの使用

MQL5 クックブック:異なるプリントモードの使用

本稿は MQL5 クックブックシリーズの始まりです。プログラミングの最初の一歩を踏み出そうとしている方が徐々に新しい言語の知識を得ることができるようにシンプルな例を使って始めます。私自身、とても困難だったと言える最初にトレードシステムを設計しプログラムする上での努力を覚えています。それが私の人生で最初のプログラム言語だったという事実があります。それでも思ったより簡単であることが判り、かなり複雑なプログラムを作成できるまで数か月しかかかりませんでした。
MQL5クラウドネットワーク:まだ計算しているのですか?
MQL5クラウドネットワーク:まだ計算しているのですか?

MQL5クラウドネットワーク:まだ計算しているのですか?

MQL5クラウドネットワークのサービスが開始してから、一年と半年ほど経過しました。この先進的な出来事はアルゴリズムによるトレーディングの新しい時代を開きました。今では、クリック数回で、トレーディング戦略の最適化のために自由に何千ものCPUを使用することができます。
MQL5 Market 一周年
MQL5 Market 一周年

MQL5 Market 一周年

MQL5 Marketがサービスを開始して、1年が経過しました。新しいサービスをMetaTrader5プラットフォームにおけるテクニカルインジケーターやトレーディングシステムの巨大ストアに変える困難な一年でした。
EX5 ライブラリ使用による開発プロジェクトの促進
EX5 ライブラリ使用による開発プロジェクトの促進

EX5 ライブラリ使用による開発プロジェクトの促進

.ex5 ファイルにクラス/関数の実装詳細を非表示にすることでノウハウアルゴリズムを他の開発者と共有し、共通のプロジェクトを設定し、ウェブ上でそれらを進めていくことができるようになります。そして MetaQuotes チームが ex5 ライブラリクラスの直接継承機能を実現することに全力を傾ける一方で、われわれはそれをいますぐ実装していこうとしているのです。
指数平滑化を利用した時系列予測(続編)
指数平滑化を利用した時系列予測(続編)

指数平滑化を利用した時系列予測(続編)

本稿はすでに作成済みのインディケータをグレードアップを模索し、 またブート処理と変位値を利用して予測信頼区間を推定するための手法を簡単に取り上げます。その結果、予測精度を推定するために用いる予測インディケータおよびスクリプトを手にすることになります。
ポイントおよびグラフチャート化インディケータ
ポイントおよびグラフチャート化インディケータ

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

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

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

「サポートベクターマシン」は生物情報学分野でこれまで長く利用され、複雑なデータセットを評価し、データ分類すに利用できる有用なパターンを抽出するため数学を利用しています。本稿はサポートベクターマシンとは何か、それがどのように役立つか、またなぜ複雑なパターンを抽出するのに便利かを考察します。そしてそれをマーケットに応用する方法、およびトレードを行う上で将来役立つであろう使用方法を調査します。また「サポートベクターマシン学習ツール」を使用し、読者のみなさんがご自身のトレーディングで実験することができる実用例を提供します。
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" のプログラムを変更するだけとします。よって本稿は既製プログラムのパターンを簡単に変更する方法もお伝えします。