MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
グラフィカルインタフェースIII:シンプルボタンと多機能ボタンのグループ(チャプター 2)
グラフィカルインタフェースIII:シンプルボタンと多機能ボタンのグループ(チャプター 2)

グラフィカルインタフェースIII:シンプルボタンと多機能ボタンのグループ(チャプター 2)

シリーズの最初の章は、シンプルボタンと多機能ボタンについてでした。2番目の記事は、アプリケーション内でユーザーがセット(グループ)のうちオプションのいずれかを選択することができる際の要素の作成を可能にする相互接続されたボタンのグループに専念します。
トレードシグナルの多通貨監視(その5: 複合シグナル
トレードシグナルの多通貨監視(その5: 複合シグナル

トレードシグナルの多通貨監視(その5: 複合シグナル

トレーディングシグナルモニターの作成に関連する第5回の記事では、コンポジットシグナルについて考え、必要な関数を実装していきます。 以前のバージョンでは、RSI、WPR、CCIなどのシンプルなシグナルを使用していましたが、カスタムインジケータを使用する可能性も考慮します。
トレンドとフラットの戦略を個別に最適化する
トレンドとフラットの戦略を個別に最適化する

トレンドとフラットの戦略を個別に最適化する

この記事では、さまざまな市場条件に対して個別に最適化する方法について説明しています。個別最適化とは、上昇トレンドと下降トレンドを別々に最適化して取引システムの最適なパラメータを決定することです。誤ったシグナルの影響を減らして収益性を向上させるために、システムは柔軟に作られています。つまり、市場の動きは常に変化を伴う為、システムには特定の設定や入力データのセットがあります。
ネットワーク関数の適用、または DLL を使用しない MySQL: パートII - シグナル特性の変化を監視するプログラム
ネットワーク関数の適用、または DLL を使用しない MySQL: パートII - シグナル特性の変化を監視するプログラム

ネットワーク関数の適用、または DLL を使用しない MySQL: パートII - シグナル特性の変化を監視するプログラム

前のパートでは、MySQLコネクタの実装をしました。 この記事では、シグナルプロパティを収集するためのサービスを実装し、時間の経過とともに変化を表示するためのプログラムを実装することで、そのアプリケーションを検討します。 実装された例は、ユーザーがシグナルのWebページに表示されないプロパティの変化を観察する必要がある場合、実用的な意味を持ちます。
インディケータの統計パラメータ分析
インディケータの統計パラメータ分析

インディケータの統計パラメータ分析

テクニカル分析は基本クオートを「より明確に」示し、トレーダーがマーケット価格動向を分析し推定することのできるインディケータを幅広く採り入れます。インディケータを使用することに意味はなく、言うまでもなく最初のクオート変換と取得した結果の信頼性に関する問題を解決できないかぎり、インディケータを特定のトレーディングシステムに適用することにも意味がありません。本稿ではそのような結論について確たる理由があることを示していきます。
UML ツールを用いたExpert Advisorの開発方法
UML ツールを用いたExpert Advisorの開発方法

UML ツールを用いたExpert Advisorの開発方法

本稿では UML グラフィカル言語を用いたExpert Advisorの開発方法についてお話します。そのツールはオブジェクト指向のソフトウェアシステムのビジュアルモデル化に使用されるものです。この方法のおもなメリットはモデル化プロセスの可視化です。本稿には Software Ideas Modelerを使用したExpert Advisorの ストラクチャとプロパティのモデル化を示す例が含まれています。
ADXによる取引システムの設計方法を学ぶ
ADXによる取引システムの設計方法を学ぶ

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

今回は、最も人気のある指標を使って取引システムを設計する連載の続きとして、ADX (Average Directional Index)指標についてお話します。この指標を理解するために詳しく学び、簡単な戦略でその使い方を学びます。深く学ぶことで、より多くの洞察得ることができ、それをよりよく活用することができるのです。
長期取引戦略の基盤としてのマルチンゲール
長期取引戦略の基盤としてのマルチンゲール

長期取引戦略の基盤としてのマルチンゲール

本稿では、マルチンゲールシステムについて詳細に検討します。このシステムを取引に適用できるかどうか、またリスクを最小限に抑えるための使用方法が検討されます。この単純なシステムの主な欠点は、預金全体を失う可能性があることです。マルチンゲール技術を使って取引することを決定した場合、この事実は考慮に入れられなければなりません。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第10部): MQL4との互換性 - ポジションオープンイベントと指値注文発動イベント
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第10部): MQL4との互換性 - ポジションオープンイベントと指値注文発動イベント

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第10部): MQL4との互換性 - ポジションオープンイベントと指値注文発動イベント

前の記事では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。第9部では、MQL4を使用するためのライブラリクラスの改善を開始しました。ここでは、MQL4との完全な互換性を確保するために、ライブラリの改善を続けます。
GUIコントロールのレイアウトとコンテナの使用:CGrid クラス
GUIコントロールのレイアウトとコンテナの使用:CGrid クラス

GUIコントロールのレイアウトとコンテナの使用:CGrid クラス

この記事では、1つのレイアウトマネージャを使用して、レイアウトやコンテナに基づいて、GUI作成の代替方法を提示しています。CGridクラスは、グリッドレイアウトを使用して、他のコンテナやコントロールのコンテナとして機能する補助コントロールです。
グラフィカルインタフェース I: フォームボタンとインターフェイス要素削除のための関数(チャプター 4)
グラフィカルインタフェース I: フォームボタンとインターフェイス要素削除のための関数(チャプター 4)

グラフィカルインタフェース I: フォームボタンとインターフェイス要素削除のための関数(チャプター 4)

本稿では、コントロールのクリックによるフォーム管理のメソッドを追加してWindowクラスの開発を続けていこうと思います。フォームのボタンによってのプログラムの終了を有効にするだけでなく、フォームの最小化と最大化機能も実装します。
Boxplotによる金融時系列のシーズンパターンの探索
Boxplotによる金融時系列のシーズンパターンの探索

Boxplotによる金融時系列のシーズンパターンの探索

この記事では、Boxplotを使用して価格時系列のシーズン特性を表示します。 各Boxplot(あるいは"ボックスアンドウイスキーダイアグラム") は、データセットに沿って値がどのように分布しているかを示す優れたものです。 Boxplotは、視覚的に似ていますが、ローソク足チャートと混同しないでください。
戦略バランス曲線の品質評価としての R 乗
戦略バランス曲線の品質評価としての R 乗

戦略バランス曲線の品質評価としての R 乗

この記事では、カスタム最適化基準R乗の構築について扱います。 この基準は、戦略のバランス曲線の品質を推定し、安定した戦略を構築するために使うことができます。 今回は、このメトリックのプロパティと品質の推定に使用される、構造と統計的手法について説明します。
アジアセッション中の夜間取引: どのように収益性を維持するか
アジアセッション中の夜間取引: どのように収益性を維持するか

アジアセッション中の夜間取引: どのように収益性を維持するか

この記事では、夜間取引の概念、および MQL5 におけるトレーディング戦略とその実装について扱います。 テストを通じ、適切な結論を下します。
Expert Advisor パラメータのユーザーパネルからの『オンザフライ』の変更
Expert Advisor パラメータのユーザーパネルからの『オンザフライ』の変更

Expert Advisor パラメータのユーザーパネルからの『オンザフライ』の変更

本稿ではパラメータをユーザーパネルから管理できる Expert Advisor の実装を示すちょっとした例を提供します。『オンザフライ』でパラメータを変更するとき、Expert Advisor はのちにファイルから読み込みパネル上で適切に表示するために情報パネルからファイルに取得した値を書きます。本稿はマニュアルでトレードを行う方または半自動モードでトレードを行う方に適しているでしょう。
エキスパートアドバイザーを使って自分ルールでシグナルをコピーするには?
エキスパートアドバイザーを使って自分ルールでシグナルをコピーするには?

エキスパートアドバイザーを使って自分ルールでシグナルをコピーするには?

シグナルを購読していると、このような状況が起こることがあります。貴方の取引口座はレバレッジが1:100であるのに、プロバイダのレバレッジは1:500かつ最小ロットでトレードを行っていて、貴方の取引残高はほぼ同じ。そしてこの時コピー係数は10%から15%になるという状況です。この記事では、このような場合にどのようにコピー係数を上げたら良いかをお話しします。
Market Product向けの優れた記述方法
Market Product向けの優れた記述方法

Market Product向けの優れた記述方法

MQL5「マーケット」には数多くのプロダクツが販売されていますが、その説明にはいま一つ物足りないということがあります。テキストの多くは明らかに改善が必要です。一般トレーダーが理解できないようなものだからです。本稿はみなさんのプロダクトを有利な位置に置くことに役立つことでしょう。販売しているものが何であるか的確に顧客に示す、注意を引く説明を書くための提案を活用ください。
トレードシグナルの多通貨監視(パート1):アプリケーション構造の開発
トレードシグナルの多通貨監視(パート1):アプリケーション構造の開発

トレードシグナルの多通貨監視(パート1):アプリケーション構造の開発

この記事では、トレードシグナルのマルチカレンシーモニターを作成するアイデアを考察し、そのプロトタイプと共に未来のアプリケーション構造を開発し、運用のフレームワークを作成します。 この記事では、トレードシグナルの生成を可能にし、トレーダーが目的のシグナルを見つけるのを助ける柔軟な多通貨アプリケーションの段階的な作成を提示します。
CCanvasでのカスタム指標とインフォグラフィックス
CCanvasでのカスタム指標とインフォグラフィックス

CCanvasでのカスタム指標とインフォグラフィックス

本稿は、より複雑な構造的実装を伴う新しい種類の指標について検討し、擬似3D型指標と動的インフォグラフィックスの開発についても説明します。
DoEasyライブラリの時系列(第36部): すべての使用銘柄期間の時系列オブジェクト
DoEasyライブラリの時系列(第36部): すべての使用銘柄期間の時系列オブジェクト

DoEasyライブラリの時系列(第36部): すべての使用銘柄期間の時系列オブジェクト

本稿では、使用された各銘柄期間のバーオブジェクトのリストを単一の銘柄時系列オブジェクトに結合することを検討します。使用されるすべての銘柄時系列期間のリストを格納するオブジェクトが各銘柄に備わることになります。
MQL5プログラミングベージックス:リスト
MQL5プログラミングベージックス:リスト

MQL5プログラミングベージックス:リスト

トレーディング戦略開発のためのプログラミング言語の新バージョン、MQL5は、以前のバージョン、MQL4と比較してより強力で効果的な機能を提供しています。その利点は本質的にオブジェクト指向プログラミングの機能にあります。この記事は、ノードやリストなど複雑なカスタムデータ型を用いることについて詳しく見ていきます。また、MQL5での実際的なプログラミングにてリストを用いる例を紹介します。
preview
MQL言語を使用したゼロからのディープニューラルネットワークプログラミング

MQL言語を使用したゼロからのディープニューラルネットワークプログラミング

この記事は、MQL4/5言語を使用してディープニューラルネットワークを最初から作成する方法を読者に教えることを目的としています。
ローソク足分析技術の研究(第4部): パターンアナライザーの更新と追加
ローソク足分析技術の研究(第4部): パターンアナライザーの更新と追加

ローソク足分析技術の研究(第4部): パターンアナライザーの更新と追加

本稿では、パターンアナライザーアプリケーションの新しいバージョンについて説明します。このバージョンでは、バグ修正と新機能、そして改訂されたユーザーインターフェイスが提供されています。新しいバージョンを開発するときに、前の記事からのコメントと提案が考慮されました。結果として得られたアプリケーションは、この記事で説明されています。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第4部): 取引イベント
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第4部): 取引イベント

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第4部): 取引イベント

前の記事では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。過去の注文と取引のコレクション、成行注文とポジション、そして注文の便利な選択と並び替えのためのクラスはすでに存在します。この記事では、基本オブジェクトの開発を続け、Engineライブラリが口座の取引イベントを追跡できるようにします。
preview
MetaTrader 5でのトレードイベント

MetaTrader 5でのトレードイベント

トレード用アカウントの現在の状況を監視すると、オープンポジションと注文をコントロールしていることがわかります。トレードシグナルが取引に変わる前に、クライアントターミナルからリクエストとしてトレードサーバーに送信され、そこで処理待ちの注文キューに配置されます。トレードサーバーによるリクエストを受け取る、機嫌切れとして削除する、それに基づき取引を実行を行うといったこれら全ては、トレードイベントに従っています;そして、トレードサーバーはターミナルにそれらについて通知します。
Simulink:Expert Advisors開発者へのガイド
Simulink:Expert Advisors開発者へのガイド

Simulink:Expert Advisors開発者へのガイド

私はプロのプログラマではありません。そのため、トレーディングシステムの作業をする際、「シンプルから複雑へ」という原則は私にとって重要なものです。では私にとってシンプルとは正確にどういうことを言うのでしょうか?まず、システム作成プロセスの視覚化、そしてその動作のロジックです。また、手書きコードを最小限に抑えることです。本稿では、Matlabパッケージを基にトレーディングシステムを作成し検証することを目指しています。そしてIMetaTrader 5用のExpert Advisorを書いていきます。検証段階ではMetaTrader 5からの履歴データを使用します。
MQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の作成
MQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の作成

MQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の作成

本稿はMQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の自動作成について述べます。理論的な情報をすべて学習する必要なくニューラルネットワークと簡単に連携し、ご自身のコードを書く方法をお伝えします。
МetaTrader 5からWCFサービスを利用し.NETアプリケーションにクオートをエクスポートする方法
МetaTrader 5からWCFサービスを利用し.NETアプリケーションにクオートをエクスポートする方法

МetaTrader 5からWCFサービスを利用し.NETアプリケーションにクオートをエクスポートする方法

MetaTrader 5からご自身のアプリケーションにクオートをエクスポートしたくありませんか?MQL5-DLLジャンクションを使用するとそのソリューションの作成が可能です!本稿でMetaTrader 5から.NETに書かれたアプリケーションにクオートをエクスポートする方法の一つをお伝えします。私はまさにこのプラットフォームの使用により、クオートのエクスポート実装がおもしろく、根本的にやさしく行えました。残念ながらバージョン5はまだ.NETをサポートしていないので、かつてのように.NETサポート機能のあるwin32 dllを interlayerとして利用します。
preview
データサイエンスと機械学習(第01回):線形回帰

データサイエンスと機械学習(第01回):線形回帰

私たちトレーダーは、数字に基づいた判断をするよう、システムと自分自身を訓練する時期に来ています。目ではなく、直感で信じるのは、これが世界が向かっているところだということです。波の方向に垂直に移動しましょう。
グラフィカルインタフェース V:リストビュー要素(チャプター 2)
グラフィカルインタフェース V:リストビュー要素(チャプター 2)

グラフィカルインタフェース V:リストビュー要素(チャプター 2)

前の章では、縦横スクロールバーを作成するためのクラスを書きました。この章では、それを実装します。縦スクロールバーはそのコンパウンドの一部となるリストビュー要素を作成するためのクラスが記述されます。
preview
SMC (Smart Money Concepts)で取引のレベルアップを実現する:OB、BOS、FVG

SMC (Smart Money Concepts)で取引のレベルアップを実現する:OB、BOS、FVG

SMC(Smart Money Concepts、スマートマネーコンセプト)のOB(Order Blocks、注文ブロック)、BOS(Break of Structure、ブレイクオブストラクチャ)、FVG(Fair Value Gaps、公正価格ギャップ)を1つの強力なEAに統合することで、取引をさらに進化させることができます。自動モードで戦略を実行することも、特定のSMCコンセプトだけを使用することも可能で、柔軟かつ精度の高い取引が実現します。
クロスプラットフォームEA: マネーマネジメント
クロスプラットフォームEA: マネーマネジメント

クロスプラットフォームEA: マネーマネジメント

この記事では、クロスプラットフォームEAの マネーマネジメントメソッドの実装について説明します。 マネーマネジメントクラスは、EAによってエントリーされる次のトレードに使用するロットサイズの計算を担当します。
トレード戦略の色の最適化
トレード戦略の色の最適化

トレード戦略の色の最適化

この記事では、ある実験をします。つまり、色の最適化の結果を行います。 色は、赤、緑、青 (RGB) のレベルの3つのパラメータによって決まります。 他にも3つのパラメータを使用した色分け方法があります。 したがって、3つのテストパラメータを1つの色に変換して、値を視覚的に表すことができます。 この記事を読んで、このような表現が役立つかどうかを確認してください。
MQL5 ウィザードで独自の Expert Advisor を作成する
MQL5 ウィザードで独自の Expert Advisor を作成する

MQL5 ウィザードで独自の Expert Advisor を作成する

売買ロボットを作成するのにプログラム言語の知識はもはや必須条件ではなくなっています。以前であれば、独自のトレーディングストラテジーを実装するのにプログラム技能がないことは避けがたい障害でしたが、 MQL5 「ウィザード」の登場により状況は根本的に変化しました。トレーダー初心者はプログラム経験がないことを心配しなくてよくなります。 Expert Advisor コードを作成することができる新しい「ウィザード」を使えば、プログラム経験は必要ないのです。
領域法
領域法

領域法

取引システム『領域法』は、RSIオシレーターの通常ではない解釈において使われます。この記事では、領域法を可視化するインディケータと、このシステムに基づいてトレードを行うエキスパートアドバイザを提供します。記事では、様々な通貨ペアや時間軸、面積値でのエキスパートアドバイザの詳細なテスト結果が記述されています。
preview
手動チャートおよび取引ツールキット(第II部)チャートグラフィック描画ツール

手動チャートおよび取引ツールキット(第II部)チャートグラフィック描画ツール

これは連載の次の記事で、キーボードショートカットを使用してチャートグラフィックを手動で適用するための便利なライブラリを作成した方法を示します。使用されるツールには、直線とその組み合わせが含まれます。第2部では、第1部で説明した関数を使用して、描画ツールがどのように適用されるかを確認します。ライブラリは、チャート作成タスクを大幅に簡素化する任意のエキスパートアドバイザーまたはインディケーターに接続できます。このソリューションは外部DLLを使用せず、すべてのコマンドは組み込みのMQLツールを使用して実装されます。
取引のための組合せ論と確率論(第IV部): ベルヌーイの定理
取引のための組合せ論と確率論(第IV部): ベルヌーイの定理

取引のための組合せ論と確率論(第IV部): ベルヌーイの定理

本稿では、よく知られているベルヌーイスキームをハイライトし、それを使用して取引関連のデータ配列を記述する方法を示すことにしました。これらはすべて、自己適応型の取引システムを作成するために使用されます。また、より一般的なアルゴリズムを探して、その応用を見つけます。ベルヌーイの定理はその特殊なケースです。
指数平滑化を利用した時系列予測(続編)
指数平滑化を利用した時系列予測(続編)

指数平滑化を利用した時系列予測(続編)

本稿はすでに作成済みのインディケータをグレードアップを模索し、 またブート処理と変位値を利用して予測信頼区間を推定するための手法を簡単に取り上げます。その結果、予測精度を推定するために用いる予測インディケータおよびスクリプトを手にすることになります。
preview
連続ウォークスルー最適化(パート2):ロボットの最適化レポート作成のメカニズム

連続ウォークスルー最適化(パート2):ロボットの最適化レポート作成のメカニズム

ウォークスルー最適化シリーズの最初の記事では、自動オプティマイザで使用するDLLの作成について説明しました。 今回は完全にMQL5言語に専念します。
自作 DLL の排除
自作 DLL の排除

自作 DLL の排除

MQL5 言語機能がタスク遂行に十分でなければMQL5 プログラマーは別のツールを使用する必要があります。別のプログラム言語によって仲介DLL を作成する必要があります。MQL5 にはさまざまなデータタイプを表示し、それを API に転送する機能がありますが、残念ながら MQL5 は受け付けられたポインタからデータを抽出することに関する問題を解決することはできません。本稿ではすべての "i" にドットを打ち、複雑なデータタイプを交換し、それと連携するメカニズムを示していきます。