MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
知っておくべきMQL5ウィザードのテクニック(第38回):ボリンジャーバンド

知っておくべきMQL5ウィザードのテクニック(第38回):ボリンジャーバンド

ボリンジャーバンドは、多くのトレーダーが手動で取引を発注し、決済するために使用する、非常に一般的なエンベロープ指標です。この指標が生成する可能性のあるシグナルをできるだけ多く検討し、ウィザードで組み立てたエキスパートアドバイザー(EA)でどのように使用できるかを見ていきます。
preview
Candlestick Trend Constraintモデルの構築(第9回):マルチ戦略エキスパートアドバイザー(III)

Candlestick Trend Constraintモデルの構築(第9回):マルチ戦略エキスパートアドバイザー(III)

連載第3回へようこそ。今回は、日足のトレンドに沿った最適なエントリーポイントを特定する戦略として、ダイバージェンスの活用について詳しく解説します。また、トレーリングストップロスに似た、しかし独自の機能を備えたカスタム利益ロック機構もご紹介します。さらに、Trend Constraint EAを高度化し、既存の取引条件を補完する形で新たなエントリー条件を追加します。今後も、MQL5を活用したアルゴリズム開発の実践的な応用方法を深掘りし、実際に使えるテクニックや洞察を継続的にお届けしていきます。
preview
母集団最適化アルゴリズム:進化戦略、(μ,λ)-ESと(μ+λ)-ES

母集団最適化アルゴリズム:進化戦略、(μ,λ)-ESと(μ+λ)-ES

この記事では、進化戦略(Evolution Strategies:ES)として知られる最適化アルゴリズム群について考察します。これらは、最適解を見つけるために進化原理を用いた最初の集団アルゴリズムの1つです。従来のESバリエーションへの変更を実施し、アルゴリズムのテスト関数とテストスタンドの手法を見直します。
preview
ニューラルネットワークの実験(第4回):テンプレート

ニューラルネットワークの実験(第4回):テンプレート

この記事では、実験と非標準的な方法を使用して収益性の高い取引システムを開発し、ニューラルネットワークがトレーダーに役立つかどうかを確認します。ニューラルネットワークを取引に活用するための自給自足ツールとしてMetaTrader 5を使用します。簡単に説明します。
preview
一からの取引エキスパートアドバイザーの開発(第27部):未来に向かって(II)

一からの取引エキスパートアドバイザーの開発(第27部):未来に向かって(II)

チャート上直接の発注システムをより完全にしましょう。この記事では、発注システムを修正する方法、またはより直感的にする方法を示します。
preview
カオス理論アプローチによる買われ過ぎと売られ過ぎのトレンド分析

カオス理論アプローチによる買われ過ぎと売られ過ぎのトレンド分析

市場の買われすぎや売られすぎの状態を、カオス理論に基づいて評価します。この手法では、カオス理論、フラクタル幾何学、ニューラルネットワークの原理を統合し、金融市場の予測をおこないます。この研究では、市場のランダム性の尺度として、また売買シグナルの動的適応として、リアプノフ指数を使用する方法を実証しています。市場のランダム性の評価にはリアプノフ指数を用い、売買シグナルの動的適応を実現しています。具体的には、フラクタルノイズ生成アルゴリズム、双曲線正接関数による活性化、モーメント最適化を組み合わせた手法を採用しています。
preview
一からの取引エキスパートアドバイザーの開発(第13部):Times & Trade (II)

一からの取引エキスパートアドバイザーの開発(第13部):Times & Trade (II)

本日は、Times & Tradeシステムの第2部である市場分析を構築します。前回の「Times & Trade (I)」稿では、市場で実行された取引を可能な限り迅速に解釈するための指標を持つことを可能にする代替のチャート編成システムについて説明しました。
DoEasyライブラリのグラフィックス(第89部): 抽象標準グラフィカルオブジェクトのプログラミング基本機能
DoEasyライブラリのグラフィックス(第89部): 抽象標準グラフィカルオブジェクトのプログラミング基本機能

DoEasyライブラリのグラフィックス(第89部): 抽象標準グラフィカルオブジェクトのプログラミング基本機能

現在、ライブラリでは、一部のパラメータの削除や変更など、クライアントターミナルのチャート上の標準のグラフィカルオブジェクトを追跡できます。現時点では、カスタムプログラムから標準グラフィカルオブジェクトを作成する機能はありません。
preview
データサイエンスと機械学習(第17回):木の中のお金?外国為替取引におけるランダムフォレストの芸術と科学

データサイエンスと機械学習(第17回):木の中のお金?外国為替取引におけるランダムフォレストの芸術と科学

金融情勢を解読する際の芸術性と正確性の融合についてガイドします。アルゴリズム錬金術の秘密を発見してください。ランダムフォレストがデータを予測能力に変換する方法を明らかにし、株式市場の複雑な地形をナビゲートするための独自の視点を提供します。金融の魔術の核心に触れ、市場の動向を形作り、収益の機会を開拓するランダムフォレストの役割を解き明かす旅にご参加ください。
preview
MQL5における動的時間伸縮を用いたパターン認識

MQL5における動的時間伸縮を用いたパターン認識

本稿では、金融時系列における予測パターンを特定する手段として、動的時間伸縮の概念について論じます。その仕組みと、純粋なMQL5での実装を紹介します。
preview
DoEasyライブラリの時系列(第50部): シフト付き複数銘柄・複数期間標準指標

DoEasyライブラリの時系列(第50部): シフト付き複数銘柄・複数期間標準指標

本稿では、複数銘柄・複数期間標準指標を正しく表示するためのライブラリメソッドを改善して、設定されたシフトによってシフトされたラインが現在の銘柄チャートに表示されるようにします。また、標準指標を使用するメソッドを整理し、最終的な指標プログラムのライブラリにある冗長なコードを削除します。
preview
ティッカーテープパネルの作成:改良版

ティッカーテープパネルの作成:改良版

ティッカーテープパネルの基本バージョンを復活させるというアイデアはいかがでしょうか。まずおこなうのは、資産のロゴやその他の画像などの画像を追加できるようにパネルを変更して、ユーザーが表示された銘柄をすばやく簡単に識別できるようにすることです。
DoEasyライブラリのグラフィックス(第75部): 基本的なグラフィック要素でプリミティブとテキストを処理するメソッド
DoEasyライブラリのグラフィックス(第75部): 基本的なグラフィック要素でプリミティブとテキストを処理するメソッド

DoEasyライブラリのグラフィックス(第75部): 基本的なグラフィック要素でプリミティブとテキストを処理するメソッド

本稿では引き続き、CCanvas標準ライブラリクラスを使用したすべてのライブラリグラフィカルオブジェクトの基本的なグラフィック要素クラスを開発します。グラフィカルプリミティブを描画するメソッドとグラフィック要素オブジェクトにテキストを表示するメソッドを作成します。
preview
MQL5の圏論(第17回):関手とモノイド

MQL5の圏論(第17回):関手とモノイド

関手を題材にしたシリーズの最終回となる今回は、圏としてのモノイドを再考します。この連載ですでに紹介したモノイドは、多層パーセプトロンとともに、ポジションサイジングの補助に使われます。
preview
ニューラルネットワークが簡単に(第39回):Go-Explore、探検への異なるアプローチ

ニューラルネットワークが簡単に(第39回):Go-Explore、探検への異なるアプローチ

強化学習モデルにおける環境の研究を続けます。この記事では、モデルの訓練段階で効果的に環境を探索することができる、もうひとつのアルゴリズム「Go-Explore」を見ていきます。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第3回):ダイナミックトレンドフォローと平均回帰戦略

MQL5で自己最適化エキスパートアドバイザーを構築する(第3回):ダイナミックトレンドフォローと平均回帰戦略

金融市場は一般的に、「レンジ相場」または「トレンド相場」のいずれかに分類されます。このような静的な市場の見方は、短期的な取引においては判断を容易にしてくれるかもしれません。しかし、実際の市場の動きとはかけ離れている側面もあります。この記事では、金融市場がこれら2つのモードをどのように移行するのかを探り、その理解を活かしてアルゴリズム取引戦略への自信をどのように高められるのかを考察します。
DoEasyライブラリでのその他のクラス(第72部): コレクション内のチャートオブジェクトパラメータの追跡と記録
DoEasyライブラリでのその他のクラス(第72部): コレクション内のチャートオブジェクトパラメータの追跡と記録

DoEasyライブラリでのその他のクラス(第72部): コレクション内のチャートオブジェクトパラメータの追跡と記録

本稿では、チャートオブジェクトクラスとそのコレクションの操作を完成します。また、チャートプロパティとそのウィンドウの変更の自動追跡を実装し、オブジェクトプロパティに新しいパラメータを保存します。このような変更により、を将来チャートコレクション全体のイベント機能実装できるようになります。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する

MQL5で自己最適化エキスパートアドバイザーを構築する

どのような市場にも対応できる専門的なエキスパートアドバイザー(EA)を構築します。
preview
Frames Analyzerツールによるタイムトレード間隔の魔法

Frames Analyzerツールによるタイムトレード間隔の魔法

Frames Analyzerとは何でしょうか。これは、パラメータ最適化の直後に作成されたMQDファイルまたはデータベースを読み取ることにより、ストラテジーテスター内外でパラメータ最適化中に最適化フレームを分析するためのエキスパートアドバイザー(EA)のプラグインモジュールです。これらの最適化の結果はFrames Analyzerツールを使用している他のユーザーと共有して、結果について話し合うことができます。
preview
ニューラルネットワークが簡単に(第31部):進化的アルゴリズム

ニューラルネットワークが簡単に(第31部):進化的アルゴリズム

前回の記事では、非勾配最適化手法の調査を開始しました。遺伝的アルゴリズムについて学びました。今日は、このトピックを継続し、進化的アルゴリズムの別のクラスを検討します。
preview
MQL5とPythonで自己最適化エキスパートアドバイザーを構築する(第3回):Boom 1000アルゴリズムの解読

MQL5とPythonで自己最適化エキスパートアドバイザーを構築する(第3回):Boom 1000アルゴリズムの解読

本連載では、動的な市場状況に自律的に適応できるエキスパートアドバイザー(EA)を構築する方法について説明します。本日の記事では、Derivの合成市場に合わせてディープニューラルネットワークを調整してみます。
DoEasyライブラリのグラフィックス(第73部): グラフィック要素のフォームオブジェクト
DoEasyライブラリのグラフィックス(第73部): グラフィック要素のフォームオブジェクト

DoEasyライブラリのグラフィックス(第73部): グラフィック要素のフォームオブジェクト

本稿からは、ライブラリでのグラフィックの使用に関する新しい大きなセクションを始めます。本稿では、マウスステータスオブジェクト、すべてのグラフィック要素の基本オブジェクト、およびライブラリのグラフィック要素のフォームオブジェクトのクラスを作成します。
preview
ニューラルネットワークが簡単に(第47回):連続行動空間

ニューラルネットワークが簡単に(第47回):連続行動空間

この記事では、エージェントのタスクの範囲を拡大します。訓練の過程には、どのような取引戦略にも不可欠な資金管理とリスク管理の側面も含まれます。
preview
一からの取引エキスパートアドバイザーの開発(第15部):Web上のデータにアクセスする(I)

一からの取引エキスパートアドバイザーの開発(第15部):Web上のデータにアクセスする(I)

MetaTrader5ではどのようにオンラインデータにアクセスするのでしょうか。Web上にはたくさんのサイトや場所があり、膨大な量の情報が掲載されています。知るべきことは、どこを調べて、この情報をどのように使用するのが最善かということです。
preview
MQL5における一般化ハースト指数と分散比検定の実装

MQL5における一般化ハースト指数と分散比検定の実装

本稿では、一般化ハースト指数と分散比検定が、MQL5における価格系列の挙動を分析するためにどのように利用できるかを調査します。
preview
DiscordとMetaTrader 5の統合:リアルタイム通知機能を備えたトレーディングボットの構築

DiscordとMetaTrader 5の統合:リアルタイム通知機能を備えたトレーディングボットの構築

この記事では、MetaTrader 5とDiscordサーバーを統合し、どこからでもリアルタイムで取引通知を受信する方法について解説します。Discordへのアラート配信を有効にするための、MetaTrader 5側およびDiscord側の設定方法を詳しく説明します。また、このような通知ソリューションでWebRequestやWebhookを利用する際に生じるセキュリティ上の注意点についても取り上げます。
preview
一からの取引エキスパートアドバイザーの開発(第24部):システムの堅牢性の提供(I)

一からの取引エキスパートアドバイザーの開発(第24部):システムの堅牢性の提供(I)

この記事では、堅牢で安全な使用を保証するために、システムの信頼性を高めます。望ましい堅牢性を実現する方法の1つは、コードを可能な限り再利用して、常にさまざまな場合にテストされるようにすることです。しかし、これは方法の1つにすぎません。もう1つは、OOPを使用することです。
preview
DoEasy - コントロール(第6部):パネルコントロール、内部コンテンツに合わせたコンテナサイズの自動変更

DoEasy - コントロール(第6部):パネルコントロール、内部コンテンツに合わせたコンテナサイズの自動変更

本稿では、Panel WinFormsオブジェクトの作業を続け、パネル内にあるDockオブジェクトの一般的なサイズに合わせた自動サイズ変更を実装します。さらに、銘柄ライブラリオブジェクトに新しいプロパティを追加します。
preview
自動で動くEAを作る(第13回):自動化(V)

自動で動くEAを作る(第13回):自動化(V)

フローチャートとは何かご存じでしょうか。使い方はご存じですか。フローチャートは初心者向けだとお考えでしょうか。この新しい記事では、フローチャートの操作方法を説明します。
preview
データサイエンスと機械学習—ニューラルネットワーク(第02回):フィードフォワードNNアーキテクチャの設計

データサイエンスと機械学習—ニューラルネットワーク(第02回):フィードフォワードNNアーキテクチャの設計

フィードフォワード(予測制御)ニューラルネットワークについて説明する前に、少し説明しておくことがあって、設計もその1つです。入力、隠れ層の数、および各ネットワークのノードに対する柔軟なニューラルネットワークを構築および設計する方法を見てみましょう。
preview
母集団最適化アルゴリズム:ネルダー–ミード法、またはシンプレックス(NM)検索法

母集団最適化アルゴリズム:ネルダー–ミード法、またはシンプレックス(NM)検索法

この記事では、ネルダー–ミード法の完全な探求を提示し、最適解を達成するために各反復でシンプレックス(関数パラメータ空間)がどのように修正され、再配置されるかを説明し、この方法がどのように改善されるかを説明します。
preview
知っておくべきMQL5ウィザードのテクニック(第18回):固有ベクトルによるニューラルアーキテクチャの探索

知っておくべきMQL5ウィザードのテクニック(第18回):固有ベクトルによるニューラルアーキテクチャの探索

ニューラルアーキテクチャー探索は、理想的なニューラルネットワーク設定を決定するための自動化されたアプローチで、多くのオプションや大規模なテストデータセットに直面したときにプラスになります。固有ベクトルをペアにすることで、この過程がさらに効率的になることを検証します。
preview
CCI指標:アップグレードと新機能

CCI指標:アップグレードと新機能

この記事では、CCI指標をアップグレードする可能性について検討するとともに、この指標の修正を提示します。
preview
MQL5で日次ドローダウンリミッターEAを作成する

MQL5で日次ドローダウンリミッターEAを作成する

この記事では、取引アルゴリズムに基づくエキスパートアドバイザー(EA)の作成方法を、詳細な観点から解説しています。これはMQL5のシステムを自動化し、デイリードローダウンをコントロールするのに役立ちます。
preview
MQL5クックブック - マクロ経済イベントデータベース

MQL5クックブック - マクロ経済イベントデータベース

この記事では、SQLiteエンジンに基づいてデータベースを処理する可能性について説明します。CDatabaseクラスは、OOP原則を便利かつ効率的に使用するために作成されました。その後、マクロ経済イベントのデータベースの作成と管理に関与しています。この記事では、CDatabaseクラスの複数のメソッドを使用する例を示します。
preview
MQL5の圏論(第7回):多重集合、相対集合、添字集合

MQL5の圏論(第7回):多重集合、相対集合、添字集合

圏論は、数学の多様かつ拡大を続ける分野であり、最近になってMQL5コミュニティである程度取り上げられるようになりました。この連載では、その概念と原理のいくつかを探索して考察することで、トレーダーの戦略開発におけるこの注目すべき分野の利用を促進することを目的としたオープンなライブラリを確立することを目指しています。
preview
デイトレードLarry Connors RSI2平均回帰戦略

デイトレードLarry Connors RSI2平均回帰戦略

Larry Connorsは著名なトレーダー兼著者であり、特に2期間RSI (RSI2)などのクオンツトレーディングや戦略で知られています。RSI2は短期的な買われすぎ・売られすぎの市場状況を識別するのに役立ちます。本記事では、まず私たちの研究の動機を説明し、その後Connorsの代表的な3つの戦略をMQL5で再現し、S&P 500指数CFDのデイトレードに適用していきます。
preview
MQL5における圏論(第12回):順序

MQL5における圏論(第12回):順序

この記事は、MQL5でのグラフの圏論実装に従う連載の一部であり、順序について詳しく説明します。2つの主要な順序タイプを検討することで、順序理論の概念が取引の意思決定に情報を提供する上で、モノイド集合をどのようにサポートできるかを検証します。
preview
母集団最適化アルゴリズム:モンキーアルゴリズム(MA)

母集団最適化アルゴリズム:モンキーアルゴリズム(MA)

今回は、最適化アルゴリズムであるモンキーアルゴリズム(MA、Monkey Algorithm)について考えてみたいと思います。この動物が難関を乗り越え、最もアクセスしにくい木のてっぺんまで到達する能力が、MAアルゴリズムのアイデアの基礎となりました。
preview
一からの取引エキスパートアドバイザーの開発(第12部):Times and Trade (I)

一からの取引エキスパートアドバイザーの開発(第12部):Times and Trade (I)

今日は、注文の流れを読むために、高速な解釈を持つTimes & Tradeを作成します。これは、システムを構築していくうえで最初の部分です。次回は、足りない情報を補って、システムを完成させる予定です。この新しい機能を実装するために、エキスパートアドバイザー(EA)のコードにいくつかの新しいものを追加する必要があります。