MQL4とMQL5のプログラム記事

icon

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

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

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

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

本稿では、等間隔チャネルシステムのプログラミング法について取り扱っています。等間隔チャネル構築の細部まで本稿で紹介します。チャネル分類について説明したのち、移動チャネルのプログラミング法について提案します。コード実行にはオブジェクト指向型プログラムを使用しています。
通貨ペアバスケットをトレードするときに発生するパターンのテスト パート III
通貨ペアバスケットをトレードするときに発生するパターンのテスト パート III

通貨ペアバスケットをトレードするときに発生するパターンのテスト パート III

この記事では、通貨ペアバスケットのトレード時に検出可能なパターンのテストをします。 ここでは、通貨の動きを互いに相対的に追跡するパターンをテストします。
preview
MQL5でのグラフィカルパネルの作成を簡単に

MQL5でのグラフィカルパネルの作成を簡単に

この記事では、取引において最も価値があり役立つツールの1つであるグラフィカルパネルを作成する必要がある人に、シンプルで簡単なガイドを提供します。グラフィカルパネルは、取引に関するタスクを簡素化および容易にして、時間を節約し、気を散らすことなく取引プロセスそのものに集中するのに役立ちます。
金融証券の重ね合わせとインターフェース
金融証券の重ね合わせとインターフェース

金融証券の重ね合わせとインターフェース

通貨ペアの変動に影響を与える要因が多いほど、その変動を評価し将来を予測するのが困難になります。そのため、通貨ペアの構成要素と時間と共に変化する各国通貨の値をなんとか抽出することができれば、その動向に影響を与える要因数と共に、この通貨を通貨ペアと比較して各国通貨の動きの自由度の範囲を定めることができるかもしれません。結果、その変動推定と将来予測の精度を挙げることになるでしょう。どうすればそれができるのでしょうか?
preview
母集団最適化アルゴリズム:カッコウ最適化アルゴリズム(COA)

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

次に考察するのは、レヴィフライトを使ったカッコウ検索最適化アルゴリズムです。これは最新の最適化アルゴリズムの1つで、リーダーボードの新しいリーダーです。
preview
MQL5でのもみ合いレンジブレイクアウト戦略に基づくエキスパートアドバイザー(EA)の開発

MQL5でのもみ合いレンジブレイクアウト戦略に基づくエキスパートアドバイザー(EA)の開発

この記事では、もみ合い期間後の価格ブレイクアウトを活用したエキスパートアドバイザー(EA)の作成手順を説明します。トレーダーは、もみ合いレンジを特定し、ブレイクアウトレベルを設定することで、この戦略に基づいて取引判断を自動化できます。EAは、誤ったブレイクアウトを回避しつつ、明確なエントリポイントとエグジットポイントを提供することを目的としています。
preview
ONNXをマスターする:MQL5トレーダーにとってのゲームチェンジャー

ONNXをマスターする:MQL5トレーダーにとってのゲームチェンジャー

機械学習モデルを交換するための強力なオープン標準形式であるONNXの世界に飛び込んでみましょう。ONNXを活用することでMQL5のアルゴリズム取引にどのような変革がもたらされ、トレーダーが最先端のAIモデルをシームレスに統合し、戦略を新たな高みに引き上げることができるようになるかがわかります。クロスプラットフォーム互換性の秘密を明らかにし、MQL5取引の取り組みでONNXの可能性を最大限に引き出す方法を学びましょう。ONNXをマスターするためのこの包括的なガイドで取引ゲームを向上させましょう。
30のインジケーターとオシレーターの比較分析
30のインジケーターとオシレーターの比較分析

30のインジケーターとオシレーターの比較分析

この記事は、トレーディングのための効果的なインデックスパッケージの作成を目的として30のインジケーターとオシレーターの比較分析を行うエキスパートアドバイザーについてです。
preview
チャートをより面白くする: 背景の追加

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

多くのワークステーションには、ユーザーに関する何かを語る代表的な画像が含まれています。これらの画像は、作業環境をより美しくエキサイティングなものにします。背景を追加してチャートをより面白くする方法を見てみましょう。
MetaTrader 5における取引戦略最適化の可視化
MetaTrader 5における取引戦略最適化の可視化

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

本稿では、最適化プロセスの可視化を拡張するためのグラフィカルインターフェイスを備えたMQLアプリケーションが実装されます。グラフィカルインターフェイスには、EasyAndFastライブラリの最新バージョンが適用されます。MQLアプリケーションでグラフィカルインターフェイスが必要な理由は多くのユーザによって尋ねられることがあります。本稿では、トレーダーにとって有用な複数のケースの1つを示します。
価格系列の離散化、ランダム成分とノイズ
価格系列の離散化、ランダム成分とノイズ

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

普段我々はローソク足や、価格シリーズを一定の間隔でスライスした足を使って相場を分析しています。 このような離散化手法は、相場の動きの本当の構造を歪めてしまうのではないでしょうか? オーディオ信号は時間の経過とともに変化する関数であるため、オーディオ信号を一定の間隔で離散化することは、許容される解決策です。 信号自体は時間に依存する振幅です。 この信号特性は基本的なものです。
MQL5 ウィザード:リスクおよび資金管理モジュール作成方法
MQL5 ウィザード:リスクおよび資金管理モジュール作成方法

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

MQL5ウィザードのトレーディング戦略ジェネレータはトレーディングの考え方を検証することをひじょうに簡素化します。本稿では独自のリスクおよび資金管理モジュールの作成と、MQL5 ウィザードでそれを有効にする方法について述べました。例として、資金管理アルゴリズムを取り上げました。そこではトレードボリュームが前回ディールの結果を基に決定されます。またMQL5 ウィザード用に作成されるクラスのストラクチャおよび記述フォーマットについても述べます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第12部): 「口座」オブジェクトクラスと口座オブジェクトのコレクション
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第12部): 「口座」オブジェクトクラスと口座オブジェクトのコレクション

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

前の記事では、ライブラリでMQL4ポジション決済イベントを定義し、未使用の注文プロパティを取り除きました。本稿では、口座オブジェクトの作成を検討して口座オブジェクトのコレクションを開発し、口座イベントを追跡する機能を準備します。
preview
連続ウォークフォワード最適化(パート3):ロボットをオートオプティマイザに適応させる

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

3番目であるこの記事は、前の 2 つの記事間のブリッジとして機能します。最初の記事で検討されている.dll との相互作用のメカニズムと、2 番目の記事で説明したレポートダウンロード用のオブジェクトについて説明します。 DLLからインポートし、トレードヒストリーを持つXMLファイルを形成するクラスのラッパ作成のプロセスを分析します。 このラッパとデータのやり取りするメソッドも検討します。
DoEasyライブラリのグラフィックス(第88部): グラフィカルオブジェクトコレクション - 動的に変化するオブジェクトのプロパティを格納するための2次元動的配列
DoEasyライブラリのグラフィックス(第88部): グラフィカルオブジェクトコレクション - 動的に変化するオブジェクトのプロパティを格納するための2次元動的配列

DoEasyライブラリのグラフィックス(第88部): グラフィカルオブジェクトコレクション - 動的に変化するオブジェクトのプロパティを格納するための2次元動的配列

本稿では、任意の次元のデータ量を変更できる動的な多次元配列クラスを作成します。作成したクラスに基づいて、動的に変更されたグラフィックオブジェクトのプロパティを格納する2次元の動的配列を作成します。
FOREX におけるクラスターインディケータの実用的な応用
FOREX におけるクラスターインディケータの実用的な応用

FOREX におけるクラスターインディケータの実用的な応用

クラスターインディケータは通貨ペアを個別の通貨に分けるインディケータのセットです。インディケータにより、相対的通貨変動を追跡し、潜在的な新しい通貨トレンド形成を判断し、トレードシグナルを受信し、中長期ポジションをフォローすることができます。
MQL5 および MQL4 の選択およびナビゲーション ユーティリティ: チャートへのデータの追加
MQL5 および MQL4 の選択およびナビゲーション ユーティリティ: チャートへのデータの追加

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

この記事では、ユーティリティの機能を拡張します。 今回は、トレードを簡素化するデータを表示する機能を追加します。 特に、前日の高値と安値、ラウンドレベル、年の高値安値、セッション開始時刻などを追加します。
モスクワ証券取引所(MOEX)の為のトレードロボット作成は何から始めたら良いか
モスクワ証券取引所(MOEX)の為のトレードロボット作成は何から始めたら良いか

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

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

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

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

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

最適化結果の分析と処理についての話を展開していきます。今回の課題は、100の最良の最適化結果を選択し、それらをグラフィカルインタフェースの表に表示することです。ユーザーが最適化結果の表で列を選択しつつ、残高とドローダウンのマルチシンボルのグラフを別々に入手できるようにします。
トレードシグナルの多通貨監視(その4)。機能強化とシグナル検索システムの改善
トレードシグナルの多通貨監視(その4)。機能強化とシグナル検索システムの改善

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

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

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

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

リキッドチャート

時間の秒、5分から開くバーを持つ毎時チャートを見たいですか?バーのオープン時間が毎分変わるようであれば再作成されたチャートはどのように見えるのでしょうか?そのようなチャートでトレードすることにどんなメリットがあるのでしょうか?本稿ではこういった疑問に対する答えを見つけていきます。
検証の可視化:トレード履歴
検証の可視化:トレード履歴

検証の可視化:トレード履歴

本稿は、検証を可視化するとき、都合よくトレード履歴を閲覧する機能について説明します。
オーダーストラテジー多目的Expert Advisor
オーダーストラテジー多目的Expert Advisor

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

この記事では、未処理のオーダーを有効に活用するストラテジーや、それを表すためのメタ言語やそれに基づき動作する多目的ExpertAdvisorを中心に見ていきます。
MQL5 と MQL4 の選択とナビゲーションユーティリティ: パターンの自動検索の追加と検出されたシンボルの表示
MQL5 と MQL4 の選択とナビゲーションユーティリティ: パターンの自動検索の追加と検出されたシンボルの表示

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

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

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

最初の部分では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。さらに、履歴の注文と取引の収集を実装しました。次のステップは、コレクションリスト内の注文、取引、ポジションの便利な選択と並び替えのためのクラスを作成することです。Engineという基本ライブラリオブジェクトを実装し、成行注文とポジションのコレクションをライブラリに追加します。
preview
データサイエンスと機械学習(第24回):通常のAIモデルによるFX時系列予測

データサイエンスと機械学習(第24回):通常のAIモデルによるFX時系列予測

外国為替市場において、過去を知らずに将来のトレンドを予測することは非常に困難です。過去の値を考慮して将来の予測をおこなうことができる機械学習モデルは非常に少ないです。この記事では、市場に勝つために古典的な(非時系列)人工知能モデルを使用する方法について説明します。
preview
ニューラルネットワークが簡単に(第13回): Batch Normalization

ニューラルネットワークが簡単に(第13回): Batch Normalization

前回の記事では、ニューラルネットワーク訓練の品質を向上させることを目的とした手法の説明を開始しました。本稿では、このトピックを継続し、別のアプローチであるデータのBatch Normalizationについて説明します。
preview
PSAR、平均足、ディープラーニングを組み合わせて取引に活用する

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

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

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

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

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

最適化のプロセスにはコンピュータや MQL5 クラウドネットワーク検証エージェントのリソースも大量に必要とします。本稿では作業の促進とMetaTrader 5 ストラテジーテスタの改良に利用する簡単な考えをいくつか取り上げます。こういったアイデアはドキュメンテーション、フォーラム、記事から得ました。
preview
総合的なフクロウ取引戦略を構築する

総合的なフクロウ取引戦略を構築する

私の戦略は、古典的な取引の基礎と、あらゆる種類の市場で広く使用されているインジケータの改良に基づいています。これは既製のツールで、提案された新しい収益性の高い取引戦略に従うことができます。
MQL5 クックブック:Expert Advisorsにトレード条件を設定するためのインディケータ利用
MQL5 クックブック:Expert Advisorsにトレード条件を設定するためのインディケータ利用

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

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

ペアトレード

本稿では、ペアトレードについて、その原理は何か、実用化の見込みはあるのかを考えてみたいと思います。また、ペアトレード戦略にも挑戦します。
MQL5 でのアサーション
MQL5 でのアサーション

MQL5 でのアサーション

この記事では、MQL5でのアサーションの利用について扱います。アサーションメカニズムとアサーションを実装するための一般的なガイダンスを2つの例として提供します。
preview
float16およびfloat8形式のONNXモデルを扱う

float16およびfloat8形式のONNXモデルを扱う

機械学習モデルの表現に使用されるデータ形式は、その有効性に決定的な役割を果たします。近年、深層学習モデルを扱うために特別に設計された新しい型のデータがいくつか登場しています。この記事では、現代のモデルで広く採用されるようになった2つの新しいデータ形式に焦点を当てます。
MQL5 ウィザード:オープンポジションのトレーリングモジュール作成方法
MQL5 ウィザード:オープンポジションのトレーリングモジュール作成方法

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

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

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

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

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

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