MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
Linux上のMetaTrader 5のC++マルチスレッドサポートを備えた概念実証DLLを開発する

Linux上のMetaTrader 5のC++マルチスレッドサポートを備えた概念実証DLLを開発する

最終製品がWindowsとLinuxシステムの両方でシームレスに動作するMetaTrader 5プラットフォームの開発をLinuxシステムのみでおこなう方法のステップとワークフローを探索する旅を始めます。WineとMinGWについて学ぶことができます。これらはどちらも、クロスプラットフォーム開発を機能させるために不可欠なツールです。特に、MinGWのスレッド実装(POSIXおよびWin32)については、どれを使用するかを選択する際に考慮する必要があります。次に、概念実証のDLLを構築し、それをMQL5コードで使用して、最後に両方のスレッド実装のパフォーマンスを比較します。すべては読者の基盤が自力でさらに拡大するようにするためです。この記事を読めば、LinuxでMT関連のツールを快適に構築できるはずです。
テクニカル分析:どのように分析するのか?
テクニカル分析:どのように分析するのか?

テクニカル分析:どのように分析するのか?

本稿ではインディケータ、マルチタイムフレームインディケータの再作成および日本式ろうそく足を使用するクオート表示に関する著者の意見を簡潔に述べます。本稿はプログラムの特定部分には言及せzす、一般的特徴を述べるものです。
preview
あらゆるタイプのトレーリングストップを開発してEAに接続する方法

あらゆるタイプのトレーリングストップを開発してEAに接続する方法

この記事では、様々なトレーリングストップを簡単に作成するためのクラスと、トレーリングストップを任意のEAに接続する方法について説明します。
DoEasyライブラリの時系列(第35部): バーオブジェクトと銘柄の時系列リスト
DoEasyライブラリの時系列(第35部): バーオブジェクトと銘柄の時系列リスト

DoEasyライブラリの時系列(第35部): バーオブジェクトと銘柄の時系列リスト

本稿は、簡単で迅速なプログラム開発のためのDoEasyライブラリの作成に関する新しいシリーズの始まりとなります。本稿では、銘柄の時系列データにアクセスして操作するためのライブラリ機能を実装します。メインおよび拡張時系列バーデータを格納するバーオブジェクトを作成し、オブジェクトの検索と並び替えを容易にするために、時系列リストにバーオブジェクトを配置します。
preview
あらゆるタイプのトレーリングストップを開発してEAに接続する方法

あらゆるタイプのトレーリングストップを開発してEAに接続する方法

この記事では、様々なトレーリングストップを簡単に作成するためのクラスと、トレーリングストップを任意のEAに接続する方法について説明します。
グラフィックコントロールオプションを用いたインディケータ作成
グラフィックコントロールオプションを用いたインディケータ作成

グラフィックコントロールオプションを用いたインディケータ作成

マーケットの動きに通じた方はMACDインディケータ(移動平均収束拡散)をご存じでしょう。価格の変動を分析するのに力強いツールで、コンピュータ分析手法が登場したごく初期段階からトレーダーに利用されているものです。本稿では MACDの潜在的修正と修正間でグラフィカルに切り替える可能性のあるインディケータへの実装について考察していきます。
ファジー理論を使用しインディケータを作成する簡単な例
ファジー理論を使用しインディケータを作成する簡単な例

ファジー理論を使用しインディケータを作成する簡単な例

本稿はファイナンシャルマーケット分析にファジー理論の概念を実用的に適用することに特化しています。エンベロープインディケータ上で2つのファジールールに基づくインディケータ生成シグナルの例を提供します。作成されたインディケータは複数のインディケータバッファを使用します。7個のバッファを計算に、5個のバッファをチャート表示に、2個をカラーバッファとします。
preview
パターン検索への総当たり攻撃アプローチ(第III部): 新しい水平線

パターン検索への総当たり攻撃アプローチ(第III部): 新しい水平線

本稿では、総当たり攻撃のトピックを続けます。プログラムアルゴリズムに市場分析の新しい機会を導入することで分析速度を高め、結果の品質を向上します。新しい追加により、このアプローチ内でグローバルパターンの最高品質で表示できるようになります。
preview
MQL5入門(第8回):初心者のためのEA構築ガイド(II)

MQL5入門(第8回):初心者のためのEA構築ガイド(II)

この記事では、MQL5フォーラムでよく見られる初心者からの質問を取り上げ、実践的な解決策を紹介します。売買やローソク足の価格取得、取引限度額の設定、取引期間や利益/損失の閾値の管理といった基本的なタスクを自動売買で実行する方法を学びます。MQL5でのこれらの概念の理解と実装を強化するため、ステップごとのガイダンスも提供します。
MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成
MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成

MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成

本稿ではトレーディングシステムの最適化に対して一組のパラメータを使うパターンを作成していきます。同時にパラメータ数は無制限に認めます。シンボルリストは標準的なテキストファイル (*.txt)内に作成します。各シンボルに対する入力パラメータもファイルに格納されます。このように Expert Advisorの入力パラメータ数に関してターミナルの制約を回避することができます。
トレードシステムの評価 - 参入、退出と取引における一般の有効性
トレードシステムの評価 - 参入、退出と取引における一般の有効性

トレードシステムの評価 - 参入、退出と取引における一般の有効性

トレードシステムの有効性と利益性を決定できる多数の尺度がある。しかし、トレーダーは常にどのシステムでも試したいと考えている。この記事はどのようにして有効性の尺度に基づいた統計が MetaTrader 5 のプラットフォームに使えるかを教えるものである。 これは取引による統計の解釈を、S.V.Bulashev(ブラシェフ)による著作"Statistika dlya traderov"(トレーダーのための統計) の記述に矛盾しないものに変換するクラスを含んでいる。また最適化のためのカスタムファンクションの例も含んでいる。
MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ
MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ

MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ

今回は、現在シンボルについてポジションプロパティを取得し、マニュアルトレーディングの間カスタム情報パネルにそのポジションプロパティを表示するシンプルな Expert Advisor を作成します。情報パネルはグラフィカルオブジェクトを用いて作成され、表示される情報はティック毎にリフレッシュされます。これは "MQL5 Cookbook: Getting Position Properties"と呼ばれるシリーズの以前の記事に記載があるスクリプトをつねにマニュアルで実行しなければならないのよりはるかに便利になります。
preview
自動で動くEAを作る(第09回):自動化(I)

自動で動くEAを作る(第09回):自動化(I)

自動EAの作成はそれほど難しい作業ではありませんが、必要な知識がないと多くの間違いを犯す可能性があります。この記事では、ブレイクイーブンとトレーリングストップレベルを作動させるトリガーの作成からなる自動化の最初のレベルを構築する方法について見ていきます。
DoEasyライブラリでのその他のクラス(第71部): チャットオブジェクトコレクションイベント
DoEasyライブラリでのその他のクラス(第71部): チャットオブジェクトコレクションイベント

DoEasyライブラリでのその他のクラス(第71部): チャットオブジェクトコレクションイベント

本稿では、いくつかのチャートオブジェクトイベント(銘柄チャートとチャートサブウィンドウの追加/削除、およびチャートウィンドウの指標の追加/削除/変更)を追跡する機能を作成します。
グラフィカルインタフェース  II:ライブラリのイベントハンドラの設定(チャプター3)
グラフィカルインタフェース  II:ライブラリのイベントハンドラの設定(チャプター3)

グラフィカルインタフェース II:ライブラリのイベントハンドラの設定(チャプター3)

以前の記事には、メインメニューの構成部分を作成するためのクラスの実装が含まれています。ここで、主要な基本クラスと作成されたコントロールのクラスでイベントハンドラを細かく見ることにします。また、マウスカーソルの位置に応じたチャートの状態の管理にも特別な注意が払われます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - 初期実装(ポジションのオープン)
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - 初期実装(ポジションのオープン)

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - 初期実装(ポジションのオープン)

本稿では、注文の値にいくつかのデータを格納し、マジックナンバーを配置し、保留中リクエストの実装を開始します。概念を確認するために、サーバエラーを受信して、待機後に繰り返しリクエストを送信する必要がある際にマーケットポジションを開くための最初のテスト保留中リクエストを作成しましょう。
preview
指標やEAのデータを表示するダッシュボードの作成

指標やEAのデータを表示するダッシュボードの作成

この記事では、指標とEAで使用するダッシュボードクラスを作成します。これは、エキスパートアドバイザー(EA)に標準指標を含めて使用するためのテンプレートを含む短い連載の紹介記事です。まず、MetaTrader 5データウィンドウに似たパネルを作成します。
MQL5 クックブック: 価格の乖離を分析するマルチシンボルインジケーターの開発
MQL5 クックブック: 価格の乖離を分析するマルチシンボルインジケーターの開発

MQL5 クックブック: 価格の乖離を分析するマルチシンボルインジケーターの開発

この記事では、特定の期間における価格の分離を分析するためのマルチシンボルインジケーターの開発を紹介します。そのトピックは、「MQL5クックブック:MQL5のマルチシンボルボラティリティインジケーターの開発」というマルチカレンシーインジケーターのプログラミングに関する以前の記事にてすでに紹介されています。なので、今回は新しい特徴や劇的に変更された機能についてのみ紹介します。マルチカレンシーインジケーターのプログラミングに詳しくなければ、以前の記事をまずお読みいただくことをお勧めします。
preview
市場力学をマスターする:支持&抵抗戦略エキスパートアドバイザー(EA)の作成

市場力学をマスターする:支持&抵抗戦略エキスパートアドバイザー(EA)の作成

支持&抵抗戦略に基づく自動売買アルゴリズム開発のための包括的ガイドです。MQL5でEAを作成し、MetaTrader 5でテストするための、価格帯行動の分析からリスク管理までのあらゆる側面に関する詳細情報が含まれます。
preview
Candlestick Trend Constraintモデルの構築(第6回):オールインワン統合

Candlestick Trend Constraintモデルの構築(第6回):オールインワン統合

一つの大きな課題は、異なる機能を持つ同じプログラムを、同じ通貨ペアに対して複数のチャートウィンドウで実行し、管理することです。この問題を解決するには、複数の機能を一つのメインプログラムに統合する方法を検討する必要があります。さらに、プログラムの設定を操作ログに出力する方法や、成功したシグナルのブロードキャストをチャートインターフェイス上に表示する方法についても解説します。連載が進むにつれ、この記事でさらに詳しい情報を提供していきます。
preview
単一チャート上の複数インジケータ(第04部): エキスパートアドバイザーに進む

単一チャート上の複数インジケータ(第04部): エキスパートアドバイザーに進む

以前の記事では、複数のサブウィンドウでインジケータを作成する方法を説明しました。これは、カスタムインジケータを使用するときに興味深いものになります。今回は、エキスパートアドバイザーに複数のウィンドウを追加する方法を説明します。
preview
ソフトウェア開発とMQL5におけるデザインパターン(第1回):生成パターン

ソフトウェア開発とMQL5におけるデザインパターン(第1回):生成パターン

繰り返し発生する問題の多くを解決するためには、使用できる方法があります。これらの方法の使い方を理解すれば、ソフトウェアを効果的に作成し、DRY (Do not Repeat Yourself)の概念を適用するのに非常に役立ちます。この文脈では、デザインパターンのトピックが非常に役に立ちます。なぜなら、デザインパターンは、よく説明され、繰り返される問題に対する解決策を提供するパターンだからです。
preview
固定プライスアクションストップロスまたは固定RSI(スマートストップロス)

固定プライスアクションストップロスまたは固定RSI(スマートストップロス)

ストップロスは、取引における資金管理に関する主要なツールです。ストップロス、テイクプロフィット、ロットサイズを効果的に使用することで、トレーダーは取引の一貫性を改善し、全体的に収益性を高めることができます。ストップロスは優れたツールですが、使用時に課題に遭遇することがあります。主要なものはストップロスハントです。この記事では、取引でのストップロスハントを減らす方法と、従来のストップロスの使用法と比較して収益性を判断する方法について説明します。
MQL5 クックブック:カスタムチャートイベント処理
MQL5 クックブック:カスタムチャートイベント処理

MQL5 クックブック:カスタムチャートイベント処理

本稿では出人の側面とMQL5 環境におけるカスタムチャートイベントシステムの作成について考察します。イベント分類方法例およびイベントクラスとカスタムイベントハンドラのプログラムコードもここで確認することができます。
preview
取引のための組合せ論と確率論(第I部):基本

取引のための組合せ論と確率論(第I部):基本

この連載では、確率論の実用的応用を見つけて、取引と価格設定のプロセスの説明を試みます。最初の記事では、組合せ論と確率の基礎を調べ、確率論の枠組みでフラクタルを適用する方法の最初の例を分析します。
preview
ONNX統合の課題を克服する

ONNX統合の課題を克服する

ONNXは、異なるプラットフォーム間で複雑なAIコードを統合するための素晴らしいツールです。ただし、この素晴らしいツールを最大限に活用するためにはいくつかの課題に対処する必要があります。この記事では、読者が直面する可能性のある一般的な問題と、それを軽減する方法について説明します。
エンベロープによる取引システムの設計方法を学ぶ
エンベロープによる取引システムの設計方法を学ぶ

エンベロープによる取引システムの設計方法を学ぶ

この記事では、バンドで取引する方法の1つを紹介します。今回はエンベロープについて検討し、それに基づいてストラテジーを作成するのがいかに簡単であるかを見ていきます。
トレードにおけるOLAPの適用(パート3):トレード戦略の開発の相場分析
トレードにおけるOLAPの適用(パート3):トレード戦略の開発の相場分析

トレードにおけるOLAPの適用(パート3):トレード戦略の開発の相場分析

この記事では、トレードに適用される OLAP テクノロジを引き続き取り扱います。 最初の 2 つの記事で紹介した機能を拡張します。 今回は、クオートの運用分析について検討します。シェイプセレクタ 集計されたヒストリーデータに基づいて、トレード戦略に関する仮説を打ち出し、テストします。 この記事では、バーパターンとアダプティブトレードを研究するためのEAを紹介します。
貨幣価格変動に対するマクロ経済データの影響の回帰分析
貨幣価格変動に対するマクロ経済データの影響の回帰分析

貨幣価格変動に対するマクロ経済データの影響の回帰分析

本稿ではマクロ経済統計に対する重回帰分析のアプリケーションについか考察します。また通貨ペア EURUSD の例に基づく為替レートにおけるその統計の影響評価の洞察も提供します。その評価により初心者トレーダーにも利用可能となるファンダメンタル分析の自動化ができます。
ユニバーサルEA:グループでの取引とストラテジーのポートフォリオを管理する(その4)
ユニバーサルEA:グループでの取引とストラテジーのポートフォリオを管理する(その4)

ユニバーサルEA:グループでの取引とストラテジーのポートフォリオを管理する(その4)

CStrategyの取引エンジンについての一連の記事の最後のパートでは、XMLファイルからストラテジーをロードする方法を行います。複数の取引アルゴリズムの同時動作を考慮し、単一の実行可能モジュールからのEAを選択する簡単なパネルを提示し、その取引モードを管理します。
preview
ニューラルネットワークが簡単に(第48回):Q関数値の過大評価を減らす方法

ニューラルネットワークが簡単に(第48回):Q関数値の過大評価を減らす方法

前回は、連続的な行動空間でモデルを学習できるDDPG法を紹介しました。しかし、他のQ学習法と同様、DDPGはQ関数値を過大評価しやすくなります。この問題によって、しばしば最適でない戦略でエージェントを訓練することになります。この記事では、前述の問題を克服するためのいくつかのアプローチを見ていきます。
preview
MQL5とPythonで自己最適化EAを構築する

MQL5とPythonで自己最適化EAを構築する

この記事では、市況に基づいて取引戦略を自律的に選択変更できるエキスパートアドバイザー(EA)を構築する方法について解説します。マルコフ連鎖の基本を学び、それがアルゴリズムトレードにどのように役立つかを探っていきます。
数式の計算(第1部)再帰下降パーサ
数式の計算(第1部)再帰下降パーサ

数式の計算(第1部)再帰下降パーサ

本稿では、数式の解析と計算の基本原則について説明します。事前に構築された構文木に基づいて、インタプリタモードと高速計算モードで動作する再帰下降パーサを実装します。
preview
データサイエンスと機械学習(第04回):現在の株式市場の暴落を予測する

データサイエンスと機械学習(第04回):現在の株式市場の暴落を予測する

今回は、米国経済のファンダメンタルズに基づいて、私たちのロジスティックモデルを使って株式市場の暴落の予測を試みます。NETFLIXとAPPLEが私たちが注目する銘柄です、2019年と2020年の過去の市場の暴落を使って、モデルが現在の破滅と暗雲でどのように機能するか見てみましょう。
MQL5 クックブック:ディールヒストリーのファイルへの書き込みと シンボルごとの残高チャートの Excel形式での作成
MQL5 クックブック:ディールヒストリーのファイルへの書き込みと シンボルごとの残高チャートの Excel形式での作成

MQL5 クックブック:ディールヒストリーのファイルへの書き込みと シンボルごとの残高チャートの Excel形式での作成

さまざまなフォーラムのコミュニケーションの際、Microsoft Excel チャート形式のスクリーンショットとして表示される検証結果の例を多く使いました。そしてそのようなチャートの作成方法を教えてほしいと頻繁に質問を受けました。ついに本稿でそれを説明する時間を得ました。
MQL5.com フリーランス:開発者の収入源(インフォグラフィック)
MQL5.com フリーランス:開発者の収入源(インフォグラフィック)

MQL5.com フリーランス:開発者の収入源(インフォグラフィック)

「MQL5 フリーランスサービス」の4周年を記念して、これまでのサービス結果を示すインフォグラフィックを作成しました。数字は自らを語ります:現在まで合計約 $600,000 に相当する 10,000 を越える注文が実行されるかたわら、 3,000 人の顧客と 300 人の開発者がすでにこのサービスを利用しました。
preview
MQL5クックブック - 経済指標カレンダー

MQL5クックブック - 経済指標カレンダー

この記事では、経済指標カレンダーのプログラミング機能に焦点を当て、カレンダーのプロパティに簡単にアクセスしてイベント値を受け取るためのクラスの作成について考察し検討します。実用的な例として役立つように、CFTCの投機筋ネットポジションを使用して指標を開発します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第2部)過去の注文と取引のコレクション
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第2部)過去の注文と取引のコレクション

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

最初の部分では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。過去の注文と取引、および市場の注文とポジションに関するデータを格納するための基本オブジェクトであるCOrder抽象オブジェクトを作成しました。ここでは、口座履歴データをコレクションに格納するために必要なすべてのオブジェクトを開発します。
preview
MQL5の圏論(第14回):線形順序を持つ関手

MQL5の圏論(第14回):線形順序を持つ関手

この記事は、MQL5における圏論の実装に関する広範な連載の一部であり、関手について掘り下げます。関手のおかげで線形順序が集合にどのように写像できるかを検証します。一般的には何のつながりもないと見なされてしまうような2つのデータ集合について考えます。
インディケータの経済的計算原理
インディケータの経済的計算原理

インディケータの経済的計算原理

自動化されたトレーディングシステムのプログラムコードではユーザーとテクニカルインディケータの呼び出しはほとんどスペースを取りません。たいてい数行のコード行ですむ簡単なものです。ただこの数行のコードがExpert Advisorの検証に必要な時間の多くを費やす、ということはよくあることです。インディケータ内でデータ計算に関連することはすべて、一見したよりもずっと綿密に配慮される必要があります。本稿ではこの件に関して詳しく述べていきます。