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

icon

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

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

新しい記事を追加
最新 | ベスト
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回):不一致による自己監視型探索

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

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

関手を題材にしたシリーズの最終回となる今回は、圏としてのモノイドを再考します。この連載ですでに紹介したモノイドは、多層パーセプトロンとともに、ポジションサイジングの補助に使われます。
preview
さまざまな移動平均タイプをテストして、それらがどの程度洞察力に富むかを確認する

さまざまな移動平均タイプをテストして、それらがどの程度洞察力に富むかを確認する

多くのトレーダーにとって移動平均指標が重要であることは周知の事実です。取引に役立つ移動平均タイプは他にもあります。この記事ではこれらのタイプを特定し、それぞれのタイプと最も人気のある単純移動平均タイプを簡単に比較して、どれが最良の結果を示すことができるかを確認します。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第1回):ADXとパラボリックSARの組み合わせによる指標シグナル

MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第1回):ADXとパラボリックSARの組み合わせによる指標シグナル

この記事で紹介する多通貨エキスパートアドバイザー(EA)は、1つの銘柄チャートから複数の銘柄ペアの取引(新規注文、決済注文、注文の管理など)を行うことができるEA(自動売買ロボット)です。
preview
MQL5のインタラクティブGUIで取引チャートを改善する(第3回):シンプルで移動可能な取引GUI

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

本連載第3回では、MQL5の移動可能な取引ダッシュボードへのインタラクティブGUIの統合について紹介します。この記事は、第1回と第2回で設定された基礎の上に構築され、静的な取引ダッシュボードを動的で移動可能なものに変えるよう読者を導きます。
preview
RSIディープスリームーブ取引手法

RSIディープスリームーブ取引手法

MetaTrader 5でRSIディープスリームーブ取引テクニックを紹介します。この記事は、株式、通貨、商品などの証券の強さと勢いを測定するために使用されるテクニカル分析指標であるRSIに基づくいくつかの取引テクニックを紹介する新しい一連の研究に基づいています。
preview
ニューラルネットワークが簡単に(第37回):スパースアテンション(Sparse Attention)

ニューラルネットワークが簡単に(第37回):スパースアテンション(Sparse Attention)

前回は、アテンションメカニズムをアーキテクチャーに用いたリレーショナルモデルについて説明しました。これらのモデルの特徴の1つは、コンピューティングリソースを集中的に利用することです。今回は、セルフアテンションブロック内部の演算回数を減らす仕組みの1つについて考えてみたいと思います。これにより、モデルの一般的なパフォーマンスが向上します。
preview
MQL5のプログラム構造について学ぶ必要があるすべて

MQL5のプログラム構造について学ぶ必要があるすべて

どのようなプログラミング言語でも、プログラムには特定の構造があります。この記事では、MetaTrader 5で実行可能なMQL5取引システムや取引ツールを作成する際に非常に役立つMQL5プログラム構造のすべての部分のプログラミングの基礎を理解することにより、MQL5プログラム構造の重要な部分を学びます。
preview
MQL4およびMQL5開発のフレームワーク内のOpenAI ChatGPT機能

MQL4およびMQL5開発のフレームワーク内のOpenAI ChatGPT機能

この記事では、エキスパートアドバイザー(EA)、指標、スクリプトの開発にかかる時間と労力を削減するという観点から、OpenAI ChatGPTの機能を理解するために、ChatGPTをいじっていきます。このテクノロジーについて簡単に説明し、MQL4およびMQL5でのプログラミングにこのテクノロジーを正しく使用する方法を説明します。
preview
改善された同事ローソク足パターン認識指標に基づく取引戦略

改善された同事ローソク足パターン認識指標に基づく取引戦略

メタバーベースの指標は、従来のものよりも多くのローソク足を検出しました。これが自動売買に本当に役立つのか、検証してみましょう。
preview
古いトレンドトレーディング戦略の再検討:2つのストキャスティクス、MAとフィボナッチ

古いトレンドトレーディング戦略の再検討:2つのストキャスティクス、MAとフィボナッチ

古い取引戦略。この記事では、純粋にテクニカルな方法でトレンドをフォローするための戦略の1つを紹介します。これは純粋なテクニカル戦略で、シグナルとターゲットを出すためにいくつかのテクニカル指標とツールを使用します。戦略の構成要素は次の通りです。14期間のストキャスティクス、5期間のストキャスティクス、200期間の移動平均線、フィボナッチ予測ツール(目標設定用)。
preview
MQL5でのグラフィカルパネルの作成を簡単に

MQL5でのグラフィカルパネルの作成を簡単に

この記事では、取引において最も価値があり役立つツールの1つであるグラフィカルパネルを作成する必要がある人に、シンプルで簡単なガイドを提供します。グラフィカルパネルは、取引に関するタスクを簡素化および容易にして、時間を節約し、気を散らすことなく取引プロセスそのものに集中するのに役立ちます。
preview
平均足と移動平均を組み合わせると良好なシグナルを提供できるのか

平均足と移動平均を組み合わせると良好なシグナルを提供できるのか

戦略を組み合わせることで、より良い機会が得られる可能性があります。指標やパターンを組み合わせたり、さらに良いことに指標とパターンを組み合わせたりして、追加の確認要素を得ることができます。移動平均はトレンドを確認し、それに乗るのに役立ちます。これらは、そのシンプルさと、分析に付加価値をもたらす実証済みの実績により、最もよく知られているテクニカル指標です。
preview
アプリケーションを使用してMQL5の関数を理解する

アプリケーションを使用してMQL5の関数を理解する

関数はどのプログラミング言語においても重要なものです。関数は、開発者が同じことを繰り返さないことを意味するDRY (Do not Repeat Yourself)の概念を適用するのに役立つなどの多くのメリットを提供します。この記事では、関数に関する詳細情報と、物事を複雑にすることなく取引システムを強化するために、あらゆるシステムで使用または呼び出しできる簡単なアプリケーションを作成して、MQL5で独自の関数を作成する方法について説明します。
preview
MQL5のインタラクティブGUIで取引チャートを改善する(第2回):移動可能なGUI (II)

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

MQL5で移動可能なGUIを作成するための詳細なガイドで、取引戦略やユーティリティでの動的なデータ表現の可能性を引き出しましょう。オブジェクト指向プログラミングの基本原理を理解し、同じチャート上に単一または複数の移動可能なGUIを簡単かつ効率的に設計実装する方法を発見してください。
preview
MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ

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

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

MQL5オブジェクト指向プログラミング(OOP)について

開発者として、私たちは、特に異なる動作をするオブジェクトがある場合に、コードを重複せずに再利用可能で柔軟なソフトウェアを作成し開発する方法を学ぶ必要があります。これは、オブジェクト指向プログラミングのテクニックと原則を使うことでスムーズにおこなうことができます。この記事では、MQL5オブジェクト指向プログラミングの基本を紹介し、この重要なトピックの原則とプラクティスをソフトウェアでどのように使用できるかを説明します。