MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
勢力指数による取引システムの設計方法を学ぶ

勢力指数による取引システムの設計方法を学ぶ

最も人気のあるテクニカル指標によって取引システムを設計する方法についての連載の新しい記事へようこそ。今回は、新しく、勢力指数(Force Index)テクニカル指標と、この指標を使った取引システムの作り方についてご紹介します。
preview
エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第1部):オシレーター

エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第1部):オシレーター

この記事では、オシレーターカテゴリから標準的な指標を検討します。パラメータの宣言と設定、指標の初期化と初期化解除、EAの指標バッファからのデータとシグナルの受信など、EAですぐに使用できるテンプレートを作成します。
preview
モデル解釈をマスターする:機械学習モデルからより深い洞察を得る

モデル解釈をマスターする:機械学習モデルからより深い洞察を得る

機械学習は複雑で、経験を問わず誰にとってもやりがいのある分野です。この記事では、構築されたモデルを動かす内部メカニズムに深く潜り込み、複雑な特徴、予測、そしてインパクトのある決断の世界を探求し、複雑さを解きほぐし、モデルの解釈をしっかりと把握します。トレードオフをナビゲートし、予測を強化し、確実な意思決定をおこないながら特徴の重要性をランク付けする技術を学びます。この必読書は、機械学習モデルからより多くのパフォーマンスを引き出し、機械学習手法を採用することでより多くの価値を引き出すのに役立ちます。
preview
自動で動くEAを作る(第13回):自動化(V)

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

フローチャートとは何かご存じでしょうか。使い方はご存じですか。フローチャートは初心者向けだとお考えでしょうか。この新しい記事では、フローチャートの操作方法を説明します。
preview
Connexus入門(第1回):WebRequest関数の使い方

Connexus入門(第1回):WebRequest関数の使い方

この記事は、MQL5でHTTPリクエストを容易にするための「Connexus」と呼ばれるライブラリの開発シリーズの始まりです。このプロジェクトの目標は、エンドユーザーにこの機会を提供し、このヘルパーライブラリーの使い方を示すことです。学習を容易にし、将来の発展の可能性を提供するために、できるだけシンプルにすることを意図しました。
preview
ニューラルネットワークが簡単に(第31部):進化的アルゴリズム

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

前回の記事では、非勾配最適化手法の調査を開始しました。遺伝的アルゴリズムについて学びました。今日は、このトピックを継続し、進化的アルゴリズムの別のクラスを検討します。
preview
MQL5行列を使用した誤差逆伝播法によるニューラルネットワーク

MQL5行列を使用した誤差逆伝播法によるニューラルネットワーク

この記事では、行列を使用してMQL5で誤差逆伝播法(バックプロパゲーション)アルゴリズムを適用する理論と実践について説明します。スクリプト、インジケータ、エキスパートアドバイザー(EA)の例とともに、既製のクラスが提示されます。
preview
ニューラルネットワークが簡単に(第47回):連続行動空間

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

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

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

チャート上直接の発注システムをより完全にしましょう。この記事では、発注システムを修正する方法、またはより直感的にする方法を示します。
preview
Pythonを使用した深層学習GRUモデルとEAによるONNX、GRUとLSTMモデルの比較

Pythonを使用した深層学習GRUモデルとEAによるONNX、GRUとLSTMモデルの比較

Pythonを使用してGRU ONNXモデルを作成する深層学習のプロセス全体を説明し、最後に取引用に設計されたエキスパートアドバイザー(EA)の作成と、その後のGRUモデルとLSTNモデルの比較をおこないます。
preview
一からの取引エキスパートアドバイザーの開発(第15部):Web上のデータにアクセスする(I)

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

MetaTrader5ではどのようにオンラインデータにアクセスするのでしょうか。Web上にはたくさんのサイトや場所があり、膨大な量の情報が掲載されています。知るべきことは、どこを調べて、この情報をどのように使用するのが最善かということです。
preview
初心者からエキスパートへ:ローソク足のプログラミング

初心者からエキスパートへ:ローソク足のプログラミング

この記事では、MQL5プログラミングの第一歩を、完全な初心者でも理解できるように解説します。よく知られているローソク足パターンを、実際に機能するカスタムインジケーターへと変換する方法を紹介します。ローソク足パターンは、実際の価格変動を反映し、市場の転換を示唆するため、非常に有用です。チャートを目視で確認してパターンを探す手法ではミスや非効率が生じやすいため、この記事では、パターンを自動的に識別・ラベル付けしてくれるインジケーターを作成する方法を説明します。その過程で、インデックス(索引)、時系列、ATR(市場の変動性に応じた精度向上のため)などの重要な概念についても解説し、今後のプロジェクトで再利用可能なカスタムローソク足パターンライブラリの開発にも触れていきます。
preview
リプレイシステムの開発—市場シミュレーション(第6回):最初の改善(I)

リプレイシステムの開発—市場シミュレーション(第6回):最初の改善(I)

この記事では、システム全体の安定化を開始します。安定化がなければ次のステップに進むことができない可能性があります。
preview
DoEasy - コントロール(第7部):テキストラベルコントロール

DoEasy - コントロール(第7部):テキストラベルコントロール

今回の記事では、WinFormsテキストラベルコントロールオブジェクトのクラスを作成します。このようなオブジェクトはコンテナをどこにでも配置できますが、独自の機能はMS Visual Studioテキストラベルの機能を繰り返します。表示されるテキストのフォントパラメータは設定できます。
preview
ニューラルネットワークが簡単に(第39回):Go-Explore、探検への異なるアプローチ

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

強化学習モデルにおける環境の研究を続けます。この記事では、モデルの訓練段階で効果的に環境を探索することができる、もうひとつのアルゴリズム「Go-Explore」を見ていきます。
preview
MQL5クックブック - マクロ経済イベントデータベース

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

この記事では、SQLiteエンジンに基づいてデータベースを処理する可能性について説明します。CDatabaseクラスは、OOP原則を便利かつ効率的に使用するために作成されました。その後、マクロ経済イベントのデータベースの作成と管理に関与しています。この記事では、CDatabaseクラスの複数のメソッドを使用する例を示します。
preview
一からの取引エキスパートアドバイザーの開発(第12部):Times and Trade (I)

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

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

古典的な戦略をPythonで再構築する:MAクロスオーバー

この記事では、古典的な移動平均クロスオーバー戦略を再検討し、その現在の有効性を評価します。開始以来の経過時間を考慮して、AI がこの伝統的な取引戦略にもたらす可能性のある機能強化について検討します。AI技術を取り入れることで、高度な予測能力を活用し、取引のエントリとエグジットのポイントを最適化し、さまざまな市場環境に適応し、従来のアプローチと比較して全体的なパフォーマンスを向上させる可能性があることを目指します。
preview
ニューラルネットワークが簡単に(第56回):核型ノルムを研究の推進力に

ニューラルネットワークが簡単に(第56回):核型ノルムを研究の推進力に

強化学習における環境の研究は喫緊の課題です。いくつかのアプローチについてすでに見てきました。この記事では、核型ノルムの最大化に基づくもう一つの方法について見てみましょう。これにより、エージェントは新規性と多様性の高い環境状態を特定することができます。
preview
データサイエンスと機械学習(第17回):木の中のお金?外国為替取引におけるランダムフォレストの芸術と科学

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

金融情勢を解読する際の芸術性と正確性の融合についてガイドします。アルゴリズム錬金術の秘密を発見してください。ランダムフォレストがデータを予測能力に変換する方法を明らかにし、株式市場の複雑な地形をナビゲートするための独自の視点を提供します。金融の魔術の核心に触れ、市場の動向を形作り、収益の機会を開拓するランダムフォレストの役割を解き明かす旅にご参加ください。
preview
MetaTrader 5のEMAクロスオーバーに基づくカスケード注文取引戦略

MetaTrader 5のEMAクロスオーバーに基づくカスケード注文取引戦略

この記事は、MetaTrader 5のEMAクロスオーバーに基づく自動化アルゴリズムのデモをガイドしています。価格帯の動作分析からリスク管理まで、MQL5のエキスパートアドバイザー(EA)を示し、MetaTrader 5でテストするためのあらゆる側面に関する詳細情報を含みます。
DoEasyライブラリのグラフィックス(第75部): 基本的なグラフィック要素でプリミティブとテキストを処理するメソッド
DoEasyライブラリのグラフィックス(第75部): 基本的なグラフィック要素でプリミティブとテキストを処理するメソッド

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

本稿では引き続き、CCanvas標準ライブラリクラスを使用したすべてのライブラリグラフィカルオブジェクトの基本的なグラフィック要素クラスを開発します。グラフィカルプリミティブを描画するメソッドとグラフィック要素オブジェクトにテキストを表示するメソッドを作成します。
preview
データサイエンスとML(第42回):PythonでARIMAを用いた外国為替時系列予測、知っておくべきことすべて

データサイエンスとML(第42回):PythonでARIMAを用いた外国為替時系列予測、知っておくべきことすべて

ARIMAは自己回帰和分移動平均(Auto Regressive Integrated Moving Average)の略称で、強力な従来の時系列予測モデルです。このモデルは、時系列データ内の急上昇や変動を検出する機能により、次の値を正確に予測できます。この記事では、ARIMAが何であるか、どのように機能するか、市場での次の価格を高い精度で予測する際に何ができるかなどについて説明します。
preview
CCI指標:アップグレードと新機能

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

この記事では、CCI指標をアップグレードする可能性について検討するとともに、この指標の修正を提示します。
preview
プライスアクション分析ツールキットの開発(第21回):Market Structure Flip Detector Tool

プライスアクション分析ツールキットの開発(第21回):Market Structure Flip Detector Tool

The Market Structure Flip Detectorエキスパートアドバイザー(EA)は、市場センチメントの変化を常に監視する頼れるパートナーとして機能します。ATR (Average True Range)に基づく閾値を活用することで、構造の反転を的確に検出し、各高値切り下げおよび安値切り上げを明確なインジケーターで表示します。MQL5の高速な実行性能と柔軟なAPIにより、このツールはリアルタイム分析を可能にし、最適な視認性を保つよう表示を調整しながら、反転の回数やタイミングをモニターできるライブダッシュボードも提供します。さらに、カスタマイズ可能なサウンド通知やプッシュ通知により、重要なシグナルを確実に受け取ることができ、シンプルな入力と補助ルーチンがどのように価格変動を実用的な戦略へと変換するかを実感できます。
DoEasyライブラリのグラフィックス(第81部): ライブラリオブジェクトへのグラフィックの統合
DoEasyライブラリのグラフィックス(第81部): ライブラリオブジェクトへのグラフィックの統合

DoEasyライブラリのグラフィックス(第81部): ライブラリオブジェクトへのグラフィックの統合

すでに作成されたオブジェクトを以前に作成されたライブラリオブジェクトに統合する時が来ました。最終的には各ライブラリオブジェクトに独自のグラフィカルオブジェクトが付与されるようになり、ユーザーはプログラムを操作できるようになります。
preview
単一チャート上の複数インジケータ(第06部):MetaTrader 5をRADシステムに変える(II)

単一チャート上の複数インジケータ(第06部):MetaTrader 5をRADシステムに変える(II)

前回の記事では、MetaTrader 5のオブジェクトを使ってChart Tradeを作成し、プラットフォームをRADシステムに変える方法を紹介しました。このシステムは非常によく機能しており、読者の多くは、提案されたシステムの機能を拡張できるようなライブラリを作成することをお考えになったのではないでしょうか。これに基づいて、より直感的で使い勝手の良いEAを開発することも可能でしょう。
preview
データサイエンスと機械学習(第27回):MetaTrader 5取引ボットにおける畳み込みニューラルネットワーク(CNN)に価値はあるか?

データサイエンスと機械学習(第27回):MetaTrader 5取引ボットにおける畳み込みニューラルネットワーク(CNN)に価値はあるか?

畳み込みニューラルネットワーク(CNN)は、画像や映像のパターンを検出する能力に優れていることで有名で、さまざまな分野に応用されています。この記事では、金融市場の価値あるパターンを識別し、MetaTrader 5取引ボットのための効果的な取引シグナルを生成するCNNの可能性を探ります。このディープマシンラーニングの手法を、よりスマートな取引判断のためにどのように活用できるかを見てみましょう。
preview
MQL5-Telegram統合エキスパートアドバイザーの作成(第2回):MQL5からTelegramへのシグナル送信

MQL5-Telegram統合エキスパートアドバイザーの作成(第2回):MQL5からTelegramへのシグナル送信

この記事では、移動平均クロスオーバーシグナルをTelegramに送信するMQL5-Telegram統合エキスパートアドバイザー(EA)を作成します。移動平均クロスオーバーから売買シグナルを生成し、MQL5で必要なコードを実装し、統合がシームレスに機能するようにするプロセスを詳しく説明します。その結果、リアルタイムの取引アラートをTelegramのグループチャットに直接提供するシステムが完成します。
preview
ニューラルネットワークが簡単に (第42回):先延ばしのモデル、理由と解決策

ニューラルネットワークが簡単に (第42回):先延ばしのモデル、理由と解決策

強化学習の文脈では、モデルの先延ばしにはいくつかの理由があります。この記事では、モデルの先延ばしの原因として考えられることと、それを克服するための方法について考察しています。
preview
非定常過程と偽回帰

非定常過程と偽回帰

この記事では、モンテカルロシミュレーションを用いて非定常過程に回帰分析を適用しようとすると、偽回帰が発生することを示しています。
preview
プライスアクション分析ツールキットの開発(第1回):チャートプロジェクター

プライスアクション分析ツールキットの開発(第1回):チャートプロジェクター

このプロジェクトは、MQL5アルゴリズムを活用して、MetaTrader 5向けの包括的な分析ツールセットを開発することを目的としています。これらのツールは、スクリプトやインジケーターからAIモデルやエキスパートアドバイザー(EA)に至るまで幅広く、市場分析プロセスの自動化を実現します。場合によっては、これらのツールによって、高度な分析を人間の介入なしで実行し、適切なプラットフォームに結果を予測することも可能になります。どのようなチャンスも逃しません。一緒に強力な市場分析用カスタムツールチェストを構築するプロセスを探求していきましょう。まず、「チャートプロジェクター」と名付けたシンプルなMQL5プログラムを開発することから始めます。
DIYテクニカル指標
DIYテクニカル指標

DIYテクニカル指標

この記事では、独自のテクニカル指標を作成できるアルゴリズムについて検討します。非常に単純な初期仮定で、非常に複雑で興味深い結果を得る方法を学びます。
preview
一からの取引エキスパートアドバイザーの開発(第24部):システムの堅牢性の提供(I)

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

この記事では、堅牢で安全な使用を保証するために、システムの信頼性を高めます。望ましい堅牢性を実現する方法の1つは、コードを可能な限り再利用して、常にさまざまな場合にテストされるようにすることです。しかし、これは方法の1つにすぎません。もう1つは、OOPを使用することです。
preview
リプレイシステムの開発 - 市場シミュレーション(第19回):必要な調整

リプレイシステムの開発 - 市場シミュレーション(第19回):必要な調整

ここでは、コードに新しい関数を追加する必要がある場合に、スムーズかつ簡単に追加できるように基礎を整えます。現在のコードでは、有意義な進歩を遂げるために必要な事柄の一部をまだカバーまたは処理できません。最小限の労力で特定のことを実装できるようにするには、すべてを構造化する必要があります。すべてを正しくおこなえば、対処が必要なあらゆる状況に非常に簡単に適応できる、真に普遍的なシステムを得ることができます。
preview
Frames Analyzerツールによるタイムトレード間隔の魔法

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

Frames Analyzerとは何でしょうか。これは、パラメータ最適化の直後に作成されたMQDファイルまたはデータベースを読み取ることにより、ストラテジーテスター内外でパラメータ最適化中に最適化フレームを分析するためのエキスパートアドバイザー(EA)のプラグインモジュールです。これらの最適化の結果はFrames Analyzerツールを使用している他のユーザーと共有して、結果について話し合うことができます。
preview
RestAPIを統合したMQL5強化学習エージェントの開発(第3回):MQL5で自動手番とテストスクリプトを作成する

RestAPIを統合したMQL5強化学習エージェントの開発(第3回):MQL5で自動手番とテストスクリプトを作成する

この記事では、MQL5関数とユニットテストを統合した、Pythonによる三目並べの自動手番の実装について説明します。目標は、MQL5でのテストを通じて、対戦のインタラクティブ性を向上させ、システムの信頼性を確保することです。このプレゼンテーションでは、対戦ロジックの開発、統合、実地テストについて説明し、最後にダイナミックな対戦環境と堅牢な統合システムを作成します。
preview
MQL5の圏論(第9回):モノイド作用

MQL5の圏論(第9回):モノイド作用

MQL5における圏論の実装についての連載を続けます。ここでは、前の記事で説明したモノイドを変換する手段としてモノイド作用を継続し、応用の増加につなげます。
preview
MQL5における圏論(第12回):順序

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

この記事は、MQL5でのグラフの圏論実装に従う連載の一部であり、順序について詳しく説明します。2つの主要な順序タイプを検討することで、順序理論の概念が取引の意思決定に情報を提供する上で、モノイド集合をどのようにサポートできるかを検証します。
preview
ニューラルネットワークの実験(第7回):指標の受け渡し

ニューラルネットワークの実験(第7回):指標の受け渡し

指標をパーセプトロンに渡す例。この記事では、一般的な概念について説明し、最も単純な既製のエキスパートアドバイザー(EA)と、それに続く最適化とフォワードテストの結果を紹介します。