MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
ニューラルネットワークが簡単に(第16部):クラスタリングの実用化

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

前回は、データのクラスタリングをおこなうためのクラスを作成しました。今回は、得られた結果を実際の取引に応用するためのバリエーションを紹介したいと思います。
preview
MQL5でボリンジャーバンド取引戦略を実装する:ステップごとのガイド

MQL5でボリンジャーバンド取引戦略を実装する:ステップごとのガイド

ボリンジャーバンド売買戦略に基づくMQL5での自動売買アルゴリズム実装のためのステップごとのガイドです。トレーダーに役立つEAの作成に基づく詳細なチュートリアルです。
preview
一からの取引エキスパートアドバイザーの開発(第29部):おしゃべりプラットフォーム

一からの取引エキスパートアドバイザーの開発(第29部):おしゃべりプラットフォーム

この記事では、MetaTrader 5プラットフォームをしゃべらせる方法を学びます。EAをもっと楽しくしたらどうでしょうか。金融市場の取引は退屈で単調すぎることがよくありますが、私たちはこの仕事の疲れを軽減することができます。依存症などの問題を経験している方にとってはこのプロジェクトは危険な場合があるのでご注意ください。ただし、一般的には、それは退屈を軽減するだけです。
preview
DoEasyライブラリの時系列(パート53):抽象基本指標クラス

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

本稿では抽象指標を作成し、ライブラリの標準指標とカスタム指標のオブジェクトを作成するための基本クラスとしてさらに使用します。
DoEasyライブラリの時系列(第59部): 単一ティックのデータを格納するオブジェクト
DoEasyライブラリの時系列(第59部): 単一ティックのデータを格納するオブジェクト

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

本稿からは、価格データを処理するライブラリ機能を作成します。今日、さらに別のティックで到着したすべての価格データを格納するオブジェクトクラスを作成します。
preview
MQL5の圏論(第13回):データベーススキーマを使用したカレンダーイベント

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

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

MQL5の圏論(第10回):モノイド群

MQL5における圏論の実装についての連載を続けます。ここでは、モノイド集合を正規化して、より幅広いモノイド集合とデータ型にわたって比較しやすくする手段としてモノイド群を見ていきます。
preview
MQL5入門(第3部):MQL5のコア要素をマスターする

MQL5入門(第3部):MQL5のコア要素をマスターする

この初心者向けの記事では、MQL5プログラミングの基本を解説します。配列、カスタム関数、プリプロセッサ、イベント処理など、すべてのコードをわかりやすく説明し、すべての行にアクセスできるようにします。すべてのステップで理解を深める独自のアプローチで、MQL5のパワーを引き出しましょう。この記事はMQL5をマスターするための基礎となるもので、各コード行の説明に重点を置き、明確で充実した学習体験を提供します。
ビデオ:MetaTrader5とMQL5での簡単な自動売買の設定方法
ビデオ:MetaTrader5とMQL5での簡単な自動売買の設定方法

ビデオ:MetaTrader5とMQL5での簡単な自動売買の設定方法

このビデオコースでは、MetaTrader 5をダウンロード、インストールして自動売買のために設定する方法を学びます。また、チャートの設定や自動売買のオプションの調整方法についても学びます。最初のバックテストをおこないます。このコースの終わりには、画面の前に座らなくても、24時間365日自動的に取引できるエキスパートアドバイザー(EA)をインポートする方法が分かります。
preview
OBVによる取引システムの設計方法を学ぶ

OBVによる取引システムの設計方法を学ぶ

今回は、初心者向けのシリーズとして、人気のあるいくつかの指標をもとに取引システムを設計する方法について、新しい記事をお届けします。今回は、新しい指標であるOBV (On Balance Volume)を学び、その使い方とそれに基づいた取引システムの設計を学びます。
preview
MQL5の圏論(第1回)

MQL5の圏論(第1回)

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

MQL5取引ツールキット(第1回):ポジション管理EX5ライブラリ

MQL5で様々なポジション操作を管理するための開発者用ツールキットの作成方法をご紹介します。この記事では、MQL5でポジション管理タスクを処理する際に発生するさまざまなエラーの自動処理とレポートも含め、簡単なものから高度なものまでポジション管理操作を実行する関数ライブラリ(ex5)の作成方法を紹介します。
preview
日足レンジブレイクアウト戦略に基づくMQL5 EAの作成

日足レンジブレイクアウト戦略に基づくMQL5 EAの作成

この記事では、日足レンジブレイクアウト(Daily Range Breakout)戦略に基づいてMQL5エキスパートアドバイザー(EA)を作成します。戦略の重要な概念を説明し、EAの設計図を設計し、MQL5でブレイクアウトロジックを実装します。最後に、EAの効果を最大限に引き出すためのバックテストと最適化の手法について探ります。
preview
独自のLLMをEAに統合する(第3部):CPUを使った独自のLLMの訓練

独自のLLMをEAに統合する(第3部):CPUを使った独自のLLMの訓練

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

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

この記事では、指標バッファオブジェクトのコレクションクラスの作成について説明しています。指標用の任意の数のバッファを作成して操作する機能をテストします(MQL指標で作成できるバッファの最大数は512です)。
preview
データサイエンスと機械学習(第09回):K近傍法(KNN)

データサイエンスと機械学習(第09回):K近傍法(KNN)

これは、訓練データセットから学習しない遅延アルゴリズムです。代わりにデータセットを保存し、新しいサンプルが与えられるとすぐに動作します。シンプルでありながら、実世界でさまざまなケースに応用されています。
preview
母集団最適化アルゴリズム:人工蜂コロニー(ABC)

母集団最適化アルゴリズム:人工蜂コロニー(ABC)

今回は、人工蜂コロニーアルゴリズムを研究し、機能空間を研究する新しい原理で知識を補います。今回は、古典アルゴリズムについて、私の解釈を紹介します。
preview
ニューラルネットワークが簡単に(第38回):不一致による自己監視型探索

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

強化学習における重要な問題のひとつは、環境探索です。前回までに、「内因性好奇心」に基づく研究方法について見てきました。今日は別のアルゴリズムを見てみましょう。不一致による探求です。
preview
一からの取引エキスパートアドバイザーの開発(第23部):新規受注システム(IV)

一からの取引エキスパートアドバイザーの開発(第23部):新規受注システム(IV)

受注システムをより柔軟にします。ここでは、コードをより柔軟にする変更を検討して、ポジションストップレベルをより迅速に変更できるようにします。
preview
MQL5のインタラクティブGUIで取引チャートを改善する(第2回):移動可能なGUI (II)

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

MQL5で移動可能なGUIを作成するための詳細なガイドで、取引戦略やユーティリティでの動的なデータ表現の可能性を引き出しましょう。オブジェクト指向プログラミングの基本原理を理解し、同じチャート上に単一または複数の移動可能なGUIを簡単かつ効率的に設計実装する方法を発見してください。
DoEasyライブラリのグラフィックス(第84部): 抽象標準グラフィカルオブジェクトの子孫クラス
DoEasyライブラリのグラフィックス(第84部): 抽象標準グラフィカルオブジェクトの子孫クラス

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

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

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

クラスタリング法について引き続き検討します。今回は、最も一般的なk-meansクラスタリング手法の1つを実装するために、新しいCKmeansクラスを作成します。テスト中には約500のパターンを識別することができました。
preview
MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ

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

この記事では、MQL5のネイティブMQTTクライアント開発における最初の試みについて報告します。MQTTは、クライアントサーバーのパブリッシュ/サブスクライブメッセージングトランスポートプロトコルです。MQTTは軽量、オープン、シンプルで、簡単に実装できるように設計されています。これらの特性により、さまざまな状況での使用に最適です。
preview
知っておくべきMQL5ウィザードのテクニック(第42回):ADXオシレーター

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

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

MetaTraderのMultibot:1つのチャートから複数のロボットを起動させる

今回は、個々のチャートにロボットの各インスタンスを設定する必要がなく、1つのチャートにのみ接続された状態で複数のチャートで使用できる汎用MetaTraderロボットを作成するための簡単なテンプレートについて考えてみます。
preview
データサイエンスと機械学習(第29回):AI訓練に最適なFXデータを選ぶための重要なヒント

データサイエンスと機械学習(第29回):AI訓練に最適なFXデータを選ぶための重要なヒント

この記事では、AIモデルのパフォーマンスを向上させるために、最も適切で高品質なFXデータを選択するための重要な側面について深く掘り下げます。
preview
自動で動くEAを作る(第14回):自動化(VI)

自動で動くEAを作る(第14回):自動化(VI)

今回は、この連載で得た知識をすべて実践してみましょう。最終的には、100%自動化された機能的なシステムを構築します。しかしその前に、まだ最後の詳細を学ばなければなりません。
DoEasyライブラリのグラフィックス(第91部): 標準グラフィカルオブジェクトのイベントオブジェクト名変更履歴
DoEasyライブラリのグラフィックス(第91部): 標準グラフィカルオブジェクトのイベントオブジェクト名変更履歴

DoEasyライブラリのグラフィックス(第91部): 標準グラフィカルオブジェクトのイベントオブジェクト名変更履歴

本稿では、ライブラリベースのプログラムからグラフィカルオブジェクトイベントを制御するための基本的な機能を洗練します。例として、「オブジェクト名」プロパティを使用してグラフィカルオブジェクトの変更履歴を保存する機能の実装から始めます。
preview
DoEasy - コントロール(第8部):カテゴリ(GroupBoxおよびCheckBoxのコントロール)による基本WinFormsオブジェクト

DoEasy - コントロール(第8部):カテゴリ(GroupBoxおよびCheckBoxのコントロール)による基本WinFormsオブジェクト

この記事では、「GroupBox」および「CheckBox」WinFormsオブジェクトの作成、およびWinFormsオブジェクトカテゴリの基本オブジェクトの開発について検討します。作成されたすべてのオブジェクトはまだ静的で、マウスと対話することはできません。
preview
EAを用いたリスクとキャピタルの管理

EAを用いたリスクとキャピタルの管理

この記事では、バックテストレポートでは見えないこと、自動売買ソフトを使用する際の注意点、エキスパートアドバイザー(EA)を使用している場合の資金管理、自動売買をおこなっている場合に取引活動を続けるために大きな損失をカバーする方法について説明します。
preview
MQL5でのARIMAトレーニングアルゴリズムの実装

MQL5でのARIMAトレーニングアルゴリズムの実装

この記事では、関数最小化のPowell法を使用して、ボックス・ジェンキンス法の自己回帰和分移動平均モデルを適用するアルゴリズムを実装します。ボックスとジェンキンスは、ほとんどの時系列は2つのフレームワークの一方または両方でモデル化できると述べました。
preview
データサイエンスと機械学習(第13回):主成分分析(PCA)で金融市場分析を改善する

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

主成分分析(Principal component analysis、PCA)で金融市場分析に革命を起こしましょう。この強力な手法がどのようにデータの隠れたパターンを解き放ち、潜在的な市場動向を明らかにし、投資戦略を最適化するかをご覧ください。この記事では、PCAが複雑な金融データを分析するための新しいレンズをどのように提供できるかを探り、従来のアプローチでは見逃されていた洞察を明らかにします。金融市場データにPCAを適用することで競争力を高め、時代を先取りする方法をご覧ください。
preview
ニューラルネットワークが簡単に(第63回):Unsupervised Pretraining for Decision Transformer (PDT)

ニューラルネットワークが簡単に(第63回):Unsupervised Pretraining for Decision Transformer (PDT)

引き続き、Decision Transformer法のファミリーについて説明します。前回の記事から、これらの手法のアーキテクチャの基礎となるTransformerの訓練はかなり複雑なタスクであり、訓練のために大規模なラベル付きデータセットが必要であることにすでに気づきました。この記事では、ラベル付けされていない軌跡をモデルの予備訓練に使用するアルゴリズムについて見ていきます。
preview
MFIによる取引システムの設計方法を学ぶ

MFIによる取引システムの設計方法を学ぶ

最も人気のあるテクニカル指標に基づいて取引システムを設計する連載のこの新しい記事では、新しくマネーフローインデックス(Money Flow Index、MFI)テクニカル指標を考察します。その詳細を学び、MQL5によって簡単な取引システムを開発し、MetaTrader 5で実行します。
preview
MQL5の圏論(第2回)

MQL5の圏論(第2回)

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

Deus EAの実装:MQL5におけるRSIと移動平均を使った自動売買

この記事では、RSIと移動平均指標に基づいて自動売買をおこなうDeus EAの実装手順を概説します。
DoEasyライブラリでの価格(第63部): 板情報とその抽象リクエストクラス
DoEasyライブラリでの価格(第63部): 板情報とその抽象リクエストクラス

DoEasyライブラリでの価格(第63部): 板情報とその抽象リクエストクラス

本稿では、板情報を使用するための機能の開発を開始します。また、板情報抽象注文オブジェクトとその子孫のクラスも作成します。
preview
DoEasyライブラリの時系列(第54部): 抽象基本指標の子孫クラス

DoEasyライブラリの時系列(第54部): 抽象基本指標の子孫クラス

本稿では、基本抽象指標の子孫オブジェクトのクラスの作成について検討しています。このようなオブジェクトは、指標EAを作成し、さまざまな指標と価格のデータ値統計を収集および取得する機能へのアクセスを備えています。また、プログラムで作成された各指標のプロパティとデータにアクセスできる指標オブジェクトコレクションを作成します。
preview
DoEasyライブラリの時系列(第55部): 指標コレクションクラス

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

本稿では、指標オブジェクトクラスとそのコレクションの開発を続けます。指標オブジェクトごとに、その説明と正しいコレクションクラスを作成して、エラーなしのストレージを作成し、コレクションリストから指標オブジェクトを取得します。
preview
逆フェアバリューギャップ取引戦略

逆フェアバリューギャップ取引戦略

逆フェアバリューギャップ(IFVG)とは、価格が過去に特定されたフェアバリューギャップ(FVG)へ回帰した際に、通常想定されるサポートまたはレジスタンスとしての反応を示さず、その水準を無視して通過してしまう現象を指します。このような失敗は、市場の方向性の変調を示すサインである可能性があり、逆張り志向の取引アプローチにおいて優位性をもたらすシグナルとなることがあります。本記事では、MetaTrader 5エキスパートアドバイザー(EA)の戦略として、この逆フェアバリューギャップを定量的に捉え、取引ロジックに組み込むために私が独自に開発したアプローチを紹介します。