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

icon

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

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

新しい記事を追加
最新 | ベスト
preview
リプレイシステムの開発(第31回):エキスパートアドバイザープロジェクト - C_Mouseクラス(V)

リプレイシステムの開発(第31回):エキスパートアドバイザープロジェクト - C_Mouseクラス(V)

リプレイ/シミュレーションの終了まで残り時間を表示できるタイマーが必要です。これは一見、シンプルで迅速な解決策に見えるかもしれません。多くの人は、取引サーバーが使用しているのと同じシステムを適応して使用しようとするだけです。しかし、この解決策を考えるとき、多くの人が考慮しないことがあります。リプレイでは、そしてシミュレーションではなおさら、時計の動きは異なるということです。こうしたことが、このようなシステムの構築を複雑にしています。
preview
リプレイシステムの開発(第30回):エキスパートアドバイザープロジェクト - C_Mouseクラス(IV)

リプレイシステムの開発(第30回):エキスパートアドバイザープロジェクト - C_Mouseクラス(IV)

今日は、プログラマーとしての職業生活のさまざまな段階で非常に役立つテクニックを学びます。多くの場合、制限されているのはプラットフォーム自体ではなく、制限について話す人の知識です。この記事では、常識と創造性があれば、クレイジーなプログラムなどを作成することなく、MetaTrader 5 プラットフォームをより面白くて多用途にし、シンプルでありながら安全で信頼性の高いコードを作成できることを説明します。創造力を駆使して、ソース コードを1行も削除したり追加したりすることなく、既存のコードを変更します。
preview
リプレイシステムの開発(第29回):エキスパートアドバイザープロジェクト - C_Mouseクラス(III)

リプレイシステムの開発(第29回):エキスパートアドバイザープロジェクト - C_Mouseクラス(III)

C_Mouseクラスを改良した後は、分析のためのまったく新しいフレームワークを作るためのクラスを作ることに集中しましょう。この新しいクラスを作るのに、継承やポリモーフィズムは使用しません。その代わりに、価格線に新しいオブジェクトを追加します。それがこの記事でやろうとしていることです。次回は、分析結果を変更する方法について見るつもりです。これらはすべて、C_Mouseクラスのコードを変更することなくおこなわれます。実際には、継承やポリモーフィズムを使用すれば、もっと簡単に実現できるでしょう。しかし、同じ結果を得る方法は他にもあります。
preview
時系列マイニングのためのデータラベル(第4回):ラベルデータを使用した解釈可能性の分解

時系列マイニングのためのデータラベル(第4回):ラベルデータを使用した解釈可能性の分解

この連載では、ほとんどの人工知能モデルに適合するデータを作成できる、時系列のラベル付け方法をいくつかご紹介します。ニーズに応じて的を絞ったデータのラベル付けをおこなうことで、訓練済みの人工知能モデルをより期待通りの設計に近づけ、モデルの精度を向上させ、さらにはモデルの質的飛躍を助けることができます。
preview
知っておくべきMQL5ウィザードのテクニック(第09回):K平均法とフラクタル波の組み合わせ

知っておくべきMQL5ウィザードのテクニック(第09回):K平均法とフラクタル波の組み合わせ

K平均法では、まず無作為に生成されたクラスタ重心を使用するデータセットのマクロビューに焦点を当てたプロセスとしてデータポイントを集団化するアプローチを採用し、その後ズームインしてこれらの重心を調整してデータセットを正確に表現します。これを見て、その使用例をいくつか活用していきます。
preview
ソフトウェア開発とMQL5におけるデザインパターン(第4回):振る舞いパターン2

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

デザインパターンには、生成デザインパターン、構造デザインパターン、振る舞いデザインパターンの3タイプがあることを説明しました。コードをクリーンにしながらオブジェクト間の相互作用の方法を設定するのに役立つ、残りの振る舞いタイプのパターンの説明を完成させます。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第5回): ケルトナーチャネルのボリンジャーバンド—指標シグナル

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

この記事の多通貨エキスパートアドバイザー(EA)は、1つの銘柄チャートからのみ複数の銘柄ペアの取引(注文を出す、注文を決済する、トレーリングストップロスとトレーリングプロフィットなどで注文を管理するなど)ができるEAまたは自動売買ロボットです。この記事では、2つの指標、この場合はケルトナーチャネルのボリンジャーバンド®からのシグナルを使用します。
preview
MQL5における修正グリッドヘッジEA(第1部):シンプルなヘッジEAを作る

MQL5における修正グリッドヘッジEA(第1部):シンプルなヘッジEAを作る

古典的なグリッド戦略と古典的なヘッジ戦略を混合した、より高度なグリッドヘッジEAのベースとして、シンプルなヘッジEAを作成する予定です。この記事が終わるころには、簡単なヘッジ戦略の作り方がわかり、この戦略が本当に100%儲かるかどうかについての人々の意見も知ることができるでしょう。
preview
プログラミングパラダイムについて(第1部):プライスアクションエキスパートアドバイザー開発の手続き型アプローチ

プログラミングパラダイムについて(第1部):プライスアクションエキスパートアドバイザー開発の手続き型アプローチ

プログラミングパラダイムとMQL5コードへの応用について学びます。この記事では、手続き型プログラミングの具体的な方法について、実践的な例を通して説明します。EMA指標とローソク足の価格データを使って、プライスアクションエキスパートアドバイザー(EA)を開発する方法を学びます。さらに、この記事では関数型プログラミングのパラダイムについても紹介しています。
preview
ソフトウェア開発とMQL5におけるデザインパターン(第3回):振る舞いパターン1

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

デザインパターンの新しい記事として、その1タイプである振る舞いパターンを取り上げ、作成されたオブジェクト間の通信を効果的に構築する方法について説明します。これらの振る舞いパターンを完成させることで、再利用可能かつ拡張可能で、テストされたソフトウェアをどのように作成し、構築できるかを理解できるようになります。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第4回):三角移動平均 — 指標シグナル

MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第4回):三角移動平均 — 指標シグナル

この記事の多通貨エキスパートアドバイザー(EA)は、1つの銘柄チャートからのみ複数の銘柄ペアの取引(注文を出す、注文を決済する、トレーリングストップロスとトレーリングプロフィットなどで注文を管理するなど)ができるEAまたは自動売買ロボットです。今回は、多時間枠または単一時間枠の「三角移動平均」という1つの指標のみを使用します。
preview
MQL5入門(第1部):アルゴリズム取引入門ガイド

MQL5入門(第1部):アルゴリズム取引入門ガイド

この初心者向けMQL5プログラミングガイドで、魅力的なアルゴリズム取引の世界へ飛び込みましょう。MetaTrader 5を動かす言語であるMQL5のエッセンスを発見し、自動売買の世界を解明します。基本を理解することからコーディングの第一歩を踏み出すことまで、この記事はプログラミングの知識がなくてもアルゴリズム取引の可能性を解き放つ鍵となります。MQL5のエキサイティングな宇宙で、一緒に、シンプルさと洗練が出会う旅に出ましょう。
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部):新鮮なアングル

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