MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
モスクワ証券取引所で取引をする際の、EAの安全性について
モスクワ証券取引所で取引をする際の、EAの安全性について

モスクワ証券取引所で取引をする際の、EAの安全性について

この記事では、トレード執行時の安全性を確保する手法について考察します。例として、モスクワ証券取引所における低流動性の株式を扱います。この方法は、"モスクワ証券取引所の例によるトレードの原則"による、実践的なアプローチとなります。
トレーディングアルゴリズム開発への科学的アプローチ
トレーディングアルゴリズム開発への科学的アプローチ

トレーディングアルゴリズム開発への科学的アプローチ

この記事では、一貫した科学的アプローチを用いて価格パターンを分析し、それに基づいてトレードアルゴリズムを構築するという、トレードアルゴリズムを開発するための方法論を考察します。 開発の理想を事例を用いて示します。
カスタムグラフィックコントロール パート3. フォーム
カスタムグラフィックコントロール パート3. フォーム

カスタムグラフィックコントロール パート3. フォーム

この記事はグラフィックコントロールに関する3つの記事の最後になります。代表的なグラフィカルインターフェースである、フォームの作成や、他のコントロールとの併用の仕方についても紹介します。コントロールライブラリーにはFormクラスの他に、CFrame、CButton、CLabelといったクラスが加えられました。
選択した基準による最適化結果の可視化
選択した基準による最適化結果の可視化

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

この記事では、前回の記事で始まった最適化結果を扱うMQLアプリケーションの開発を続けます。今回は、グラフィカルインターフェースを介して、別の基準を指定してパラメーターを最適化した後、最良の結果の表を作成する例をご紹介します。
DoEasyライブラリの時系列(第38部): 時系列コレクション-リアルタイムの更新とプログラムからのデータへのアクセス
DoEasyライブラリの時系列(第38部): 時系列コレクション-リアルタイムの更新とプログラムからのデータへのアクセス

DoEasyライブラリの時系列(第38部): 時系列コレクション-リアルタイムの更新とプログラムからのデータへのアクセス

本稿では、時系列データのリアルタイム更新と、すべての銘柄のすべての時系列から「新しいバー」イベントに関するメッセージを制御プログラムチャートに送信し、カスタムプログラムでこれらのイベントを処理する機能について検討します。「新しいティック」クラスは、現在以外のチャート銘柄と期間の時系列を更新する必要性を判断するために使用されます。
preview
MQL5のインタラクティブGUIで取引チャートを改善する(第3回):シンプルで移動可能な取引GUI

MQL5のインタラクティブGUIで取引チャートを改善する(第3回):シンプルで移動可能な取引GUI

本連載第3回では、MQL5の移動可能な取引ダッシュボードへのインタラクティブGUIの統合について紹介します。この記事は、第1回と第2回で設定された基礎の上に構築され、静的な取引ダッシュボードを動的で移動可能なものに変えるよう読者を導きます。
グラフィカルインタフェースVII: テーブルコントロール(チャプター 1)
グラフィカルインタフェースVII: テーブルコントロール(チャプター 1)

グラフィカルインタフェースVII: テーブルコントロール(チャプター 1)

MetaTraderグラフィカルインタフェースに関するシリーズの第七部では、テキストラベル、エディットボックスとレンダーボックスの3つのテーブルタイプについてお話します。後1つの重要かつ頻繁に使用されるコントロールはタブで、これは、他のコントロールのグループを表示/非表示してMQLアプリケーション内でスペースを有効に使ったインタフェースを開発することを可能にします。
preview
多層パーセプトロンとバックプロパゲーションアルゴリズム

多層パーセプトロンとバックプロパゲーションアルゴリズム

これら2つの手法の人気が高まり、Matlab、R、Python、C ++などで多くのライブラリが開発されています。これらのライブラリは、入力として訓練セットを受け取り、問題に適切なネットワークを自動的に作成します。基本的なニューラルネットワークタイプ(単一ニューロンパーセプトロンと多層パーセプトロンを含む)がどのように機能するかを理解してみましょう。ネットワークを訓練するためのエキサイティングなアルゴリズムである勾配降下法とバックプロパゲーションについて検討します。既存の複雑なモデルは、多くの場合、このような単純なネットワークモデルに基づいています。
通貨バスケットをトレードするときに利用可能なパターン。 パート2
通貨バスケットをトレードするときに利用可能なパターン。 パート2

通貨バスケットをトレードするときに利用可能なパターン。 パート2

通貨バスケットのパターンの議論を続けてきました。 このパートでは、複合トレンドインジケーターを用いた場合に形成されるパターンについて考察します。 通貨インデックスに基づくインジケーターは、分析ツールとして使用されます。
一連の指標シグナルに対する単純ベイズ分類器
一連の指標シグナルに対する単純ベイズ分類器

一連の指標シグナルに対する単純ベイズ分類器

本稿では、複数の独立した指標からのシグナルを使用して取引システムの信頼性を向上させるベイズの公式の適用を分析します。理論計算は、任意の指標で動作するように構成された単純な汎用EAで検証されます。
ネットワーク関数の適用、または.dll を使用しない MySQL: パート I - コネクタ
ネットワーク関数の適用、または.dll を使用しない MySQL: パート I - コネクタ

ネットワーク関数の適用、または.dll を使用しない MySQL: パート I - コネクタ

MetaTrader5は最近ネットワーク機能を実装しました。 これはMarket向けのプロダクトを開発するプログラマに大きな可能性を提示しました。 これにより、以前は動的ライブラリが必要なものを実装できるようになりました。 この記事では、MySQL の実装を例として使用することを検討します。
preview
最適化結果の視覚的評価

最適化結果の視覚的評価

この記事では、すべての最適化パスのグラフを作成する方法と、最適なカスタム基準を選択する方法について検討します。また、Webサイトに公開されている記事とフォーラムのコメントを使用して、MQL5の知識がほとんどない状態で目的のソリューションを作成する方法についても説明します。
preview
MQL5入門(第1部):アルゴリズム取引入門ガイド

MQL5入門(第1部):アルゴリズム取引入門ガイド

この初心者向けMQL5プログラミングガイドで、魅力的なアルゴリズム取引の世界へ飛び込みましょう。MetaTrader 5を動かす言語であるMQL5のエッセンスを発見し、自動売買の世界を解明します。基本を理解することからコーディングの第一歩を踏み出すことまで、この記事はプログラミングの知識がなくてもアルゴリズム取引の可能性を解き放つ鍵となります。MQL5のエキサイティングな宇宙で、一緒に、シンプルさと洗練が出会う旅に出ましょう。
追加バッファなしの中間計算用物価系列の平均化
追加バッファなしの中間計算用物価系列の平均化

追加バッファなしの中間計算用物価系列の平均化

本稿は、もっともシンプルでシングルタイプのクラスに搭載された、従来のまた独自の平均化アルゴリズムを数々取り上げます。それらはほとんどすべてといってよいほどインディケータの開発に汎用的に使用されます。提案するクラスが、カスタムインディケータおよびテクニカルインディケータの「大量」呼び出しに対する有効な代替手段になればよいと思っています。
エントリを指標によって分類する技術を用いた新たな取引戦略の作成
エントリを指標によって分類する技術を用いた新たな取引戦略の作成

エントリを指標によって分類する技術を用いた新たな取引戦略の作成

本稿では、個々の指標セットを組み立てることでカスタム取引戦略を作成するとともに、カスタム市場エントリシグナルを開発する技術を提案します。
MQL5クックブック - MQL5での未決注文の取り扱いとマルチカレンシーエキスパートアドバイザー
MQL5クックブック - MQL5での未決注文の取り扱いとマルチカレンシーエキスパートアドバイザー

MQL5クックブック - MQL5での未決注文の取り扱いとマルチカレンシーエキスパートアドバイザー

今回は、指値売り、逆指値売りなど未決注文に基づくトレーディングアルゴリズムを持つマルチカレンシーエキスパートアドバイザーを作成していきます。この記事は、以下を紹介します:特定の時間半位におけるトレーディング、未決注文の実行・修正・削除、最後のポジションが利取りや損切りにて閉じられたかのチェック、各シンボルにおける取引の履歴の管理などです。
MQLプログラムのグラフィカルインターフェイスのマークアップツールとしてのMQL 第2部
MQLプログラムのグラフィカルインターフェイスのマークアップツールとしてのMQL 第2部

MQLプログラムのグラフィカルインターフェイスのマークアップツールとしてのMQL 第2部

本論文では、MQLプログラムのウィンドウインタフェースを記述するための新しい概念をMQLの構造体を用いて確認します。 MQLマークアップに基づいてGUIを自動的に作成することで、要素をキャッシュして動的に生成したり、イベントを処理するためのスタイルや新しいスキームを制御したりする関数が追加されます。 標準のコントロールライブラリの強化版が添付されています。
トレードロボットのプロトタイプ
トレードロボットのプロトタイプ

トレードロボットのプロトタイプ

この論説ではトレーディングシステムのアルゴリズムと要素の作成の原理を要約しシステム化する。この論説はエキスパートアルゴリズムの設計について考察する。トレーディングシステムCExpertAdvisor クラスのある例について考察する。これはトレーディングシステムを素早く簡単に開発するのに使える。
MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知
MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知

MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知

本稿では Expert Advisor のファイルに音声ファイルをインクルードすること、それによりトレードイベントに音声通知を追加するなどの問題を考察します。事実、ファイルのインクルードが意味するところは Expert Advisor内に音声ファイルを入れるということです。よってコンパイルされた Expert Advisor (*.ex5) バージョンを他のユーザーに提供する際、音声ファイルは提供せずそれがどこの保存されるか説明する必要があるのです。
グラフィカルインタフェースX:リストとテーブルの高度な管理コードの最適化(ビルド7)
グラフィカルインタフェースX:リストとテーブルの高度な管理コードの最適化(ビルド7)

グラフィカルインタフェースX:リストとテーブルの高度な管理コードの最適化(ビルド7)

ライブラリコードの最適化が必要です。それは、より規則正しく、学習のために読みやすく理解しやすくなければありません。さらに、以前に作成したコントロール(リスト、テーブル、スクロールバー)の開発が続きます。
より優れたプログラマー(第01部): MQL5プログラマーとして成功するためにやめなければいけない5つのこと
より優れたプログラマー(第01部): MQL5プログラマーとして成功するためにやめなければいけない5つのこと

より優れたプログラマー(第01部): MQL5プログラマーとして成功するためにやめなければいけない5つのこと

初心者が最高のコーディングキャリアを築くのを妨げている悪い習慣はたくさんあります。これは上級プログラマーさえにも言えることです。この記事では、それらについて説明し、対処します。この記事は、MQL5で開発者として成功したいすべての人にとって必読です。
DelphiでDLLをMQL5向けに書くためのガイド
DelphiでDLLをMQL5向けに書くためのガイド

DelphiでDLLをMQL5向けに書くためのガイド

本稿は、人気のプログラム言語ObjectPascalを使用しDelphiプログラム環境でDLLモジュールの作成メカニズムを検証します。本稿で使用している資料は、まずは問題を抱えたプログラム初心者用に考えられでおります。外部DLLに接続することでMQL5プログラム言語に埋め込まれた境界を破ります。
クロスプラットフォームグリッドEAの開発(パートII):トレンド方向のレンジベースのグリッド
クロスプラットフォームグリッドEAの開発(パートII):トレンド方向のレンジベースのグリッド

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

この記事では、レンジ内のトレンド方向のトレードのグリッドEAを開発します。 したがって、このEAは主に外国為替相場や商品相場に適しています。 今回のテストによると、グリッド戦略は2018年から利益を出しました。 しかし、2014-2018年の期間は残念な結果となりました。
モスクワ証券取引所のデリバティブ市場を例にとった取り引き価格の原則
モスクワ証券取引所のデリバティブ市場を例にとった取り引き価格の原則

モスクワ証券取引所のデリバティブ市場を例にとった取り引き価格の原則

本稿では取り引き価格とモスクワ証券取引所のデリバティブ市場のクリアリング詳細について説明します。本稿はデリバティブ取引で最初の為替経験をしたいと思っている初心者向けの理解しやすい内容です。また集中交換プラットフォームでの取引を検討している経験ある外為トレーダー向けでもあります。
MetaTrader 5 でRSS フィードを表示するためのインタラクティブアプリケーション構築
MetaTrader 5 でRSS フィードを表示するためのインタラクティブアプリケーション構築

MetaTrader 5 でRSS フィードを表示するためのインタラクティブアプリケーション構築

本稿では RSS フィードを表示するためのアプリケーションを作成する機能を見ていきます。本稿は MetaTrader 5 用のインタラクティブプログラム作成に標準ライブラリの特徴を利用する方法を示します。
テクニカルインディケータとデジタルフィルター
テクニカルインディケータとデジタルフィルター

テクニカルインディケータとデジタルフィルター

本稿ではデジタルフィルターとしてテクニカルインディケータを取り上げます。デジタルフィルターの処理原則と基本特性が説明されます。また、MetaTrader 5 ターミナルでフィルターカーネルを受け取る実用的な方法と記事 "Building a Spectrum Analyzer" で提案されている既製のスペクトル解析機能との統合について考察します。例として典型的デジタルフィルターのパルスとスペクトル特性を使用します。
グラフィカルインタフェースVIII:カレンダーコントロール(チャプター1)
グラフィカルインタフェースVIII:カレンダーコントロール(チャプター1)

グラフィカルインタフェースVIII:カレンダーコントロール(チャプター1)

このMetaTraderでのグラフィカルインタフェースの作成に専念した記事シリーズの第八部では、カレンダー、ツリービュー、およびファイルナビゲーターのような複雑な複合コントロールが検討されます。情報が大量のため、それぞれは個別の記事に書かれています。この部分の最初の章では、カレンダーコントロールとその拡張バージョンであるドロップダウンカレンダーに ついて説明します。
リバーシング: エントリポイントを形式化し、裁量トレードアルゴリズムを開発する
リバーシング: エントリポイントを形式化し、裁量トレードアルゴリズムを開発する

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

これは、リバーシングトレード戦略のシリーズの最新の記事です。 ここでは、以前の記事で不安定なテスト結果を引き起こした問題を解決します。 また、リバーシング戦略を使用して、任意の相場で裁量トレードの独自のアルゴリズムを開発し、それをテストします。
preview
改善された同事ローソク足パターン認識指標に基づく取引戦略

改善された同事ローソク足パターン認識指標に基づく取引戦略

メタバーベースの指標は、従来のものよりも多くのローソク足を検出しました。これが自動売買に本当に役立つのか、検証してみましょう。
通貨ペアバスケットをトレードするときに発生するパターンのテスト パート2
通貨ペアバスケットをトレードするときに発生するパターンのテスト パート2

通貨ペアバスケットをトレードするときに発生するパターンのテスト パート2

通貨ペアバスケットをトレードするときに発生するパターンをテストし、トレード通貨ペアバスケットの記事で説明したメソッドを試していきます。 実際には、移動平均のクロスの複合 WPR チャートのパターンを使用できるかどうかを検討してみましょう。 もし使用できる場合は、適切な使用メソッドを検討する必要があります。
もうひとつ別の MQL5 OOP クラス
もうひとつ別の MQL5 OOP クラス

もうひとつ別の MQL5 OOP クラス

本稿では一からオブジェクト指向 Expert Advisor を構築する方法をお伝えします。トレードの理論的考えを着想することからその考えを実験的世界で実現する MQL5 EA をプログラムするまでです。実践から学ぶことは IMHO で成功への確実な方法です。よってみなさんが最終的に Forex ロボットのコーディングをするために考えを整理できる方法を確認していただけるよう実例を示していきます。また私の目標はみなさんにオブジェクト指向の原理に忠実に従うようお勧めすることです。
preview
取引におけるニューラルネットワークの実用化(第2部)コンピュータービジョン

取引におけるニューラルネットワークの実用化(第2部)コンピュータービジョン

コンピュータービジョンを使用すると、価格チャートと指標の視覚的表現に関してニューラルネットワークを訓練できるようになります。この方法では、ニューラルネットワークにデジタルでフィードする必要がないため、テクニカル指標全体でより幅広い操作が可能になります。
preview
自動で動くEAを作る(第07回):口座の種類(II)

自動で動くEAを作る(第07回):口座の種類(II)

今日は、自動モードでシンプルかつ安全に動作するエキスパートアドバイザー(EA)を作成する方法を紹介します。トレーダーは、自動EAが何をしているのかを常に意識しておく必要があります。そうすれば、もしEAが「レールから外れた」場合、トレーダーはできるだけ早くチャートからEAを取り除き、状況をコントロールすることができます。
取引シグナルの多通貨監視(その3):検索アルゴリズムの紹介
取引シグナルの多通貨監視(その3):検索アルゴリズムの紹介

取引シグナルの多通貨監視(その3):検索アルゴリズムの紹介

前回の記事では、アプリケーションの視覚的な部分と、GUI要素の基本的なインタラクションを開発しました。 今回は、内部ロジックと取引シグナルのデータ準備のアルゴリズムを追加するだけでなく、検索し、モニターで可視化するために、シグナルを設定する機能を追加します。
クロスプラットフォームEA: ストップ
クロスプラットフォームEA: ストップ

クロスプラットフォームEA: ストップ

この記事では、2つのプラットフォームMetaTrader4とMetaTrader5との互換性を確保するために、EAのストップの実装について説明します。
ユニバーサルEA: シンボルプロパティへのアクセス (その 8)
ユニバーサルEA: シンボルプロパティへのアクセス (その 8)

ユニバーサルEA: シンボルプロパティへのアクセス (その 8)

このテーマの8番目のパートは、任意のトレーディングツールへアクセスする特殊なオブジェクト CSymbol クラスの説明をします。 EAで使用する場合、このクラスはEAのプログラミングを簡素化し、その関数を拡張することができ、シンボルプロパティのセットを提供します。
エルダーレイ (ブルパワーとベアパワー)
エルダーレイ (ブルパワーとベアパワー)

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

この記事は、ブルパワー、ベアパワー、移動平均インジケータ (EMA-指数平均)に基づいたエルダーレイトレーディングシステムを扱います。 このシステムは、アレキサンダーエルダーの著書"Trading for a Living"に記述されています。
CChartObject クラスに基づく新規GUIウィジェット設計と実装
CChartObject クラスに基づく新規GUIウィジェット設計と実装

CChartObject クラスに基づく新規GUIウィジェット設計と実装

前稿『GUI を使用した半自動Expert Advisor』を書いてのち、より複雑なインディケータやExpert Advisorsに新しい関数を伴うインターフェースを強化したいと思うようになりました。MQL5 標準ライブラリクラスを知ってから、新しいウィジェットを実装しました。本稿は、インディケータやExpert Advisorsで使用可能な新しい MQL5 GUI ウィジェットの設計と実装について述べます。本稿で提供しているウィジェットは CChartObjectSpinner、 CChartObjectProgressBar、CChartObjectEditTable です。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第25部): 未決取引リクエスト - リクエストオブジェクトの管理
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第25部): 未決取引リクエスト - リクエストオブジェクトの管理

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第25部): 未決取引リクエスト - リクエストオブジェクトの管理

前の記事では、ライブラリオブジェクトの一般的な概念に対応する保留中リクエストオブジェクトのクラスを作成しました。今回は、保留中リクエストオブジェクトの管理を許可するクラスについてです。
チャート上でトレーディングの考え方を時間をかけずに検証する方法
チャート上でトレーディングの考え方を時間をかけずに検証する方法

チャート上でトレーディングの考え方を時間をかけずに検証する方法

本稿はトレーディングの考え方を速く視覚的に検証する方法について述べます。その方法は価格チャート、シグナルインディケータ、残高計算インディケータの組合せを基にしています。そんなわけで、これからトレーディングの考え方を検索する方法やその考え方を時間をかけずに検証する方法をみなさんと共有したいと思います。