MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
ペアトレード

ペアトレード

本稿では、ペアトレードについて、その原理は何か、実用化の見込みはあるのかを考えてみたいと思います。また、ペアトレード戦略にも挑戦します。
トレードシグナルの多通貨監視(その4)。機能強化とシグナル検索システムの改善
トレードシグナルの多通貨監視(その4)。機能強化とシグナル検索システムの改善

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

このパートでは、トレードシグナルの検索・編集システムを拡張し、カスタムインジケータの使用可能性やプログラムのローカリゼーションを追加することを紹介します。 以前、シグナルを検索するための基本的なシステムを作ったことがありますが、小さなインジケータとシンプルな検索ルールのセットをベースにしていました。
preview
トレーダーに優しい損切りと利食い

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

損切り(ストップロス)と利食い(テイクプロフィット)は取引結果に大きな響を与えます。この記事では、最適な逆指値注文の値を見つけるためのいくつかの方法を見ていきます。
オーダーストラテジー多目的Expert Advisor
オーダーストラテジー多目的Expert Advisor

オーダーストラテジー多目的Expert Advisor

この記事では、未処理のオーダーを有効に活用するストラテジーや、それを表すためのメタ言語やそれに基づき動作する多目的ExpertAdvisorを中心に見ていきます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第12部): 「口座」オブジェクトクラスと口座オブジェクトのコレクション
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第12部): 「口座」オブジェクトクラスと口座オブジェクトのコレクション

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

前の記事では、ライブラリでMQL4ポジション決済イベントを定義し、未使用の注文プロパティを取り除きました。本稿では、口座オブジェクトの作成を検討して口座オブジェクトのコレクションを開発し、口座イベントを追跡する機能を準備します。
preview
PSAR、平均足、ディープラーニングを組み合わせて取引に活用する

PSAR、平均足、ディープラーニングを組み合わせて取引に活用する

このプロジェクトでは、ディープラーニングとテクニカル分析の融合を探求し、FXの取引戦略を検証します。EUR/USDの動きを予測するために、PSAR、SMA、RSIのような伝統的な指標とともにONNXモデルを採用し、迅速な実験のためにPythonスクリプトを使用します。MetaTrader 5のスクリプトは、この戦略をライブ環境に導入し、ヒストリカルデータとテクニカル分析を使用して、情報に基づいた取引決定をおこないます。バックテストの結果は、積極的な利益追求よりもリスク管理と着実な成長に重点を置いた、慎重かつ一貫したアプローチを示しています。
preview
知っておくべきMQL5ウィザードのテクニック(第05回):マルコフ連鎖

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

マルコフ連鎖は、金融をはじめとする様々な分野で、時系列データのモデル化や予測に利用できる強力な数学的ツールです。金融の時系列モデル化や予測では、株価や為替レートなど、金融資産の時間的変化をモデル化するためにマルコフ連鎖がよく使われます。マルコフ連鎖モデルの大きな利点の1つは、そのシンプルさと使いやすさにあります。
単一インスツルメント上で異なるExpert Advisorsを使ったトレーディングのためのORDER_MAGICの使用
単一インスツルメント上で異なるExpert Advisorsを使ったトレーディングのためのORDER_MAGICの使用

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

本稿は、異なるExpert Advisorsの自動トレーディングの分割、組立て、同期同様magic-identificationを使用したインフォメーションコーディングの疑問について考察します。本稿は、より経験を積んだトレーダー同様初心者にも興味深い内容となっています。その理由は、Expert Advisorsおよび様々な戦略の複雑なシステムの同期を実装するのに有用な垂直ポジションの疑問に取り組んでいるからです。
グラフィカルインタフェースを通して最適化の結果を処理する
グラフィカルインタフェースを通して最適化の結果を処理する

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

最適化結果の分析と処理についての話を展開していきます。今回の課題は、100の最良の最適化結果を選択し、それらをグラフィカルインタフェースの表に表示することです。ユーザーが最適化結果の表で列を選択しつつ、残高とドローダウンのマルチシンボルのグラフを別々に入手できるようにします。
MQL5 ウィザード:オープンポジションのトレーリングモジュール作成方法
MQL5 ウィザード:オープンポジションのトレーリングモジュール作成方法

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

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

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

最適化結果の分析と処理についての話を展開していきます。今回の課題は、100の最良の最適化結果を選択し、それらをグラフィカルインタフェースの表に表示することです。ユーザーが最適化結果の表で列を選択しつつ、残高とドローダウンのマルチシンボルのグラフを別々に入手できるようにします。
MQL5 クックブック:Expert Advisorsにトレード条件を設定するためのインディケータ利用
MQL5 クックブック:Expert Advisorsにトレード条件を設定するためのインディケータ利用

MQL5 クックブック:Expert Advisorsにトレード条件を設定するためのインディケータ利用

本稿では MQL5 クックブックシリーズの先行記事をとおして作業をおこなってきているExpert Advisorの修正を続行します。今回は、Expert Advisor は値がポジションオープンの条件を確認するのに使用されるインディケータを使って強化されます。それに一点添えるために、外部パラメータにドロップダウンリストを作成し、3つのトレードインディケータの中から1つを選ぶことができるようにします。
グラフィカルインタフェースXI:標準グラフィックライブラリの統合(ビルド16)
グラフィカルインタフェースXI:標準グラフィックライブラリの統合(ビルド16)

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

グラフィックライブラリの科学的なグラフを作成するための新バージョン(CGraphicクラス)が最近発表されました。今回のアップデートでは、グラフィカルインターフェイス作成のために開発された当ライブラリにグラフを作成するための新しいコントロールを備えたバージョンが導入されます。さまざまな種類のデータを視覚化することがさらに簡単になりました。
グラフィカルインタフェースIX:カラーピッカーコントロール(チャプター1)
グラフィカルインタフェースIX:カラーピッカーコントロール(チャプター1)

グラフィカルインタフェースIX:カラーピッカーコントロール(チャプター1)

本稿は、MetaTrader取引ターミナルのグラフィカルインタフェース作成ライブラリの開発に関するシリーズの第九部の初めとなります。それは2章で構成され、カラーピッカー、カラーボタン、プログレスバーや折れ線グラフなどのコントロールとインターフェースの新しい要素が提示されてます。
最適化数点のシンプルな考え
最適化数点のシンプルな考え

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

最適化のプロセスにはコンピュータや MQL5 クラウドネットワーク検証エージェントのリソースも大量に必要とします。本稿では作業の促進とMetaTrader 5 ストラテジーテスタの改良に利用する簡単な考えをいくつか取り上げます。こういったアイデアはドキュメンテーション、フォーラム、記事から得ました。
MQL5 と MQL4 の選択とナビゲーションユーティリティ: パターンの自動検索の追加と検出されたシンボルの表示
MQL5 と MQL4 の選択とナビゲーションユーティリティ: パターンの自動検索の追加と検出されたシンボルの表示

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

この記事では、シンボルを収集してナビゲートするためのユーティリティの機能を拡張していきます。 今回は、必要なパラメータの一部を満たすシンボルのみを表示する新しいタブを作成し、必要な並べ替えルールを持つカスタムタブを追加する方法を見つけます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第3部)成行注文と取引のコレクション、検索と並び替え
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第3部)成行注文と取引のコレクション、検索と並び替え

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

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

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

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

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

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

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

本稿では、前稿で提案した概念を開発し、さらに考察します。収率分布の問題や、統計的規則性のプロットと研究についても記述します。
HTML レポートを使用したトレード結果の分析
HTML レポートを使用したトレード結果の分析

HTML レポートを使用したトレード結果の分析

MetaTrader5 プラットフォームには、トレーディングレポートを保存する機能のほか、EAのテストと最適化レポートがあります。 最適化レポートは XML で保存することができますが、トレードとテストのレポートは、XLSX と HTML の2つの形式で保存することができます。 この記事では、html テストレポート、XML 最適化レポート、および html トレードヒストリーレポートについて説明します。
MQL5 クックブック:トリプルスクリーン戦略に基づくトレーディングシステムに対するフレームワーク作成
MQL5 クックブック:トリプルスクリーン戦略に基づくトレーディングシステムに対するフレームワーク作成

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

本稿では MQL5で「リプルスクリーン」戦略に基づくトレーディングシステムに対するフレームワークを作成します。Expert Advisor を一から作成することはしません。代わりに、実質上すでにわれわれの目的に役だっている先行記事 "MQL5 Cookbook: Using Indicators to Set Trading Conditions in Expert Advisors" のプログラムを変更するだけとします。よって本稿は既製プログラムのパターンを簡単に変更する方法もお伝えします。
MQL5 でのアサーション
MQL5 でのアサーション

MQL5 でのアサーション

この記事では、MQL5でのアサーションの利用について扱います。アサーションメカニズムとアサーションを実装するための一般的なガイダンスを2つの例として提供します。
取引システムの開発と分析への最適なアプローチ
取引システムの開発と分析への最適なアプローチ

取引システムの開発と分析への最適なアプローチ

本稿では、資金を投資するためのシステムまたはシグナルを選択する際に使用する基準を示すとともに、取引システムの開発への最適なアプローチを説明し、外国為替取引におけるこの問題の重要性を強調します。
MQL5クラウドネットワーク:まだ計算しているのですか?
MQL5クラウドネットワーク:まだ計算しているのですか?

MQL5クラウドネットワーク:まだ計算しているのですか?

MQL5クラウドネットワークのサービスが開始してから、一年と半年ほど経過しました。この先進的な出来事はアルゴリズムによるトレーディングの新しい時代を開きました。今では、クリック数回で、トレーディング戦略の最適化のために自由に何千ものCPUを使用することができます。
preview
時間の取扱い(第2部): 関数

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

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

MetaTrader5 での MATLAB 2018 計算関数の使用

2015年にMATLAB パッケージがアップグレードされた後、DLL ライブラリを作成する最新のメソッドを検討する必要がありました。 この記事では、サンプルの予測インジケータを使用して、現代の64ビットバージョンのプラットフォームを使用して MetaTrader5 と MATLAB をリンクするメソッドを説明します。 MATLAB の接続シーケンス全体を考慮することにより、MQL5 開発者は速く高度な計算機能があるアプリケーションを作成し、«落とし穴»を回避することができます。
Johnpaul77 シグナル提供者:「われわれの戦略は3年以上利益をあげている。なぜ変えなくちゃならないんだ?」
Johnpaul77 シグナル提供者:「われわれの戦略は3年以上利益をあげている。なぜ変えなくちゃならないんだ?」

Johnpaul77 シグナル提供者:「われわれの戦略は3年以上利益をあげている。なぜ変えなくちゃならないんだ?」

小さな秘密を明かします。:MQL5.com ウェブサイトのビジターはほとんどの時間をJohnpaul77 のシグナルページで費やします。それは実アカウントでトータル570万ドルの資金を有する、定期購読者約900人のわれわれのシグナルレーティングのリーダーです。シグナルの提供者にインタービューします。そこには4人の人物がいることがわかりました。チームメンバー間で任務はどのように割り当てされているのでしょうか?どのようなテクニカルツールを使用しているのでしょうか?なぜかれらは自分達を John Paul と呼ぶのでしょうか?そして最後にインドネシア出身の一般的なゲーマーが MQL5.comでトップシグナルの提供者になったのでしょうか?本稿ですべての答えを見つけてください。
C plus plus テンプレートの代用としての疑似テンプレート使用
C plus plus テンプレートの代用としての疑似テンプレート使用

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

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

MQL5 クックブック: インジケーターサブウィンドウコンソールースクロールバー

様々なコントロールを試してみましょう。今回はスクロールバーを紹介します。「MQL5クックブック:インジケーターサブウィンドウコンソールーボタン」という以前の記事のように、すべての処理がインジケーターサブウィンドウにて実行されます。OnChartEvent()関数にてイベントを扱う詳しい詳細を提供しているので、上記の記事を読んでみてください。この点はこの記事においても言及されます。今回はMQL5リソースを用いて取得される金融商品情報の大きなリストのための垂直スクロールバーを作成します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第23部): 基本取引クラス - パラメータ有効性の検証
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第23部): 基本取引クラス - パラメータ有効性の検証

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

本稿では、取引クラスの不正な取引注文パラメータ値に対する制御と取引イベントの音声通知において開発を続けています。
グラフィカルインタフェースVII: タブコントロール(チャプター2)
グラフィカルインタフェースVII: タブコントロール(チャプター2)

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

第七部の最初の章では、テーブルを作成するためのコントロールであるテキストラベルテーブル(CLabelsTable)、エディットボックステーブル(CTable)およびレンダーテーブル(CCanvasTable)の3つのクラスが紹介されました。本稿(チャプター2)ではタブコントロールが考察されます。
preview
知っておくべきMQL5ウィザードのテクニック(第01回):回帰分析

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

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