MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
トレーディングにおけるニューラルネットワークの実用化。 Python (パートI)

トレーディングにおけるニューラルネットワークの実用化。 Python (パートI)

今回は、Pythonによるディープニューラルネットワークのプログラミングに基づいたトレードシステムの実装を一つ一つ分析します。 Googleが開発した機械学習ライブラリ「TensorFlow」を使って行います。 また、ニューラルネットワークの記述にはKerasライブラリを使用します。
preview
ニューラルネットワークが簡単に(第10回): Multi-Head Attention

ニューラルネットワークが簡単に(第10回): Multi-Head Attention

ニューラルネットワークにおける自己注意のメカニズムについては、以前に検討しました。実際には、最新のニューラルネットワークアーキテクチャは、いくつかの並列した自己注意スレッドを使用して、シーケンスの要素間のさまざまな依存関係を見つけます。このようなアプローチの実装を検討し、ネットワーク全体のパフォーマンスへの影響を評価しましょう。
クロスプラットフォームEA:MQL5標準ライブラリからコンポーネントの再利用
クロスプラットフォームEA:MQL5標準ライブラリからコンポーネントの再利用

クロスプラットフォームEA:MQL5標準ライブラリからコンポーネントの再利用

クロスプラットフォームEAはMQL4に有用であり、MQL5標準ライブラリ内に一部コンポーネントが存在します。 この記事では、MQL4コンパイラと互換性のあるMQL5標準ライブラリの特定コンポーネントを作るメソッドを取り扱います。
取引き履歴に基づくトレーディングのプレーヤー
取引き履歴に基づくトレーディングのプレーヤー

取引き履歴に基づくトレーディングのプレーヤー

トレーディングのプレーヤーたったこれだけの短い言葉です。説明は必要ありませんね。ボタンのある小さな箱が心に浮かびます。ボタンを1つ押すと再現します。レバーを動かすと再現スピードが変化します。それとても似ています。本稿では、ほとんどリアルタイムでトレード履歴を再現するプログラムを紹介したいと思います。本稿はOOPの意味、インディケータとの連携、チャート管理についてもいくらか取り上げます。
preview
MetaTrader5のWebSocket

MetaTrader5のWebSocket

MQL5 APIが更新されてネットワーク機能が導入される前は、MetaTraderプログラムでは、WebSocketベースのサービスに接続してインターフェイスする機能が制限されていました。しかしもちろん、これはすべて変わっています。本稿では、純粋なMQL5でのWebSocketライブラリの実装について説明します。WebSocketプロトコルの簡単な説明とともに結果のライブラリの使用方法に関する手順のガイドが提示されます。
ピボット平均オシレータの開発:累積移動平均の新規インジケータ
ピボット平均オシレータの開発:累積移動平均の新規インジケータ

ピボット平均オシレータの開発:累積移動平均の新規インジケータ

この記事では、MetaTraderプラットフォームのトレードインジケータとして累積移動平均(CMA)であるピボット平均オシレータ(PMO)を紹介します。 特に、データポイントとCMAの間の分数を計算する時系列の正規化インデックスとしてピボット平均(PM)を導入しました。 次に、2つのPMシグナルに適用される移動平均の差としてPMOを構築します。 提案されたインジケータの有効性をテストするためにEURUSDシンボルで行われた予備的な実験も行いましたが、さらなる検討と改善の余地があります。
ディープニューラルネットワーク(その5)DNNハイパーパラメータのベイズ最適化
ディープニューラルネットワーク(その5)DNNハイパーパラメータのベイズ最適化

ディープニューラルネットワーク(その5)DNNハイパーパラメータのベイズ最適化

本稿では、様々な訓練の変形によって得られたディープニューラルネットワークのハイパーパラメータにベイズ最適化を適用する可能性について検討します。様々な訓練の変形における最適なハイパーパラメータを有するDNNの分類の質が比較されます。DNN最適ハイパーパラメータの有効性の深さは、フォワードテストで確認されています。分類の質を向上させるための方向性が特定されています。
グラフィカルインタフェースIX:プログレスバーと折れ線グラフコントロール(チャプター2)
グラフィカルインタフェースIX:プログレスバーと折れ線グラフコントロール(チャプター2)

グラフィカルインタフェースIX:プログレスバーと折れ線グラフコントロール(チャプター2)

第九部の第2章はプログレスバーと折れ線グラフに専念されます。いつものように、これらのコントロールがカスタムMQLアプリケーションでどのように使用できるかを明らかにする詳細な実施例が存在します。
EAのリモートコントロールの方法
EAのリモートコントロールの方法

EAのリモートコントロールの方法

トレーディングロボットの主な利点は、リモートの VPS サーバー上で24時間動作できることです。 しかし、時にはサーバーに直接アクセスすることができず、タスクに介入する必要があります。 EAをリモートで管理することは可能でしょうか。 この記事では、外部コマンドを使用してEAを制御するオプションの1つを提案します。
DoEasyライブラリの時系列(第37部): すべての使用銘柄期間の時系列オブジェクト
DoEasyライブラリの時系列(第37部): すべての使用銘柄期間の時系列オブジェクト

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

本稿は、プログラムで使用されるすべての銘柄の指定された時間枠の時系列コレクションの開発についてです。時系列コレクション、コレクションの時系列パラメータを設定するメソッド、および開発された時系列に履歴データを最初に入力するメソッドを開発します。
さまざまな移動平均システムを設計する方法を学ぶ
さまざまな移動平均システムを設計する方法を学ぶ

さまざまな移動平均システムを設計する方法を学ぶ

この記事の主題である移動平均自体を使用する場合でも、任意のストラテジーに基づいて生成されたシグナルをフィルタリングするために使用できるストラテジーはたくさんあります。この記事の目的は、移動平均ストラテジーのいくつかと、アルゴリズム取引システムを設計する方法を共有することです。
preview
一目均衡表による取引システムの設計方法を学ぶ

一目均衡表による取引システムの設計方法を学ぶ

最も人気のある指標の取引システムを設計する方法についての連載の新しい記事です。今回は一目均衡表とこの指標によって取引システムを設計する方法について説明します。
preview
MQL5でONNXモデルを使用する方法

MQL5でONNXモデルを使用する方法

ONNX (Open Neural Network Exchange)は、機械学習モデルを表現するために構築されたオープンフォーマットです。この記事では、CNN-LSTMモデルを作成して金融時系列を予測する方法を検討します。MQL5エキスパートアドバイザー(EA)で作成されたONNXモデルを使用する方法も示します。
最適化管理 (パート I): GUI の作成
最適化管理 (パート I): GUI の作成

最適化管理 (パート I): GUI の作成

この記事では、MetaTrader ターミナルの拡張機能を作成するプロセスについて説明します。 このソリューションは、他のターミナルで最適化を実行する際、最適化プロセスを自動化するのに役立ちます。 このトピックに関する記事をいくつか書きます。 拡張機能は C# 言語とデザイン パターンを使用して開発されました。優先プログラミング言語の機能です。
ミクロ、ミドル、メイントレンドのインディケータ
ミクロ、ミドル、メイントレンドのインディケータ

ミクロ、ミドル、メイントレンドのインディケータ

本稿は James Hyerczyk著 "Pattern, Price & Time: Using Gann Theory in Trading Systems" から得たいくらかの考え方を基にインディケータやExpert Advisor形式でトレードの自動化可能性調査と分析を目的とします。完全にとは言わず、ここではモデル、すなわちギャン理論の最初の部分だけを対象とします。
preview
一目均衡表による取引システムの設計方法を学ぶ

一目均衡表による取引システムの設計方法を学ぶ

最も人気のある指標の取引システムを設計する方法についての連載の新しい記事です。今回は一目均衡表とこの指標によって取引システムを設計する方法について説明します。
重回帰分析ストラテジージェネレータ兼ストラテジーテスタ
重回帰分析ストラテジージェネレータ兼ストラテジーテスタ

重回帰分析ストラテジージェネレータ兼ストラテジーテスタ

本稿ではトレーディングシステム開発のために重回帰分析を利用する方法を述べます。戦略検索自動化のための回帰分析の利用法を示します。例としてプログラミングに高い技能を要求せず作成され統合される回帰式を提供します。
MQL5を使用した整列法とその可視化
MQL5を使用した整列法とその可視化

MQL5を使用した整列法とその可視化

Graphic.mqhライブラリは、MQL5のグラフィックスで動作するように設計されています。本稿では、実用的なアプリケーションの例を示し、ソートの概念について説明します。ソートタイプには既に少なくとも1つの別個の記事が書かれておりソートタイプのいくつかは詳細な調査の対象なので、ここではソートの一般的な概念が説明されます。
OpenCL を使用したローソク足パターンのテスト
OpenCL を使用したローソク足パターンのテスト

OpenCL を使用したローソク足パターンのテスト

この記事では、OpenCL ローソク足パターンテスターを "1 分 OHLC " モードで実装するアルゴリズムについて説明します。 また、高速かつ低速の最適化モードで起動したビルトインストラテジーテスターとの速度を比較します。
MQLによるMQLの構文解析
MQLによるMQLの構文解析

MQLによるMQLの構文解析

本稿では、MQLに基づいたソースコードの解析に使用されるプリプロセッサ、スキャナ、パーサについて説明します。MQLの実装が添付されています。
ローソク足分析技術の研究(第2部): 新規パターンの自動検索
ローソク足分析技術の研究(第2部): 新規パターンの自動検索

ローソク足分析技術の研究(第2部): 新規パターンの自動検索

前回の記事では、さまざまな既存のローソク足の形成から選択された14のパターンを分析しました。すべてのパターンを1つずつ分析することは不可能であるため、別の解決策を見つけました。新しいシステムは、既知のローソク足タイプに基づいて新しいローソク足パターンを検索してテストします。
初心者のためのMQL5:グラフィックオブジェクトのアンチバンダルプロテクト
初心者のためのMQL5:グラフィックオブジェクトのアンチバンダルプロテクト

初心者のためのMQL5:グラフィックオブジェクトのアンチバンダルプロテクト

グラフィックコントロールパネルが削除されたり、他の誰かによって変更されている場合、プログラムに対し、何をすべきか?この記事では、チャート上の「オーナーレス」オブジェクトを処理します。アプリケーションが削除された後に、プログラムで作成されたオブジェクトが残っている場合の処理を行います。
クロスプラットフォームEA:序章
クロスプラットフォームEA:序章

クロスプラットフォームEA:序章

この記事では、クロスプラットフォームのEAを容易に開発できるメソッドを詳述します。提案メソッドは、両方のバージョンによって共有関数を統合し、互換性のない関数の派生クラスを分割します。
MetaTrader 5での複数銘柄残高グラフ
MetaTrader 5での複数銘柄残高グラフ

MetaTrader 5での複数銘柄残高グラフ

本稿では、グラフィカルインターフェイスに最後のテスト結果に基づいた複数銘柄の残高グラフと預金損失率グラフを備えたMQLアプリケーションの例を示します。
MetaTrader 5とMATLABの連携
MetaTrader 5とMATLABの連携

MetaTrader 5とMATLABの連携

本稿はMetaTrader 5とMatLab数学的パッケージの連携について詳しく述べていきます。それは、データ変換のメカニズム、デスクトップMatLabとの連携のためのユニバーサルライブラリの開発手順をさします。またMatLab環境で生成されるDLLの使用についても述べていきます。本稿は C++ 言語とMQL5をご存じの経験者を対象としています。
通貨ペアパターンのテスト: 実用的なアプリケーションと実際のトレードの視点 第4部
通貨ペアパターンのテスト: 実用的なアプリケーションと実際のトレードの視点 第4部

通貨ペアパターンのテスト: 実用的なアプリケーションと実際のトレードの視点 第4部

この記事では、トレーディング通貨ペアバスケットのシリーズに結論付けを行います。 ここでは、残りのパターンをテストし、実際のトレードでの適用について説明します。 相場におけるエントリーと決済、パターンを分析し、複合インジケータの使用を考察します。
RSIによる取引システムの設計方法を学ぶ
RSIによる取引システムの設計方法を学ぶ

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

今回は、取引の世界で最も人気があり、一般的に使用されている指標の1つであるRSIを紹介します。この指標を使用した取引システムの設計方法を学びます。
トレーダーのハック: 定義と ForEach のブレンド (#define)
トレーダーのハック: 定義と ForEach のブレンド (#define)

トレーダーのハック: 定義と ForEach のブレンド (#define)

この記事は、現在MQL4でコーディングしていて、MQL5に切り替えたいとは思っていない人のためのものです。 今回はMQL4のスタイルでコードを書く方法を模索していきます。 #define プリプロセッサのマクロ置換を見ていきます。
ポイントおよびグラフチャート化インディケータ
ポイントおよびグラフチャート化インディケータ

ポイントおよびグラフチャート化インディケータ

現在マーケットの状況に関する情報を提供するチャートは数多くあります。「ポイント」や「グラフ」チャートのようにそれらの多くは遠い過去の遺産です。本稿は実時間のインディケータを用いて「ポイントとグラフ」チャート例について述べます。
予備インディケータによるメモリ消費削減
予備インディケータによるメモリ消費削減

予備インディケータによるメモリ消費削減

インディケータが計算のために他の多くのインディケータ値を使用すれば、それは多くのメモリを費やすこととなります。本稿では予備インディケータを使用する際のメモリ消費を減らす方法についていくつか述べていきます。保存されたメモリにより、クライアント端末において同時に使用する通貨ペア数、インディケータ、戦略を増やすことができるようになります。それはトレード ポートフォリオの信頼性も向上します。単純にご自身のコンピュータの技術的リソースを気に掛けることで、それはデポジットの資金リソースに変わる可能性があるのです。
トレーダーのライフハック: テストの比較レポート
トレーダーのライフハック: テストの比較レポート

トレーダーのライフハック: テストの比較レポート

この記事では、EAを4 つの異なるトレードでテストします。4つのテストにおけるレポートの最終的な比較は、オンラインストアでの商品のような表にします。追加として、各シンボルの分布図が自動的に作成されます。
preview
MQL5におけるリソースの使用

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

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

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

最も人気のあるテクニカル指標を使用して取引システムを設計する方法についての連載を続けます。今回の新しいテクニカルツールはフィボナッチです。このテクニカル指標に基づいて取引システムを設計する方法を学びます。
preview
RSIディープスリームーブ取引手法

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

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

MQL5で3Dモデリング

時系列は、動的なシステムであり、確率変数の値が継続的または連続に等間隔で受信されます。市場分析の2Dから3Dへの移行は、複雑なプロセスと研究オブジェクトにおいて、新たな展望を与えます。この記事では、2次元データの3D表現をする可視化手法について説明します。3Dモデリングは、複雑なプロセスや現象を分析し、その結果を予測できます。
MQL5 クックブック:ОСО オーダー
MQL5 クックブック:ОСО オーダー

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

トレーダーのトレーディング活動にはさまざまなメカニズムや注文同士の関係を含む相互関係がつきものです。本稿は OCO 注文処理のソリューションを提案します。新規データタイプがそこで作成されるのみならず、標準クラスは広くかかわっています。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - リクエストオブジェクトクラス
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - リクエストオブジェクトクラス

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - リクエストオブジェクトクラス

前の記事では、保留中取引リクエストの概念を確認しました。保留中リクエストは、実際には、特定の条件によって実行される一般的な取引注文です。本稿では、保留中リクエストオブジェクトの完全なクラス(基本リクエストオブジェクトとその子孫)を作成します。
MеtaTrader 5 チャート上の水平図
MеtaTrader 5 チャート上の水平図

MеtaTrader 5 チャート上の水平図

水平方向の図は、ターミナルのチャート上で一般的ではありませんが、使用することができます。例えば、特定の期間のボリュームや価格分布を表示するインジケータを開発するとき、様々なマーケットデプスのバージョンを作成するときなどです。 この記事では、グラフィカルなプリミティブの配列としての水平ダイアグラムの構築と管理を検討します。