MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第9部): MQL4との互換性 - データの準備
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第9部): MQL4との互換性 - データの準備

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第9部): MQL4との互換性 - データの準備

前の記事では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。第8部では、注文とポジションの変更イベントを追跡するためのクラスを実装しました。ここでは、MQL4と完全な互換性を備えさせることでライブラリを改善します。
Google サービスによるメーリング キャンペーンの手配
Google サービスによるメーリング キャンペーンの手配

Google サービスによるメーリング キャンペーンの手配

トレーダーは、他のトレーダー、クライアントや友人とのビジネス関係を維持するために、メーリングキャンペーンを手配したい場合があるかもしれません。 その場合、スクリーンショット、ログ、またはレポートを送信する必要がある場合があります。 頻繁に発生するタスクではないかもしれませんが、このような機能があれば明らかに利点となります。 この記事では、複数の Google サービスを同時に使用し、C# で適切なアセンブリを開発し、MQL ツールと統合を取り上げています。
直近のピップのプロフィットダウンを抽出
直近のピップのプロフィットダウンを抽出

直近のピップのプロフィットダウンを抽出

この記事では、アルゴリズムトレード分野における理論と実践を組み合わせる試みについて説明します。 トレーディングシステムの作成に関する考察のほとんどは、ヒストリーバーや適用される様々なインジケータの使用に関連します。 これは最もよくカバーされたフィールドであるため、詳細は考慮しません。 バーは人工的なエンティティを表します。したがって、プロトデータに近い何か、すなわち価格ティックで動作します。
クロスプラットフォームグリッドEAの開発(パートIII):マーチンゲールによる補正ベースのグリッド
クロスプラットフォームグリッドEAの開発(パートIII):マーチンゲールによる補正ベースのグリッド

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

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

クロスプラットフォームグリッドEAの開発(パートII):トレンド方向のレンジベースのグリッド

この記事では、レンジ内のトレンド方向のトレードのグリッドEAを開発します。 したがって、このEAは主に外国為替相場や商品相場に適しています。 今回のテストによると、グリッド戦略は2018年から利益を出しました。 しかし、2014-2018年の期間は残念な結果となりました。
微分とエントロピー解析によるGrokking市場の「記憶」
微分とエントロピー解析によるGrokking市場の「記憶」

微分とエントロピー解析によるGrokking市場の「記憶」

分数階微分は十分に広い範囲で使用されています。例えば、機械学習アルゴリズムには通常微分された級数が入力されます。 問題は、機械学習モデルが認識できるように、利用可能な履歴に従って新しいデータを表示する必要があることです。本稿では、時系列の微分に対する独自のアプローチを検討します。本稿にはさらに、この微分された級数に基づく自己最適化取引システムの例が含まれています。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第8部): 注文およびポジション変更イベント
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第8部): 注文およびポジション変更イベント

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第8部): 注文およびポジション変更イベント

前の記事では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。第7部では、StopLimit注文の発動の追跡を追加し、注文とポジションを含む他のイベントを追跡するための機能を準備しました。本稿では、注文とポジションの変更イベントを追跡するためのクラスを開発します。
ローソク足分析技術の研究(第4部): パターンアナライザーの更新と追加
ローソク足分析技術の研究(第4部): パターンアナライザーの更新と追加

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

本稿では、パターンアナライザーアプリケーションの新しいバージョンについて説明します。このバージョンでは、バグ修正と新機能、そして改訂されたユーザーインターフェイスが提供されています。新しいバージョンを開発するときに、前の記事からのコメントと提案が考慮されました。結果として得られたアプリケーションは、この記事で説明されています。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第7部): StopLimit注文発動イベント、注文およびポジション変更イベント機能の準備
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第7部): StopLimit注文発動イベント、注文およびポジション変更イベント機能の準備

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第7部): StopLimit注文発動イベント、注文およびポジション変更イベント機能の準備

前の記事では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。第6部分では、ネッティング勘定のポジションを扱うようにライブラリを訓練しました。今回は、StopLimit注文の発動の追跡を実装し、注文とポジションの変更イベントを追跡する関数を準備します。
価格速度測定方法
価格速度測定方法

価格速度測定方法

相場調査と相場分析には、複数の異なるアプローチがあります。 主なものには、テクニカルとファンダメンタルがあります。 テクニカル分析では、トレーダーは、価格、ボリュームなど、相場に関連する数値データとパラメータを収集、処理、分析します。 ファンダメンタルズでは、トレーダーは相場に直接的または間接的に影響を与えるイベントやニュースを分析します。 この記事では、価格速度測定方法を扱い、その方法に基づいてトレード戦略を研究します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第5部): ネッティング勘定イベント
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第5部): ネッティング勘定イベント

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第5部): ネッティング勘定イベント

前の記事では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。連載第5回では、取引イベントクラスとイベントコレクションを作成し、イベントをEngineライブラリの基本オブジェクトとコントロールプログラムチャートに送信しました。今回は、ライブラリをネッティング勘定で動作させます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第5部): 取引イベントのクラスとコレクション、プログラムへのイベント送信
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第5部): 取引イベントのクラスとコレクション、プログラムへのイベント送信

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第5部): 取引イベントのクラスとコレクション、プログラムへのイベント送信

前の記事では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。第4部では、口座の取引イベントの追跡をテストしました。本稿では、取引イベントクラスを開発してイベントコレクションに配置します。そこからは、これらはエンジンライブラリの基本オブジェクトとコントロールプログラムチャートに送信されます。
ローソク足分析技術の研究(第3部): パターン操作のライブラリ
ローソク足分析技術の研究(第3部): パターン操作のライブラリ

ローソク足分析技術の研究(第3部): パターン操作のライブラリ

本稿の目的は、カスタムツールを作成して、前述のパターンに関する一連の情報全体を受信して使用できるようにすることです。ユーザが独自の指標、取引パネル、エキスパートアドバイザーなどで使用できるパターン関連関数のライブラリが作成されます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第4部): 取引イベント
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第4部): 取引イベント

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第4部): 取引イベント

前の記事では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。過去の注文と取引のコレクション、成行注文とポジション、そして注文の便利な選択と並び替えのためのクラスはすでに存在します。この記事では、基本オブジェクトの開発を続け、Engineライブラリが口座の取引イベントを追跡できるようにします。
フラクタル指数とハースト指数の財務時系列を予測する能力の評価
フラクタル指数とハースト指数の財務時系列を予測する能力の評価

フラクタル指数とハースト指数の財務時系列を予測する能力の評価

金融データのフラクタル行動の探索に関する研究は、経済時系列の一見混沌とした行動の背後に、参加者の集団行動の隠されたメカニズムがあることを前提にしています。 これらのメカニズムは、価格シリーズの特性を定義することができ、取引所の価格ダイナミクスの出現につながることができます。 これをトレーディングに適用すると、実際に関連するスケールと時間枠のフラクタルパラメータを効率的かつ確実に推定できるインジケータの恩恵を受けることができます。
トレードにおけるOLAPの適用(パート2):インタラクティブな多次元データ分析結果の可視化
トレードにおけるOLAPの適用(パート2):インタラクティブな多次元データ分析結果の可視化

トレードにおけるOLAPの適用(パート2):インタラクティブな多次元データ分析結果の可視化

この記事では、OLAP技術を使用して口座ヒストリーとトレードレポートの処理に設計されたMQLプログラム用のインタラクティブなグラフィカルインタフェースの作成について考察します。 視覚的な結果を得るために、最大化可能でスケーラブルなウィンドウ、ラバーコントロールの適応レイアウト、および図を表示するための新しいコントロールを使用します。 ビジュアライゼーション関数を提供するために、座標軸に沿った変数の選択と、集計関数、ダイアグラムタイプ、並べ替えオプションの選択を含むGUIを実装します。
Net Framework および C# に基づくグラフィカル インターフェイスの開発 (パート 2): その他のグラフィカル要素
Net Framework および C# に基づくグラフィカル インターフェイスの開発 (パート 2): その他のグラフィカル要素

Net Framework および C# に基づくグラフィカル インターフェイスの開発 (パート 2): その他のグラフィカル要素

この記事は、前回の記事".Net Framework と C#に基づいてEAとインジケータのグラフィカルインターフェイスを開発する"のフォローアップです。 グラフィカルインターフェイスを作成するための新しいグラフィカル要素を紹介します。
トレードにおけるOLAPの適用(パート1):多次元データのオンライン分析
トレードにおけるOLAPの適用(パート1):多次元データのオンライン分析

トレードにおけるOLAPの適用(パート1):多次元データのオンライン分析

この記事では、多次元データ(OLAP)のオンライン分析のフレームワークを作成する方法、およびMQLで実装する方法、およびトレード口座ヒストリー処理の例を使用してMetaTrader環境でそのような分析を適用する方法について説明します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第3部)成行注文と取引のコレクション、検索と並び替え
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第3部)成行注文と取引のコレクション、検索と並び替え

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第3部)成行注文と取引のコレクション、検索と並び替え

最初の部分では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。さらに、履歴の注文と取引の収集を実装しました。次のステップは、コレクションリスト内の注文、取引、ポジションの便利な選択と並び替えのためのクラスを作成することです。Engineという基本ライブラリオブジェクトを実装し、成行注文とポジションのコレクションをライブラリに追加します。
ウェブからの債券利回りデータのスクレイピング
ウェブからの債券利回りデータのスクレイピング

ウェブからの債券利回りデータのスクレイピング

EAのパフォーマンスを向上させるために、金利データの収集を自動化します。
MQL5 および MQL4 の選択およびナビゲーション ユーティリティ: チャートへのデータの追加
MQL5 および MQL4 の選択およびナビゲーション ユーティリティ: チャートへのデータの追加

MQL5 および MQL4 の選択およびナビゲーション ユーティリティ: チャートへのデータの追加

この記事では、ユーティリティの機能を拡張します。 今回は、トレードを簡素化するデータを表示する機能を追加します。 特に、前日の高値と安値、ラウンドレベル、年の高値安値、セッション開始時刻などを追加します。
HTMLとCSVレポートに基づいて多通貨トレードヒストリーを可視化する方法
HTMLとCSVレポートに基づいて多通貨トレードヒストリーを可視化する方法

HTMLとCSVレポートに基づいて多通貨トレードヒストリーを可視化する方法

このテーマのイントロダクションをしてから、MetaTrader5は多通貨テストオプションを提供するようになりました。 この可能性は、多くの場合、トレーダーにとって有用です。 しかし、この機能は完璧ではありません。 この記事では、HTML および CSV トレードヒストリーレポートに基づいてチャート上にグラフィカル オブジェクトを描画するためのプログラムを紹介します。 多通貨トレードは、動的切り替えコマンドを使用して、複数のサブウィンドウだけでなく、1つのウィンドウで並行して分析することができます。
f()10分でできるMQL5 のためのDLL (パート II): Visual Studio 2017で作成
f()10分でできるMQL5 のためのDLL (パート II): Visual Studio 2017で作成

f()10分でできるMQL5 のためのDLL (パート II): Visual Studio 2017で作成

元の基本となる記事との関連性は失われていませんが、このトピックに興味がある場合は、まず最初の記事を読んでください。 しかし、前回の記事から時間が経過しているので、現在の Visual Studio 2017 には、更新されたインターフェイスがあります。 また、MetaTrader5プラットフォームにも新しい機能が追加されました。 この記事では、DLLのプロジェクト開発、およびセットアップと MetaTrader5 ツールとのやり取りについて説明します。
テクニカル分析のツールとしてのMTF指標
テクニカル分析のツールとしてのMTF指標

テクニカル分析のツールとしてのMTF指標

私たちのほとんどは、現在の市場の状況を分析するプロセスはチャートの上位期間の見直しから始まるという意見を持ちます。これは、取引をする予定に進むまで起こります。この分析は成功した取引とビジネスへの専門的なアプローチのための条件の一つです。この記事では、複数期間の指標とその作成方法について説明します。MQL5コードの例を示し、各バージョンの長所と短所の一般的な評価を行い、MTFモードを使用した指標への新しいアプローチを提案します。
クロスプラットフォームグラインドEAの開発
クロスプラットフォームグラインドEAの開発

クロスプラットフォームグラインドEAの開発

この記事では、MetaTrader4 と MetaTrader5 の両方で稼働する Expert Advisor (EA) の作成方法を扱います。 そのために、グリッドオーダーを構築するEAを開発していきます。 グラインダーズ(グリッドトレード)は、現在の価格の上に複数の指値オーダーを配置し、同時に現在の価格の下にリミットオーダーを同じ数オーダーするEAです。
CSSセレクタを使用した HTML ページからの構造化データの抽出
CSSセレクタを使用した HTML ページからの構造化データの抽出

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

この記事では、CSS セレクタに基づいて HTML ドキュメントからデータを分析および変換するための汎用的な方法について説明します。 トレードレポート、テスターレポート、お気に入りの経済カレンダー、パブリックシグナル、アカウント監視、その他のオンラインクオートソースは MQL から直接利用可能になります。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第2部)過去の注文と取引のコレクション
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第2部)過去の注文と取引のコレクション

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第2部)過去の注文と取引のコレクション

最初の部分では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。過去の注文と取引、および市場の注文とポジションに関するデータを格納するための基本オブジェクトであるCOrder抽象オブジェクトを作成しました。ここでは、口座履歴データをコレクションに格納するために必要なすべてのオブジェクトを開発します。
ローソク足分析技術の研究(第2部): 新規パターンの自動検索
ローソク足分析技術の研究(第2部): 新規パターンの自動検索

ローソク足分析技術の研究(第2部): 新規パターンの自動検索

前回の記事では、さまざまな既存のローソク足の形成から選択された14のパターンを分析しました。すべてのパターンを1つずつ分析することは不可能であるため、別の解決策を見つけました。新しいシステムは、既知のローソク足タイプに基づいて新しいローソク足パターンを検索してテストします。
MetaTrader5 での MATLAB 2018 計算関数の使用
MetaTrader5 での MATLAB 2018 計算関数の使用

MetaTrader5 での MATLAB 2018 計算関数の使用

2015年にMATLAB パッケージがアップグレードされた後、DLL ライブラリを作成する最新のメソッドを検討する必要がありました。 この記事では、サンプルの予測インジケータを使用して、現代の64ビットバージョンのプラットフォームを使用して MetaTrader5 と MATLAB をリンクするメソッドを説明します。 MATLAB の接続シーケンス全体を考慮することにより、MQL5 開発者は速く高度な計算機能があるアプリケーションを作成し、«落とし穴»を回避することができます。
MQLによるMQLの構文解析
MQLによるMQLの構文解析

MQLによるMQLの構文解析

本稿では、MQLに基づいたソースコードの解析に使用されるプリプロセッサ、スキャナ、パーサについて説明します。MQLの実装が添付されています。
取引における相関の実用化
取引における相関の実用化

取引における相関の実用化

この記事では、数値の相関の概念について説明し、また相関係数の計算方法と取引における実用的な応用について説明します。相関関係とは、2つ以上の確率変数(またはある程度許容できる程度の精度でそのように考えることができる数量)間の統計的関係です。この時、これらの値の1つまたはいくつかの値の変化は、別または他の値の系統的な変化を伴います。
トレード戦略の色の最適化
トレード戦略の色の最適化

トレード戦略の色の最適化

この記事では、ある実験をします。つまり、色の最適化の結果を行います。 色は、赤、緑、青 (RGB) のレベルの3つのパラメータによって決まります。 他にも3つのパラメータを使用した色分け方法があります。 したがって、3つのテストパラメータを1つの色に変換して、値を視覚的に表すことができます。 この記事を読んで、このような表現が役立つかどうかを確認してください。
MetaTrader5 と Python インテグレーション: データの受信と送信
MetaTrader5 と Python インテグレーション: データの受信と送信

MetaTrader5 と Python インテグレーション: データの受信と送信

包括的なデータ処理には広範なツールが必要であり、多くの場合、1つのアプリケーションのサンドボックスの範疇を超えています。 専門のプログラミング言語は、データ、統計、機械学習の処理と分析に使用されます。 データ処理の主要なプログラミング言語の1つは Python です。 この記事では、ソケットを使用して MetaTrader5 と Python を接続する方法、およびターミナル API を介してクオートを受け取る方法について説明します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第1部)概念、データ管理および最初の結果
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第1部)概念、データ管理および最初の結果

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第1部)概念、データ管理および最初の結果

膨大な数の取引戦略やMetaTrader 5およびMetaTrader 4ターミナル用アプリケーションの開発の注文、さまざまなMetaTrader Webサイトを分析しているうちに、私は、このすべての多様性のほとんどが、異なるプログラムで定期的に現れる同じ基本的な機能、行動、および価値観に基づいているという結論に達しました。これにより、МetaТrader5およびМetaТrader4アプリケーションを簡単かつ迅速に開発するためのDoEasyクロスプラットフォームライブラリが完成しました。
アルゴリズムトレードにおける Kohonen ニューラルネットワークの活用 パート II. 最適化と予測
アルゴリズムトレードにおける Kohonen ニューラルネットワークの活用 パート II. 最適化と予測

アルゴリズムトレードにおける Kohonen ニューラルネットワークの活用 パート II. 最適化と予測

Kohonen ネットワークを扱うために設計されたユニバーサルツールに基づいて、最適なEAパラメータを分析して選択するシステムを構築し、時系列の予測を検討します。 第 I 部では、必要なアルゴリズムを追加して、一般に公開されているニューラルネットワーククラスを修正し、改善しました。 今回はこれを実践に応用しましょう。
Net FrameworkとC#に基づくエキスパートアドバイザーと指標のためのグラフィカルインターフェイスの開発
Net FrameworkとC#に基づくエキスパートアドバイザーと指標のためのグラフィカルインターフェイスの開発

Net FrameworkとC#に基づくエキスパートアドバイザーと指標のためのグラフィカルインターフェイスの開発

本稿では、Visual Studioを使用してグラフィカルウィンドウを作成してからエキスパートアドバイザーのMQLコードに統合する簡単で迅速な方法を紹介します。専門家ではないユーザを対象としており、C#および.NETテクノロジに関する知識は必要ありません。
ローソク足分析技術の研究(第1部): 既存パターンの確認
ローソク足分析技術の研究(第1部): 既存パターンの確認

ローソク足分析技術の研究(第1部): 既存パターンの確認

本稿では、よくあるローソク足のパターンを考察し、それが今日の市場で依然として適切で効果的であるかどうかの理解を試みます。ローソク足分析は20年以上前に登場し、それ以来かなり普及しています。日本発祥のローソク足は、多くのトレーダーによって、最も便利で分かりやすい資産価格の視覚化形式だと考えられています。
長期取引戦略の基盤としてのマルチンゲール
長期取引戦略の基盤としてのマルチンゲール

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

本稿では、マルチンゲールシステムについて詳細に検討します。このシステムを取引に適用できるかどうか、またリスクを最小限に抑えるための使用方法が検討されます。この単純なシステムの主な欠点は、預金全体を失う可能性があることです。マルチンゲール技術を使って取引することを決定した場合、この事実は考慮に入れられなければなりません。
ジグザグの力(第二部)データの受け取り、処理、表示の例
ジグザグの力(第二部)データの受け取り、処理、表示の例

ジグザグの力(第二部)データの受け取り、処理、表示の例

本稿の最初の部分では、変更されたジグザグ指標と、そのタイプの指標のデータを受け取るためのクラスについて説明しました。ここでは、これらのツールに基づいて指標を開発する方法を示し、ジグザグ指標によって形成されたシグナルに従って取引を行うことを特徴とするテスト用のEAを作成します。さらに、本稿ではグラフィカルユーザインタフェースを開発するためのEasyAndFastライブラリの新しいバージョンを紹介します。
強化学習におけるモンテカルロ法の応用
強化学習におけるモンテカルロ法の応用

強化学習におけるモンテカルロ法の応用

自己学習を行うEAを作成するためのReinforcement learningの適用。前回の記事では、Random Decision Forestアルゴリズムを学び、Reinforcement learning(強化学習)に基づく簡単な自己学習EAを作成しました。このアプローチの主な利点は、取引アルゴリズムを書くことの単純さと『学習」の高速性でした。強化学習(以下、単にRL)は、どのEAにも簡単に組み込むことができ、最適化のスピードを上げられます。