MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
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にも簡単に組み込むことができ、最適化のスピードを上げられます。
ジグザグの力(第一部)指標基本クラスの開発
ジグザグの力(第一部)指標基本クラスの開発

ジグザグの力(第一部)指標基本クラスの開発

多くの研究者は、価格行動の決定に十分な注意を払っていません。同時に、機械学習やニューラルネットワークなどの複雑な方法が使用されます。その場合に生じる最も重要な質問は、特定のモデルを訓練するためにどのデータを供するべきかということです。
MеtaTrader 5 チャート上の水平図
MеtaTrader 5 チャート上の水平図

MеtaTrader 5 チャート上の水平図

水平方向の図は、ターミナルのチャート上で一般的ではありませんが、使用することができます。例えば、特定の期間のボリュームや価格分布を表示するインジケータを開発するとき、様々なマーケットデプスのバージョンを作成するときなどです。 この記事では、グラフィカルなプリミティブの配列としての水平ダイアグラムの構築と管理を検討します。
MQL5 と MQL4 の選択とナビゲーションユーティリティ: パターンの自動検索の追加と検出されたシンボルの表示
MQL5 と MQL4 の選択とナビゲーションユーティリティ: パターンの自動検索の追加と検出されたシンボルの表示

MQL5 と MQL4 の選択とナビゲーションユーティリティ: パターンの自動検索の追加と検出されたシンボルの表示

この記事では、シンボルを収集してナビゲートするためのユーティリティの機能を拡張していきます。 今回は、必要なパラメータの一部を満たすシンボルのみを表示する新しいタブを作成し、必要な並べ替えルールを持つカスタムタブを追加する方法を見つけます。
HTML レポートを使用したトレード結果の分析
HTML レポートを使用したトレード結果の分析

HTML レポートを使用したトレード結果の分析

MetaTrader5 プラットフォームには、トレーディングレポートを保存する機能のほか、EAのテストと最適化レポートがあります。 最適化レポートは XML で保存することができますが、トレードとテストのレポートは、XLSX と HTML の2つの形式で保存することができます。 この記事では、html テストレポート、XML 最適化レポート、および html トレードヒストリーレポートについて説明します。
アルゴリズムトレードにおける Kohonen ニューラルネットワークの実用的利用 パートI ツール
アルゴリズムトレードにおける Kohonen ニューラルネットワークの実用的利用 パートI ツール

アルゴリズムトレードにおける Kohonen ニューラルネットワークの実用的利用 パートI ツール

本稿では、MetaTrader5 で Kohonen マップを使用します。 改善および拡張されたクラスは、アプリケーションタスクを解決するためのツールになります。
トレンドとフラットの戦略を個別に最適化する
トレンドとフラットの戦略を個別に最適化する

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

この記事では、さまざまな市場条件に対して個別に最適化する方法について説明しています。個別最適化とは、上昇トレンドと下降トレンドを別々に最適化して取引システムの最適なパラメータを決定することです。誤ったシグナルの影響を減らして収益性を向上させるために、システムは柔軟に作られています。つまり、市場の動きは常に変化を伴う為、システムには特定の設定や入力データのセットがあります。
MQL5 と MQL4 の選択とナビゲーションユーティリティ: 「ホームワーク」タブの追加とグラフィックオブジェクトの保存
MQL5 と MQL4 の選択とナビゲーションユーティリティ: 「ホームワーク」タブの追加とグラフィックオブジェクトの保存

MQL5 と MQL4 の選択とナビゲーションユーティリティ: 「ホームワーク」タブの追加とグラフィックオブジェクトの保存

この記事では、必要なシンボルを選択するためのタブを追加することで、以前に作成されたユーティリティの関数を拡張していきます。 また、特定のシンボルチャートで作成したグラフィカルオブジェクトを保存する方法についても説明します。 また、特定のウェブサイトを使用して事前に選択されたシンボルだけで機能する方法を提案します。
MetaTrader5でカスタム MOEX シンボルを作成およびテストする方法
MetaTrader5でカスタム MOEX シンボルを作成およびテストする方法

MetaTrader5でカスタム MOEX シンボルを作成およびテストする方法

この記事では、MQL5 言語を使用したカスタム交換シンボルの作成について説明します。 特に、人気の Finam ウェブサイトからの為替相場を使用します。 この記事で考えられるもう1つのオプションは、カスタムシンボルの作成に使用するテキストファイルを任意の形式で動作させる方法です。 これにより、任意の財務銘柄とデータソースを操作できるようになります。 カスタムシンボルを作成した後、MetaTrader5 ストラテジーテスターのすべての関数を使用して、交換ツールのトレードアルゴリズムをテストすることができます。
確率をトレードギャップに適用する
確率をトレードギャップに適用する

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

この記事では、トレード戦略の作成とテストに確率と数学的統計手法を適用します。 また、価格とランダムウォークの差を使用して、最適なトレードリスクを探します。 価格がゼロドリフトランダムウォークのように振る舞うならば、収益性の高いトレードは不可能であることが証明されています。
MQL5 と MQL4 でのシンボル選択とナビゲーションユーティリティの開発
MQL5 と MQL4 でのシンボル選択とナビゲーションユーティリティの開発

MQL5 と MQL4 でのシンボル選択とナビゲーションユーティリティの開発

経験豊富なトレーダーが認識している事実として、トレードにおいて最も時間のかかるものはポジションを開いたり追跡したりするのではなく、シンボルを選択してインプットポイントを探すことというものがあります。 この記事では、ブローカーが提供するトレード商品のインプットポイントの検索を簡素化するEAを開発します。
ピボット・パターン:『ヘッドアンドショルダー』パターンのテスト
ピボット・パターン:『ヘッドアンドショルダー』パターンのテスト

ピボット・パターン:『ヘッドアンドショルダー』パターンのテスト

この記事は、前回のピボット・パターン:『ダブルトップ・ダブルボトム』パターンのテストの論理的な続編になります。ここでもう一つのよく知られている『ヘッドアンドショルダー』の反転パターンを検討し、2つのパターンの取引パフォーマンスを比較し、2つのパターンの取引を1つの取引システムに組み合わせてみたいと思います。
OpenCL を使用したローソク足パターンのテスト
OpenCL を使用したローソク足パターンのテスト

OpenCL を使用したローソク足パターンのテスト

この記事では、OpenCL ローソク足パターンテスターを "1 分 OHLC " モードで実装するアルゴリズムについて説明します。 また、高速かつ低速の最適化モードで起動したビルトインストラテジーテスターとの速度を比較します。
DIY マルチスレッド非同期 MQL5 WebRequest
DIY マルチスレッド非同期 MQL5 WebRequest

DIY マルチスレッド非同期 MQL5 WebRequest

この記事では、MQL5 での HTTPリクエストの処理効率を高めることができるライブラリについて説明します。 非ブロッキングモードでの WebRequest の実行は、補助チャートとEAを使用してカスタムイベントを交換し、共有リソースを読み取る追加のスレッドで実装されます。 ソースコードも同様に適用されます。
リバーシング: エントリポイントを形式化し、裁量トレードアルゴリズムを開発する
リバーシング: エントリポイントを形式化し、裁量トレードアルゴリズムを開発する

リバーシング: エントリポイントを形式化し、裁量トレードアルゴリズムを開発する

これは、リバーシングトレード戦略のシリーズの最新の記事です。 ここでは、以前の記事で不安定なテスト結果を引き起こした問題を解決します。 また、リバーシング戦略を使用して、任意の相場で裁量トレードの独自のアルゴリズムを開発し、それをテストします。
リバーシング: 最大ドローダウンの削減と他の相場のテスト
リバーシング: 最大ドローダウンの削減と他の相場のテスト

リバーシング: 最大ドローダウンの削減と他の相場のテスト

この記事では、リバーシング(反転)技術について扱います。 以前に考慮されたツールの許容レベルまで最大残高ドローダウンを削減します。 利益を減少させるかどうかを確認します。 また、株式、コモディティ、インデックス、ETF、農業相場など、他の相場でのリバース方式の実行方法も確認します。 注意として、この記事には多くの画像が含まれています!
上位100件の最適化パス(その1)最適化分析器の開発
上位100件の最適化パス(その1)最適化分析器の開発

上位100件の最適化パス(その1)最適化分析器の開発

本稿では、最適な最適化パスを選択するためのアプリケーションの開発について、いくつかのオプションを使用して説明します。 このアプリケーションは、様々な要因によって最適化結果を分類することができます。最適化パスは常にデータベースに書き込まれるため、再び最適化せずに常に新しいロボットパラメータを選択できます。さらに、すべての最適化パスを1つのチャートで表示し、パラメトリックVaR比を計算し、パスの正規分布と特定の比率セットの取引結果のグラフを作成することができます。さらに、いくつかの計算された比率のグラフは、最適化開始から(または選択された日付から別の選択された日付まで)動的に構築されます。
EAの元のコードを変更することなく、テイクプロフィットの代わりにリミットオーダーを使用する
EAの元のコードを変更することなく、テイクプロフィットの代わりにリミットオーダーを使用する

EAの元のコードを変更することなく、テイクプロフィットの代わりにリミットオーダーを使用する

テイクプロフィットによる決済ではなく、リミットオーダーを使用した決済方法は、フォーラムでも長い間議論の対象でした。 このアプローチの利点は一体何であり、どのようにしてトレードで実現できるでしょうか。 この記事では、このトピックのビジョンを提供します。
ピボット・パターン:『ダブルトップ・ダブルボトム』パターンのテスト
ピボット・パターン:『ダブルトップ・ダブルボトム』パターンのテスト

ピボット・パターン:『ダブルトップ・ダブルボトム』パターンのテスト

トレーディングの実践において、トレーダーはしばしば、トレンドの傾向の逆転のポイントを探します。なぜなら、トレンドが生まれたときに、その価格が最も大きな変動の可能性を秘めているからです。そのため、技術分析の実践において、様々な反転パターンが考慮されます。最も有名で頻繁に使用されるパターンの1つはダブルトップ・ダブルボトムです。この記事では、パターンの自動検出の例を提案し、またその履歴データに対する収益性をテストします。
運動継続モデル-チャート上での検索と実行統計
運動継続モデル-チャート上での検索と実行統計

運動継続モデル-チャート上での検索と実行統計

この記事では、運動継続モデルの1つをプログラムによって定義します。 この主なアイデアは、2つの波の定義です(メインと補正) 極値点については、フラクタルだけでなく、 "潜在的な " フラクタル-まだフラクタルとして形成されていない極値点を適用します。
ギャップ ー 収入戦略か50/50か?
ギャップ ー 収入戦略か50/50か?

ギャップ ー 収入戦略か50/50か?

ギャップ現象の研究とは、前の時間枠の終値と次の時間の終値との間の有意差の状況や、日々のバーの向かう方向を分析することです。関数GetOpenFileNameのDLLシステムを使用します。
EAのリモートコントロールの方法
EAのリモートコントロールの方法

EAのリモートコントロールの方法

トレーディングロボットの主な利点は、リモートの VPS サーバー上で24時間動作できることです。 しかし、時にはサーバーに直接アクセスすることができず、タスクに介入する必要があります。 EAをリモートで管理することは可能でしょうか。 この記事では、外部コマンドを使用してEAを制御するオプションの1つを提案します。
ディープニューラルネットワーク(その7)ニューラルネットワークのアンサンブル: スタッキング
ディープニューラルネットワーク(その7)ニューラルネットワークのアンサンブル: スタッキング

ディープニューラルネットワーク(その7)ニューラルネットワークのアンサンブル: スタッキング

アンサンブルの構築を続けます。今回は、以前に作成したバギングアンサンブルに、訓練可能な結合器、つまりディープニューラルネットワークが追加されます。ニューラルネットワークの1つは、刈り込み後に7つの最良アンサンブル出力を組み合わせます。2つ目はアンサンブルの500個の出力をすべて入力として取り込み、刈り込んで結合します。ニューラルネットワークは、Python用のKeras/TensorFlowパッケージを使用して構築されます。このパッケージの特徴には簡単に触れます。テストが実行されて、バギングアンサンブルとスタッキングアンサンブルの分類品質が比較されます。
ディープニューラルネットワーク(その8)バギングアンサンブルの分類品質の向上
ディープニューラルネットワーク(その8)バギングアンサンブルの分類品質の向上

ディープニューラルネットワーク(その8)バギングアンサンブルの分類品質の向上

本稿では、バギングアンサンブルの分類品質を高めるために使用できる3つの方法を検討し、その効率を評価します。ELMニューラルネットワークのハイパーパラメータと後処理パラメータの最適化の効果が評価されます。
メタトレーダー5の EA の自動最適化
メタトレーダー5の EA の自動最適化

メタトレーダー5の EA の自動最適化

この記事では、MetaTrader5での自己最適化メカニズムの実装について説明します。
MQL5レシピ - オープンヘッジポジションのプロパティを取得しましょう
MQL5レシピ - オープンヘッジポジションのプロパティを取得しましょう

MQL5レシピ - オープンヘッジポジションのプロパティを取得しましょう

MetaTrader 5プラットフォームでは、マルチマーケットだけでなく、さまざまなポジション計算システムの使用も可能です。このような機能は、取引アイデアの実装と形式化のためのツールを大幅に拡大します。この記事では、ポジションが独立してカウントされたとき(『ヘッジ』)のポジションのプロパティの処理と考慮の方法について説明します。派生クラスの提案と、ヘッジポジションのプロパティの処理と取得の例を提示します。