MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
より優れたプログラマー(第04部): より速い開発者になる方法
より優れたプログラマー(第04部): より速い開発者になる方法

より優れたプログラマー(第04部): より速い開発者になる方法

すべての開発者は、コードをより速く書くことを望んでいます。より速く効果的にコードを書けることは、少数の人々だけが生まれつき持っているような特別な能力ではありません。これは、コーディングの経験年数に関係なく、すべてのコーダーが習得できるスキルです。
手動のチャート作成および取引ツールキット(第I部)準備: 構造の説明とヘルパークラス
手動のチャート作成および取引ツールキット(第I部)準備: 構造の説明とヘルパークラス

手動のチャート作成および取引ツールキット(第I部)準備: 構造の説明とヘルパークラス

これは連載最初の記事で、キーボードショートカットを使用してチャートグラフィックを手動で適用できるツールキットについて説明します。1つのキーを押すとトレンドラインが表示され、別のキーを押すと、必要なパラメータを備えたフィボナッチファンが作成されるという、非常に便利なものです。時間枠の切り替え、レイヤーの再配置、チャートのすべてのオブジェクトの削除もおこなえます。
MQL5 ウィザード:リスクおよび資金管理モジュール作成方法
MQL5 ウィザード:リスクおよび資金管理モジュール作成方法

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

MQL5ウィザードのトレーディング戦略ジェネレータはトレーディングの考え方を検証することをひじょうに簡素化します。本稿では独自のリスクおよび資金管理モジュールの作成と、MQL5 ウィザードでそれを有効にする方法について述べました。例として、資金管理アルゴリズムを取り上げました。そこではトレードボリュームが前回ディールの結果を基に決定されます。またMQL5 ウィザード用に作成されるクラスのストラクチャおよび記述フォーマットについても述べます。
ファイルの操作。重要な市場イベントの可視化例。
ファイルの操作。重要な市場イベントの可視化例。

ファイルの操作。重要な市場イベントの可視化例。

この記事では、外国為替証拠金取引市場でのより生産的なMQL4の使用を検証します。
メタトレーダー5クライアントターミナルにおける適応型トレーディングシステムとその使用
メタトレーダー5クライアントターミナルにおける適応型トレーディングシステムとその使用

メタトレーダー5クライアントターミナルにおける適応型トレーディングシステムとその使用

本稿では、多くのストラテジーで構成され、それぞれが「バーチャル」トレードオプションを実行する、適応型システムの変形を提案します。リアルトレーディングは、その時点で最大利益となるストラテジーにしたがって行われます。オブジェクト指向アプローチ、データを扱うクラスや、標準ライブラリのトレードクラスのおかげで、システムのアーキテクチャはシンプルかつスケーラブルになりました;今や、数百のトレードストラテジーを含む適応型システムを、簡単に作成し、分析することができます。
MetaTrader 5における取引戦略最適化の可視化
MetaTrader 5における取引戦略最適化の可視化

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

本稿では、最適化プロセスの可視化を拡張するためのグラフィカルインターフェイスを備えたMQLアプリケーションが実装されます。グラフィカルインターフェイスには、EasyAndFastライブラリの最新バージョンが適用されます。MQLアプリケーションでグラフィカルインターフェイスが必要な理由は多くのユーザによって尋ねられることがあります。本稿では、トレーダーにとって有用な複数のケースの1つを示します。
preview
自動で動くEAを作る(第05回):手動トリガー(II)

自動で動くEAを作る(第05回):手動トリガー(II)

今日は、自動モードでシンプルかつ安全に動作するエキスパートアドバイザー(EA)を作成する方法を紹介します。前回の最後に、少なくともしばらくはEAを手動で使えるようにするのが適切ではないかと提案しました。
preview
どんな市場でも優位性を得る方法(第2回):テクニカル指標の予測

どんな市場でも優位性を得る方法(第2回):テクニカル指標の予測

取引されている銘柄の価格を予測するよりも、特定のテクニカル指標を予測する方が精度が高いことをご存知ですか。この洞察力をより良い取引戦略のために活用する方法を探るために、ぜひお読みください。
MetaTrader 4 および MetaTrader 5 トレーディングプラットフォームによるソーシャルトレード
MetaTrader 4 および MetaTrader 5 トレーディングプラットフォームによるソーシャルトレード

MetaTrader 4 および MetaTrader 5 トレーディングプラットフォームによるソーシャルトレード

ソーシャルトレードとは?ソーシャルトレードとは、成功したトレーダーがそのトレーディングをモニターさせてくれたり、潜在的投資家が彼らのパフォーマンスをモニターするチャンスを得たり、将来有望なトレードをコピーするといった、トレーダーや投資家の互恵的協力を言います。
通貨ペアバスケットをトレードするときに発生するパターンのテスト パート III
通貨ペアバスケットをトレードするときに発生するパターンのテスト パート III

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

この記事では、通貨ペアバスケットのトレード時に検出可能なパターンのテストをします。 ここでは、通貨の動きを互いに相対的に追跡するパターンをテストします。
preview
連続ウォークフォワード最適化(パート3):ロボットをオートオプティマイザに適応させる

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

3番目であるこの記事は、前の 2 つの記事間のブリッジとして機能します。最初の記事で検討されている.dll との相互作用のメカニズムと、2 番目の記事で説明したレポートダウンロード用のオブジェクトについて説明します。 DLLからインポートし、トレードヒストリーを持つXMLファイルを形成するクラスのラッパ作成のプロセスを分析します。 このラッパとデータのやり取りするメソッドも検討します。
preview
チャートをより面白くする: 背景の追加

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

多くのワークステーションには、ユーザーに関する何かを語る代表的な画像が含まれています。これらの画像は、作業環境をより美しくエキサイティングなものにします。背景を追加してチャートをより面白くする方法を見てみましょう。
MQL5の料理本 - 移動チャネルのプログラミング
MQL5の料理本 - 移動チャネルのプログラミング

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

本稿では、等間隔チャネルシステムのプログラミング法について取り扱っています。等間隔チャネル構築の細部まで本稿で紹介します。チャネル分類について説明したのち、移動チャネルのプログラミング法について提案します。コード実行にはオブジェクト指向型プログラムを使用しています。
preview
総合的なフクロウ取引戦略を構築する

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

私の戦略は、古典的な取引の基礎と、あらゆる種類の市場で広く使用されているインジケータの改良に基づいています。これは既製のツールで、提案された新しい収益性の高い取引戦略に従うことができます。
preview
MQL5入門(第8回):初心者のためのEA構築ガイド(II)

MQL5入門(第8回):初心者のためのEA構築ガイド(II)

この記事では、MQL5フォーラムでよく見られる初心者からの質問を取り上げ、実践的な解決策を紹介します。売買やローソク足の価格取得、取引限度額の設定、取引期間や利益/損失の閾値の管理といった基本的なタスクを自動売買で実行する方法を学びます。MQL5でのこれらの概念の理解と実装を強化するため、ステップごとのガイダンスも提供します。
金融証券の重ね合わせとインターフェース
金融証券の重ね合わせとインターフェース

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

通貨ペアの変動に影響を与える要因が多いほど、その変動を評価し将来を予測するのが困難になります。そのため、通貨ペアの構成要素と時間と共に変化する各国通貨の値をなんとか抽出することができれば、その動向に影響を与える要因数と共に、この通貨を通貨ペアと比較して各国通貨の動きの自由度の範囲を定めることができるかもしれません。結果、その変動推定と将来予測の精度を挙げることになるでしょう。どうすればそれができるのでしょうか?
preview
ニューラルネットワークが簡単に(第13回): Batch Normalization

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

前回の記事では、ニューラルネットワーク訓練の品質を向上させることを目的とした手法の説明を開始しました。本稿では、このトピックを継続し、別のアプローチであるデータのBatch Normalizationについて説明します。
DoEasyライブラリのグラフィックス(第88部): グラフィカルオブジェクトコレクション - 動的に変化するオブジェクトのプロパティを格納するための2次元動的配列
DoEasyライブラリのグラフィックス(第88部): グラフィカルオブジェクトコレクション - 動的に変化するオブジェクトのプロパティを格納するための2次元動的配列

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

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

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

この記事は、トレーディングのための効果的なインデックスパッケージの作成を目的として30のインジケーターとオシレーターの比較分析を行うエキスパートアドバイザーについてです。
価格系列の離散化、ランダム成分とノイズ
価格系列の離散化、ランダム成分とノイズ

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

普段我々はローソク足や、価格シリーズを一定の間隔でスライスした足を使って相場を分析しています。 このような離散化手法は、相場の動きの本当の構造を歪めてしまうのではないでしょうか? オーディオ信号は時間の経過とともに変化する関数であるため、オーディオ信号を一定の間隔で離散化することは、許容される解決策です。 信号自体は時間に依存する振幅です。 この信号特性は基本的なものです。
モスクワ証券取引所(MOEX)の為のトレードロボット作成は何から始めたら良いか
モスクワ証券取引所(MOEX)の為のトレードロボット作成は何から始めたら良いか

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

モスクワ証券取引所のトレーダーの多くが。自分のトレードアルゴリズムを自動化したいと考えていても、何から始めたら良いかわからずにいます。MQL5言語は膨大な取引機能を提供するだけでなく、アルゴトレードにおける最初の一歩を最大限に簡単なものにするクラスも提供しています。
MQL5 および MQL4 の選択およびナビゲーション ユーティリティ: チャートへのデータの追加
MQL5 および MQL4 の選択およびナビゲーション ユーティリティ: チャートへのデータの追加

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

この記事では、ユーティリティの機能を拡張します。 今回は、トレードを簡素化するデータを表示する機能を追加します。 特に、前日の高値と安値、ラウンドレベル、年の高値安値、セッション開始時刻などを追加します。
preview
float16およびfloat8形式のONNXモデルを扱う

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

機械学習モデルの表現に使用されるデータ形式は、その有効性に決定的な役割を果たします。近年、深層学習モデルを扱うために特別に設計された新しい型のデータがいくつか登場しています。この記事では、現代のモデルで広く採用されるようになった2つの新しいデータ形式に焦点を当てます。
リキッドチャート
リキッドチャート

リキッドチャート

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

ペアトレード

本稿では、ペアトレードについて、その原理は何か、実用化の見込みはあるのかを考えてみたいと思います。また、ペアトレード戦略にも挑戦します。
オーダーストラテジー多目的Expert Advisor
オーダーストラテジー多目的Expert Advisor

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

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

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

前の記事では、ライブラリでMQL4ポジション決済イベントを定義し、未使用の注文プロパティを取り除きました。本稿では、口座オブジェクトの作成を検討して口座オブジェクトのコレクションを開発し、口座イベントを追跡する機能を準備します。
preview
トレーダーに優しい損切りと利食い

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

損切り(ストップロス)と利食い(テイクプロフィット)は取引結果に大きな響を与えます。この記事では、最適な逆指値注文の値を見つけるためのいくつかの方法を見ていきます。
preview
PSAR、平均足、ディープラーニングを組み合わせて取引に活用する

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

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

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

このパートでは、トレードシグナルの検索・編集システムを拡張し、カスタムインジケータの使用可能性やプログラムのローカリゼーションを追加することを紹介します。 以前、シグナルを検索するための基本的なシステムを作ったことがありますが、小さなインジケータとシンプルな検索ルールのセットをベースにしていました。
preview
知っておくべきMQL5ウィザードのテクニック(第05回):マルコフ連鎖

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

マルコフ連鎖は、金融をはじめとする様々な分野で、時系列データのモデル化や予測に利用できる強力な数学的ツールです。金融の時系列モデル化や予測では、株価や為替レートなど、金融資産の時間的変化をモデル化するためにマルコフ連鎖がよく使われます。マルコフ連鎖モデルの大きな利点の1つは、そのシンプルさと使いやすさにあります。
グラフィカルインタフェースを通して最適化の結果を処理する
グラフィカルインタフェースを通して最適化の結果を処理する

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

最適化結果の分析と処理についての話を展開していきます。今回の課題は、100の最良の最適化結果を選択し、それらをグラフィカルインタフェースの表に表示することです。ユーザーが最適化結果の表で列を選択しつつ、残高とドローダウンのマルチシンボルのグラフを別々に入手できるようにします。
グラフィカルインタフェースXI:標準グラフィックライブラリの統合(ビルド16)
グラフィカルインタフェースXI:標準グラフィックライブラリの統合(ビルド16)

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

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

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

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

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

クラスターインディケータは通貨ペアを個別の通貨に分けるインディケータのセットです。インディケータにより、相対的通貨変動を追跡し、潜在的な新しい通貨トレンド形成を判断し、トレードシグナルを受信し、中長期ポジションをフォローすることができます。
MQL5 ウィザード:オープンポジションのトレーリングモジュール作成方法
MQL5 ウィザード:オープンポジションのトレーリングモジュール作成方法

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

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

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

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

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

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

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

本稿は、MetaTrader取引ターミナルのグラフィカルインタフェース作成ライブラリの開発に関するシリーズの第九部の初めとなります。それは2章で構成され、カラーピッカー、カラーボタン、プログレスバーや折れ線グラフなどのコントロールとインターフェースの新しい要素が提示されてます。
MQL5 と MQL4 の選択とナビゲーションユーティリティ: パターンの自動検索の追加と検出されたシンボルの表示
MQL5 と MQL4 の選択とナビゲーションユーティリティ: パターンの自動検索の追加と検出されたシンボルの表示

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

この記事では、シンボルを収集してナビゲートするためのユーティリティの機能を拡張していきます。 今回は、必要なパラメータの一部を満たすシンボルのみを表示する新しいタブを作成し、必要な並べ替えルールを持つカスタムタブを追加する方法を見つけます。