MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
メタトレーダー5の EA の自動最適化
メタトレーダー5の EA の自動最適化

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

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

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

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

ソーシャルトレーディング収益性の高いシグナルをさらに良くすることはできるでしょうか?

ほとんどのサブスクライバーは、バランス曲線の美しさとサブスクライバーの数で取引シグナルを選択しています。そのため、多くのプロバイダーは今日、シグナルの実際の質よりも、美しい統計により気を配り、多くの場合、トランザクションの量を多くして、人為的にバランス曲線を理想的な形にしています。この記事では、信頼性の基準と、プロバイダーがシグナルの品質を向上させる方法をご紹介します。特定のシグナルの履歴、またプロバイダーがより収益を上げ、リスクを低くするための方法の例をあげていきます。
考えられる.EAをリアルタイムで最適化するためのインジケータの使用法
考えられる.EAをリアルタイムで最適化するためのインジケータの使用法

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

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

特定のディストリビューション法によるカスタムシンボルを用いた時系列モデリング

この記事では、カスタムシンボルを作成および操作するためのターミナルの機能の概要を示し、カスタムシンボル、トレンド、さまざまなチャートパターンを使用してトレードヒストリーをシミュレートするための手法を提供します。
リバーシング: 聖杯や危険な妄想?
リバーシング: 聖杯や危険な妄想?

リバーシング: 聖杯や危険な妄想?

この記事では、リバーシングマーチンゲール技術を研究し、トレード戦略を向上させることができるかどうかということはもちろん、使用する価値があるかどうかを判断します。 ヒストリカルデータを操作し、リバーシングテクニックに最適なインジケータを確認するEAを作成します。 また、独立したトレードシステムとしてのインジケータなしで使用できるかどうかもチェックします。 また、リバーシングが、負けトレードから勝ちトレードに変えられるかを確かめます。
エルダーレイ (ブルパワーとベアパワー)
エルダーレイ (ブルパワーとベアパワー)

エルダーレイ (ブルパワーとベアパワー)

この記事は、ブルパワー、ベアパワー、移動平均インジケータ (EMA-指数平均)に基づいたエルダーレイトレーディングシステムを扱います。 このシステムは、アレキサンダーエルダーの著書"Trading for a Living"に記述されています。
1. テストメソッド1トレンドとレンジ戦略の組み合わせ
1. テストメソッド1トレンドとレンジ戦略の組み合わせ

1. テストメソッド1トレンドとレンジ戦略の組み合わせ

トレード戦略には多くのものがあります。 トレードのために、ある戦略はトレンドを探し、またある戦略はレンジ価格変動の範囲を定義します。 この2つのアプローチを組み合わせて収益性を高めることは可能でしょうか。
データ配列間の相関を解析するためのCGraphicに基づくPairPlot グラフ (時系列)
データ配列間の相関を解析するためのCGraphicに基づくPairPlot グラフ (時系列)

データ配列間の相関を解析するためのCGraphicに基づくPairPlot グラフ (時系列)

テクニカル分析に複数の時系列を比較することは、適切なツールを必要としますが一般的なタスクです。 この記事では、グラフィカル解析のツールを開発し、2つ以上の時系列間の相関関係を検出します。
デルタインジケータの例によるボリュームコントロールを特徴とする株式インジケータの開発
デルタインジケータの例によるボリュームコントロールを特徴とする株式インジケータの開発

デルタインジケータの例によるボリュームコントロールを特徴とする株式インジケータの開発

この記事では、CopyTicks() および CopyTicksRange() 関数を使用して、実際のボリュームに基づいた株価インジケータを開発するアルゴリズムを扱います。 このようなインジケータの開発については、リアルタイムでの操作とストラテジーテスターにおける細かい側面も説明されています。
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に適しています。
同時に2方向で機能するためのユニバーサル RSI インジケータ
同時に2方向で機能するためのユニバーサル RSI インジケータ

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

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

トレード履歴のカスタム表示とレポート図の作成

この記事では、トレード履歴を評価するためのカスタム・メソッドについて説明します。 2つのクラスが、ヒストリーを分析するために書かれ、ダウンロード可能です。 最初のトレード履歴を収集し、要約表として表します。 2番目は、統計情報を扱います。: 変数を計算し、トレード結果のより効率的な評価チャートを構築します。
10のレンジトレーディング戦略の比較分析
10のレンジトレーディング戦略の比較分析

10のレンジトレーディング戦略の比較分析

この記事はレンジ期間のトレードにおける利点および欠点について調査します。 この記事で作成およびテストされた10の戦略は、チャネル内の価格変動の追跡に基づいています。 各戦略は、ダマシの相場参入シグナルを回避することを目的としたフィルタリング機構を備えています。
MQL5.comフリーランスサービスが注文50,000件を達成
MQL5.comフリーランスサービスが注文50,000件を達成

MQL5.comフリーランスサービスが注文50,000件を達成

公式のMetaTraderフリーランスサービスのメンバー受注完了数が2018年10月に50,000件に達しました。これは、MQLプログラマー向けの世界最大のフリーランスサイトです。サイトには1,000人以上の開発者が登録しており、新規注文は毎日数十件を超えます。サイトは7ヶ国語に訳されています。
950のウェブサイトがメタクオーツの経済指標カレンダーをブロードキャスト
950のウェブサイトがメタクオーツの経済指標カレンダーをブロードキャスト

950のウェブサイトがメタクオーツの経済指標カレンダーをブロードキャスト

このウィジェットによって、ウェブサイトには世界最大経済の500の指標と指数の詳細なリリーススケジュールが提供され、トレーダーは、ウェブサイトのメインコンテンツに加えて、説明やグラフとともに、重要なイベントの最新情報をすばやく受け取ることができます。
通貨ペアパターンのテスト: 実用的なアプリケーションと実際のトレードの視点 第4部
通貨ペアパターンのテスト: 実用的なアプリケーションと実際のトレードの視点 第4部

通貨ペアパターンのテスト: 実用的なアプリケーションと実際のトレードの視点 第4部

この記事では、トレーディング通貨ペアバスケットのシリーズに結論付けを行います。 ここでは、残りのパターンをテストし、実際のトレードでの適用について説明します。 相場におけるエントリーと決済、パターンを分析し、複合インジケータの使用を考察します。
14,000自動売買ロボットがMetaTraderマーケットに
14,000自動売買ロボットがMetaTraderマーケットに

14,000自動売買ロボットがMetaTraderマーケットに

最大級のアルゴリズム取引既成アプリストアでは13,970件の製品があります。これには4,800件のロボット、6,500件の指標、2,400件のユーティリティその他のソルーションが含まれます。半分以上のアプリケーション (6,000) はレンタルもできます。全製品の4分の1(3,800)は無料でダウンロードできます。
ディープニューラルネットワーク(その4)ニューラルネットワーク分類器のアンサンブル: バギング
ディープニューラルネットワーク(その4)ニューラルネットワーク分類器のアンサンブル: バギング

ディープニューラルネットワーク(その4)ニューラルネットワーク分類器のアンサンブル: バギング

本稿では、バギング構造を持つニューラルネットワークのアンサンブルを構築および訓練する方法について説明します。また、アンサンブルを構成する個々のニューラルネットワーク分類器の超パラメータ最適化の特性も特定されます。このシリーズの前の記事で得られた最適化ニューラルネットワークの品質は、作成されたニューラルネットワークのアンサンブルの品質と比較されます。アンサンブルの分類の質をさらに向上させる可能性が考慮されます。
取引口座モニタリングは不可欠なトレーダーツールです。
取引口座モニタリングは不可欠なトレーダーツールです。

取引口座モニタリングは不可欠なトレーダーツールです。

取引口座モニタリングでは、完了したすべての取引に関する詳細なレポートが提供されます。すべての取引統計は自動的に収集され、わかりやすい図やグラフとして提供されます。
強化学習におけるランダム決定フォレスト
強化学習におけるランダム決定フォレスト

強化学習におけるランダム決定フォレスト

バギングを使用するランダムフォレスト(RF)は最も強力な機械学習方法の1つですが、グラジエントブースティングには若干劣ります。本稿では、市場との相互作用から得られた経験に基づいて意思決定を行う自己学習型取引システムの開発を試みます。
トレードロボットをオーダーするための要件定義を作成する方法
トレードロボットをオーダーするための要件定義を作成する方法

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

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

ビジュアルストラテジービルダー。 プログラミングなしでトレーディングロボットを作成する

この記事では、ビジュアルストラテジービルダーを紹介します。 ユーザーがプログラミングせずにトレードロボットやユーティリティを作成する方法について紹介します。 作成されたEAは、完全に機能し、ストラテジーテスターでテストすることができます。また、クラウドで最適化またはリアルタイムチャートでライブ実行することも可能です。
グラフィカルインターフェイスを備えたエキスパートアドバイザ : 機能の設定(第2部)
グラフィカルインターフェイスを備えたエキスパートアドバイザ : 機能の設定(第2部)

グラフィカルインターフェイスを備えたエキスパートアドバイザ : 機能の設定(第2部)

これは手動取引のためのマルチシンボルシグナルエキスパートアドバイザーの作成に関する記事の第2部です。私たちはすでにグラフィカルインターフェースを作成しました。この記事では、インターフェースとプログラムの機能を融合させる方法について説明します。
モンテカルロ法を適用したトレーディング戦略の最適化
モンテカルロ法を適用したトレーディング戦略の最適化

モンテカルロ法を適用したトレーディング戦略の最適化

トレード口座でロボットを起動する前に、通常はテストを行い、ヒストリー上で最適化します。 しかし、ここで合理的な質問が発生します: 過去の結果は、未来で役に立つだろうか。 この記事では、モンテカルロ法を適用してトレード戦略の最適化のカスタム基準を構築するメソッドについて説明します。 さらに、EA の安定性基準を考慮します。
グラフィカルインタフェ-スを備えたエキスパ-トアドバイザ:パネルの作成(第1部)
グラフィカルインタフェ-スを備えたエキスパ-トアドバイザ:パネルの作成(第1部)

グラフィカルインタフェ-スを備えたエキスパ-トアドバイザ:パネルの作成(第1部)

多くのトレーダーが依然として手作業を好むという事実にもかかわらず、ここではルーティンで行う作業の自動化を完全に避けることはできないでしょう。この記事では、手動取引のためのマルチシンボルシグナルエキスパートアドバイザーの作成例を示します。
マルチモジュールEAの作成
マルチモジュールEAの作成

マルチモジュールEAの作成

MQLプログラミング言語によって、取引戦略のモジュール設計の概念を実装することができます。この記事では、別々にコンパイルされたファイルモジュールからなるマルチモジュールEAの作成例をご紹介します。
任意のインジケータの計算部分をEAのコードに転送する方法
任意のインジケータの計算部分をEAのコードに転送する方法

任意のインジケータの計算部分をEAのコードに転送する方法

インジケータコードをEAに転送する理由は様々です。しかし、このアプローチの長所と短所はどのように評価するべきでしょうか?この記事では、インジケータコードをEAに転送する技術をご紹介します。EAの動作スピードを評価するためにいくつかの実験を行いました。
パネルを改善してみましょう(CAppDialog / CWndClientからの継承、背景の色の変更、透明性の追加)
パネルを改善してみましょう(CAppDialog / CWndClientからの継承、背景の色の変更、透明性の追加)

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

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

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

トレードシグナルサービスは、飛躍的に発展しています。シグナルプロバイダーに自分の資金を任せつつも、デポジットを失うリスクは最小限にしたいものです。このトレードシグナルについて理解するにはどうればいいのでしょうか?また利益を得ることができるシグナルを見つけるにはどうしたらいいのでしょうか?この記事では、チャート上でトレードシグナルを視覚的に分析する為のツールを作成する方法をご紹介します。
選択した基準による最適化結果の可視化
選択した基準による最適化結果の可視化

選択した基準による最適化結果の可視化

この記事では、前回の記事で始まった最適化結果を扱うMQLアプリケーションの開発を続けます。今回は、グラフィカルインターフェースを介して、別の基準を指定してパラメーターを最適化した後、最良の結果の表を作成する例をご紹介します。
ZUP-Pesavento パターンと普遍的なジグザグ。 パターンの検索
ZUP-Pesavento パターンと普遍的なジグザグ。 パターンの検索

ZUP-Pesavento パターンと普遍的なジグザグ。 パターンの検索

ZUP インジケータープラットフォームでは、既に設定されている複数の既知のパターンを検索できます。 これらのパラメータは、要件に合わせて編集できます。 また、ZUP グラフィカルインターフェイスを使用して新しいパターンを作成し、そのパラメータをファイルに保存することもできます。 その後、 新しいパターンがチャート上で見つけることができるかどうか、すぐにチェックすることができます。
1つのツールで複数のチャートを異なる時間枠で同期させる
1つのツールで複数のチャートを異なる時間枠で同期させる

1つのツールで複数のチャートを異なる時間枠で同期させる

取引の決定を行う際に、取引の過程で複数の時間枠でチャートを同時に分析する必要があることが多々あります。また、チャート上にはグラフィック分析のオブジェクトがあるため、すべてのチャートに同じオブジェクトを適用するのは不便です。この記事では、チャート上のオブジェクトの複製の自動化をご紹介したいと思います。
MetaTrader 5での複数銘柄残高グラフ
MetaTrader 5での複数銘柄残高グラフ

MetaTrader 5での複数銘柄残高グラフ

本稿では、グラフィカルインターフェイスに最後のテスト結果に基づいた複数銘柄の残高グラフと預金損失率グラフを備えたMQLアプリケーションの例を示します。
preview
任意の複雑さのレベルのグラフィカルなパネルを作成する方法

任意の複雑さのレベルのグラフィカルなパネルを作成する方法

この記事では、CAppDialog クラスに基づいてパネルを作成する方法と、パネルにコントロールを追加する方法について詳しく説明します。 パネルの構造とオブジェクトの継承を示すスキームを提供します。 この記事では、イベントの処理方法、および依存コントロールへの配信方法についても説明します。 その他の例では、サイズや背景色などのパネルパラメータを編集する方法を示します。
グラフィカルインタフェースを通して最適化の結果を処理する
グラフィカルインタフェースを通して最適化の結果を処理する

グラフィカルインタフェースを通して最適化の結果を処理する

最適化結果の分析と処理についての話を展開していきます。今回の課題は、100の最良の最適化結果を選択し、それらをグラフィカルインタフェースの表に表示することです。ユーザーが最適化結果の表で列を選択しつつ、残高とドローダウンのマルチシンボルのグラフを別々に入手できるようにします。
オシレーターでZig Zagインジケータ - を作成してみましょう。技術課題の実施例
オシレーターでZig Zagインジケータ - を作成してみましょう。技術課題の実施例

オシレーターでZig Zagインジケータ - を作成してみましょう。技術課題の実施例

この記事では、「インジケーターの開発を依頼するための要件定義を作成する方法」の記事で書いた課題例のうちの1つである、ZigZagインジケーターの作成をデモンストレーションします。インジケーターは、オシレーターによって決められる極値に基づいて作成されます。インジケーターには、WPR、CCI、Chaikin、RSI、Stochastic Oscillatorの5つのオシレーターの中から1つを選んで使用することができます。
自己キャッシング指標の速度比較
自己キャッシング指標の速度比較

自己キャッシング指標の速度比較

本稿では、MQL5指標への古典的なアクセスと、代替のMQL4形式のアクセス法を比較します。指標へのMQL4形式のアクセスについては何種類かが考慮されます。MQL5コア内の指標ハンドルも考慮して分析されます。
ディープニューラルネットワーク(その5)DNNハイパーパラメータのベイズ最適化
ディープニューラルネットワーク(その5)DNNハイパーパラメータのベイズ最適化

ディープニューラルネットワーク(その5)DNNハイパーパラメータのベイズ最適化

本稿では、様々な訓練の変形によって得られたディープニューラルネットワークのハイパーパラメータにベイズ最適化を適用する可能性について検討します。様々な訓練の変形における最適なハイパーパラメータを有するDNNの分類の質が比較されます。DNN最適ハイパーパラメータの有効性の深さは、フォワードテストで確認されています。分類の質を向上させるための方向性が特定されています。
トレーダーのハック: 定義と ForEach のブレンド (#define)
トレーダーのハック: 定義と ForEach のブレンド (#define)

トレーダーのハック: 定義と ForEach のブレンド (#define)

この記事は、現在MQL4でコーディングしていて、MQL5に切り替えたいとは思っていない人のためのものです。 今回はMQL4のスタイルでコードを書く方法を模索していきます。 #define プリプロセッサのマクロ置換を見ていきます。