MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
一からの取引エキスパートアドバイザーの開発(第21部):新規受注システム(IV)

一からの取引エキスパートアドバイザーの開発(第21部):新規受注システム(IV)

まだ完成していないものの、ようやくビジュアルなシステムが動き出します。ここでは主な変更を完成します。かなりの数になりますが、どれも必要なものばかりです。全体的にはなかなか面白いものになりそうです。
MQL5 でのアサーション
MQL5 でのアサーション

MQL5 でのアサーション

この記事では、MQL5でのアサーションの利用について扱います。アサーションメカニズムとアサーションを実装するための一般的なガイダンスを2つの例として提供します。
グラフィカルインタフェース  II:メインメニュー要素(チャプターー4)
グラフィカルインタフェース  II:メインメニュー要素(チャプターー4)

グラフィカルインタフェース II:メインメニュー要素(チャプターー4)

これは、グラフィカルインターフェイスに関するシリーズの第二部の最終章です。ここでは、メインメニューの作成を検討します。このコントロールの開発とユーザの行動に正確な反応するライブラリクラスのハンドラ設定が実証されます。また、メインメニューの項目にコンテキストメニューを取り付ける方法についても説明します。そのに加えて、現在非アクティブな要素のブロックも言及されます。
インディケータエミッションの積分特性計算
インディケータエミッションの積分特性計算

インディケータエミッションの積分特性計算

インディケータエミッションはマーケットリサーチでほとんど研究されていない分野です。時間依存性データのひじょうに大きな配列を処理することで起こる分析の難しさがその主な理由です。既存のグラフ分析は資源集約的に過ぎ、そのためエミッションの時系列を利用する簡素なアルゴリズムの開発をもたらしました。本稿では視覚的(直観的イメージ)分析がどのようにエミッションの積分特性の研究に置き換えることができるのかを示します。トレーダー、自動売買システムの開発者双方に興味深いものとなることでしょう。
一連の取引に対するリスク評価続編
一連の取引に対するリスク評価続編

一連の取引に対するリスク評価続編

本稿では、前稿で提案した概念を開発し、さらに考察します。収率分布の問題や、統計的規則性のプロットと研究についても記述します。
市場の数学:利益、損失、コスト
市場の数学:利益、損失、コスト

市場の数学:利益、損失、コスト

この記事では、手数料やスワップなど、あらゆる取引の総損益を計算する方法を紹介します。最も正確な数学的モデルを提供し、それを使ってコードを書き、標準と比較するつもりです。そのほか、利益を計算するMQL5のメイン関数の内部にも入り込み、仕様から必要な値をすべて突き詰めてみます。
エリック・ナイマンの『チャネル』インディケータ
エリック・ナイマンの『チャネル』インディケータ

エリック・ナイマンの『チャネル』インディケータ

この記事では、エリック・L・ナイマン氏の著書『トレーダーの小百科事典』を元に『チャネル』インディケータの作成について述べていきます。このインディケータは、指定した期間で計算したベアとブルの値に基づき、トレンドの方向を表示します。この記事では、サンプルコードと共にインディケータの計算と構築の原理を説明し、インディケータをベースにエキスパートアドバイザを作成し、外部パラメータの最適化について述べていきます。
preview
時間の取扱い(第2部): 関数

時間の取扱い(第2部): 関数

証券会社のオフセットとGMTを自動で特定します。おそらく不十分な答えしかくれない(欠如した時間について説明することはいとわないでしょうが)証券会社にサポートを求める代わりに、時間が変わる週に証券会社が価格をどのように計算するかを自分で見ます。結局のところ、私たちはPCを持っているので、面倒な手作業ではなくプログラムを使用します。
MQL5におけるインディケータemissionの描写
MQL5におけるインディケータemissionの描写

MQL5におけるインディケータemissionの描写

本稿では、マーケットリサーチの新手法であるインディケータ エミッションについて考察していきたいと思います。エミッションの計算は異なるインディケータの交点が基本になります。ティックのあとに異なる色や形のポイントが多数表示されます。それらは星雲、雲、軌道、線、アーチなど様々なクラスターを形成します。こういった形は市場価格を左右する見えないバネや力を検出するのに役立ちます。
preview
ニューラルネットワークの実験(第5回):ニューラルネットワークに渡すための入力の正規化

ニューラルネットワークの実験(第5回):ニューラルネットワークに渡すための入力の正規化

ニューラルネットワークはトレーダーのツールキットの究極のツールです。この仮定が正しいかどうかを確認してみましょう。MetaTrader 5は、取引でニューラルネットワークを使用するための自立した媒体としてアプローチされています。簡単な説明が記載されています。
C plus plus テンプレートの代用としての疑似テンプレート使用
C plus plus テンプレートの代用としての疑似テンプレート使用

C plus plus テンプレートの代用としての疑似テンプレート使用

本稿はテンプレートは使わないが、プログラムスタイルはテンプレートに合ったものを保持する方法について述べていきます。カスタムメソッドを使ってテンプレートを実装することをお伝えします。また、指定のテンプレートを基にしたコード作成用既製のスクリプトを添付しています。
最適化数点のシンプルな考え
最適化数点のシンプルな考え

最適化数点のシンプルな考え

最適化のプロセスにはコンピュータや MQL5 クラウドネットワーク検証エージェントのリソースも大量に必要とします。本稿では作業の促進とMetaTrader 5 ストラテジーテスタの改良に利用する簡単な考えをいくつか取り上げます。こういったアイデアはドキュメンテーション、フォーラム、記事から得ました。
MQL5 ウィザード:オープンポジションのトレーリングモジュール作成方法
MQL5 ウィザード:オープンポジションのトレーリングモジュール作成方法

MQL5 ウィザード:オープンポジションのトレーリングモジュール作成方法

MQL5ウィザードのトレーディング戦略ジェネレータはトレーディングの考え方を検証することをひじょうに簡素化します。本稿では、MQL5 ウィザードでトレーディング戦略を書く方法、ジェネレータを、価格がポジション方向に行くときストップロスを無損失ゼロレベルへ移動させることでトレーディングの際減益ドローダウンを守ることのできるオープンポジションを管理する独自のクラスと連携させる方法について述べます。MQL5 ウィザード用に作成されたクラスのストラクチャおよび記述フォーマットについても述べます。
preview
連続ウォークフォワード最適化(パート4):最適化マネージャ(オートオプティマイザ)

連続ウォークフォワード最適化(パート4):最適化マネージャ(オートオプティマイザ)

この記事の主な目的は、アプリケーションとその機能を操作するメカニズムについて説明することです。 したがって、この記事は、アプリケーションの使用方法に関する説明書としても使うことができます。 アプリケーションの使用法においてありがちな落とし穴と詳細を扱っています。
preview
アルゴリズム取引に関する記事を投稿して200ドルを獲得できます

アルゴリズム取引に関する記事を投稿して200ドルを獲得できます

記事を書いてアルゴリズム取引の発展に貢献してください。取引とプログラミングの経験を共有していただければ、200ドルをお支払いします。さらに、人気のMQL5.com Webサイトに記事を公開すると、プロフェッショナルコミュニティで個人ブランドを宣伝する絶好の機会が得られます。記事は何千人ものトレーダーに読まれます。同じ考えを持つ人々とアイデアを議論し、新しい経験を積み、知識を収益化することができます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第3部)成行注文と取引のコレクション、検索と並び替え
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第3部)成行注文と取引のコレクション、検索と並び替え

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

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

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第21部): 取引クラス - 基本クロスプラットフォーム取引オブジェクト

この記事では、取引クラスを新しいライブラリセクションとして開発し始めます。さらに、MetaTrader 5およびMetaTrader 4プラットフォーム向けの統合基本取引オブジェクトの開発を検討します。サーバにリクエストを送信する場合、このような取引オブジェクトにより、検証済みの正しい取引リクエストパラメータがサーバに渡されます。
preview
さまざまな移動平均タイプをテストして、それらがどの程度洞察力に富むかを確認する

さまざまな移動平均タイプをテストして、それらがどの程度洞察力に富むかを確認する

多くのトレーダーにとって移動平均指標が重要であることは周知の事実です。取引に役立つ移動平均タイプは他にもあります。この記事ではこれらのタイプを特定し、それぞれのタイプと最も人気のある単純移動平均タイプを簡単に比較して、どれが最良の結果を示すことができるかを確認します。
ユニバーサルEA:イベントモデルと取引ストラテジープロトタイプ(パート2)
ユニバーサルEA:イベントモデルと取引ストラテジープロトタイプ(パート2)

ユニバーサルEA:イベントモデルと取引ストラテジープロトタイプ(パート2)

この記事は、ユニバーサルEAのシリーズです。このパートでは、データ処理に基づいて、オリジナルのイベント・モデルについて解説し、エンジンのストラテジーの基本クラスの構造を扱います。
preview
ニューラルネットワークが簡単に(第13回): Batch Normalization

ニューラルネットワークが簡単に(第13回): Batch Normalization

前回の記事では、ニューラルネットワーク訓練の品質を向上させることを目的とした手法の説明を開始しました。本稿では、このトピックを継続し、別のアプローチであるデータのBatch Normalizationについて説明します。
preview
データサイエンスと機械学習(第23回):LightGBMとXGBoostが多くのAIモデルを凌駕する理由

データサイエンスと機械学習(第23回):LightGBMとXGBoostが多くのAIモデルを凌駕する理由

これらの高度な勾配ブースティング決定木(GBDT)技術は、優れた性能と柔軟性を提供し、金融モデリングやアルゴリズム取引に最適です。これらのツールを活用して取引戦略を最適化し、予測精度を高め、金融市場での競争力を高める方法を学びましょう。
ターミナル間のデータ交換にクラウドストレージサービスを使用
ターミナル間のデータ交換にクラウドストレージサービスを使用

ターミナル間のデータ交換にクラウドストレージサービスを使用

クラウド技術の普及が進んでいます。 今日では、有料と無料のストレージサービスから選択することができます。 トレードで使用することは可能でしょうか? 本稿では, クラウドストレージサービスを利用してターミナル間でのデータ交換を行う技術を提案します。
グラフィカルインタフェースVII: タブコントロール(チャプター2)
グラフィカルインタフェースVII: タブコントロール(チャプター2)

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

第七部の最初の章では、テーブルを作成するためのコントロールであるテキストラベルテーブル(CLabelsTable)、エディットボックステーブル(CTable)およびレンダーテーブル(CCanvasTable)の3つのクラスが紹介されました。本稿(チャプター2)ではタブコントロールが考察されます。
モスクワ為替先物のスプレッド戦略の開発例
モスクワ為替先物のスプレッド戦略の開発例

モスクワ為替先物のスプレッド戦略の開発例

MT5 プラットフォームでは、同時に複数の金融商品のトレードロボットをテストすることができます。組み込みのストラテジーテスターは、自動的にヒストリーデータをブローカーのサーバーからダウンロードします。そのため、開発者は特別手動で何かをする必要はありません。シンプルかつ確実に異なるシンボルのミリ秒単位のティックによるトレード環境を再現することが可能です。この記事では、2つのモスクワ為替先物においてスプレッドストラテジーをテストと開発を行います。
MQL5 クックブック:トリプルスクリーン戦略に基づくトレーディングシステムに対するフレームワーク作成
MQL5 クックブック:トリプルスクリーン戦略に基づくトレーディングシステムに対するフレームワーク作成

MQL5 クックブック:トリプルスクリーン戦略に基づくトレーディングシステムに対するフレームワーク作成

本稿では MQL5で「リプルスクリーン」戦略に基づくトレーディングシステムに対するフレームワークを作成します。Expert Advisor を一から作成することはしません。代わりに、実質上すでにわれわれの目的に役だっている先行記事 "MQL5 Cookbook: Using Indicators to Set Trading Conditions in Expert Advisors" のプログラムを変更するだけとします。よって本稿は既製プログラムのパターンを簡単に変更する方法もお伝えします。
DoEasyライブラリのグラフィックス(第88部): グラフィカルオブジェクトコレクション - 動的に変化するオブジェクトのプロパティを格納するための2次元動的配列
DoEasyライブラリのグラフィックス(第88部): グラフィカルオブジェクトコレクション - 動的に変化するオブジェクトのプロパティを格納するための2次元動的配列

DoEasyライブラリのグラフィックス(第88部): グラフィカルオブジェクトコレクション - 動的に変化するオブジェクトのプロパティを格納するための2次元動的配列

本稿では、任意の次元のデータ量を変更できる動的な多次元配列クラスを作成します。作成したクラスに基づいて、動的に変更されたグラフィックオブジェクトのプロパティを格納する2次元の動的配列を作成します。
AutoElliottWaveMaker -  Elliott Wavesの半自動分析のためのMetaTrader 5ツール
AutoElliottWaveMaker -  Elliott Wavesの半自動分析のためのMetaTrader 5ツール

AutoElliottWaveMaker - Elliott Wavesの半自動分析のためのMetaTrader 5ツール

本稿は AutoElliottWaveMakerのレビューを行います。 - 手動と自動の組合せの波形ラベリングを表す MetaTrader 5 におけるElliott Wave分析に対する初めての開発です wave labeling. 波形分析ツールは包括的に MQL5 で書かれており、外部 dll ライブラリはインクルードしていません。これは MQL5で洗練されたおもしろいプログラムが開発できる(するべきである)というもうひとつの証明です。
preview
知っておくべきMQL5ウィザードのテクニック(第01回):回帰分析

知っておくべきMQL5ウィザードのテクニック(第01回):回帰分析

今日のトレーダーは哲学者であり、ほとんどの場合(意識的かどうかにかかわらず...)新しいアイデアを探し、試し、変更するか破棄するかを選択します。これは、かなりの労力を要する探索的プロセスです。トレーダーの時間とミスを避ける必要性は明らかに重視されます。この連載では、MQL5ウィザードがトレーダーの主力であるべきであることを示します。なぜでしょうか。MQL5ウィザードを使用すれば、新しいアイデアを組み立てることで時間を節約できるだけでなく、コーディングの重複によるミスを大幅に減らすことができるため、最終的に、取引の哲学のいくつかの重要な分野にエネルギーを注ぐことができるからです。
トレーダーの作業における統計的分布の役割
トレーダーの作業における統計的分布の役割

トレーダーの作業における統計的分布の役割

本稿は、理論的統計的分布に連携するクラスについて述べた拙著『MQL5 における投擲的可能性』の続編です。われわれには理論的基盤があるので、現実のデータ設定に進み、こ基盤を情報的に利用していきたいと思います。
preview
エキスパートアドバイザーが失敗する理由の分析

エキスパートアドバイザーが失敗する理由の分析

この記事では、通貨データの分析を示して、エキスパートアドバイザーが特定の時間領域で良好なパフォーマンスを示し他の領域でパフォーマンスが低下する理由をよりよく理解します。
preview
トレーダーに優しい損切りと利食い

トレーダーに優しい損切りと利食い

損切り(ストップロス)と利食い(テイクプロフィット)は取引結果に大きな響を与えます。この記事では、最適な逆指値注文の値を見つけるためのいくつかの方法を見ていきます。
preview
知っておくべきMQL5ウィザードのテクニック(第05回):マルコフ連鎖

知っておくべきMQL5ウィザードのテクニック(第05回):マルコフ連鎖

マルコフ連鎖は、金融をはじめとする様々な分野で、時系列データのモデル化や予測に利用できる強力な数学的ツールです。金融の時系列モデル化や予測では、株価や為替レートなど、金融資産の時間的変化をモデル化するためにマルコフ連鎖がよく使われます。マルコフ連鎖モデルの大きな利点の1つは、そのシンプルさと使いやすさにあります。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第23部): 基本取引クラス - パラメータ有効性の検証
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第23部): 基本取引クラス - パラメータ有効性の検証

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第23部): 基本取引クラス - パラメータ有効性の検証

本稿では、取引クラスの不正な取引注文パラメータ値に対する制御と取引イベントの音声通知において開発を続けています。
クロスプラットフォームEA: CExpertAdvisor と CExpertAdvisors クラス
クロスプラットフォームEA: CExpertAdvisor と CExpertAdvisors クラス

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

この記事では、クロスプラットフォームのEAについて扱っています。主にクラス CExpertAdvisor と CExpertAdvisors は、この記事で説明した他のすべてのコンポーネントのコンテナとして機能します。
preview
出来高ベースの取引システムを構築し最適化する方法(チャイキンマネーフロー:CMF)

出来高ベースの取引システムを構築し最適化する方法(チャイキンマネーフロー:CMF)

この記事では、出来高ベースの指標であるチャイキンマネーフロー(CMF)の構築方法、計算方法、使用方法を説明した上で、その概要を説明します。カスタムインジケーターの構築方法を理解します。使用できるいくつかの簡単な戦略を共有し、それらをテストしてどれが優れているかを理解します。
より優れたプログラマー(第02部): MQL5プログラマーとして成功するためにやめなければいけない5つのこと
より優れたプログラマー(第02部): MQL5プログラマーとして成功するためにやめなければいけない5つのこと

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

この記事は、プログラミングのキャリアを向上させたい人にとって必読です。本連載は、どんなに経験が豊富な読者でも最高のプログラマーになれることを目的としています。議論されたアイデアは、MQL5プログラミングの初心者だけでなくプロにも役立ちます。
グラフィカルインターフェイスX:マルチラインテキストボックスでのテキスト選択(ビルド13)
グラフィカルインターフェイスX:マルチラインテキストボックスでのテキスト選択(ビルド13)

グラフィカルインターフェイスX:マルチラインテキストボックスでのテキスト選択(ビルド13)

本稿では、他のテキストエディタと同様に、さまざまなキーの組み合わせによってテキストを選択して選択したテキストを削除する機能を実装します。さらに、引き続きコードを最適化し、ライブラリの進化の第2段階の最終プロセスではすべてのコントロールが別々の画像(キャンバス)としてレンダリングされるため、これに向かってクラスを準備します。
preview
自動で動くEAを作る(第10回):自動化(II)

自動で動くEAを作る(第10回):自動化(II)

自動化は、そのスケジュールを制御できなければ意味がありません。1日24時間働く効率的な労働者はいません。しかし、多くの人は、自動化されたシステムは24時間稼働するべきだと考えています。しかし、EAの稼働時間範囲を設定する手段を持つことは常に良いことです。この記事では、このような時間範囲を適切に設定する方法を検討します。
単一インスツルメント上で異なるExpert Advisorsを使ったトレーディングのためのORDER_MAGICの使用
単一インスツルメント上で異なるExpert Advisorsを使ったトレーディングのためのORDER_MAGICの使用

単一インスツルメント上で異なるExpert Advisorsを使ったトレーディングのためのORDER_MAGICの使用

本稿は、異なるExpert Advisorsの自動トレーディングの分割、組立て、同期同様magic-identificationを使用したインフォメーションコーディングの疑問について考察します。本稿は、より経験を積んだトレーダー同様初心者にも興味深い内容となっています。その理由は、Expert Advisorsおよび様々な戦略の複雑なシステムの同期を実装するのに有用な垂直ポジションの疑問に取り組んでいるからです。
preview
連続ウォークフォワード最適化(パート5):自動オプティマイザプロジェクトの概要とGUIの作成

連続ウォークフォワード最適化(パート5):自動オプティマイザプロジェクトの概要とGUIの作成

この記事では、MetaTrader5 ターミナルでのウォークフォワード最適化の詳細を説明します。 以前の記事では、最適化レポートを生成およびフィルタリングする方法を検討し、最適化プロセスを担当するアプリケーションの内部構造の分析を開始しました。 自動オプティマイザは C# アプリケーションとして実装され、独自のグラフィカル インターフェイスを備えています。 5番目となるこの記事では、このグラフィカルインタフェースの作成に専念します。