MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
リプレイシステムの開発 - 市場シミュレーション(第15回):シミュレーターの誕生(V) - ランダムウォーク

リプレイシステムの開発 - 市場シミュレーション(第15回):シミュレーターの誕生(V) - ランダムウォーク

この記事では、私たちのシステムのシミュレーターの開発を完成させます。ここでの主な目的は、前回の記事で説明したアルゴリズムを設定することです。このアルゴリズムは、ランダムウォークの動きを作り出すことを目的としています。したがって、今日の資料を理解するためには、過去の記事の内容を理解する必要があります。シミュレーターの開発をフォローしていない方は、この一連の流れを最初から読まれることをお勧めします。さもないと、ここで説明されることがわからなくなるかもしれません。
preview
エキスパートアドバイザーのQ値の開発

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

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

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

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

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

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

MQL5の圏論(第19回):自然性の正方形の帰納法

自然性の正方形の帰納法を考えることで、自然変換について考察を続けます。MQL5ウィザードで組み立てられたエキスパートアドバイザー(EA)の多通貨の実装には若干の制約があるため、スクリプトでデータ分類能力を紹介しています。主な用途は、価格変動の分類とその予測です。
preview
時系列マイニングのためのデータラベル(第1回):EA操作チャートでトレンドマーカー付きデータセットを作成する

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

この連載では、ほとんどの人工知能モデルに適合するデータを作成できる、いくつかの時系列のラベル付け方法を紹介します。ニーズに応じて的を絞ったデータのラベル付けをおこなうことで、訓練済みの人工知能モデルをより期待通りの設計に近づけ、モデルの精度を向上させ、さらにはモデルの質的飛躍を助けることができます。
preview
取引トランザクション:リクエストとレスポンスの構造体、説明、ロギング

取引トランザクション:リクエストとレスポンスの構造体、説明、ロギング

この記事では、取引リクエストの構造体、すなわち、リクエストの作成、サーバーに送信する前の事前検証、取引リクエストに対するサーバーの応答、および取引トランザクションの構造体の取り扱いについて検討します。取引注文をサーバーに送信するためのシンプルで便利な関数を作成し、すべての議論された内容に基づいて、取引トランザクションを通知する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
MQL5における座標降下法を用いたエラスティックネット回帰

MQL5における座標降下法を用いたエラスティックネット回帰

この記事では、過学習を最小化すると同時に、有用な予測因子と予後予測力の低い予測因子を自動的に分離するエラスティックネット回帰の実用的な実装を探求します。
preview
リプレイシステムの開発 - 市場シミュレーション(第14回):シミュレーターの誕生(IV)

リプレイシステムの開発 - 市場シミュレーション(第14回):シミュレーターの誕生(IV)

この記事ではシミュレーターの開発段階を続けます。 今回は、ランダムウォークタイプの動きを効果的に作成する方法を見ていきます。このような動きには非常に興味をそそられます。資本市場で起こるすべてのことの基礎がそれによって形成されるためです。さらに、市場分析をおこなう上で基本となるいくつかの概念についても理解を深めていきます。
preview
リプレイシステムの開発 - 市場シミュレーション(第12回):シミュレーターの誕生(II)

リプレイシステムの開発 - 市場シミュレーション(第12回):シミュレーターの誕生(II)

シミュレーターの開発は、見た目よりもずっと面白いものです。事態はさらに面白くなってきているため、今日は、この方向にもう少し踏み込んでみましょう。
preview
リプレイシステムの開発 - 市場シミュレーション(第11回):シミュレーターの誕生(I)

リプレイシステムの開発 - 市場シミュレーション(第11回):シミュレーターの誕生(I)

バーを形成するデータを使うためには、リプレイをやめてシミュレーターの開発に着手しなければなりません。難易度が最も低い1分バーを使用します。
リプレイシステムの開発 - 市場シミュレーション(第10回):リプレイで実データのみを使用する
リプレイシステムの開発 - 市場シミュレーション(第10回):リプレイで実データのみを使用する

リプレイシステムの開発 - 市場シミュレーション(第10回):リプレイで実データのみを使用する

ここでは、リプレイシステムで、調整されているかどうかを気にすることなく、より信頼性の高いデータ(取引されたティック)を使用する方法を見ていきます。
preview
リプレイシステムの開発 - 市場シミュレーション(第9回):カスタムイベント

リプレイシステムの開発 - 市場シミュレーション(第9回):カスタムイベント

ここでは、カスタムイベントがどのようにトリガーされ、指標でどのようにリプレイ/シミュレーションサービスの状態がレポートされるかを見ていきます。
preview
リプレイシステムの開発 - 市場シミュレーション(第13回):シミュレーターの誕生(III)

リプレイシステムの開発 - 市場シミュレーション(第13回):シミュレーターの誕生(III)

ここでは、次回以降の仕事に関連するいくつかの要素を簡略化します。シミュレーターが生成するランダム性を視覚化する方法も説明しましょう。
preview
ニューラルネットワークが簡単に(第49回):Soft Actor-Critic

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

連続行動空間の問題を解決するための強化学習アルゴリズムについての議論を続けます。この記事では、Soft Actor-Critic (SAC)アルゴリズムについて説明します。SACの主な利点は、期待される報酬を最大化するだけでなく、行動のエントロピー(多様性)を最大化する最適な方策を見つけられることです。
preview
離散ハートレー変換

離散ハートレー変換

この記事では、スペクトル分析と信号処理の方法の1つである離散ハートレー変換について説明します。信号のフィルタリング、スペクトルの分析などが可能になります。DHTの能力は離散フーリエ変換の能力に劣りません。ただし、DFTとは異なり、DHTは実数のみを使用するため、実際の実装がより便利であり、その適用結果はより視覚的です。
preview
MQL5の構造体とデータ表示メソッド

MQL5の構造体とデータ表示メソッド

この記事では、MqlDateTime、MqlTick、MqlRates、MqlBookInfoの各構造体と、それらからデータを表示するメソッドについて見ていきます。構造体のすべてのフィールドを表示するためには、標準的なArrayPrint()関数があります。この関数では、配列に含まれるデータを便利な表形式で、扱われる構造体の型とともに表示します。
preview
StringFormat():レビューと既成の例

StringFormat():レビューと既成の例

この記事では、PrintFormat()関数のレビューを続けます。StringFormat()を使った文字列の書式設定と、そのプログラムでのさらなる使用法について簡単に説明します。また、ターミナル操作ログに銘柄データを表示するためのテンプレートも作成します。この記事は、初心者にも経験豊富な開発者にも役立つでしょう。
preview
PrintFormat()を調べてすぐ使える例を適用する

PrintFormat()を調べてすぐ使える例を適用する

この記事は、初心者にも経験豊富な開発者にも役立つでしょう。PrintFormat()関数について調べ、文字列フォーマットの例を分析し、ターミナルのログに様々な情報を表示するためのテンプレートを書きます。
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
リプレイシステムの開発 - 市場シミュレーション(第8回):指標のロック

リプレイシステムの開発 - 市場シミュレーション(第8回):指標のロック

この記事では、MQL5言語を使用しながら指標をロックする方法を見ていきます。非常に興味深く素晴らしい方法でそれをおこないます。
preview
ニューラルネットワークが簡単に(第39回):Go-Explore、探検への異なるアプローチ

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

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

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

強化学習における重要な問題のひとつは、環境探索です。前回までに、「内因性好奇心」に基づく研究方法について見てきました。今日は別のアルゴリズムを見てみましょう。不一致による探求です。
preview
リプレイシステムの開発—市場シミュレーション(第7回):最初の改善(II)

リプレイシステムの開発—市場シミュレーション(第7回):最初の改善(II)

前回の記事では、可能な限り最高の安定性を確保するために、レプリケーションシステムにいくつかの修正を加え、テストを追加しました。また、このシステムのコンフィギュレーションファイルの作成と使用も開始しました。
preview
MQL5の圏論(第18回):ナチュラリティスクエア(自然性の四角形)

MQL5の圏論(第18回):ナチュラリティスクエア(自然性の四角形)

この記事では、圏論の重要な柱である自然変換を紹介します。一見複雑に見える定義に注目し、次に本連載の「糧」であるボラティリティ予測について例と応用を掘り下げていきます。
preview
MQL5の圏論(第17回):関手とモノイド

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

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

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

多くのトレーダーにとって移動平均指標が重要であることは周知の事実です。取引に役立つ移動平均タイプは他にもあります。この記事ではこれらのタイプを特定し、それぞれのタイプと最も人気のある単純移動平均タイプを簡単に比較して、どれが最良の結果を示すことができるかを確認します。
preview
初めてのMetaTrader VPS:ステップバイステップ

初めてのMetaTrader VPS:ステップバイステップ

自動売買ロボットやコピー取引を利用していると必ず、遅かれ早かれ、取引プラットフォーム用に信頼できる24時間365日のホスティングサーバーをレンタルする必要性を認識するようになります。様々な理由から、MetaTrader VPSの使用が推奨されます。このサービスの支払いとサブスクリプションはMQL5.communityのアカウントで管理できます。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第1回):ADXとパラボリックSARの組み合わせによる指標シグナル

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

この記事で紹介する多通貨エキスパートアドバイザー(EA)は、1つの銘柄チャートから複数の銘柄ペアの取引(新規注文、決済注文、注文の管理など)を行うことができるEA(自動売買ロボット)です。