MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
時間の取扱い(第1部):基本

時間の取扱い(第1部):基本

時間の処理、証券会社のオフセット、夏時間または冬時間への変更を簡素化および明確化する関数とコードスニペット。正確なタイミングは取引において重要な要素になることがあります。現在時刻でロンドンやニューヨークの証券取引所がすでに開いているかまだ開いていないか、外国為替取引の取引時間はいつ開始および終了するかなどです。手動で取引して生活しているトレーダーにとって、これは大きな問題ではありません。
preview
アルゴリズム取引から100万ドルを稼ぐ方法?MQL5.comサービスを使用してください

アルゴリズム取引から100万ドルを稼ぐ方法?MQL5.comサービスを使用してください

トレーダーは皆、最初の百万ドルを稼ぐことを目標に市場を訪れます。過度のリスクと初期予算なしでこれを行う方法は何でしょうか。MQL5サービスは、世界中の開発者やトレーダーにそのような機会を提供します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第15部): 銘柄オブジェクトのコレクション
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第15部): 銘柄オブジェクトのコレクション

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第15部): 銘柄オブジェクトのコレクション

本稿では、前の記事で開発した抽象銘柄オブジェクトに基づく銘柄コレクションの作成を検討します。抽象銘柄の子孫は、銘柄データを明確にし、プログラム内での基本的な銘柄オブジェクトプロパティの可用性を定義します。このような銘柄オブジェクトは、グループとの関係によって区別されます。
エキスパートアドバイザーの資金管理のためのファンクション
エキスパートアドバイザーの資金管理のためのファンクション

エキスパートアドバイザーの資金管理のためのファンクション

トレード戦略の開発は主に市場に入り、そして、出るためのパターンの探索と、ポジションの維持に注目している。もし自動トレーディングのためにあるパターンをルールとして形式化できれば、トレーダーはポジションの量、マージンのサイズを計算する問題に立ち向かい、さらに貸付資金の安全なレベルを維持して自動モードでオープンなポジションを確実にするであろう。この論説では MQL5 言語を用いてこれらの計算を行う簡単な例を構築する
インジケーターの開発を依頼するための要件定義を作成する方法
インジケーターの開発を依頼するための要件定義を作成する方法

インジケーターの開発を依頼するための要件定義を作成する方法

最もよくあるトレードシステムの開発の第一歩は、相場行動パターンを識別できるテクニカルインジケーターの作成です。 専門的に開発されたインジケーターを、フリーランスのサービスからオーダーすることができます。 この記事からは、適切な要件定義を作成する方法を学習します。より速く、希望のインジケーターを取得するのに役立ちます.
MQL5言語でのTelegram用ボットの作成
MQL5言語でのTelegram用ボットの作成

MQL5言語でのTelegram用ボットの作成

この記事では、MQL5言語でのTelegram用ボットの作成を順を追って説明していきます。この資料は、トレードロボットを自分のモバイルデバイスに繋げたい人にとって、興味深いものになると思います。記事では、トレードシグナルのリンクの実行、サイト上の情報の検索、取引口座の状態や相場、チャートのスクリーンショットをあなたのモバイルデバイスへ送信するボットの例をご紹介します。
トレンドとは何か、相場の構造はトレンドかレンジかで決まるのか?
トレンドとは何か、相場の構造はトレンドかレンジかで決まるのか?

トレンドとは何か、相場の構造はトレンドかレンジかで決まるのか?

トレーダーはよくトレンドやレンジについて話しますが、トレンドやレンジとは何かを理解している人はほとんどおらず、概念を明確に説明できる人はさらにいません。 基本的な用語について考察することは、多くの場合、偏見や誤解の固まりに悩まされます。 しかし、利益を上げたいのであれば、概念の数学的・論理的な意味を理解する必要があります。 今回は、トレンドとレンジの本質に迫るとともに、相場の構造がトレンドなのか、レンジなのか、何か別のものなのかを定義してみたいと思います。 また、トレンド相場やレンジ相場で利益を出すための最適な戦略についても考えていきたいと思います。
preview
MQL4およびMQL5開発のフレームワーク内のOpenAI ChatGPT機能

MQL4およびMQL5開発のフレームワーク内のOpenAI ChatGPT機能

この記事では、エキスパートアドバイザー(EA)、指標、スクリプトの開発にかかる時間と労力を削減するという観点から、OpenAI ChatGPTの機能を理解するために、ChatGPTをいじっていきます。このテクノロジーについて簡単に説明し、MQL4およびMQL5でのプログラミングにこのテクノロジーを正しく使用する方法を説明します。
МetaТrader 4のイベント
МetaТrader 4のイベント

МetaТrader 4のイベント

この記事は、注文のオープン、クローズ、変更などのイベントを観測するМetaТrader 4ターミナルのプログラムに着目しており、MQL4でのプログラミングやターミナルを扱う基本的なスキルを持つユーザーを想定して書かれています。
MQLベースのエキスパートアドバイザとデータベースの統合 (SQL server、.NET、および C#)
MQLベースのエキスパートアドバイザとデータベースの統合 (SQL server、.NET、および C#)

MQLベースのエキスパートアドバイザとデータベースの統合 (SQL server、.NET、および C#)

この記事では、MQL5 ベースのEAに対して Microsoft SQL server データベースサーバーを使用する方法について説明します。 DLL からの関数のインポートが使用します。 DLL は、Microsoft .NET プラットフォームと C# 言語を使用して作成します。 この記事で使用するメソッドは、マイナーな調整があり、MQL4で書かれているEAに適しています。
MetaTrader 4でMQL5ウィザードの既製エキスパートアドバイザーが機能
MetaTrader 4でMQL5ウィザードの既製エキスパートアドバイザーが機能

MetaTrader 4でMQL5ウィザードの既製エキスパートアドバイザーが機能

本稿ではMetaTrader 4のためのMetaTrader 5取引環境の簡単なエミュレータについてお話しします。このエミュレータは標準ライブラリの取引クラスの移行と調整を実装するものです。その結果、MetaTrader 5ウィザードで生成されたエキスパートアドバイザーは、そのままMetaTrader 4でコンパイルして実行することができます。
MQL5ウィザード:トレーディングシグナル用モジュール作成方法
MQL5ウィザード:トレーディングシグナル用モジュール作成方法

MQL5ウィザード:トレーディングシグナル用モジュール作成方法

この記事は、価格のクロスオーバーと移動平均に関するシグナルの実行とともに、トレーディングシグナルクラスの記述方法、 MQL5ウィザードのトレーディングストラテジー生成プログラムへの挿入方法、MQL5ウィザードにおいて生成されるクラスの記述フォーマットやストラクチャーについて紹介します。
マシンラーニング:サポートベクターマシンをトレーディングで利用する方法
マシンラーニング:サポートベクターマシンをトレーディングで利用する方法

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

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

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

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

チャネルを利用したトレードのためのエキスパートアドバイザー

このエキスパートアドバイザーはチャネルラインをプロットします。上と下のチャネルラインがサポート・レジスタンスレベルとして振る舞います。エキスパートアドバイザーは基準点を設け、値が届くかチャネルラインを越えるかする度にサウンド通知をおこない、関連する印を描きます。フラクタルなフォーメーションにおいて、対応する矢印が最後のバーに現れます。ラインブレイクアウトは大きくなっていくトレンドの可能性を示唆します。このエキスパートアドバイザーは幅広い範囲で批評されます。
トレーダーの為の正規表現
トレーダーの為の正規表現

トレーダーの為の正規表現

正規表現(英語ではregular expressions) とは、正規表現のパターンやマスクと呼ばれる指定されたルールに従ったテキストを処理する為の特別な言語です。この記事では、MQL5のRegularExpressionsライブラリを使用した取引レポートの処理をご紹介し、それを使った最適化結果をデモンストレーションします。
Expert Advisors最適化のカスタム基準作成
Expert Advisors最適化のカスタム基準作成

Expert Advisors最適化のカスタム基準作成

MetaTrader 5 クライアント端末は Expert Advisor パラメータを最適化する幅広い機会を提供します。またストラレジーテスタに含まれる最適化評価基準に対して、開発者には自身の基準を作成するチャンスが与えられています。これは Expert Advisorsを検証し最適化する数えきれない可能性に導きます。本稿ではそのような基準を、複雑なもの単純なもの双方、作成する実践的方法について記述します。
確率をトレードギャップに適用する
確率をトレードギャップに適用する

確率をトレードギャップに適用する

この記事では、トレード戦略の作成とテストに確率と数学的統計手法を適用します。 また、価格とランダムウォークの差を使用して、最適なトレードリスクを探します。 価格がゼロドリフトランダムウォークのように振る舞うならば、収益性の高いトレードは不可能であることが証明されています。
トレーダーの統計的クックブック:仮説
トレーダーの統計的クックブック:仮説

トレーダーの統計的クックブック:仮説

本稿では仮説について考察します。それは数理統計学の基本的考え方のひとつです。ここでは多様な仮説が検討され、数学的手法を用いて例を挙げて検証されます。実データはノンパラメトリックな方法を用いて一般化されます。データ処理には Statistica パッケージと移植された ALGLIB MQL5 数値解析ライブラリが使用されています。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第14部): 銘柄オブジェクト
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第14部): 銘柄オブジェクト

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第14部): 銘柄オブジェクト

本稿では、銘柄コレクションを作成するための基本オブジェクトとなる銘柄オブジェクトクラスを作成します。このクラスによって、さらなる分析と比較に必要な銘柄のデータを取得できるようになります。
ディナポリ取引システム
ディナポリ取引システム

ディナポリ取引システム

本稿では、ジョー・ディナポリによって開発されたフィボレベルベースの取引システムについて説明します。システムの背後にあるアイデアと主なコンセプトが説明され、それらをさらに明確にする、シンプルな指標が例として示されます。
OpenCL:パラレルワールドへの橋渡し
OpenCL:パラレルワールドへの橋渡し

OpenCL:パラレルワールドへの橋渡し

2012年1月下旬、MetaTrader 5の開発を支援するソフトウェア開発企業はMQL5でのOpenCLのネイティブサポートを発表しました。本稿では解説例を用いてMQL5 環境におけるOpenCL のプログラミング基礎を記述し、処理スピードを上げるプログラムのシンプルな最適化例を提供します。
preview
プロのプログラマーからのヒント(第I部): コードの保存、デバッグ、コンパイルプロジェクトとログの操作

プロのプログラマーからのヒント(第I部): コードの保存、デバッグ、コンパイルプロジェクトとログの操作

プログラミングを容易にする方法、テクニック、および補助ツールに関するプロのプログラマーからのヒントです。
インジケーターへのエントリの解決
インジケーターへのエントリの解決

インジケーターへのエントリの解決

トレーダーにはさまざまな事態が発生します。 多くの場合、勝ちトレードは、負けトレードと照らし合わせながら、戦略を再構成することができます。 どちらの場合でも、既知のインジケーターとトレードを比較します。 この記事では、インジケーターを使ったトレードの比較方法を考察します。
指定されたマジックナンバーによるトータルポジションボリューム計算のための最適化された手法
指定されたマジックナンバーによるトータルポジションボリューム計算のための最適化された手法

指定されたマジックナンバーによるトータルポジションボリューム計算のための最適化された手法

本稿では指定されたシンボルのトータルポジションボリューム計算とマジックナンバーに関する問題について考察します。提案する手法では取引履歴の最小限を要求し、トータルポジションがゼロに最も近い時刻を見つけ、最近の取引についての計算を行います。クライアント端末のグローバル変数による作業も考察します。
ZUP - ペサベントパターンのZigZag パート2
ZUP - ペサベントパターンのZigZag パート2

ZUP - ペサベントパターンのZigZag パート2

ZUP - ペサベントパターンのZigZag パート2 - 組み込みツールの詳細
拡散と収束の自動探索
拡散と収束の自動探索

拡散と収束の自動探索

本稿では、シンプル、隠れ、拡張、トリプル、クワドラプル、収束のあらゆる種類の拡散、またA、B、Cクラスの拡散を考察し、それらをチャート上で検索及び表示するためのユニバーサル指標が開発されます。
標準ライブラリのトレーディングストラテジークラスの探求- ストラテジーのカスタマイズ
標準ライブラリのトレーディングストラテジークラスの探求- ストラテジーのカスタマイズ

標準ライブラリのトレーディングストラテジークラスの探求- ストラテジーのカスタマイズ

この記事では、トレーディングストラテジークラスの標準ライブラリをどのように探求していくか、そして、カスタムストラテジーやフィルター/シグナルをMQL5ウィザードのパターン・モデルロジックを用いてどのように追加するかについて紹介したいと思います。最終的に、MetaTrader5の標準インジケーターを用いて独自の戦略を追加できるようになり、MQL5ウィザードがシンプルで強力なコードや、機能的なエキスパートアドバイザーを作成できるようになります。
時系列の予測(第1部):経験的分解モード(EMD)法
時系列の予測(第1部):経験的分解モード(EMD)法

時系列の予測(第1部):経験的分解モード(EMD)法

この記事では、経験的分解モードに基づいて時系列を予測するアルゴリズムの理論と実際の使用法について説明します。また、このメソッドのMQL実装を提案し、テスト指標とエキスパートアドバイザーを提示します。
プライスヒストグラム(マーケット特性)とMQL5への導入
プライスヒストグラム(マーケット特性)とMQL5への導入

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

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

遺伝的アルゴリズムー数学

遺伝的アルゴリズムは最適化の問題を解決するために使用されます。このような問題の例として、ニューロネットワークの学習、つまりエラーを最小限にするための、このような重み値の選択を用いることができます。遺伝的アルゴリズムのベースにはランダム探索法があります。
ピボットポイント分析に基づくトレーディング戦略
ピボットポイント分析に基づくトレーディング戦略

ピボットポイント分析に基づくトレーディング戦略

「ピボットポイント(PP)」分析は日次で変動の激しい市場に対するもっともシンプルで効率的な戦略です。それはコンピュータがまだない時代にすでに利用されていました。そのころ、株式で働くトレーダーはフレームや計数機で数える以外にADP 機器は何も使えませんでした。
いくつかのインジケーターにおけるマルチNullバー再計算
いくつかのインジケーターにおけるマルチNullバー再計算

いくつかのインジケーターにおけるマルチNullバー再計算

この記事は、Nullバーが変化した際に MetaTrader 4クライアントターミナルのインジケーター値の再計算に関する問題に焦点を当てています。複数の再計算前に保存されたプログラムコードを保存させるいくつかの追加プログラムをインジケーターに追加する方法について述べています。
DoEasyライブラリの時系列(第41部): 複数銘柄・複数期間指標の例
DoEasyライブラリの時系列(第41部): 複数銘柄・複数期間指標の例

DoEasyライブラリの時系列(第41部): 複数銘柄・複数期間指標の例

本稿では、DoEasyライブラリの時系列クラスを使用して、選択された時間枠で選択された通貨ペアのチャートをサブウィンドウでローソク足として表示する複数銘柄・複数期間指標の例を検討します。ライブラリクラスを少し変更し、プログラム入力の列挙を格納してコンパイル言語を選択するための別のファイルを作成します。
市場とそのグローバルパターンの物理学
市場とそのグローバルパターンの物理学

市場とそのグローバルパターンの物理学

本稿では、市場を少しでも理解してるシステムはどれでも世界規模で運用できるという前提を試してみます。理論やパターンは発明せずに既知の事実のみを使用し、これらの事実を徐々に数学的分析の言語に翻訳していきます。
preview
MQL5を使用してローソク足パターンを検出する方法

MQL5を使用してローソク足パターンを検出する方法

MQL5によって価格のローソク足パターンを自動的に検出する方法を学ぶ新しい記事です。
インディケーターを別のインディケーターに適用
インディケーターを別のインディケーターに適用

インディケーターを別のインディケーターに適用

OnCalculate() 関数呼び出しショートフォームのインディケーターを書くとき、インディケーターが価格データだけでなく、他のインディケーターデータによっても計算できる事実を見逃すかもしれません。 (内蔵またはカスタムのインディケーターにかかわらず)。他のインディケーターデータに正しく適用するためにインディケーターを改善したいですか?本記事ではそのような修正に必要なステップを復習します。
ラグを最小に抑えた有効な平均化アルゴリズム:インディケータでの使用
ラグを最小に抑えた有効な平均化アルゴリズム:インディケータでの使用

ラグを最小に抑えた有効な平均化アルゴリズム:インディケータでの使用

本稿では、著者が作成した高クオリティーのカスタム平均化関数について説明します。それらは以下です:JJMASeries()、JurXSeries()、 JLiteSeries()、ParMASeries()、LRMASeries()、T3Series()。本稿ではまたインディケータ-内での上記関数のアプリケーションも取り上げます。著者はこれら関数の使用を基に豊富なインディケータライブラリを提供します。
トレンドの長さは?
トレンドの長さは?

トレンドの長さは?

本稿では、フラット(不活発な市場)に対したトレンドの期間を特定することを目的としたいくつかのトレンド識別法を紹介します。理論的には、トレンドとフラットの比率は30〜70%と考えられます。これを確認していきます。
MACDによる取引システムの設計方法を学ぶ
MACDによる取引システムの設計方法を学ぶ

MACDによる取引システムの設計方法を学ぶ

今回は、このシリーズの新しいツール、MACD(Moving Average Convergence Divergence、移動平均収束発散)に基づいた取引システムの設計方法について学びます。