MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
マルチ通貨システム エキスパートアドバイザーの作成
マルチ通貨システム エキスパートアドバイザーの作成

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

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

ネットワーク関数の適用、または DLL を使用しない MySQL: パートII - シグナル特性の変化を監視するプログラム

前のパートでは、MySQLコネクタの実装をしました。 この記事では、シグナルプロパティを収集するためのサービスを実装し、時間の経過とともに変化を表示するためのプログラムを実装することで、そのアプリケーションを検討します。 実装された例は、ユーザーがシグナルのWebページに表示されないプロパティの変化を観察する必要がある場合、実用的な意味を持ちます。
クロスプラットフォームグリッドEAの開発(パートIII):マーチンゲールによる補正ベースのグリッド
クロスプラットフォームグリッドEAの開発(パートIII):マーチンゲールによる補正ベースのグリッド

クロスプラットフォームグリッドEAの開発(パートIII):マーチンゲールによる補正ベースのグリッド

この記事では、可能な限り最高のグリッドベースのEAの開発に取り組みます。 いつものように、MetaTrader4とMetaTrader5の両方で動作することができるクロスプラットフォームEAになります。 当初このEAは、長期間にわたって利益を上げることができませんでしたが、それ以外は良好でした。 2番目となるこのEAは、数年以上にわたって動作する可能性があります。 しかし、残念ながら、最大ドローダウンが50%未満で、年間利益の50%以上の条件は得ることができませんでした。
preview
アクセラレーターオシレーター(Accelerator Oscillator)による取引システムの設計方法を学ぶ

アクセラレーターオシレーター(Accelerator Oscillator)による取引システムの設計方法を学ぶ

最も人気のあるテクニカル指標によって取引システムを設計する方法についての連載の新しい記事へようこそ。今回は、新しい指標であるアクセラレーターオシレーター(Accelerator Oscillator、AC)について学び、それを使った取引システムを設計する方法を学びます。
preview
MetaTrader5でのビッド・アスク・スプレッド分析

MetaTrader5でのビッド・アスク・スプレッド分析

証券会社のビッド・アスク・スプレッドのレベルを報告するためのインジケーター。MT5のティックデータを使用すると、最近の真の平均ビッド・アスク・スプレッドが実際に何であったかを分析できます。ビッドとアスクの両方の価格ラインを表示すれば現在のスプレッドは使用可能なので、確認する必要はありません。
Boxplotによる金融時系列のシーズンパターンの探索
Boxplotによる金融時系列のシーズンパターンの探索

Boxplotによる金融時系列のシーズンパターンの探索

この記事では、Boxplotを使用して価格時系列のシーズン特性を表示します。 各Boxplot(あるいは"ボックスアンドウイスキーダイアグラム") は、データセットに沿って値がどのように分布しているかを示す優れたものです。 Boxplotは、視覚的に似ていますが、ローソク足チャートと混同しないでください。
preview
アルゴリズム取引システムを設計する理由と方法を学ぶ

アルゴリズム取引システムを設計する理由と方法を学ぶ

この記事では、MQL5のいくつかの基本に言及した後で、単純なアルゴリズム取引システムを設計することによって初心者がアルゴリズム取引システム(エキスパートアドバイザー)を設計するためのMQLの基本を示します。
preview
一目均衡表による取引システムの設計方法を学ぶ

一目均衡表による取引システムの設計方法を学ぶ

最も人気のある指標の取引システムを設計する方法についての連載の新しい記事です。今回は一目均衡表とこの指標によって取引システムを設計する方法について説明します。
トレードシグナルの多通貨監視(パート1):アプリケーション構造の開発
トレードシグナルの多通貨監視(パート1):アプリケーション構造の開発

トレードシグナルの多通貨監視(パート1):アプリケーション構造の開発

この記事では、トレードシグナルのマルチカレンシーモニターを作成するアイデアを考察し、そのプロトタイプと共に未来のアプリケーション構造を開発し、運用のフレームワークを作成します。 この記事では、トレードシグナルの生成を可能にし、トレーダーが目的のシグナルを見つけるのを助ける柔軟な多通貨アプリケーションの段階的な作成を提示します。
グラフィカルインタフェース I: フォームボタンとインターフェイス要素削除のための関数(チャプター 4)
グラフィカルインタフェース I: フォームボタンとインターフェイス要素削除のための関数(チャプター 4)

グラフィカルインタフェース I: フォームボタンとインターフェイス要素削除のための関数(チャプター 4)

本稿では、コントロールのクリックによるフォーム管理のメソッドを追加してWindowクラスの開発を続けていこうと思います。フォームのボタンによってのプログラムの終了を有効にするだけでなく、フォームの最小化と最大化機能も実装します。
トレードシグナルの多通貨監視(パート2):アプリケーションのビジュアル部分の実装
トレードシグナルの多通貨監視(パート2):アプリケーションのビジュアル部分の実装

トレードシグナルの多通貨監視(パート2):アプリケーションのビジュアル部分の実装

前回の記事では、アプリケーションフレームワークを作成し、以降のすべてのタスクの基礎としました。 このパートでは、開発工程を進めます: アプリケーションのビジュアル部分を作成し、インターフェイス要素の基本的な相互作用を構成します。
標準ライブラリクラスを使ってオリジナルのMarket Watchを作成します。
標準ライブラリクラスを使ってオリジナルのMarket Watchを作成します。

標準ライブラリクラスを使ってオリジナルのMarket Watchを作成します。

新しいMetaTrader 5クライアント端末とMQL5言語はトレーダーにビジュアル情報を提供する機会をもたらします。 本稿では、汎用的拡張可能なクラスセットを提案します。それはチャート上の任意のテキストの表示作成作業をすべて行うものです。 Market Watch インディケータの例を提供します。
グラフィカルインタフェースIII:シンプルボタンと多機能ボタンのグループ(チャプター 2)
グラフィカルインタフェースIII:シンプルボタンと多機能ボタンのグループ(チャプター 2)

グラフィカルインタフェースIII:シンプルボタンと多機能ボタンのグループ(チャプター 2)

シリーズの最初の章は、シンプルボタンと多機能ボタンについてでした。2番目の記事は、アプリケーション内でユーザーがセット(グループ)のうちオプションのいずれかを選択することができる際の要素の作成を可能にする相互接続されたボタンのグループに専念します。
ローソク足分析技術の研究(第4部): パターンアナライザーの更新と追加
ローソク足分析技術の研究(第4部): パターンアナライザーの更新と追加

ローソク足分析技術の研究(第4部): パターンアナライザーの更新と追加

本稿では、パターンアナライザーアプリケーションの新しいバージョンについて説明します。このバージョンでは、バグ修正と新機能、そして改訂されたユーザーインターフェイスが提供されています。新しいバージョンを開発するときに、前の記事からのコメントと提案が考慮されました。結果として得られたアプリケーションは、この記事で説明されています。
MQL5での統計確率分布
MQL5での統計確率分布

MQL5での統計確率分布

本稿は、適用統計に使用されるランダム変数の確率分布(標準、対数正規分布、二項分布、ロジスティック分布、指数分布、コーシー分布、ストゥーデンとの t-分布、 ラプラス分布、 ポアソン分布、双曲線正割分布、 ベータ分布、ガンマ分布)について述べます。またこういった分布を処理するクラス特性についても述べます。
インディケータの統計パラメータ分析
インディケータの統計パラメータ分析

インディケータの統計パラメータ分析

テクニカル分析は基本クオートを「より明確に」示し、トレーダーがマーケット価格動向を分析し推定することのできるインディケータを幅広く採り入れます。インディケータを使用することに意味はなく、言うまでもなく最初のクオート変換と取得した結果の信頼性に関する問題を解決できないかぎり、インディケータを特定のトレーディングシステムに適用することにも意味がありません。本稿ではそのような結論について確たる理由があることを示していきます。
MQL5.communityでのチャネルとグループチャットの使用
MQL5.communityでのチャネルとグループチャットの使用

MQL5.communityでのチャネルとグループチャットの使用

MQL5.com Webサイトには、世界中のトレーダーが集まっています。ユーザーは記事を公開し、無料コードを共有し、市場で製品を販売し、フリーランスの注文を実行し、取引シグナルをコピーできます。フォーラム、トレーダーチャット、MetaTraderチャネルでは彼らとコミュニケーションをとることができます。
カスタムグラフィックコントロールパート1:簡単なコントロールを作成する
カスタムグラフィックコントロールパート1:簡単なコントロールを作成する

カスタムグラフィックコントロールパート1:簡単なコントロールを作成する

本稿では、グラフィックコントロールの一般的な原則を網羅します。グラフィックオブジェクトの作業を早く便利に行うためのツールを用意し、テキストや数値データの入力のために簡単なコントロールを作成する方法や、その使用方法の例を分析していきます。
アジアセッション中の夜間取引: どのように収益性を維持するか
アジアセッション中の夜間取引: どのように収益性を維持するか

アジアセッション中の夜間取引: どのように収益性を維持するか

この記事では、夜間取引の概念、および MQL5 におけるトレーディング戦略とその実装について扱います。 テストを通じ、適切な結論を下します。
preview
連続的なウォークフォワード最適化(その6):オートオプティマイザの論理部分と構造

連続的なウォークフォワード最適化(その6):オートオプティマイザの論理部分と構造

記事3と4以前、我々は自動ウォークフォワード最適化の作成を検討しました。 今回は、オートオプティマイザツールの内部構造について進めていきます。 この記事は、作成したプロジェクトをさらに稼働したい方、修正したい方はもちろん、プログラムのロジックを理解したい方にも役立つ内容となっています。 今回の記事では、プロジェクトの内部構造とオブジェクト間の関係を示すUML図を掲載します。 また、最適化開始までの過程が記述されていますが、オプティマイザの実装過程が記述されていない状態です。
preview
MQL5の行列とベクトル

MQL5の行列とベクトル

特別な「matrix」と「vector」データ型を使用すると、数学表記に非常に近いコードを作成することができます。行列とベクトルのメソッドを使用すると、計算でネストされたループを作成したり配列で正しいインデックスを作成したりする必要がなくなるため、複雑なプログラムの開発における信頼性と速度が向上します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第10部): MQL4との互換性 - ポジションオープンイベントと指値注文発動イベント
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第10部): MQL4との互換性 - ポジションオープンイベントと指値注文発動イベント

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第10部): MQL4との互換性 - ポジションオープンイベントと指値注文発動イベント

前の記事では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。第9部では、MQL4を使用するためのライブラリクラスの改善を開始しました。ここでは、MQL4との完全な互換性を確保するために、ライブラリの改善を続けます。
MQL5クックブック - スライディングウィンドウ内指標の高速計算のためのリングバッファの作成
MQL5クックブック - スライディングウィンドウ内指標の高速計算のためのリングバッファの作成

MQL5クックブック - スライディングウィンドウ内指標の高速計算のためのリングバッファの作成

リングバッファは、スライディングウィンドウで計算を実行するときにデータを配置するのに最も簡単で効率的な方法です。本稿では、そのアルゴリズムを説明し、同アルゴリズムが如何にスライディングウィンドウでの計算を単純化して効率を向上させるかを示します。
MQL5でのZIPアーカイブの扱い
MQL5でのZIPアーカイブの扱い

MQL5でのZIPアーカイブの扱い

MQL5は常に進化しています。この度新しい機能が追加されました。この革新により、DLLなしでZIPアーカイブを標準MQL5ツールで実行できるようになりました。この記事ではCZipクラスの使い方と、ZIPアーカイブの読み込み・生成・修正を例として扱います。
DoEasyライブラリの時系列(第36部): すべての使用銘柄期間の時系列オブジェクト
DoEasyライブラリの時系列(第36部): すべての使用銘柄期間の時系列オブジェクト

DoEasyライブラリの時系列(第36部): すべての使用銘柄期間の時系列オブジェクト

本稿では、使用された各銘柄期間のバーオブジェクトのリストを単一の銘柄時系列オブジェクトに結合することを検討します。使用されるすべての銘柄時系列期間のリストを格納するオブジェクトが各銘柄に備わることになります。
Expert Advisor パラメータのユーザーパネルからの『オンザフライ』の変更
Expert Advisor パラメータのユーザーパネルからの『オンザフライ』の変更

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

本稿ではパラメータをユーザーパネルから管理できる Expert Advisor の実装を示すちょっとした例を提供します。『オンザフライ』でパラメータを変更するとき、Expert Advisor はのちにファイルから読み込みパネル上で適切に表示するために情報パネルからファイルに取得した値を書きます。本稿はマニュアルでトレードを行う方または半自動モードでトレードを行う方に適しているでしょう。
preview
多色ローソク足を作成するためのオプションの探究

多色ローソク足を作成するためのオプションの探究

この記事では、ローソク足でカスタマイズされたインジケーターを作成する可能性について説明し、それらの長所と短所を指摘します。
トレンドとフラットの戦略を個別に最適化する
トレンドとフラットの戦略を個別に最適化する

トレンドとフラットの戦略を個別に最適化する

この記事では、さまざまな市場条件に対して個別に最適化する方法について説明しています。個別最適化とは、上昇トレンドと下降トレンドを別々に最適化して取引システムの最適なパラメータを決定することです。誤ったシグナルの影響を減らして収益性を向上させるために、システムは柔軟に作られています。つまり、市場の動きは常に変化を伴う為、システムには特定の設定や入力データのセットがあります。
長期取引戦略の基盤としてのマルチンゲール
長期取引戦略の基盤としてのマルチンゲール

長期取引戦略の基盤としてのマルチンゲール

本稿では、マルチンゲールシステムについて詳細に検討します。このシステムを取引に適用できるかどうか、またリスクを最小限に抑えるための使用方法が検討されます。この単純なシステムの主な欠点は、預金全体を失う可能性があることです。マルチンゲール技術を使って取引することを決定した場合、この事実は考慮に入れられなければなりません。
preview
母集団最適化アルゴリズム:灰色オオカミオプティマイザー(GWO)

母集団最適化アルゴリズム:灰色オオカミオプティマイザー(GWO)

最新の最適化アルゴリズムの1つである灰色オオカミオプティマイザについて考えてみましょう。テスト関数の元々の動作により、このアルゴリズムは、以前に検討されたものの中で最も興味深いものの1つになります。これは、ニューラルネットワークの訓練に使用される最も優れたアルゴリズムの1つであり、多くの変数を持つ滑らかな関数です。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 基本取引クラス - 無効なパラメータの自動修正
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 基本取引クラス - 無効なパラメータの自動修正

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 基本取引クラス - 無効なパラメータの自動修正

本稿では、無効な取引注文パラメータのハンドラを一瞥して、取引イベントクラスを改善します。これによって、すべての取引イベント(単一のイベントと1ティック内で同時に発生したイベントの両方)がプログラムで正しく定義されるようになります。
UML ツールを用いたExpert Advisorの開発方法
UML ツールを用いたExpert Advisorの開発方法

UML ツールを用いたExpert Advisorの開発方法

本稿では UML グラフィカル言語を用いたExpert Advisorの開発方法についてお話します。そのツールはオブジェクト指向のソフトウェアシステムのビジュアルモデル化に使用されるものです。この方法のおもなメリットはモデル化プロセスの可視化です。本稿には Software Ideas Modelerを使用したExpert Advisorの ストラクチャとプロパティのモデル化を示す例が含まれています。
考えられる.EAをリアルタイムで最適化するためのインジケータの使用法
考えられる.EAをリアルタイムで最適化するためのインジケータの使用法

考えられる.EAをリアルタイムで最適化するためのインジケータの使用法

トレーディングロボットの効率は、そのパラメータの正しい選択 (最適化) に依存します。 ただし、ある特定の時間間隔で最適と見なされるパラメータは、別の期間でもその有効性を保持することはできません。 その上、EA がテストの期間で利益を出したとしてもリアルでは損失になることもあります。 継続的な最適化における問題はこれらを背景としています。 ルーチンワークに直面するとき、人は自動化する方法を模索しようとします。 この記事では、この問題を解決するための非標準的なアプローチを提案します。
MQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の作成
MQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の作成

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

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

グラフィカルインタフェース V:リストビュー要素(チャプター 2)

前の章では、縦横スクロールバーを作成するためのクラスを書きました。この章では、それを実装します。縦スクロールバーはそのコンパウンドの一部となるリストビュー要素を作成するためのクラスが記述されます。
エキスパートアドバイザーを使って自分ルールでシグナルをコピーするには?
エキスパートアドバイザーを使って自分ルールでシグナルをコピーするには?

エキスパートアドバイザーを使って自分ルールでシグナルをコピーするには?

シグナルを購読していると、このような状況が起こることがあります。貴方の取引口座はレバレッジが1:100であるのに、プロバイダのレバレッジは1:500かつ最小ロットでトレードを行っていて、貴方の取引残高はほぼ同じ。そしてこの時コピー係数は10%から15%になるという状況です。この記事では、このような場合にどのようにコピー係数を上げたら良いかをお話しします。
CCanvasでのカスタム指標とインフォグラフィックス
CCanvasでのカスタム指標とインフォグラフィックス

CCanvasでのカスタム指標とインフォグラフィックス

本稿は、より複雑な構造的実装を伴う新しい種類の指標について検討し、擬似3D型指標と動的インフォグラフィックスの開発についても説明します。
GUIコントロールのレイアウトとコンテナの使用:CGrid クラス
GUIコントロールのレイアウトとコンテナの使用:CGrid クラス

GUIコントロールのレイアウトとコンテナの使用:CGrid クラス

この記事では、1つのレイアウトマネージャを使用して、レイアウトやコンテナに基づいて、GUI作成の代替方法を提示しています。CGridクラスは、グリッドレイアウトを使用して、他のコンテナやコントロールのコンテナとして機能する補助コントロールです。
HedgeTerminalAPIを利用して MetaTrader 5 で双方向トレードとポジションヘッジを行う - パート2
HedgeTerminalAPIを利用して MetaTrader 5 で双方向トレードとポジションヘッジを行う - パート2

HedgeTerminalAPIを利用して MetaTrader 5 で双方向トレードとポジションヘッジを行う - パート2

本稿ではポジションヘッジへの新しいアプローチについて述べ、本件に関する MetaTrader 4 および MetaTrader 5 のユーザー間のディベートに一線を画します。これは『HedgeTerminalパネルを利用して MetaTrader 5 で双方向トレードとポジションヘッジを行う-パート1』の続編です。パート2ではカスタム Expert Advisors のHedgeTerminalAPIへの統合についてお話します。これは便利なポジション管理のためのツールを提供する快適なソフトウェア環境における双方向トレードを行うための特別な可視化ライブラリです。
preview
ニューラルネットワークが簡単に(第2回): ネットワークのトレーニングとテスト

ニューラルネットワークが簡単に(第2回): ネットワークのトレーニングとテスト

第2回目の今回は、引き続きニューラルネットワークの勉強をし、作成したCNetクラスをEAで使用した例を考えていきます。 学習時間、予測精度ともに同様の結果を示す2つのニューラルネットワークモデルを用いてタスクを行います。