MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
MQL5での作画スタイル
MQL5での作画スタイル

MQL5での作画スタイル

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

MQL5 クックブック: 連想配列またはクイック データアクセスのための辞書の実装

本稿はユニークなキーによってエレメントへのアクセスが可能となる特殊なアルゴリズムについて説明します。キーとして任意のベースデータタイプが使用可能です。たとえば文字列や整数変数として表すことが可能です。そのようなデータのコンテナは一般的に辞書または連想配列と呼ばれます。それにより課題解決に対するより簡単で効果的な方法が提供されます。
preview
CatBoostアルゴリズムを使用した外国為替市場の季節によるパターンの特定

CatBoostアルゴリズムを使用した外国為替市場の季節によるパターンの特定

本稿では、時間フィルタを使用した機械学習モデルの作成について検討し、このアプローチの有効性について説明します。人的要因はモデルに特定の曜日の特定の時間に取引するように指示するだけで排除できるようになっています。パターン検索は、別のアルゴリズムで提供できます。
MetaTrader 5のマルチ通貨モードの実行
MetaTrader 5のマルチ通貨モードの実行

MetaTrader 5のマルチ通貨モードの実行

長い間、マルチ通貨分析やマルチ通貨トレーディングは人々の関心の的でした。完全なマルチ通貨システムを達成する機会は、MetaTrader5とMQL5プログラミング言語のリリースによりようやく可能になりました。この記事では、複数のシンボルにおけるすべてのティックを処理し分析する方法を紹介します。例として、USDドルインデックスのマルチ通貨RSIインジケーターを見てみます。
preview
ニューラルネットワークが簡単に

ニューラルネットワークが簡単に

人工知能は、多くの場合、幻想的で複雑で理解できない何かに関連付けられます。 同時に、人工知能は日常生活の中でますます言及されています。 ニューラルネットワークの使用に関する成果に関するニュースは、多くのさまざまなメディアで取り上げられています。 この記事の目的は、誰でもニューラルネットワークを作成し、トレードでAIの成果をあげることを示すためにあります。
SQL と MQL5:SQLite データベースとの連携
SQL と MQL5:SQLite データベースとの連携

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

本稿はご自身のプロジェクトで SQL を利用することに興味のある開発者を対象としています。ここではSQLite の機能性とメリットについて説明します。SQLite の特別な知識は必要ありませんが、SQL の最小限の知識があれば役に立つと思います。
エキスパートアドバイザの自己最適化:進化的遺伝的アルゴリズム
エキスパートアドバイザの自己最適化:進化的遺伝的アルゴリズム

エキスパートアドバイザの自己最適化:進化的遺伝的アルゴリズム

この記事では、進化的アルゴリズムにある主要な原理と、その多様性および特徴について検証します。実験を使用した簡単なエキスパートアドバイザの例では、最適化が私達の取引システムに何をもたらすかを見ていきます。遺伝的、進化的、またその他のタイプの最適化を実装するプログラムのセットを検証し、取引システムのパラメータの最適化や予測変数のセットの最適化時の適用例をご紹介します。
外国為替取引の背後にある基本的な数学
外国為替取引の背後にある基本的な数学

外国為替取引の背後にある基本的な数学

この記事は、外国為替取引の主な機能をできるだけ簡単かつ迅速に説明し、初心者といくつかの基本的なアイデアを共有することを目的としています。また、簡単なインディケータ―の開発を紹介するとともに、取引コミュニティで最も興味をそそる質問への回答を試みます。
Google Chart APIからチャートを構築するためのライブラリ
Google Chart APIからチャートを構築するためのライブラリ

Google Chart APIからチャートを構築するためのライブラリ

さまざまなタイプのダイアグラムの構築がマーケット状況を分析しトレーディングシステムを検証する主要部分です。往々にしてみばえのよいダイアグラムを構築するにはデータのアウトプットをファイルに整理することが必要です。その後 MS Excelなどアプリケーションで使用していくのです。これはあまり便利な方法ではなく、動的にデータを更新する機能を奪います。Google Charts APIは、サーバーに特別な依頼を送るとオンラインでチャートを作成する手段を提供してくれます。本稿では、そのような依頼を作成し、チャートをGoogleサーバーから取得するプロセスを自動化していきます。
チャート上で選択したシグナルの取引を分析する方法
チャート上で選択したシグナルの取引を分析する方法

チャート上で選択したシグナルの取引を分析する方法

トレードシグナルサービスは、飛躍的に発展しています。シグナルプロバイダーに自分の資金を任せつつも、デポジットを失うリスクは最小限にしたいものです。このトレードシグナルについて理解するにはどうればいいのでしょうか?また利益を得ることができるシグナルを見つけるにはどうしたらいいのでしょうか?この記事では、チャート上でトレードシグナルを視覚的に分析する為のツールを作成する方法をご紹介します。
DLLなしのMT4およびMT5用ネイティブTwitterクライアント
DLLなしのMT4およびMT5用ネイティブTwitterクライアント

DLLなしのMT4およびMT5用ネイティブTwitterクライアント

ツイートにアクセスしたり、Twitterに取引シグナルを投稿したりしたかったことがおありですか?検索をおやめください。この連載では、DLLを使用せずにそれを行う方法を示します。MQLを使用してTweeter APIを実装する旅をお楽しみください。この第1部では、Twitter APIにアクセスする際の認証と承認の栄光の道をたどります。
パネルを改善してみましょう(CAppDialog / CWndClientからの継承、背景の色の変更、透明性の追加)
パネルを改善してみましょう(CAppDialog / CWndClientからの継承、背景の色の変更、透明性の追加)

パネルを改善してみましょう(CAppDialog / CWndClientからの継承、背景の色の変更、透明性の追加)

CAppDialogの使用の学習を続けます。ここでは、グラフィックパネルの背景の色、枠線、タイトルを設定する方法を学びます。順を追って、チャート上でアプリケーションウィンドウを移動するときに、アプリケーションウィンドウに透明性を追加する方法を見ていきます。次に、CAppDialogまたはCWndClientから子孫を作成し、コントロールを操作する際の新しい特徴を見ていきます。最後に、新しいプロジェクトを新しい視点から見ていきます。
トレードロボットをオーダーするための要件定義を作成する方法
トレードロボットをオーダーするための要件定義を作成する方法

トレードロボットをオーダーするための要件定義を作成する方法

自分自身のトレーディングストラテジーを使用してトレードしていますか。 システムトレードのルールをアルゴリズムとして正式に記述できる場合は、自動化されたEAにトレードを委託することをお勧めします。 ロボットは、人間の弱点であるところの睡眠や食品を必要としません。 この記事では、フリーランスのサービスでトレードロボットを発注する際の要件定義の作成方法を示します。
マーケット理論
マーケット理論

マーケット理論

現在のところ、どの商品市場や相場にも適応可能で、ミクロでもマクロでも使うことができるような完璧な相場理論というものは存在していません。この記事では、利益分析に基づいた新しい相場理論のエッセンスを紹介し、現在の価格変化とメカニズムの原則を明らかにします。実際の価格上でコントロール可能なバーチャルプライスの連鎖を形成することにより、最適な値を見つけることができます。相場の形成と変化のメカニズムも紹介します。
MQL5: MetaTrader5における、分析と商品先物取引員会レポートの処理
MQL5: MetaTrader5における、分析と商品先物取引員会レポートの処理

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

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

同時に2方向で機能するためのユニバーサル RSI インジケータ

トレーディングアルゴリズムを開発するとき、しばしばある問題に遭遇します。その一つが、トレンド/レンジの始まりと終点を決定する方法です。 この記事では、さまざまな種類のシグナルを結合するユニバーサルインジケータを作成します。 今回はEAのトレードシグナルを取得するプロセスをできるだけ簡素化します。 1つのインジケータを組み合わせた例を挙げます。
ニューラルネットワーク:理論~実践
ニューラルネットワーク:理論~実践

ニューラルネットワーク:理論~実践

今日、トレーダーはだれしもニューラルネットワークについて聞いたことがあり、それを使うのがかっこいいということがわかっています。多数の人がニューラルネットワークを利用してディールを行える人はスーパーヒューマンだと思っています。本稿ではニューラルネットワークのアーキテクチャを説明し、アプリケーションについて記述し、実用例を示していこうと思います。
フラグパターン
フラグパターン

フラグパターン

本稿では、フラグ、ペナント、ウェッジ、長方形、三角形、収縮三角形、膨張三角形のパターンを分析します。それらの類似点と相違点を分析するだけでなく、パターンを検出するための指標、及びその有効性を迅速に評価するためのテスター指標を作成します。
名前つきパイプを使用したMetaTrader 5端末間コミュニケーションにDLLを使用しないソリューション
名前つきパイプを使用したMetaTrader 5端末間コミュニケーションにDLLを使用しないソリューション

名前つきパイプを使用したMetaTrader 5端末間コミュニケーションにDLLを使用しないソリューション

本稿は名前つきパイプを使用したMetaTrader 5端末同士のプロセス間コミュニケーションの実装方法について述べていきます。名前付きパイプを使用するにはCNamedPipesクラスが作成されます。 その使用検証と接続計測のために、ティックインディケータ、サーバー、クライアントスクリプトが提供されます。リアルタイムのクオートには名前付きパイプの使用で十分です。
フィッシャートランスフォームの適用とMetaTrader5の市場分析に対するフィッシャートランスフォーム
フィッシャートランスフォームの適用とMetaTrader5の市場分析に対するフィッシャートランスフォーム

フィッシャートランスフォームの適用とMetaTrader5の市場分析に対するフィッシャートランスフォーム

市場サイクルの確率密度関数(PDF)がガウス性では残らず、むしろ正弦波のPDGとして維持され、大半のインジケーターがその市場サイクルPDFがガウス性であると想定しています。その解決策は、フィッシャートランスフォームを使用することです。フィッシャートランスフォームは、いかなる波形のPDFをガウス性に変換します。この記事は、フィッシャートランスフォームの裏にある数学と、対するフィッシャートランスフォーム、トレーディングへの適用例を紹介します。反対のフィッシャートランスフォームに基づく所有のトレーディングシグナルモジュールが紹介され、評価されます。
トレーリングストップを採用した利益を生み出すアルゴリズム
トレーリングストップを採用した利益を生み出すアルゴリズム

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

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

GUIのレイアウトとコンテナの使用: CBoxクラス

この記事は、CBoxクラスによるレイアウトマネージャーを使って、レイアウトとコンテナに基づくGUIの生成の代替手法について取り扱います。CBoxクラスは、GUIパネルの必要不可欠なコンテナとして機能する補助コントロールです。グラフィカルパネルのデザインを容易にし、ときとして、コーディングの時間を割きます。
ランダムウォーク理論とトレンドインディケータ
ランダムウォーク理論とトレンドインディケータ

ランダムウォーク理論とトレンドインディケータ

ランダムウォークは現実のマーケットデータと実によく似ていますが、大きな特徴がいくつかあります。本稿ではコインン投げゲームを使用するシミュレーションでランダムウォークのプロパティを考察します。データのプロパティを調査するためトレンドインディケータを作成します。
Wolfe波動
Wolfe波動

Wolfe波動

このBill Wolfe氏によって提案された視覚的手法は、市場参入の瞬間と方向を特定するためのパターンを検出することを可能にし、価格目標とその到達時間を予測するのに役立ちます。本稿では、Wolfe波動を検索するジグザグに基づいた指標を作成する方法と、この指標に基づいた簡単なエキスパートアドバイザーで取引する方法について説明します。
MQL5 クックブック: 板情報の実装
MQL5 クックブック: 板情報の実装

MQL5 クックブック: 板情報の実装

この記事では、板情報(DOM)を利用する方法を示します。また、CMarketBookクラスの動作についても説明します。これは、MQL5クラスの標準ライブラリを拡張し、DOMを使用する際の便利な方法となります。
エキスパートアドバイザーの注文と希望の結果の取得方法
エキスパートアドバイザーの注文と希望の結果の取得方法

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

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

リスク設定に基づいてSL/TPを設定するクロスプラットフォームEAの開発

本稿では、リスク値に基づいて自動的にエントリロットを計算するエキスパートアドバイザー(EA)を作成します。このEAでは、選択したSL(ストップロス)に対する比率を持つTP(テイクプロフィット)が自動的に配置されます。言い換えれば、3:1、4:1などの選択した比率に基づいたTPが計算されます。
最適化管理(パートII): キーオブジェクトとアドオンロジックの作成
最適化管理(パートII): キーオブジェクトとアドオンロジックの作成

最適化管理(パートII): キーオブジェクトとアドオンロジックの作成

本稿は、以前の最適化管理用のグラフィカルインターフェイスの作成に関する記事の続きです。本稿では、アドオンのロジックについて検討しています。MetaTrader 5ターミナルのラッパーが作成され、アドオンをC#を介した管理プロセスとして実行できるようにします。また、構成ファイルとセットアップファイルを使用した操作についても検討します。アプリケーションのロジックは2つの部分に分かれています。最初の部分では特定のキーを押した後に呼び出されるメソッドを記述し、2番目の部分では最適化の起動と管理を扱います。
preview
SQLite: MQL5 での SQL データベースのネイティブな処理

SQLite: MQL5 での SQL データベースのネイティブな処理

トレード戦略の開発には、大量のデータの処理が関連しています。 今では、MQL5 で直接 SQLite に基づいた SQL クエリを使用してデータベースを操作できるようになりました。 このエンジンの重要な特徴は、データベース全体がユーザーのPC上の単一のファイルに配置されるということです。
インジケータのバッファや配列を使わずにヒストグラムを形成する統計分布
インジケータのバッファや配列を使わずにヒストグラムを形成する統計分布

インジケータのバッファや配列を使わずにヒストグラムを形成する統計分布

この記事では、グラフィックメモリの助けを借りて、相場の統計的分布ヒストグラムをプロットする可能性について説明します。サンプルのヒストグラムと mql5のグラフィカルオブジェクトの「非表示」関数があります。
ディープニューラルネットワーク(その3)サンプル選択と次元削減
ディープニューラルネットワーク(その3)サンプル選択と次元削減

ディープニューラルネットワーク(その3)サンプル選択と次元削減

本稿は、ディープニューラルネットワークに関する一連の記事の続きです。ここでは、ニューラルネットワークの訓練データの準備に当たってのサンプルの選択(ノイズ除去)、入力データの次元数の削減、及びデータセットの訓練/検証/テストセットへの分割を検討します。
MQL5をプログラミングの基礎: ターミナルのグローバル変数
MQL5をプログラミングの基礎: ターミナルのグローバル変数

MQL5をプログラミングの基礎: ターミナルのグローバル変数

ターミナルのグローバル変数は、高度で信頼性の高いEAを開発するために欠かせないツールです。グローバル変数なしで MQL5で EA の開発をすることは想像を絶します。
トレーディングにおけるOLAPの適用(その4)。テスターレポートの定量的・視覚的分析
トレーディングにおけるOLAPの適用(その4)。テスターレポートの定量的・視覚的分析

トレーディングにおけるOLAPの適用(その4)。テスターレポートの定量的・視覚的分析

この記事では、シングルパスや最適化結果に関連するテスターレポートのOLAP分析のための基本的なツールを提供しています。 このツールは標準フォーマットのファイル(tstとopt)を扱うことができ、グラフィカルなインターフェイスも提供します。 最後にMQLのソースコードを添付します。
CSSセレクタを使用した HTML ページからの構造化データの抽出
CSSセレクタを使用した HTML ページからの構造化データの抽出

CSSセレクタを使用した HTML ページからの構造化データの抽出

この記事では、CSS セレクタに基づいて HTML ドキュメントからデータを分析および変換するための汎用的な方法について説明します。 トレードレポート、テスターレポート、お気に入りの経済カレンダー、パブリックシグナル、アカウント監視、その他のオンラインクオートソースは MQL から直接利用可能になります。
エキスパートアドバイザとインディケータに素早く制御パネルを追加する方法
エキスパートアドバイザとインディケータに素早く制御パネルを追加する方法

エキスパートアドバイザとインディケータに素早く制御パネルを追加する方法

自分のエキスパートアドバイザやインディケータに便利な制御パネルを追加したいけど、何をどうしたら良いかわかりませんか?この記事では、貴方のMQL4/MQL5プログラムに入力パラメータを持つダイアログパネルを『取り付ける方法』をステップバイステップでご紹介します。
MQL5 クックブック:典型的なチャートイベントの処理
MQL5 クックブック:典型的なチャートイベントの処理

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

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

未知の確率密度関数のカーネル密度推定

本稿では、未知の確率密度関数のカーネル密度推定を可能にするプログラム作成に取り組みます。そしてタスク実行のためにカーネル密度推定法を選択しました。本稿にはメソッドのソフトウェア実装コード、その使用例、説明が述べられています。
「新規バー」イベントハンドラ
「新規バー」イベントハンドラ

「新規バー」イベントハンドラ

MQL5プログラミング言語はまったく新しいレベルで問題解決をする能力があります。 そういったタスクにして、もオブジェクト指向プログラミングのおかげでそれはすでに高いレベルに引きあげることができるのです。本稿では、かなり力強い多目的ツールに変換されたチャートの新規バーチェックの特にシンプルな例を取り上げます。どんなツールでしょうか?本稿でみつけてください。
ボックスーコックス変換
ボックスーコックス変換

ボックスーコックス変換

この記事は、読者がボックスーコックス変換について詳しく知ることができることを意図されています。使用方法に関して取り組まれ、ランダムなシーケンスと実際の取引価格での変換率を評価を行うものに関しての例がいくつか提示されています。
古典的な隠れたダイバージェンスを解釈する新しいアプローチ第2部
古典的な隠れたダイバージェンスを解釈する新しいアプローチ第2部

古典的な隠れたダイバージェンスを解釈する新しいアプローチ第2部

本稿では、さまざまな指標のレギュラーダイバージェンスと効率性について批判的に検討します。さらに、分析の精度を高めるためのフィルタリングオプションと、非標準ソリューション機能の説明が含まれています。 その結果、技術的なタスクを解決するための新しいツールを作成します。