MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
ビデオ:シンプルな自動取引 – MQL5でシンプルなエキスパートアドバイザーを作成する方法
ビデオ:シンプルな自動取引 – MQL5でシンプルなエキスパートアドバイザーを作成する方法

ビデオ:シンプルな自動取引 – MQL5でシンプルなエキスパートアドバイザーを作成する方法

私のコースの学生の大半は、MQL5を理解するのが本当に難しいと感じていました。これに加えて、彼らはいくつかのプロセスを自動化する簡単な方法を探していました。この記事に含まれる情報を読んで、今すぐMQL5のを使い始める方法を見つけてください。これまでに何らかの形のプログラミングをおこなったことがない場合でも、観察した前のイラストを理解できない場合でも.です。
preview
MQL5の圏論(第10回):モノイド群

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

MQL5における圏論の実装についての連載を続けます。ここでは、モノイド集合を正規化して、より幅広いモノイド集合とデータ型にわたって比較しやすくする手段としてモノイド群を見ていきます。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第3回):銘柄名のプレフィックスおよび/またはサフィックスと取引時間セッションを追加しました

MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第3回):銘柄名のプレフィックスおよび/またはサフィックスと取引時間セッションを追加しました

数人のトレーダー仲間から、プレフィックスやサフィックスを持つ銘柄名を持つブローカーでこの多通貨EAを使用する方法、およびこの多通貨EAで取引タイムゾーンや取引タイムセッションを実装する方法についてメールやコメントをいただきました。
DoEasyライブラリの時系列(第59部): 単一ティックのデータを格納するオブジェクト
DoEasyライブラリの時系列(第59部): 単一ティックのデータを格納するオブジェクト

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

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

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

この記事は、MQL5での順序の圏論実装に従うもので、MQL5での分類のためにデータベーススキーマをどのように組み込むことができるかを検討します。取引関連のテキスト(文字列)情報を特定する際に、データベーススキーマの概念を圏論とどのように組み合わせることができるかの基礎を見ていきます。カレンダーイベントが中心です。
preview
プロのプログラマーからのヒント(第III部): ロギングSeqログ収集および分析システムへの接続

プロのプログラマーからのヒント(第III部): ロギングSeqログ収集および分析システムへの接続

エキスパートログに出力されるメッセージを統合および構造化するためのLoggerクラスの実装。Seqログ収集および分析システムへの接続。オンラインでのログメッセージの監視。
preview
母集団最適化アルゴリズム:蟻コロニー最適化(ACO)

母集団最適化アルゴリズム:蟻コロニー最適化(ACO)

今回は、蟻コロニー最適化アルゴリズムについて解析します。このアルゴリズムは非常に興味深く、複雑です。この記事では、新しいタイプのACOの作成を試みます。
preview
一からの取引エキスパートアドバイザーの開発(第29部):おしゃべりプラットフォーム

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

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

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

本稿では抽象指標を作成し、ライブラリの標準指標とカスタム指標のオブジェクトを作成するための基本クラスとしてさらに使用します。
preview
データサイエンスと機械学習(第12回):自己学習型ニューラルネットワークは株式市場を凌駕することができるのか?

データサイエンスと機械学習(第12回):自己学習型ニューラルネットワークは株式市場を凌駕することができるのか?

常に株式市場を予測しようとするのにお疲れでないでしょうか。より多くの情報に基づいた投資判断をするための水晶玉があったらとお思いでしょうか。自己学習型ニューラルネットワークは、あなたが探していたソリューションかもしれません。この記事では、これらの強力なアルゴリズムが、株式市場を凌駕する「波に乗る」のに役立つのかどうかを探ります。膨大な量のデータを分析し、パターンを特定することで、自己訓練されたニューラルネットワークは、しばしば人間のトレーダーよりも精度の高い予測をおこなうことができます。この最先端のテクノロジーを使って、利益を最大化し、よりスマートな投資判断をおこなう方法をご紹介します。
preview
ニューラルネットワークが簡単に(第38回):不一致による自己監視型探索

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

強化学習における重要な問題のひとつは、環境探索です。前回までに、「内因性好奇心」に基づく研究方法について見てきました。今日は別のアルゴリズムを見てみましょう。不一致による探求です。
preview
MQL5のインタラクティブGUIで取引チャートを改善する(前編):移動可能なGUI (I)

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

MQL5で動かせるGUIを作成するための包括的なガイドで、取引戦略やユーティリティでのダイナミックなデータ表現の力を解き放ちましょう。チャートイベントのコアコンセプトに触れ、同じチャート上にシンプルで複数の移動可能なGUIをデザインし、実装する方法を学びます。この記事では、GUIに要素を追加し、機能性と美しさを向上させるプロセスについても説明します。
preview
ニューラルネットワークが簡単に(第58回):Decision Transformer (DT)

ニューラルネットワークが簡単に(第58回):Decision Transformer (DT)

強化学習の手法を引き続き検討します。この記事では、一連の行動を構築するパラダイムでエージェントの方策を考慮する、少し異なるアルゴリズムに焦点を当てます。
preview
ニューラルネットワークの実験(第4回):テンプレート

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

この記事では、実験と非標準的な方法を使用して収益性の高い取引システムを開発し、ニューラルネットワークがトレーダーに役立つかどうかを確認します。ニューラルネットワークを取引に活用するための自給自足ツールとしてMetaTrader 5を使用します。簡単に説明します。
DoEasyライブラリの時系列(第48部): 単一サブウィンドウでの単一バッファ複数銘柄・複数期間指標
DoEasyライブラリの時系列(第48部): 単一サブウィンドウでの単一バッファ複数銘柄・複数期間指標

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

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

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

今回は、この指標のロジックそのものに影響を与えるCCIの追加変更について説明します。さらに、これをメインチャートウィンドウで確認できるようになります。
DoEasyライブラリのグラフィックス(第84部): 抽象標準グラフィカルオブジェクトの子孫クラス
DoEasyライブラリのグラフィックス(第84部): 抽象標準グラフィカルオブジェクトの子孫クラス

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

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

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

機械学習モデルの表現に使用されるデータ形式は、その有効性に決定的な役割を果たします。近年、深層学習モデルを扱うために特別に設計された新しい型のデータがいくつか登場しています。この記事では、現代のモデルで広く採用されるようになった2つの新しいデータ形式に焦点を当てます。
preview
ニューラルネットワークが簡単に(第16部):クラスタリングの実用化

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

前回は、データのクラスタリングをおこなうためのクラスを作成しました。今回は、得られた結果を実際の取引に応用するためのバリエーションを紹介したいと思います。
preview
MQL5でのARIMAトレーニングアルゴリズムの実装

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

この記事では、関数最小化のPowell法を使用して、ボックス・ジェンキンス法の自己回帰和分移動平均モデルを適用するアルゴリズムを実装します。ボックスとジェンキンスは、ほとんどの時系列は2つのフレームワークの一方または両方でモデル化できると述べました。
DoEasyライブラリの時系列(第44部): 指標バッファオブジェクトのコレクションクラス
DoEasyライブラリの時系列(第44部): 指標バッファオブジェクトのコレクションクラス

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

この記事では、指標バッファオブジェクトのコレクションクラスの作成について説明しています。指標用の任意の数のバッファを作成して操作する機能をテストします(MQL指標で作成できるバッファの最大数は512です)。
DoEasyライブラリのグラフィックス(第91部): 標準グラフィカルオブジェクトのイベントオブジェクト名変更履歴
DoEasyライブラリのグラフィックス(第91部): 標準グラフィカルオブジェクトのイベントオブジェクト名変更履歴

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

本稿では、ライブラリベースのプログラムからグラフィカルオブジェクトイベントを制御するための基本的な機能を洗練します。例として、「オブジェクト名」プロパティを使用してグラフィカルオブジェクトの変更履歴を保存する機能の実装から始めます。
preview
自動で動くEAを作る(第14回):自動化(VI)

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

今回は、この連載で得た知識をすべて実践してみましょう。最終的には、100%自動化された機能的なシステムを構築します。しかしその前に、まだ最後の詳細を学ばなければなりません。
preview
ニューラルネットワークが簡単に(第63回):Unsupervised Pretraining for Decision Transformer (PDT)

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

引き続き、Decision Transformer法のファミリーについて説明します。前回の記事から、これらの手法のアーキテクチャの基礎となるTransformerの訓練はかなり複雑なタスクであり、訓練のために大規模なラベル付きデータセットが必要であることにすでに気づきました。この記事では、ラベル付けされていない軌跡をモデルの予備訓練に使用するアルゴリズムについて見ていきます。
preview
DoEasyライブラリの時系列(第55部): 指標コレクションクラス

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

本稿では、指標オブジェクトクラスとそのコレクションの開発を続けます。指標オブジェクトごとに、その説明と正しいコレクションクラスを作成して、エラーなしのストレージを作成し、コレクションリストから指標オブジェクトを取得します。
preview
パターン検索への総当たり攻撃アプローチ(第VI部):循環最適化

パターン検索への総当たり攻撃アプローチ(第VI部):循環最適化

この記事では、MetaTrader 4および5の取引の自動化チェーン全体を完成するだけでなく、より興味深いことができるようになった改善の最初の部分を示します。今後、このソリューションにより、EAの作成と最適化の両方を完全に自動化し、効果的な取引構成を見つけるための人件費を最小限に抑えることができます。
preview
外国為替市場の季節性から利益を得る

外国為替市場の季節性から利益を得る

例えば、冬になると新鮮な野菜の値段が上がったり、霜が降りると燃料の値段が上がったりすることはよく知られていますが、同じようなパターンが外国為替市場にもあることを知っている人は少ないです。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第5回): ケルトナーチャネルのボリンジャーバンド—指標シグナル

MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第5回): ケルトナーチャネルのボリンジャーバンド—指標シグナル

この記事の多通貨エキスパートアドバイザー(EA)は、1つの銘柄チャートからのみ複数の銘柄ペアの取引(注文を出す、注文を決済する、トレーリングストップロスとトレーリングプロフィットなどで注文を管理するなど)ができるEAまたは自動売買ロボットです。この記事では、2つの指標、この場合はケルトナーチャネルのボリンジャーバンド®からのシグナルを使用します。
preview
DoEasy - コントロール(第8部):カテゴリ(GroupBoxおよびCheckBoxのコントロール)による基本WinFormsオブジェクト

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

この記事では、「GroupBox」および「CheckBox」WinFormsオブジェクトの作成、およびWinFormsオブジェクトカテゴリの基本オブジェクトの開発について検討します。作成されたすべてのオブジェクトはまだ静的で、マウスと対話することはできません。
ユニバーサル Expert Advisor におけるトレードシグナルの送信
ユニバーサル Expert Advisor におけるトレードシグナルの送信

ユニバーサル Expert Advisor におけるトレードシグナルの送信

本稿では、ポジションおよびオーダーの制御ユニット内にユニバーサルな Expert Advisor のシグナルプログラムユニットからトレードシグナルを送信する異なる方法について説明します。また連続的な並列インターフェースについて詳しく説明します。
preview
DoEasyライブラリの時系列(第54部): 抽象基本指標の子孫クラス

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

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

ゲータ―オシレーター(Gator Oscillator)による取引システムの設計方法を学ぶ

人気のあるテクニカル指標に基づいて取引システムを設計する方法を学ぶ本連載の新しい記事では、ゲータ―オシレーターテクニカル指標を取り上げ、簡単な戦略を通じて取引システムを作成する方法について学びます。
preview
ニューラルネットワークが簡単に(第53回):報酬の分解

ニューラルネットワークが簡単に(第53回):報酬の分解

報酬関数を正しく選択することの重要性については、すでに何度かお話ししました。報酬関数は、個々の行動に報酬またはペナルティを追加することでエージェントの望ましい行動を刺激するために使用されます。しかし、エージェントによる信号の解読については未解決のままです。この記事では、訓練されたエージェントに個々のシグナルを送信するという観点からの報酬分解について説明します。
preview
一からの取引エキスパートアドバイザーの開発(第20部):新規受注システム(III)

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

新しい受注システムの導入を継続します。このようなシステムを作るには、MQL5を使いこなすだけでなく、MetaTrader 5プラットフォームが実際にどのように機能し、どのようなリソースを提供しているかを理解することが必要です。
DoEasyライブラリでの価格(第63部): 板情報とその抽象リクエストクラス
DoEasyライブラリでの価格(第63部): 板情報とその抽象リクエストクラス

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

本稿では、板情報を使用するための機能の開発を開始します。また、板情報抽象注文オブジェクトとその子孫のクラスも作成します。
preview
データサイエンスと機械学習(第09回):K近傍法(KNN)

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

これは、訓練データセットから学習しない遅延アルゴリズムです。代わりにデータセットを保存し、新しいサンプルが与えられるとすぐに動作します。シンプルでありながら、実世界でさまざまなケースに応用されています。
preview
MQL5:あなたもこの言語の達人になれます

MQL5:あなたもこの言語の達人になれます

この記事は自己インタビューのようなもので、私がどのようにMQL5言語への第一歩を踏み出したかをお話しします。どうすれば優れたMQL5プログラマーになれるかをお見せして、この偉業を達成するために必要なベースについて説明します。唯一の前提条件は学ぶ意欲です。
preview
MQL5の圏論(第1回)

MQL5の圏論(第1回)

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

DoEasyライブラリのグラフィックス(第100部):拡張された標準グラフィックオブジェクトの処理を改善する

現在の記事では、拡張(および標準)グラフィックオブジェクトとキャンバス上のフォームオブジェクトの同時処理における明らかな欠陥を排除し、前の記事で実行されたテスト中に検出されたエラーを修正します。ライブラリの説明のこのセクションは本稿で締めくくります。
preview
ニューラルネットワークが簡単に(第46回):目標条件付き強化学習(GCRL)

ニューラルネットワークが簡単に(第46回):目標条件付き強化学習(GCRL)

今回は、もうひとつの強化学習アプローチを見てみましょう。これはGCRL(goal-conditioned reinforcement learning、目標条件付き強化学習)と呼ばれます。このアプローチでは、エージェントは特定のシナリオでさまざまな目標を達成するように訓練されます。