MQL5言語での自動売買ロボットのプログラミングと使用に関する記事

icon

MetaTraderプラットフォームのために作られたExpert Advisorsは、開発者により導入された様々な機能を実行します。自動売買ロボットは1日24時間、通貨をトラックし、取引をコピーし、レポートを送信し、ニュースを分析し、 特別に作成されたグラフィカルインターフェイスを提供することができます。

記事はプログラミングのテクニック、データ処理のための数学的なアイデア、自動売買ロボットの開発と発注についてのヒントを記載します。

新しい記事を追加
最新 | ベスト
preview
ソフトウェア開発とMQL5におけるデザインパターン(第2回):構造パターン

ソフトウェア開発とMQL5におけるデザインパターン(第2回):構造パターン

この記事では、MQL5だけでなく他のプログラミング言語でも拡張可能で信頼性の高いアプリケーションを開発するために、デザインパターンのトピックが開発者としてどれほど重要であるかを学んだ後、当トピックについての記事を続けます。デザインパターンのもう1つのタイプである構造デザインパターンについて学び、クラスにあるものを使ってより大きな構造を形成することによってシステムをデザインする方法を学びます。
preview
MQL5における組合せ対称交差検証法

MQL5における組合せ対称交差検証法

この記事では、ストラテジーテスターの低速&完全アルゴリズムを使用してストラテジーを最適化した後に過剰学習が発生する可能性の程度を測定するために、純粋なMQL5における組合せ対称交差検証法の実装を紹介します。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第3回):銘柄名のプレフィックスおよび/またはサフィックスと取引時間セッションを追加しました

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

数人のトレーダー仲間から、プレフィックスやサフィックスを持つ銘柄名を持つブローカーでこの多通貨EAを使用する方法、およびこの多通貨EAで取引タイムゾーンや取引タイムセッションを実装する方法についてメールやコメントをいただきました。
preview
ソフトウェア開発とMQL5におけるデザインパターン(第1回):生成パターン

ソフトウェア開発とMQL5におけるデザインパターン(第1回):生成パターン

繰り返し発生する問題の多くを解決するためには、使用できる方法があります。これらの方法の使い方を理解すれば、ソフトウェアを効果的に作成し、DRY (Do not Repeat Yourself)の概念を適用するのに非常に役立ちます。この文脈では、デザインパターンのトピックが非常に役に立ちます。なぜなら、デザインパターンは、よく説明され、繰り返される問題に対する解決策を提供するパターンだからです。
preview
ニューラルネットワークが簡単に(第58回):Decision Transformer (DT)

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

強化学習の手法を引き続き検討します。この記事では、一連の行動を構築するパラダイムでエージェントの方策を考慮する、少し異なるアルゴリズムに焦点を当てます。
preview
ペアトレード

ペアトレード

本稿では、ペアトレードについて、その原理は何か、実用化の見込みはあるのかを考えてみたいと思います。また、ペアトレード戦略にも挑戦します。
preview
ニューラルネットワークが簡単に(第57回):Stochastic Marginal Actor-Critic (SMAC)

ニューラルネットワークが簡単に(第57回):Stochastic Marginal Actor-Critic (SMAC)

今回は、かなり新しいStochastic Marginal Actor-Critic (SMAC)アルゴリズムを検討します。このアルゴリズムは、エントロピー最大化の枠組みの中で潜在変数方策を構築することができます。
preview
時系列マイニング用データラベル(第3回):ラベルデータの利用例

時系列マイニング用データラベル(第3回):ラベルデータの利用例

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

独自のLLMをEAに統合する(第2部):環境展開例

今日の人工知能の急速な発展に伴い、言語モデル(LLM)は人工知能の重要な部分となっています。私たちは、強力なLLMをアルゴリズム取引に統合する方法を考える必要があります。ほとんどの人にとって、これらの強力なモデルをニーズに応じて微調整し、ローカルに展開して、アルゴリズム取引に適用することは困難です。本連載では、この目標を達成するために段階的なアプローチをとっていきます。
preview
独自のLLMをEAに統合する(第1部):ハードウェアと環境の導入

独自のLLMをEAに統合する(第1部):ハードウェアと環境の導入

今日の人工知能の急速な発展に伴い、言語モデル(LLM)は人工知能の重要な部分となっています。私たちは、強力なLLMをアルゴリズム取引に統合する方法を考える必要があります。ほとんどの人にとって、これらの強力なモデルをニーズに応じて微調整し、ローカルに展開して、アルゴリズム取引に適用することは困難です。本連載では、この目標を達成するために段階的なアプローチをとっていきます。
preview
知っておくべきMQL5ウィザードのテクニック(第07回):樹状図

知っておくべきMQL5ウィザードのテクニック(第07回):樹状図

分析や予測を目的としたデータの分類は、機械学習の中でも非常に多様な分野であり、数多くのアプローチや手法があります。この作品では、そのようなアプローチのひとつである「凝集型階層分類」を取り上げます。
preview
MQL5で日付と時刻を扱う方法を学ぶ

MQL5で日付と時刻を扱う方法を学ぶ

日付と時刻の取り扱いという、新しい重要なトピックについての新しい記事です。トレーダーとして、あるいは取引ツールのプログラマーとして、日付と時間という2つの側面をいかにうまく、効果的に扱うかを理解することは非常に重要です。そこで今回は、効果的な取引ツールを円滑かつシンプルに作成するために、日付と時刻をどのように扱えばよいのか、私ができる範囲で重要な情報をお伝えします。
preview
MQL5における代替リスクリターン指標

MQL5における代替リスクリターン指標

本稿では、シャープレシオの代替指標とされるいくつかのリスクリターン指標の実装を紹介し、その特徴を分析するために仮想資本曲線を検証します。
preview
MQL5の圏論(第22回):移動平均の別の見方

MQL5の圏論(第22回):移動平均の別の見方

この記事では、最も一般的で、おそらく最も理解しやすい指標を1つだけ取り上げて、連載で扱った概念の説明の簡略化を試みます。移動平均です。そうすることで、垂直的自然変換の意義と可能な応用について考えます。
preview
ニューラルネットワークが簡単に(第56回):核型ノルムを研究の推進力に

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

強化学習における環境の研究は喫緊の課題です。いくつかのアプローチについてすでに見てきました。この記事では、核型ノルムの最大化に基づくもう一つの方法について見てみましょう。これにより、エージェントは新規性と多様性の高い環境状態を特定することができます。
preview
ニューラルネットワークが簡単に(第55回):対照的内発制御(Contrastive intrinsic control、CIC)

ニューラルネットワークが簡単に(第55回):対照的内発制御(Contrastive intrinsic control、CIC)

対照訓練は、教師なしで表現を訓練する方法です。その目標は、データセットの類似点と相違点を強調するためにモデルを訓練することです。この記事では、対照訓練アプローチを使用してさまざまなActorスキルを探究する方法について説明します。
preview
ニューラルネットワークが簡単に(第54回):ランダムエンコーダを使った効率的な研究(RE3)

ニューラルネットワークが簡単に(第54回):ランダムエンコーダを使った効率的な研究(RE3)

強化学習手法を検討するときは常に、環境を効率的に探索するという問題に直面します。この問題を解決すると、多くの場合、アルゴリズムが複雑になり、追加モデルの訓練が必要になります。この記事では、この問題を解決するための別のアプローチを見ていきます。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第2回):指標シグナル:多時間枠放物線SAR指標

MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第2回):指標シグナル:多時間枠放物線SAR指標

この記事の多通貨エキスパートアドバイザー(EA)は、1つの銘柄チャートからのみ複数の銘柄ペアの取引(注文を出す、注文を決済する、トレーリングストップロスとトレーリングプロフィットなどで注文を管理するなど)ができるEAまたは自動売買ロボットです。今回は、PERIOD_M15からPERIOD_D1までの多時間枠でパラボリックSARまたはiSARという1つの指標のみを使用します。
preview
ニューラルネットワークが簡単に(第53回):報酬の分解

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

報酬関数を正しく選択することの重要性については、すでに何度かお話ししました。報酬関数は、個々の行動に報酬またはペナルティを追加することでエージェントの望ましい行動を刺激するために使用されます。しかし、エージェントによる信号の解読については未解決のままです。この記事では、訓練されたエージェントに個々のシグナルを送信するという観点からの報酬分解について説明します。
preview
ニューラルネットワークが簡単に(第52回):楽観論と分布補正の研究

ニューラルネットワークが簡単に(第52回):楽観論と分布補正の研究

経験再現バッファに基づいてモデルが訓練されるにつれて、現在のActor方策は保存されている例からどんどん離れていき、モデル全体としての訓練効率が低下します。今回は、強化学習アルゴリズムにおけるサンプルの利用効率を向上させるアルゴリズムについて見ていきます。
preview
MQL5での発注を理解する

MQL5での発注を理解する

取引システムを構築する際には、効果的に処理しなければならない作業があります。この作業は、注文の発注、または作成された取引システムに注文を自動的に処理させることです。これはあらゆる取引システムにおいて極めて重要だからです。この記事では、発注が効果的な取引システムを作成する作業のために理解する必要があるほとんどのトピックについて説明します。
preview
エキスパートアドバイザーのQ値の開発

エキスパートアドバイザーのQ値の開発

この記事では、エキスパートアドバイザー(EA)がストラテジーテスターで表示できる品質スコアを開発する方法を見ていきます。Van TharpとSunny Harrisという2つの有名な計算方法を見てみましょう。
preview
MQL5の圏論(第20回):セルフアテンションとTransformerへの回り道

MQL5の圏論(第20回):セルフアテンションとTransformerへの回り道

ちょっと寄り道して、chatGPTのアルゴリズムの一部について考えてみたいとおもいます。自然変換から借用した類似点や概念はあるのでしょうか。シグナルクラス形式のコードを用いて、これらの疑問やその他の質問に楽しく答えようと思います。
preview
時系列マイニングのためのデータラベル(第2回):Pythonを使ってトレンドマーカー付きデータセットを作成する

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

この連載では、ほとんどの人工知能モデルに適合するデータを作成できる、いくつかの時系列のラベル付け方法を紹介します。ニーズに応じて的を絞ったデータのラベル付けをおこなうことで、訓練済みの人工知能モデルをより期待通りの設計に近づけ、モデルの精度を向上させ、さらにはモデルの質的飛躍を助けることができます。
preview
時系列マイニングのためのデータラベル(第1回):EA操作チャートでトレンドマーカー付きデータセットを作成する

時系列マイニングのためのデータラベル(第1回):EA操作チャートでトレンドマーカー付きデータセットを作成する

この連載では、ほとんどの人工知能モデルに適合するデータを作成できる、いくつかの時系列のラベル付け方法を紹介します。ニーズに応じて的を絞ったデータのラベル付けをおこなうことで、訓練済みの人工知能モデルをより期待通りの設計に近づけ、モデルの精度を向上させ、さらにはモデルの質的飛躍を助けることができます。
preview
ニューラルネットワークが簡単に(第51回):Behavior-Guided Actor-Critic (BAC)

ニューラルネットワークが簡単に(第51回):Behavior-Guided Actor-Critic (BAC)

最後の2つの記事では、エントロピー正則化を報酬関数に組み込んだSoft Actor-Criticアルゴリズムについて検討しました。このアプローチは環境探索とモデル活用のバランスをとりますが、適用できるのは確率モデルのみです。今回の記事では、確率モデルと確定モデルの両方に適用できる代替アプローチを提案します。
preview
ニューラルネットワークが簡単に(第50回):Soft Actor-Critic(モデルの最適化)

ニューラルネットワークが簡単に(第50回):Soft Actor-Critic(モデルの最適化)

前回の記事では、Soft Actor-Criticアルゴリズムを実装しましたが、有益なモデルを訓練することはできませんでした。今回は、先に作成したモデルを最適化し、望ましい結果を得ます。
preview
パターン検索への総当たり攻撃アプローチ(第V部):新鮮なアングル

パターン検索への総当たり攻撃アプローチ(第V部):新鮮なアングル

この記事では、私が長い時間をかけてたどり着いた、アルゴリズム取引に対するまったく異なるアプローチを紹介します。もちろん、これはすべて私の総当たり攻撃プログラムに関係しています。これには、複数の問題を同時に解決できるように多くの変更が加えられています。とはいえ、この記事はより一般的で可能な限りシンプルなものであるため、総当たり攻撃について何も知らない読者にも適しています。
preview
ニューラルネットワークが簡単に(第49回):Soft Actor-Critic

ニューラルネットワークが簡単に(第49回):Soft Actor-Critic

連続行動空間の問題を解決するための強化学習アルゴリズムについての議論を続けます。この記事では、Soft Actor-Critic (SAC)アルゴリズムについて説明します。SACの主な利点は、期待される報酬を最大化するだけでなく、行動のエントロピー(多様性)を最大化する最適な方策を見つけられることです。
preview
ニューラルネットワークが簡単に(第48回):Q関数値の過大評価を減らす方法

ニューラルネットワークが簡単に(第48回):Q関数値の過大評価を減らす方法

前回は、連続的な行動空間でモデルを学習できるDDPG法を紹介しました。しかし、他のQ学習法と同様、DDPGはQ関数値を過大評価しやすくなります。この問題によって、しばしば最適でない戦略でエージェントを訓練することになります。この記事では、前述の問題を克服するためのいくつかのアプローチを見ていきます。
preview
ニューラルネットワークが簡単に(第47回):連続行動空間

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

この記事では、エージェントのタスクの範囲を拡大します。訓練の過程には、どのような取引戦略にも不可欠な資金管理とリスク管理の側面も含まれます。
preview
ニューラルネットワークが簡単に(第46回):目標条件付き強化学習(GCRL)

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

今回は、もうひとつの強化学習アプローチを見てみましょう。これはGCRL(goal-conditioned reinforcement learning、目標条件付き強化学習)と呼ばれます。このアプローチでは、エージェントは特定のシナリオでさまざまな目標を達成するように訓練されます。
preview
ニューラルネットワークが簡単に(第45回):状態探索スキルの訓練

ニューラルネットワークが簡単に(第45回):状態探索スキルの訓練

明示的な報酬関数なしに有用なスキルを訓練することは、階層的強化学習における主な課題の1つです。前回までに、この問題を解くための2つのアルゴリズムを紹介しましたが、環境調査の完全性についての疑問は残されています。この記事では、スキル訓練に対する異なるアプローチを示します。その使用は、システムの現在の状態に直接依存します。
preview
ニューラルネットワークが簡単に(第44回):ダイナミクスを意識したスキルの習得

ニューラルネットワークが簡単に(第44回):ダイナミクスを意識したスキルの習得

前回は、様々なスキルを学習するアルゴリズムを提供するDIAYN法を紹介しました。習得したスキルはさまざまな仕事に活用できます。しかし、そのようなスキルは予測不可能なこともあり、使いこなすのは難しくなります。この記事では、予測可能なスキルを学習するアルゴリズムについて見ていきます。
preview
ニューラルネットワークが簡単に(第43回):報酬関数なしでスキルを習得する

ニューラルネットワークが簡単に(第43回):報酬関数なしでスキルを習得する

強化学習の問題は、報酬関数を定義する必要性にあります。それは複雑であったり、形式化するのが難しかったりします。この問題に対処するため、明確な報酬関数を持たずにスキルを学習する、活動ベースや環境ベースのアプローチが研究されています。
preview
ニューラルネットワークが簡単に (第42回):先延ばしのモデル、理由と解決策

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

強化学習の文脈では、モデルの先延ばしにはいくつかの理由があります。この記事では、モデルの先延ばしの原因として考えられることと、それを克服するための方法について考察しています。
preview
ニューラルネットワークが簡単に(第41回):階層モデル

ニューラルネットワークが簡単に(第41回):階層モデル

この記事では、複雑な機械学習問題を解決するための効果的なアプローチを提供する階層的訓練モデルについて説明します。階層モデルはいくつかのレベルで構成され、それぞれがタスクの異なる側面を担当します。
preview
ニューラルネットワークが簡単に(第40回):大量のデータでGo-Exploreを使用する

ニューラルネットワークが簡単に(第40回):大量のデータでGo-Exploreを使用する

この記事では、長い訓練期間に対するGo-Exploreアルゴリズムの使用について説明します。訓練時間が長くなるにつれて、ランダムな行動選択戦略が有益なパスにつながらない可能性があるためです。
preview
ニューラルネットワークが簡単に(第39回):Go-Explore、探検への異なるアプローチ

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

強化学習モデルにおける環境の研究を続けます。この記事では、モデルの訓練段階で効果的に環境を探索することができる、もうひとつのアルゴリズム「Go-Explore」を見ていきます。
preview
ニューラルネットワークが簡単に(第38回):不一致による自己監視型探索

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

強化学習における重要な問題のひとつは、環境探索です。前回までに、「内因性好奇心」に基づく研究方法について見てきました。今日は別のアルゴリズムを見てみましょう。不一致による探求です。