MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
高度適応インディケータ理論および MQL5への実装
高度適応インディケータ理論および MQL5への実装

高度適応インディケータ理論および MQL5への実装

本稿は高度適応インディケータとその MQL5への実装について述べます。適応型サイバーサイクル、適応型重心、適応型RVIです。すべてのインディケータはJohn F. Ehlersの原著 "Cybernetic Analysis for Stocks and Futures" で紹介されていました。
MQL5 クックブック:ОСО オーダー
MQL5 クックブック:ОСО オーダー

MQL5 クックブック:ОСО オーダー

トレーダーのトレーディング活動にはさまざまなメカニズムや注文同士の関係を含む相互関係がつきものです。本稿は OCO 注文処理のソリューションを提案します。新規データタイプがそこで作成されるのみならず、標準クラスは広くかかわっています。
preview
MQL5におけるリソースの使用

MQL5におけるリソースの使用

MQL5プログラムを使うと、ルーチンの演算を自動化するだけでなく、フル機能のグラフィック環境を作ることが可能です。真にインタラクティブなコントロールを作成する機能は、今や、伝統的なプログラミング言語のそれとほとんど同じくらい充実しています。MQL5でフル機能のスタンドアロンプログラムを書くことを望むなら、これらに含まれるリソースを使いましょう。リソースを使ったプログラムは、管理や配布をより簡単に行えます。
取引戦略におけるファジー論理
取引戦略におけるファジー論理

取引戦略におけるファジー論理

本稿では、ファジーライブラリを使用して、ファジー論理を適用した簡単な取引システムの構築例を検討します。ファジー論理、遺伝的アルゴリズムおよびニューラルネットワークを組み合わせることによりシステムを改良するための変形が提案されます。
グラフィカルインタフェース I: コントロールのフォーム(チャプター 2)
グラフィカルインタフェース I: コントロールのフォーム(チャプター 2)

グラフィカルインタフェース I: コントロールのフォーム(チャプター 2)

本稿ではグラフィカルインタフェースの第一及び主要素である、コントロールのフォームを作成します。このフォームには複数のコントロールが任意の場所と組み合わせで添付することができます。
MQL5 クックブック-ピボットトレーディングシグナル
MQL5 クックブック-ピボットトレーディングシグナル

MQL5 クックブック-ピボットトレーディングシグナル

この記事では、ピボットの反転に基づいたシグナルのクラスの開発と実装について説明します。 このクラスは、標準ライブラリを適用する戦略を形成するために使用されます。 フィルタを追加することにより、ピボット戦略を改善することができるでしょう。
銘柄とEAのORDER_MAGICによるバランス/エクイティチャートの分析
銘柄とEAのORDER_MAGICによるバランス/エクイティチャートの分析

銘柄とEAのORDER_MAGICによるバランス/エクイティチャートの分析

MetaTrader 5のヘッジ導入は、複数のエキスパートアドバイザーを1つの取引口座で同時に取引する絶好の機会を提供します。1つの戦略が利益を上げ、2番目の戦略が損失を生み出している場合、利益チャートはゼロに近い値を表示するかもしれません。この場合、各取引戦略のバランスチャートとエクイティチャートを別々に作成することが便利です。
preview
連続的なウォークフォワード最適化(その7)。オートオプティマイザの論理部分をグラフィックスでバインドし、プログラムからグラフィックスを制御する

連続的なウォークフォワード最適化(その7)。オートオプティマイザの論理部分をグラフィックスでバインドし、プログラムからグラフィックスを制御する

この記事では、オートオプティマイザプログラムのグラフィカルな部分と論理的な部分の接続について説明します。 ボタンクリックから最適化マネージャへのタスクリダイレクトまで、最適化の起動プロセスを考慮します。
制御された最適化: シミュレーティットアニーリング
制御された最適化: シミュレーティットアニーリング

制御された最適化: シミュレーティットアニーリング

MetaTrader5トレーディングプラットフォームのストラテジーテスターは、パラメータと遺伝的アルゴリズムの完全な検索、つまり、2 つの最適化オプションのみを提供します。 この記事では、トレーディング戦略を最適化するための新しいメソッドを提案します (シミュレーティットアニーリング)。 このメソッドのアルゴリズム、実装、およびEAへの統合を考察します。 開発したアルゴリズムは移動平均 EA でテストします。
グラフィカルインタフェースX: マルチラインテキストボックス(ビルド8)
グラフィカルインタフェースX: マルチラインテキストボックス(ビルド8)

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

マルチラインテキストボックスについて説明します。OBJ_EDIT型のグラフィカルオブジェクトとは異なり、ここで説明されるバージョンには入力文字数の制限がありません。また、カーソルをマウスまたはキーを使用して移動してテキストボックスをシンプルなテキストエディタに切り替えるモードも追加されています。
初心者のためのMQL5におけるデジタルフィルタの実践的実装
初心者のためのMQL5におけるデジタルフィルタの実践的実装

初心者のためのMQL5におけるデジタルフィルタの実践的実装

トレーディングシステムを構築するトピックを扱うフォーラムではデジタルシグナルのフィルタリングに関する考え方が広く議論されてきています。MQL5においてデジタルフィルタの標準コードを作成しないことは思慮が足りないかもしれません。本稿では、『初心者のためのMQL5におけるカスタムインディケータ』よりシンプルなSMAのインディケータ コードをより複雑で汎用なデジタルフィルタに変換することについて述べます。本稿は前稿からのロジカルな続編です。また、コード内テキストの置き換え方法、プログラムエラーの修正方法についても述べます。
MQL5でのオブジェクトポインターの使用
MQL5でのオブジェクトポインターの使用

MQL5でのオブジェクトポインターの使用

デフォルトで、MQL5ではすべてのオブジェクトがレファレンスによって渡されますが、オブジェクトポインターを使用する可能性があります。しかし、オブジェクトは初期化されないかもしれないので、ポインター 確認が必要です。 この場合、 MQL5はクリティカルエラーでアップロードされずにプログラムが終了します。自動作成されたオブジェクトはこのようなエラーが発生しないのでその意味で安全です。本記事ではオブジェクトレファレンスとオブジェクトポインターの違いを理解し、ポインターを使うセキュアコードの書き方を考察します。
グラフィカルインタフェースを備えたユニバーサルチャンネル
グラフィカルインタフェースを備えたユニバーサルチャンネル

グラフィカルインタフェースを備えたユニバーサルチャンネル

すべてのチャネルインジケータは、上中下の3ラインとして表示されます。 移動平均インジケーターは主にチャネルに使用されますが、中央の線の描画原理は移動平均に似ています。 上下の線は中心線から等しい距離に位置します。 この距離は、標準偏差値 (ボリンジャーバンドバンド)、または ATR値 (ケルトナーチャネル) を使用して、価格のパーセント (エンベロープインジケータ) としてポイント単位で決定されます。
preview
フィボナッチによる取引システムの設計方法を学ぶ

フィボナッチによる取引システムの設計方法を学ぶ

最も人気のあるテクニカル指標を使用して取引システムを設計する方法についての連載を続けます。今回の新しいテクニカルツールはフィボナッチです。このテクニカル指標に基づいて取引システムを設計する方法を学びます。
MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張
MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張

MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張

本稿は MQL5 標準ライブラリの拡張について説明します。それは MQL5 ウィザードを用いてインクルードされたモジュールから受信する価格によって Expert Advisors を作成し、発注し、ストップロスおよびテイクプロフィットを設定することを可能にするものです。この方法はモジュール数に追加の制限は何も設けず、その連携動作において競合が発生することはありません。
preview
一からの取引エキスパートアドバイザーの開発(第11部):両建て注文システム

一からの取引エキスパートアドバイザーの開発(第11部):両建て注文システム

この記事では、両建て注文システムを作成します。先物契約は、トレーダーを極度に苦しめる資産タイプですが、なにがそんなに難しいのでしょうか。
CGraphic ライブラリを使用したスキャルピング相場深度の実装
CGraphic ライブラリを使用したスキャルピング相場深度の実装

CGraphic ライブラリを使用したスキャルピング相場深度の実装

この記事では、スキャルピング相場深度ツールの基本的な関数を作成します。 また、CGraphic ライブラリーをベースにしたティック・チャートを開発し、オーダーブックと統合します。 記述された相場深度を使用して、短期トレードの強力なアシスタントツールを作成することが可能になります。
ディープニューラルネットワーク(その1)データの準備
ディープニューラルネットワーク(その1)データの準備

ディープニューラルネットワーク(その1)データの準備

この一連の記事では、取引を含んだ多くの分野で応用されているディープニューラルネットワーク(DNN)の探索を続けます。ここでは、実践的な実験によって新しい方法や概念をテストするとともにこのテーマの新しい次元を探求する予定です。シリーズの最初の記事は、DNNのデータを準備することを目的としています。
クイック手動取引ツールキット: 基本機能
クイック手動取引ツールキット: 基本機能

クイック手動取引ツールキット: 基本機能

今日、多くのトレーダーが自動取引システムに切り替えています。これらのシステムには、追加のセットアップが必要なものも完全に自動化されてすぐに使用できるものもあります。ただし、昔ながらの方法で手動で取引することを好むトレーダーもかなりいます。本稿では、ホットキーを使用してすばやく手動で取引し、ワンクリックで一般的な取引アクションを実行するためのツールキットを作成します。
クイック手動取引ツールキット: ポジションと指値注文の使用
クイック手動取引ツールキット: ポジションと指値注文の使用

クイック手動取引ツールキット: ポジションと指値注文の使用

本稿では、ツールキットの機能を拡張します。特定の条件で取引ポジションを決済する機能を追加し、これらの注文を編集する機能を備えた、成行注文と指値注文を制御するための表を作成します。
トレードオブジェクト: メタトレーダーのグラフィカルオブジェクトに基づいたトレードの自動化
トレードオブジェクト: メタトレーダーのグラフィカルオブジェクトに基づいたトレードの自動化

トレードオブジェクト: メタトレーダーのグラフィカルオブジェクトに基づいたトレードの自動化

この記事では、チャートのリニアマークアップに基づいて自動トレーディングシステムを作成するための簡単なアプローチを扱います。MetaTrader4 およびMetaTrader5のオブジェクトの標準プロパティを使用して既製EAを提供し、トレードオペレーションをサポートしています。
組み合わせスキャルピング:過去の取引の分析による将来の取引パフォーマンスの向上
組み合わせスキャルピング:過去の取引の分析による将来の取引パフォーマンスの向上

組み合わせスキャルピング:過去の取引の分析による将来の取引パフォーマンスの向上

本稿では、自動取引システムの公立を高めることを目的としたテクノロジーについて説明します。アイデアが簡単に説明され、その基盤、可能性、および欠点についてが説明されます。
「EA 階層」を用いたMQL5 Expert Advisors の簡単作成
「EA 階層」を用いたMQL5 Expert Advisors の簡単作成

「EA 階層」を用いたMQL5 Expert Advisors の簡単作成

「EA 階層」は最初のドラッグアンドドロップ MetaTrader MQL5 Expert Advisor ビルダーです。使用法がひじょうに簡単なグラフィックユーザーインターフェースを用いて複雑な MQL5 を作成することが可能です。「EA 階層」ではボックスをつなぐことによってExpert Advisors を作成します。ボックスには MQL5 関数、テクニカルインディケータ、カスタムインディケータ、値などが入っています。『ボックス階層』を利用して「EA 階層」は Expert Advisor の MQL5 コードを作成します。
MQL5 Cookbook:トレードレベルを設定/変更する際エラーを避ける方法
MQL5 Cookbook:トレードレベルを設定/変更する際エラーを避ける方法

MQL5 Cookbook:トレードレベルを設定/変更する際エラーを避ける方法

シリーズの前稿 "MQL5 Cookbook: Analyzing Position Properties in the MetaTrader 5 Strategy Tester" からの Expert Advisor への取り組みの続編として、既存の関数を改良、最適化しつつ有用な関数を数多く用いて Expert Advisor を強化していきます。今回 Expert Advisor は MetaTrader 5 「ストラテジーテスタ」で最適化可能な外部パラメータを取得し、いくつかの点でシンプルなトレーディングシステムのようになります。
ローソク足分析技術の研究(第3部): パターン操作のライブラリ
ローソク足分析技術の研究(第3部): パターン操作のライブラリ

ローソク足分析技術の研究(第3部): パターン操作のライブラリ

本稿の目的は、カスタムツールを作成して、前述のパターンに関する一連の情報全体を受信して使用できるようにすることです。ユーザが独自の指標、取引パネル、エキスパートアドバイザーなどで使用できるパターン関連関数のライブラリが作成されます。
クロスプラットフォームEA: オーダーマネージャ
クロスプラットフォームEA: オーダーマネージャ

クロスプラットフォームEA: オーダーマネージャ

この記事では、クロスプラットフォームEAのオーダーマネージャの作成について説明します。 オーダーマネージャは、EAによってエントリーされたオーダーと決済、および両方で独立した記録を保持します。
異なる国での異なるタイムゾーンに基づくトレーディング戦略例
異なる国での異なるタイムゾーンに基づくトレーディング戦略例

異なる国での異なるタイムゾーンに基づくトレーディング戦略例

インターネット検索をしていると、多くの戦略を見つけるのはたやすいことです。そこから多様な提案を得ることができます。インサイダーの方法を採り入れ、異なる大陸の異なるタイムゾーンに基づく戦略作成の手順を見ていきます。
チャート分析の良計経済学的アプローチ
チャート分析の良計経済学的アプローチ

チャート分析の良計経済学的アプローチ

本稿では、分析の計量経済学的手法、自己相関分析、とりわけ条件付き分散の分析について述べていきます。ここに挙げた手法のメリットは何でしょうか?非線形 GARCH モデルの使用により、数学的観点から正式に分析した系列を表現することができ、また特定の段階数に関して予測をすることができます。
ディープニューラルネットワーク(その2)予測変数の変換と選択
ディープニューラルネットワーク(その2)予測変数の変換と選択

ディープニューラルネットワーク(その2)予測変数の変換と選択

このディープニューラルネットワークシリーズ第2稿では、モデルを訓練するためのデータを準備する過程で予測変数の変換と選択を検討します。
クロスプラットフォームグリッドEAの開発:マルチカレンシーEAのテスト
クロスプラットフォームグリッドEAの開発:マルチカレンシーEAのテスト

クロスプラットフォームグリッドEAの開発:マルチカレンシーEAのテスト

この1か月で相場は30%以上も下落しました。(コロナショック後です。) グリッド系とマーチンゲール系のEAのテストには最適な時期のようです。 本記事は、「クロスプラットフォームのグリッドEAを作る」シリーズの無計画な続編です。 現在の相場では、グリッドEAのストレスレストを整えるチャンスとなっています。 ということで、この機会にEAのテストをしてみましょう。
preview
MQL5での発注を理解する

MQL5での発注を理解する

取引システムを構築する際には、効果的に処理しなければならない作業があります。この作業は、注文の発注、または作成された取引システムに注文を自動的に処理させることです。これはあらゆる取引システムにおいて極めて重要だからです。この記事では、発注が効果的な取引システムを作成する作業のために理解する必要があるほとんどのトピックについて説明します。
preview
RSIディープスリームーブ取引手法

RSIディープスリームーブ取引手法

MetaTrader 5でRSIディープスリームーブ取引テクニックを紹介します。この記事は、株式、通貨、商品などの証券の強さと勢いを測定するために使用されるテクニカル分析指標であるRSIに基づくいくつかの取引テクニックを紹介する新しい一連の研究に基づいています。
トレードシグナルの多通貨監視(その5: 複合シグナル
トレードシグナルの多通貨監視(その5: 複合シグナル

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

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

バランスグラフを使用した戦略の最適化と、結果の「バランス+最大シャープレシオ」基準との比較

本稿では、バランスグラフ分析に基づいたカスタム取引戦略最適化基準をさらにもう1つ考察します。線形回帰は、ALGLIBライブラリの関数を使用して計算されます。
preview
MetaTrader 5のWebSocket — WindowsAPIの使用

MetaTrader 5のWebSocket — WindowsAPIの使用

この記事では、WinHttp.dllを使用してMetaTrader 5プログラム用のWebSocketクライアントを作成します。クライアントは最終的にクラスとして実装され、Binary.com WebSocketAPIに対してもテストされます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第28部): 指値取引リクエストの決済、削除、変更
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第28部): 指値取引リクエストの決済、削除、変更

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第28部): 指値取引リクエストの決済、削除、変更

これは、保留中リクエストの概念に関する3番目の記事です。ここでは、ポジションの決済、指値注文の削除、ポジションと指値注文パラメータの変更のためのメソッドを作成することにより、指値取引リクエストのテストを完了します。
リバーシング: 聖杯や危険な妄想?
リバーシング: 聖杯や危険な妄想?

リバーシング: 聖杯や危険な妄想?

この記事では、リバーシングマーチンゲール技術を研究し、トレード戦略を向上させることができるかどうかということはもちろん、使用する価値があるかどうかを判断します。 ヒストリカルデータを操作し、リバーシングテクニックに最適なインジケータを確認するEAを作成します。 また、独立したトレードシステムとしてのインジケータなしで使用できるかどうかもチェックします。 また、リバーシングが、負けトレードから勝ちトレードに変えられるかを確かめます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第29部): 未決取引リクエスト - 特定の条件下での注文とポジションの削除と変更
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第29部): 未決取引リクエスト - 特定の条件下での注文とポジションの削除と変更

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第29部): 未決取引リクエスト - 特定の条件下での注文とポジションの削除と変更

本稿では、保留中リクエスト取引の概念の説明を完了し、未決注文を削除する機能と、特定の条件下で注文とポジションを変更する機能を作成します。したがって、シンプルなカスタム戦略、またはユーザ定義の条件でアクティブ化されるEA動作ロジックを開発できるようになります。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第19部): ライブラリメッセージのクラス
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第19部): ライブラリメッセージのクラス

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第19部): ライブラリメッセージのクラス

本稿では、テキストメッセージを表示するクラスについて検討します。現在、異なるテキストメッセージが多数あるので、ロシア語または英語のメッセージを他の言語に保存、表示、翻訳する方法を再調整するときが来ました。さらに、新しい言語をライブラリに追加して言語をすばやく切り替える便利な方法を導入するのが望ましいでしょう。
マルチ通貨システム エキスパートアドバイザーの作成
マルチ通貨システム エキスパートアドバイザーの作成

マルチ通貨システム エキスパートアドバイザーの作成

この記事は、複数のシンボルをトレードし、同時にいくつものトレーディングシステムを使用するエキスパートアドバイザーのストラクチャーを紹介します。もしすでにすべてのEAにおいて最適な入力パラメーターを特定し、それぞれに対して個別に良いテスト結果を得ているのであれば、もしすべての戦略を合わせて同時に全EAをテストすればどのような結果を得ることができるか、ご自身に尋ねてみてください。