MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
ウィリアム・ギャンの手法(第1回):ギャンアングルインジケーターの作成

ウィリアム・ギャンの手法(第1回):ギャンアングルインジケーターの作成

ギャン理論の本質は何でしょうか。ギャンアングルはどのように構築されるのでしょうか。本記事では、MetaTrader5向けのギャンアングルインジケーターを作成します。
preview
DoEasyライブラリの時系列(第55部): 指標コレクションクラス

DoEasyライブラリの時系列(第55部): 指標コレクションクラス

本稿では、指標オブジェクトクラスとそのコレクションの開発を続けます。指標オブジェクトごとに、その説明と正しいコレクションクラスを作成して、エラーなしのストレージを作成し、コレクションリストから指標オブジェクトを取得します。
preview
時系列マイニングのためのデータラベル(第5回):ソケットを使用したEAへの応用とテスト

時系列マイニングのためのデータラベル(第5回):ソケットを使用したEAへの応用とテスト

この連載では、ほとんどの人工知能モデルに適合するデータを作成できる、時系列のラベル付け方法をいくつかご紹介します。ニーズに応じて的を絞ったデータのラベル付けをおこなうことで、訓練済みの人工知能モデルをより期待通りの設計に近づけ、モデルの精度を向上させ、さらにはモデルの質的飛躍を助けることができます。
preview
無効化されたオーダーブロックをミティゲーションブロックとして再利用する(SMC)

無効化されたオーダーブロックをミティゲーションブロックとして再利用する(SMC)

本記事では、以前に無効化されたオーダーブロックをスマートマネーコンセプト(SMC)におけるミティゲーションブロックとして再利用する方法を解説します。これらのゾーンは、オーダーブロックが失敗した後に機関投資家が再び市場に参入するポイントを示しており、支配的なトレンドに沿った取引継続の確率が高いエリアを提供します。
preview
ティッカーテープパネルの作成:基本バージョン

ティッカーテープパネルの作成:基本バージョン

ここでは、通常取引所の相場表示に使われるプライスティッカーを使った画面を作成する方法を紹介します。複雑な外部プログラミングを使わず、MQL5だけでやってみようと思います。
preview
ニューラルネットワークが簡単に(第16部):クラスタリングの実用化

ニューラルネットワークが簡単に(第16部):クラスタリングの実用化

前回は、データのクラスタリングをおこなうためのクラスを作成しました。今回は、得られた結果を実際の取引に応用するためのバリエーションを紹介したいと思います。
preview
MQL5のインタラクティブGUIで取引チャートを改善する(第2回):移動可能なGUI (II)

MQL5のインタラクティブGUIで取引チャートを改善する(第2回):移動可能なGUI (II)

MQL5で移動可能なGUIを作成するための詳細なガイドで、取引戦略やユーティリティでの動的なデータ表現の可能性を引き出しましょう。オブジェクト指向プログラミングの基本原理を理解し、同じチャート上に単一または複数の移動可能なGUIを簡単かつ効率的に設計実装する方法を発見してください。
preview
データサイエンスと機械学習(第13回):主成分分析(PCA)で金融市場分析を改善する

データサイエンスと機械学習(第13回):主成分分析(PCA)で金融市場分析を改善する

主成分分析(Principal component analysis、PCA)で金融市場分析に革命を起こしましょう。この強力な手法がどのようにデータの隠れたパターンを解き放ち、潜在的な市場動向を明らかにし、投資戦略を最適化するかをご覧ください。この記事では、PCAが複雑な金融データを分析するための新しいレンズをどのように提供できるかを探り、従来のアプローチでは見逃されていた洞察を明らかにします。金融市場データにPCAを適用することで競争力を高め、時代を先取りする方法をご覧ください。
preview
多銘柄多期間指標の作成

多銘柄多期間指標の作成

この記事では、多銘柄、多期間の指標を作成する原則について見ていきます。また、エキスパートアドバイザー(EA)や他の指標から、このような指標のデータにアクセスする方法も紹介します。EAや指標でマルチ指標を使用する主な特徴について考察し、カスタム指標バッファを使用してそれらをプロットする方法を見ていきます。
preview
知っておくべきMQL5ウィザードのテクニック(第42回):ADXオシレーター

知っておくべきMQL5ウィザードのテクニック(第42回):ADXオシレーター

ADXは、一部のトレーダーが一般的なトレンドの強さを測定するために使用する、もう1つの比較的人気のあるテクニカルインジケーターです。これは他の2つのインジケーターの組み合わせとして機能し、オシレーターとして表示されます。この記事では、MQL5ウィザードアセンブリとそのサポートクラスを使用して、そのパターンについて説明します。
preview
MQL5での移動平均をゼロから作成する:単純明快

MQL5での移動平均をゼロから作成する:単純明快

簡単な例を使って、移動平均の計算原理を検証するとともに、移動平均を含むインジケーター計算の最適化方法について学びます。
preview
初心者からエキスパートへ:MQL5リスク強制EAによる取引規律の自動化

初心者からエキスパートへ:MQL5リスク強制EAによる取引規律の自動化

多くのトレーダーにとって、口座が破綻する最大の要因は、リスクルールを理解していることと、それを一貫して守ることの間にあるギャップです。感情による判断の上書き、リベンジトレード、あるいは単純な見落としによって、どれほど優れた戦略であっても容易に崩壊してしまいます。本記事では、リスク強制エキスパートアドバイザー(Risk Enforcement EA)を開発することで、MetaTrader 5プラットフォームを、あなたの取引ルールを一切の例外なく執行する揺るぎない監督者へと変えていきます。ディスカッションにぜひご参加ください。
ソーシャルトレーディング収益性の高いシグナルをさらに良くすることはできるでしょうか?
ソーシャルトレーディング収益性の高いシグナルをさらに良くすることはできるでしょうか?

ソーシャルトレーディング収益性の高いシグナルをさらに良くすることはできるでしょうか?

ほとんどのサブスクライバーは、バランス曲線の美しさとサブスクライバーの数で取引シグナルを選択しています。そのため、多くのプロバイダーは今日、シグナルの実際の質よりも、美しい統計により気を配り、多くの場合、トランザクションの量を多くして、人為的にバランス曲線を理想的な形にしています。この記事では、信頼性の基準と、プロバイダーがシグナルの品質を向上させる方法をご紹介します。特定のシグナルの履歴、またプロバイダーがより収益を上げ、リスクを低くするための方法の例をあげていきます。
外為市場は予測可能なのか?自分独自のトレーディング戦略を作成する方法は?
外為市場は予測可能なのか?自分独自のトレーディング戦略を作成する方法は?

外為市場は予測可能なのか?自分独自のトレーディング戦略を作成する方法は?

Forex を始める人は皆こういった疑問に答えようとします。しかし、だれもがその答えを見つけるとは限りません。何年も賢明に働き、研究したとしても、です。本項のその他多くの疑問と共に、私は個人的にこの質問に答えてきました。そういう答えの結果として、効率的なトレーディング戦略の作成する方法が決まったのです。
DoEasyライブラリの時系列(第59部): 単一ティックのデータを格納するオブジェクト
DoEasyライブラリの時系列(第59部): 単一ティックのデータを格納するオブジェクト

DoEasyライブラリの時系列(第59部): 単一ティックのデータを格納するオブジェクト

本稿からは、価格データを処理するライブラリ機能を作成します。今日、さらに別のティックで到着したすべての価格データを格納するオブジェクトクラスを作成します。
preview
多通貨エキスパートアドバイザーの開発(第1回):複数取引戦略の連携

多通貨エキスパートアドバイザーの開発(第1回):複数取引戦略の連携

取引戦略にはさまざまなものがあります。リスクを分散し、取引結果の安定性を高めるためには、複数の戦略を並行して適用することが有効かもしれません。ただし、それぞれのストラテジーが個別のエキスパートアドバイザー(EA)として実装されている場合、1つの取引口座でそれらの作業を管理することは非常に難しくなります。この問題を解決するのに合理的なのは、1つのEAで異なる取引戦略の運用を実装することです。
DoEasyライブラリの時系列(第48部): 単一サブウィンドウでの単一バッファ複数銘柄・複数期間指標
DoEasyライブラリの時系列(第48部): 単一サブウィンドウでの単一バッファ複数銘柄・複数期間指標

DoEasyライブラリの時系列(第48部): 単一サブウィンドウでの単一バッファ複数銘柄・複数期間指標

本稿では、単一の指標バッファを使用して、指標サブウィンドウを構築および操作するための複数銘柄・複数期間標準指標の作成例について説明します。プログラムのメインウィンドウで動作し、データを表示するための複数のバッファを持つ標準指標を操作するためのライブラリクラスを準備します。
preview
MQL5の圏論(第1回)

MQL5の圏論(第1回)

圏論は数学の一分野であり、多様な広がりを見せていますが、MQLコミュニティではまだ比較的知られていない分野です。この連載では、その概念のいくつかを紹介して考察することで、コメントや議論を呼び起こし、トレーダーの戦略開発におけるこの注目すべき分野の利用を促進することを目的としたオープンなライブラリを確立することを目指しています。
preview
MQL5の圏論(第2回)

MQL5の圏論(第2回)

圏論は数学の一分野であり、多様な広がりを見せていますが、MQL5コミュニティではまだ比較的知られていません。この連載では、その概念のいくつかを紹介し、考察することで、コメントや議論を呼び起こし、トレーダーの戦略開発におけるこの注目すべき分野の利用を促進することを目的としたオープンなライブラリを確立することを目指しています。
preview
経済予測:Pythonの可能性を探る

経済予測:Pythonの可能性を探る

世界銀行の経済データは、将来の動向を予測するためにどのように活用できるのでしょうか。そして、AIモデルと経済学を組み合わせることで、どのようなことが可能になるのでしょうか。
preview
ニューラルネットワークが簡単に(第15部):MQL5によるデータクラスタリング

ニューラルネットワークが簡単に(第15部):MQL5によるデータクラスタリング

クラスタリング法について引き続き検討します。今回は、最も一般的なk-meansクラスタリング手法の1つを実装するために、新しいCKmeansクラスを作成します。テスト中には約500のパターンを識別することができました。
preview
新しい指標と条件付きLSTMの例

新しい指標と条件付きLSTMの例

本記事は、テクニカル分析とディープラーニング(深層学習)予測を融合した自動取引用エキスパートアドバイザー(EA)の開発に焦点を当てます。
preview
バックテスト結果を改善するための生のコードの最適化と調整

バックテスト結果を改善するための生のコードの最適化と調整

MQL5コードを強化するために、ロジックの最適化、計算の精緻化、実行時間の短縮をおこない、バックテストの精度を向上させましょう。パラメータの微調整、ループの最適化、非効率の排除によって、より高いパフォーマンスを実現します。
CCI指標:3つの変換ステップ
CCI指標:3つの変換ステップ

CCI指標:3つの変換ステップ

今回は、この指標のロジックそのものに影響を与えるCCIの追加変更について説明します。さらに、これをメインチャートウィンドウで確認できるようになります。
preview
時系列マイニングのためのデータラベル(第2回):Pythonを使ってトレンドマーカー付きデータセットを作成する

時系列マイニングのためのデータラベル(第2回):Pythonを使ってトレンドマーカー付きデータセットを作成する

この連載では、ほとんどの人工知能モデルに適合するデータを作成できる、いくつかの時系列のラベル付け方法を紹介します。ニーズに応じて的を絞ったデータのラベル付けをおこなうことで、訓練済みの人工知能モデルをより期待通りの設計に近づけ、モデルの精度を向上させ、さらにはモデルの質的飛躍を助けることができます。
preview
独自のLLMをEAに統合する(第5部):LLMs(II)-LoRA-チューニングによる取引戦略の開発とテスト

独自のLLMをEAに統合する(第5部):LLMs(II)-LoRA-チューニングによる取引戦略の開発とテスト

今日の人工知能の急速な発展に伴い、言語モデル(LLM)は人工知能の重要な部分となっています。私たちは、強力なLLMをアルゴリズム取引に統合する方法を考える必要があります。ほとんどの人にとって、これらの強力なモデルをニーズに応じてファインチューニング(微調整)し、ローカルに展開して、アルゴリズム取引に適用することは困難です。本連載では、この目標を達成するために段階的なアプローチをとっていきます。
preview
DoEasyライブラリの時系列(パート53):抽象基本指標クラス

DoEasyライブラリの時系列(パート53):抽象基本指標クラス

本稿では抽象指標を作成し、ライブラリの標準指標とカスタム指標のオブジェクトを作成するための基本クラスとしてさらに使用します。
preview
ニューラルネットワークが簡単に(第38回):不一致による自己監視型探索

ニューラルネットワークが簡単に(第38回):不一致による自己監視型探索

強化学習における重要な問題のひとつは、環境探索です。前回までに、「内因性好奇心」に基づく研究方法について見てきました。今日は別のアルゴリズムを見てみましょう。不一致による探求です。
preview
SMAとEMAを使った自動最適化された利益確定と指標パラメータの例

SMAとEMAを使った自動最適化された利益確定と指標パラメータの例

この記事では、機械学習とテクニカル分析を組み合わせた、FX取引向けの高度なEAを紹介します。アップル株取引を中心に、適応的な最適化やリスク管理、複数の取引戦略を活用しています。バックテストでは、収益性が高い一方で、大きなドローダウンを伴う結果が得られており、さらなる改良の余地が示唆されています。
preview
Controlsクラスを使用してインタラクティブなMQL5ダッシュボード/パネルを作成する方法(第2回):ボタンの応答性の追加

Controlsクラスを使用してインタラクティブなMQL5ダッシュボード/パネルを作成する方法(第2回):ボタンの応答性の追加

この記事では、ボタンの応答性を有効にすることで、静的なMQL5ダッシュボードパネルをインタラクティブなツールへと変換することに焦点を当てます。GUIコンポーネントの機能を自動化し、ユーザーのクリックに適切に反応する方法を探究します。この記事の最後には、ユーザーのエンゲージメントと取引体験を向上させる動的なインターフェイスを構築します。
DoEasyライブラリの時系列(第44部): 指標バッファオブジェクトのコレクションクラス
DoEasyライブラリの時系列(第44部): 指標バッファオブジェクトのコレクションクラス

DoEasyライブラリの時系列(第44部): 指標バッファオブジェクトのコレクションクラス

この記事では、指標バッファオブジェクトのコレクションクラスの作成について説明しています。指標用の任意の数のバッファを作成して操作する機能をテストします(MQL指標で作成できるバッファの最大数は512です)。
preview
一からの取引エキスパートアドバイザーの開発(第9部):概念的な飛躍(II)

一からの取引エキスパートアドバイザーの開発(第9部):概念的な飛躍(II)

この記事では、Chart Tradeをフローティングウィンドウに配置します。前稿では、フローティングウィンドウ内でテンプレートを使用できるようにする基本的なシステムを作成しました。
preview
MQL5の圏論(第13回):データベーススキーマを使用したカレンダーイベント

MQL5の圏論(第13回):データベーススキーマを使用したカレンダーイベント

この記事は、MQL5での順序の圏論実装に従うもので、MQL5での分類のためにデータベーススキーマをどのように組み込むことができるかを検討します。取引関連のテキスト(文字列)情報を特定する際に、データベーススキーマの概念を圏論とどのように組み合わせることができるかの基礎を見ていきます。カレンダーイベントが中心です。
トレーディング初心者の10の「エラー」?
トレーディング初心者の10の「エラー」?

トレーディング初心者の10の「エラー」?

本稿は既存の条件-、従来の『アラート』のみならず、またあまりそればかりでなく、価格、現在の各オーダーの利益/損失値、に従い、相互関連するオーダーの一連のオープンやクローズとしてのトレーディングシステムを構築する方法を立証します。ここではそのような基礎的なトレーディングシステムの典型的作成法を提供します。
preview
オブジェクトを使用して複雑な指標を簡単に

オブジェクトを使用して複雑な指標を簡単に

この記事では、複数のプロットやバッファを扱ったり複数のソースからのデータを組み合わせたりするときに発生する問題を回避しながら、複雑な指標を作成する方法を紹介します。
テクニカル分析:不可能を可能にする!
テクニカル分析:不可能を可能にする!

テクニカル分析:不可能を可能にする!

本稿は疑問に答えます。多くが違うことを示す場面でなぜ不可能が可能になるのか?テクニカル分析推論
preview
MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ

MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ

この記事では、MQL5のネイティブMQTTクライアント開発における最初の試みについて報告します。MQTTは、クライアントサーバーのパブリッシュ/サブスクライブメッセージングトランスポートプロトコルです。MQTTは軽量、オープン、シンプルで、簡単に実装できるように設計されています。これらの特性により、さまざまな状況での使用に最適です。
preview
キャンバスベースのインジケーター:チャネル内を透明にする

キャンバスベースのインジケーター:チャネル内を透明にする

この記事では、標準ライブラリのCCanvasクラスを使用して描画されるカスタムインジケーターを作成して、座標変換のチャートプロパティを確認する方法を紹介します。特に、2本の線の間の領域を透明にする必要があるインジケーターに取り組みます。
preview
ビル・ウィリアムズ戦略:他の指標と予測の有無による比較

ビル・ウィリアムズ戦略:他の指標と予測の有無による比較

この記事では、ビル・ウィリアムズの有名な戦略の1つを取り上げ、それについて議論し、他の指標や予測を用いて戦略の改善を試みます。
DoEasyライブラリのグラフィックス(第84部): 抽象標準グラフィカルオブジェクトの子孫クラス
DoEasyライブラリのグラフィックス(第84部): 抽象標準グラフィカルオブジェクトの子孫クラス

DoEasyライブラリのグラフィックス(第84部): 抽象標準グラフィカルオブジェクトの子孫クラス

本稿では、ターミナル抽象標準グラフィカルオブジェクトの子孫オブジェクトの作成について検討します。クラスオブジェクトでは、すべてのグラフィカルオブジェクトに共通のプロパティを記述します。つまり、それは単にある種のグラフィカルオブジェクトです。実際のグラフィカルオブジェクトとの関係を明確にするには、この特定のグラフィカルオブジェクトに固有のプロパティを子孫オブジェクトクラスに設定する必要があります。