MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
MQL5の料理本 - 移動チャネルのプログラミング
MQL5の料理本 - 移動チャネルのプログラミング

MQL5の料理本 - 移動チャネルのプログラミング

本稿では、等間隔チャネルシステムのプログラミング法について取り扱っています。等間隔チャネル構築の細部まで本稿で紹介します。チャネル分類について説明したのち、移動チャネルのプログラミング法について提案します。コード実行にはオブジェクト指向型プログラムを使用しています。
preview
どんな市場でも優位性を得る方法(第2回):テクニカル指標の予測

どんな市場でも優位性を得る方法(第2回):テクニカル指標の予測

取引されている銘柄の価格を予測するよりも、特定のテクニカル指標を予測する方が精度が高いことをご存知ですか。この洞察力をより良い取引戦略のために活用する方法を探るために、ぜひお読みください。
preview
自動で動くEAを作る(第08回):OnTradeTransaction

自動で動くEAを作る(第08回):OnTradeTransaction

今回は、受注システムに関する問題を迅速かつ効率的に処理するためのイベント処理システムの使用方法について紹介します。このシステムにより、EAは必要なデータを常に検索する必要がなくなり、より速く動作するようになります。
より優れたプログラマー(第05部): より速い開発者になる方法
より優れたプログラマー(第05部): より速い開発者になる方法

より優れたプログラマー(第05部): より速い開発者になる方法

すべての開発者は、コードをより速く書くことを望んでいます。より速く効果的にコードを書けることは、少数の人々だけが生まれつき持っているような特別な能力ではありません。これは、すべてのコーダーが習得できるスキルです。この記事ではそれを教えようと思います。
preview
データサイエンスと機械学習(第05回):決定木

データサイエンスと機械学習(第05回):決定木

決定木は、人間の思考方法を模倣してデータを分類します。木を作り、それを使ってデータを分類・予測する方法を見てみましょう。決定木アルゴリズムの主な目的は、不純物を含むデータを純粋なノードまたはそれに近いノードに分離することです。
ユニバーサルEA:カスタムストラテジーと補助トレードクラス(その3)
ユニバーサルEA:カスタムストラテジーと補助トレードクラス(その3)

ユニバーサルEA:カスタムストラテジーと補助トレードクラス(その3)

この記事では、ストラテジーの取引エンジンのアルゴリズムを分析していきます。シリーズの3番目の部分は、このアプローチを使用して、特定の取引ストラテジーを開発する方法の詳細な分析があります。特別な注意が補助アルゴリズムに必要です - EAは、従来のインデクサーを使用して、システムとデータへのアクセスをログに記録します(Close[1]、Open[0]など)
preview
マーケットからエキスパートアドバイザーを選択する正しい方法

マーケットからエキスパートアドバイザーを選択する正しい方法

この記事では、エキスパートアドバイザーを購入する際に注意すべき重要なポイントのいくつかを検討します。また、利益を増やし、お金を賢く使ってこの支出から利益を得る方法を探します。また、記事を読み終われば、シンプルで無料の製品を使用しても収益を得られることがわかると思います。
preview
シンプルな平均回帰取引戦略

シンプルな平均回帰取引戦略

平均回帰とは、トレーダーが価格が何らかの形の均衡に戻ることを期待する逆張り取引の一種で、通常は平均値または別の中心的傾向の統計によって測定されます。
preview
データサイエンスと機械学習—ニューラルネットワーク(第01回):フィードフォワードニューラルネットワークの解明

データサイエンスと機械学習—ニューラルネットワーク(第01回):フィードフォワードニューラルネットワークの解明

ニューラルネットワークの背後にある操作全体は、多くの人に気に入られていますが、ほとんどの人に理解されていません。この記事では、フィードフォワード型の多層知覚の密室の背後にあるすべてを平易な言葉で説明しようとします。
preview
ニューラルネットワークが簡単に(第7回): 適応的最適化法

ニューラルネットワークが簡単に(第7回): 適応的最適化法

以前の記事では、ネットワーク内のすべてのニューロンに対して同じ学習率を用いてニューラルネットワークをトレーニングするためにストキャスティクススロープ降下法を使用しました。 本論文では、各ニューロンの学習速度を変化させることができる適応学習法に着目します。 その是非についても検討していきたいと思います。
より優れたプログラマー(第04部): より速い開発者になる方法
より優れたプログラマー(第04部): より速い開発者になる方法

より優れたプログラマー(第04部): より速い開発者になる方法

すべての開発者は、コードをより速く書くことを望んでいます。より速く効果的にコードを書けることは、少数の人々だけが生まれつき持っているような特別な能力ではありません。これは、コーディングの経験年数に関係なく、すべてのコーダーが習得できるスキルです。
上位100件の最適化パス(その1)最適化分析器の開発
上位100件の最適化パス(その1)最適化分析器の開発

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

本稿では、最適な最適化パスを選択するためのアプリケーションの開発について、いくつかのオプションを使用して説明します。 このアプリケーションは、様々な要因によって最適化結果を分類することができます。最適化パスは常にデータベースに書き込まれるため、再び最適化せずに常に新しいロボットパラメータを選択できます。さらに、すべての最適化パスを1つのチャートで表示し、パラメトリックVaR比を計算し、パスの正規分布と特定の比率セットの取引結果のグラフを作成することができます。さらに、いくつかの計算された比率のグラフは、最適化開始から(または選択された日付から別の選択された日付まで)動的に構築されます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第7部): StopLimit注文発動イベント、注文およびポジション変更イベント機能の準備
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第7部): StopLimit注文発動イベント、注文およびポジション変更イベント機能の準備

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第7部): StopLimit注文発動イベント、注文およびポジション変更イベント機能の準備

前の記事では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。第6部分では、ネッティング勘定のポジションを扱うようにライブラリを訓練しました。今回は、StopLimit注文の発動の追跡を実装し、注文とポジションの変更イベントを追跡する関数を準備します。
preview
Volumesによる取引システムの設計方法を学ぶ

Volumesによる取引システムの設計方法を学ぶ

最も人気のあるテクニカル指標に基づいて取引システムを設計する方法を学ぶための連載の新しい記事です。今回は、Volumes指標について紹介します。出来高という概念は、金融市場の取引において非常に重要な要素の1つであり、注意を払う必要があります。この記事では、Volumes指標を使用した簡単な取引システムの設計方法について説明します。
チャネルの描画 : 内見および外観
チャネルの描画 : 内見および外観

チャネルの描画 : 内見および外観

マーケット分析および移動平均後トレードを判断するのにチャネルはもっとも人気あるツールだと言っても過言ではないでしょう。チャネルとそのコンポーネントを使用するトレード戦略の多くを深く掘り下げず、数学的基本とインディケータの実用的実装について語っていきたいと思います。それはクライアント端末画面の3つの極値によって判断されるチャネルを描くものです。
preview
エキスパートアドバイザー(EA)の選び方:取引ボットを却下するための20の強力な基準

エキスパートアドバイザー(EA)の選び方:取引ボットを却下するための20の強力な基準

この記事では、「どうやって正しいエキスパートアドバイザーを選べばいいのか」という問いに答えようと思います。ポートフォリオに最適なのはどれでしょうか。また、市場で入手できる大規模な取引ボットリストをどのようにフィルタリングすればいいのでしょうか。この記事では、エキスパートアドバイザーを却下するための20の明確で強力な基準を紹介します。それぞれの基準が提示され、よく説明されているので、より持続的な判断ができ、より収益性の高いエキスパートアドバイザーを集めることができるようになります。
価格系列の離散化、ランダム成分とノイズ
価格系列の離散化、ランダム成分とノイズ

価格系列の離散化、ランダム成分とノイズ

普段我々はローソク足や、価格シリーズを一定の間隔でスライスした足を使って相場を分析しています。 このような離散化手法は、相場の動きの本当の構造を歪めてしまうのではないでしょうか? オーディオ信号は時間の経過とともに変化する関数であるため、オーディオ信号を一定の間隔で離散化することは、許容される解決策です。 信号自体は時間に依存する振幅です。 この信号特性は基本的なものです。
市場の数学:利益、損失、コスト
市場の数学:利益、損失、コスト

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

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

パラボリックSARを使ってトレーリングストップを追加する方法

取引戦略を作成する際には、さまざまな保護ストップのオプションをテストする必要があります。その中で、価格に追随してストップロスレベルをダイナミックに引き上げる方法が考えられます。その最有力候補として、パラボリックSAR指標が挙げられます。これ以上シンプルで視覚的にわかりやすい指標はないでしょう。
preview
ニューラルネットワークの実験(第5回):ニューラルネットワークに渡すための入力の正規化

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

ニューラルネットワークはトレーダーのツールキットの究極のツールです。この仮定が正しいかどうかを確認してみましょう。MetaTrader 5は、取引でニューラルネットワークを使用するための自立した媒体としてアプローチされています。簡単な説明が記載されています。
手動のチャート作成および取引ツールキット(第I部)準備: 構造の説明とヘルパークラス
手動のチャート作成および取引ツールキット(第I部)準備: 構造の説明とヘルパークラス

手動のチャート作成および取引ツールキット(第I部)準備: 構造の説明とヘルパークラス

これは連載最初の記事で、キーボードショートカットを使用してチャートグラフィックを手動で適用できるツールキットについて説明します。1つのキーを押すとトレンドラインが表示され、別のキーを押すと、必要なパラメータを備えたフィボナッチファンが作成されるという、非常に便利なものです。時間枠の切り替え、レイヤーの再配置、チャートのすべてのオブジェクトの削除もおこなえます。
トレーディングモデルに基づくマルチエキスパートアドバイザーの作成
トレーディングモデルに基づくマルチエキスパートアドバイザーの作成

トレーディングモデルに基づくマルチエキスパートアドバイザーの作成

MQL5にてオブジェクト指向のアプローチを使用すると、マルチ通貨・マルチシステム・マルチタイムフレームのエキスパートアドバイザーの作成を大幅に単純化することができます。全てのタイムフレーム、全ての金融商品において、いくつものトレーディング戦略に基づいた取引をあなたのEAが行うことを想像してみてください。さらに、EAはテスターにて簡単にテストすることができ、すべての戦略において、稼働する資産管理システムがいくつもあります。
MQL5 クックブック:トレードトランザクションイベントの処理
MQL5 クックブック:トレードトランザクションイベントの処理

MQL5 クックブック:トレードトランザクションイベントの処理

本稿ではイベント駆動型プログラミングの観点から MQL5 言語の機能を考察します。この方法の最大のメリットはプログラムがトレード処理の段階的な実装に関する情報を入手することができることです。また「トレードトランザクション」イベントハンドラによって現在進行中のトレード処理に関する情報を受信し処理する例を取り上げます。私見ですが、この方法はあるターミナルから別のターミナルへディールをコピーするのにも利用可能です。
リキッドチャート
リキッドチャート

リキッドチャート

時間の秒、5分から開くバーを持つ毎時チャートを見たいですか?バーのオープン時間が毎分変わるようであれば再作成されたチャートはどのように見えるのでしょうか?そのようなチャートでトレードすることにどんなメリットがあるのでしょうか?本稿ではこういった疑問に対する答えを見つけていきます。
MQL5 と MQL4 の選択とナビゲーションユーティリティ: パターンの自動検索の追加と検出されたシンボルの表示
MQL5 と MQL4 の選択とナビゲーションユーティリティ: パターンの自動検索の追加と検出されたシンボルの表示

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

この記事では、シンボルを収集してナビゲートするためのユーティリティの機能を拡張していきます。 今回は、必要なパラメータの一部を満たすシンボルのみを表示する新しいタブを作成し、必要な並べ替えルールを持つカスタムタブを追加する方法を見つけます。
モスクワ証券取引所(MOEX)の為のトレードロボット作成は何から始めたら良いか
モスクワ証券取引所(MOEX)の為のトレードロボット作成は何から始めたら良いか

モスクワ証券取引所(MOEX)の為のトレードロボット作成は何から始めたら良いか

モスクワ証券取引所のトレーダーの多くが。自分のトレードアルゴリズムを自動化したいと考えていても、何から始めたら良いかわからずにいます。MQL5言語は膨大な取引機能を提供するだけでなく、アルゴトレードにおける最初の一歩を最大限に簡単なものにするクラスも提供しています。
グラフィカルインタフェースを通して最適化の結果を処理する
グラフィカルインタフェースを通して最適化の結果を処理する

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

最適化結果の分析と処理についての話を展開していきます。今回の課題は、100の最良の最適化結果を選択し、それらをグラフィカルインタフェースの表に表示することです。ユーザーが最適化結果の表で列を選択しつつ、残高とドローダウンのマルチシンボルのグラフを別々に入手できるようにします。
preview
さまざまな移動平均タイプをテストして、それらがどの程度洞察力に富むかを確認する

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

多くのトレーダーにとって移動平均指標が重要であることは周知の事実です。取引に役立つ移動平均タイプは他にもあります。この記事ではこれらのタイプを特定し、それぞれのタイプと最も人気のある単純移動平均タイプを簡単に比較して、どれが最良の結果を示すことができるかを確認します。
トレードシグナルの多通貨監視(その4)。機能強化とシグナル検索システムの改善
トレードシグナルの多通貨監視(その4)。機能強化とシグナル検索システムの改善

トレードシグナルの多通貨監視(その4)。機能強化とシグナル検索システムの改善

このパートでは、トレードシグナルの検索・編集システムを拡張し、カスタムインジケータの使用可能性やプログラムのローカリゼーションを追加することを紹介します。 以前、シグナルを検索するための基本的なシステムを作ったことがありますが、小さなインジケータとシンプルな検索ルールのセットをベースにしていました。
MetaTrader 5における取引戦略最適化の可視化
MetaTrader 5における取引戦略最適化の可視化

MetaTrader 5における取引戦略最適化の可視化

本稿では、最適化プロセスの可視化を拡張するためのグラフィカルインターフェイスを備えたMQLアプリケーションが実装されます。グラフィカルインターフェイスには、EasyAndFastライブラリの最新バージョンが適用されます。MQLアプリケーションでグラフィカルインターフェイスが必要な理由は多くのユーザによって尋ねられることがあります。本稿では、トレーダーにとって有用な複数のケースの1つを示します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第12部): 「口座」オブジェクトクラスと口座オブジェクトのコレクション
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第12部): 「口座」オブジェクトクラスと口座オブジェクトのコレクション

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第12部): 「口座」オブジェクトクラスと口座オブジェクトのコレクション

前の記事では、ライブラリでMQL4ポジション決済イベントを定義し、未使用の注文プロパティを取り除きました。本稿では、口座オブジェクトの作成を検討して口座オブジェクトのコレクションを開発し、口座イベントを追跡する機能を準備します。
preview
チャートをより面白くする: 背景の追加

チャートをより面白くする: 背景の追加

多くのワークステーションには、ユーザーに関する何かを語る代表的な画像が含まれています。これらの画像は、作業環境をより美しくエキサイティングなものにします。背景を追加してチャートをより面白くする方法を見てみましょう。
初めてのお客様へのアドバイス
初めてのお客様へのアドバイス

初めてのお客様へのアドバイス

有名人の格言ではよくこう言われます。「失敗を恐れる者はなにもなしえない。」怠慢自体が誤りであることを認めなければ、この言葉を語るのは難しいでしょう。しかし、将来の過ちを最小にするために過去の過ち(自分自身または他者の)を分析することは常に可能です。これから、同じ名前のサービスにおけるジョブ実行中に再発生可能性な状況を検証していこうと思います。
HedgeTerminalパネルを利用して MetaTrader 5 で双方向トレードとポジションヘッジを行う - パート1
HedgeTerminalパネルを利用して MetaTrader 5 で双方向トレードとポジションヘッジを行う - パート1

HedgeTerminalパネルを利用して MetaTrader 5 で双方向トレードとポジションヘッジを行う - パート1

本稿ではポジションヘッジへの新しいアプローチについて述べ、本件に関する MetaTrader 4 および MetaTrader 5 のユーザー間のディベートに一線を画します。そのようなヘッジを信頼して行うアルゴリズムは解りやすい言葉で、またシンプルなグラフと図で説明されています。本稿は新しいパネルHedgeTerminalに特化して説明しています。これは MetaTrader 5 内で本質的に完全な機能を備えたトレードターミナルです。HedgeTerminalとそれによるトレードの仮想化でポジションは MetaTrader 4 と同じような方法で管理することができます。
MQL5 および MQL4 の選択およびナビゲーション ユーティリティ: チャートへのデータの追加
MQL5 および MQL4 の選択およびナビゲーション ユーティリティ: チャートへのデータの追加

MQL5 および MQL4 の選択およびナビゲーション ユーティリティ: チャートへのデータの追加

この記事では、ユーティリティの機能を拡張します。 今回は、トレードを簡素化するデータを表示する機能を追加します。 特に、前日の高値と安値、ラウンドレベル、年の高値安値、セッション開始時刻などを追加します。
メタトレーダー5クライアントターミナルにおける適応型トレーディングシステムとその使用
メタトレーダー5クライアントターミナルにおける適応型トレーディングシステムとその使用

メタトレーダー5クライアントターミナルにおける適応型トレーディングシステムとその使用

本稿では、多くのストラテジーで構成され、それぞれが「バーチャル」トレードオプションを実行する、適応型システムの変形を提案します。リアルトレーディングは、その時点で最大利益となるストラテジーにしたがって行われます。オブジェクト指向アプローチ、データを扱うクラスや、標準ライブラリのトレードクラスのおかげで、システムのアーキテクチャはシンプルかつスケーラブルになりました;今や、数百のトレードストラテジーを含む適応型システムを、簡単に作成し、分析することができます。
グラフィカルインタフェースXI:標準グラフィックライブラリの統合(ビルド16)
グラフィカルインタフェースXI:標準グラフィックライブラリの統合(ビルド16)

グラフィカルインタフェースXI:標準グラフィックライブラリの統合(ビルド16)

グラフィックライブラリの科学的なグラフを作成するための新バージョン(CGraphicクラス)が最近発表されました。今回のアップデートでは、グラフィカルインターフェイス作成のために開発された当ライブラリにグラフを作成するための新しいコントロールを備えたバージョンが導入されます。さまざまな種類のデータを視覚化することがさらに簡単になりました。
preview
連続ウォークフォワード最適化(パート3):ロボットをオートオプティマイザに適応させる

連続ウォークフォワード最適化(パート3):ロボットをオートオプティマイザに適応させる

3番目であるこの記事は、前の 2 つの記事間のブリッジとして機能します。最初の記事で検討されている.dll との相互作用のメカニズムと、2 番目の記事で説明したレポートダウンロード用のオブジェクトについて説明します。 DLLからインポートし、トレードヒストリーを持つXMLファイルを形成するクラスのラッパ作成のプロセスを分析します。 このラッパとデータのやり取りするメソッドも検討します。
preview
母集団最適化アルゴリズム:カッコウ最適化アルゴリズム(COA)

母集団最適化アルゴリズム:カッコウ最適化アルゴリズム(COA)

次に考察するのは、レヴィフライトを使ったカッコウ検索最適化アルゴリズムです。これは最新の最適化アルゴリズムの1つで、リーダーボードの新しいリーダーです。
MQL5 ウィザード:リスクおよび資金管理モジュール作成方法
MQL5 ウィザード:リスクおよび資金管理モジュール作成方法

MQL5 ウィザード:リスクおよび資金管理モジュール作成方法

MQL5ウィザードのトレーディング戦略ジェネレータはトレーディングの考え方を検証することをひじょうに簡素化します。本稿では独自のリスクおよび資金管理モジュールの作成と、MQL5 ウィザードでそれを有効にする方法について述べました。例として、資金管理アルゴリズムを取り上げました。そこではトレードボリュームが前回ディールの結果を基に決定されます。またMQL5 ウィザード用に作成されるクラスのストラクチャおよび記述フォーマットについても述べます。