MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
かずかずのインスツルメントで取引を行うExpert Advisorの作成
かずかずのインスツルメントで取引を行うExpert Advisorの作成

かずかずのインスツルメントで取引を行うExpert Advisorの作成

ファイナンシャルマーケットにおける資産の多様性概念はかなり古いもので常に初心者のトレーダーを魅了してきました。本稿では、複数通貨対応Expert Advisorの構築をトレード戦略を扱う最初の導入として最大限にシンプルな手法で行います。
preview
スマートマネーコンセプト(BOS)とRSI指標をEAに統合する方法

スマートマネーコンセプト(BOS)とRSI指標をEAに統合する方法

市場構造に基づいた情報に基づく自動売買の意思決定を可能にするためには、スマートマネーコンセプト(Break Of Structure: BOS)とRSI指標の組み合わせが有効です。
ユニバーサルEA: CUnIndicator と予約オーダーの使用 (その 9)
ユニバーサルEA: CUnIndicator と予約オーダーの使用 (その 9)

ユニバーサルEA: CUnIndicator と予約オーダーの使用 (その 9)

この記事では、ユニバーサル CUnIndicator クラスを通じたインジケーターのタスクについて説明します。 さらに、予約オーダーを処理する新しいメソッドを考慮します。 注意: この時点でCStrategy プロジェクトの構造は、実質的な変更を受けています。 すべてのファイルは、ユーザーの利便性のため単一のディレクトリに配置されています。
より優れたプログラマー(第07部): 成功したフリーランス開発者になるためのメモ
より優れたプログラマー(第07部): 成功したフリーランス開発者になるためのメモ

より優れたプログラマー(第07部): 成功したフリーランス開発者になるためのメモ

MQL5でフリーランス開発者として成功したいならば、この記事はあなたにぴったりです。
preview
初心者からプロまでMQL5をマスターする(第3回):複雑なデータ型とインクルードファイル

初心者からプロまでMQL5をマスターする(第3回):複雑なデータ型とインクルードファイル

これはMQL5プログラミングの主な側面を説明する連載の第3回目です。この記事では、前回の記事で触れなかった複雑なデータ型について説明します。具体的には、構造体、共用体、クラス、および「関数」データ型を扱います。また、#includeプリプロセッサディレクティブを使ってプログラムにモジュール性を加える方法についても解説します。
preview
ニューラルネットワークが簡単に(第21部):変分オートエンコーダ(Variational autoencoder、VAE)

ニューラルネットワークが簡単に(第21部):変分オートエンコーダ(Variational autoencoder、VAE)

前回の記事で、オートエンコーダアルゴリズムについて学びました。他のアルゴリズム同様、このアルゴリズムには長所と短所があります。元の実装では、オートエンコーダは、訓練標本からオブジェクトを可能な限り分離するために使用されます。今回はその短所への対処法についてお話します。
preview
離散ハートレー変換

離散ハートレー変換

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

ケルトナーチャネル取引システムの構築とテスト

この記事では、金融市場において非常に重要な概念であるボラティリティを利用した取引システムを紹介します。ケルトナーチャネル指標を理解し、それをどのようにコードし、どのように簡単な取引戦略に基づいて取引システムを作成し、様々な資産でテストすることができるかを理解した上で、ケルトナーチャネル指標に基づく取引システムを提供します。
preview
MQL5エキスパートアドバイザーに自動最適化を実装する方法

MQL5エキスパートアドバイザーに自動最適化を実装する方法

エキスパートアドバイザー(EA)のためのMQL5の自動最適化のためのステップバイステップガイド。堅牢な最適化ロジック、パラメーター選択のベストプラクティス、バックテストを通じた戦略の再構築方法について解説します。さらに、ウォークフォワード最適化などの高レベルな手法を紹介し、取引アプローチの強化を目指します。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第5回): ケルトナーチャネルのボリンジャーバンド—指標シグナル

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

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

MQL5入門(第5部):MQL5における配列関数の入門ガイド

全くの初心者のために作られた第5部では、MQL5配列の世界を探検してみましょう。この記事は、複雑なコーディングの概念を簡素化し、明快さと包括性に重点を置いています。質問が受け入れられ、知識が共有される、学習者のコミュニティに仲間入りしてください。
preview
単一チャート上の複数インジケータ(第05部):MetaTrader 5をRADシステムに変える(I)

単一チャート上の複数インジケータ(第05部):MetaTrader 5をRADシステムに変える(I)

プログラミングはできなくても創造性に富んだ素晴らしいアイデアを持っている人はたくさんいます。しかし、プログラミングの知識がないため、これらのアイデアを実行に移すことができないのです。MetaTrader5のプラットフォームそのものをIDEのように使って、Chart Tradeを作成する方法を一緒に見てみましょう。
preview
データサイエンスと機械学習(第03回):行列回帰

データサイエンスと機械学習(第03回):行列回帰

今回のモデルは行列によって作成されています。これにより柔軟性が得られ、コンピュータの計算限界内に留まる限り、5つの独立変数だけでなく多くの変数を処理できる強力なモデルを作成できます。この記事を面白く読めることは間違いありません。
preview
ニューラルネットワークが簡単に(第82回):常微分方程式モデル(NeuralODE)

ニューラルネットワークが簡単に(第82回):常微分方程式モデル(NeuralODE)

この記事では、環境状態のダイナミクスを研究することを目的とした別のタイプのモデルについて説明します。
Skypeを用いて、エキスパートアドバイザーからメッセージを送る方法
Skypeを用いて、エキスパートアドバイザーからメッセージを送る方法

Skypeを用いて、エキスパートアドバイザーからメッセージを送る方法

この記事は、Skypeを用いてエキスパートアドバイザーから携帯電話にメッセージ、SMSを送る方法について取り扱います。
preview
移動エントロピーを用いた時系列の因果分析

移動エントロピーを用いた時系列の因果分析

この記事では、統計的因果関係をどのように活用して予測変数を特定できるかを解説します。因果性と移動エントロピーの関連性を探り、2つの変数間で情報がどの方向に伝達されているかを検出するためのMQL5コードを紹介します。
preview
ニューラルネットワークが簡単に(第94回):入力シーケンスの最適化

ニューラルネットワークが簡単に(第94回):入力シーケンスの最適化

時系列を扱うときは、常にソースデータを履歴シーケンスで使用します。しかし、これが最善の選択肢なのでしょうか。入力データの順序を変更すると、訓練されたモデルの効率が向上するという意見があります。この記事では、入力シーケンスを最適化する方法の1つを紹介します。
非トレード EA 検証インディケータ
非トレード EA 検証インディケータ

非トレード EA 検証インディケータ

インディケータはすべて2グループに分けることができます。静的インディケータ。それの表示は一度示されると常に履歴で同じままで、新規の着信クオートで変化することはありません。動的インディケータ。現在の変動に対する状態のみ表示し、新価格が来ると完全に再描画されます。静的インディケータの効率は直接チャートで見ることができます。動的インディケータが正常に動作しているかどうか確認するには?本稿が取り組むのはこの疑問です。
preview
手動のチャート作成および取引ツールキット(第III部)最適化と新しいツール

手動のチャート作成および取引ツールキット(第III部)最適化と新しいツール

この記事では、キーボードショートカットを使用してチャート上にグラフィカルオブジェクトを描画するというアイデアをさらに発展させます。ライブラリに新しいツールが追加されました。これには、任意の頂点を通る直線や、反転時間とレベルの評価を可能にする一連の長方形が含まれます。また、この記事では、パフォーマンス向上のためにコードを最適化する可能性を示しています。実装例が書き直され、他の取引プログラムと一緒にShortcutsを使用できるようになりました。初心者より少し上回るコード知識レベルが必要とされます。
より優れたプログラマー(第06部): 効果的なコーディングにつながる9つの習慣
より優れたプログラマー(第06部): 効果的なコーディングにつながる9つの習慣

より優れたプログラマー(第06部): 効果的なコーディングにつながる9つの習慣

効果的なコーディングにつながるのはコードを書くことだけではありません。経験を通して見つけた、効果的なコーディングにつながる特定の習慣があります。この記事では、そのいくつかについて詳しく説明します。これは、複雑なアルゴリズムをより手間をかけずに作成する能力を向上させたいすべてのプログラマーにとって必読の記事です。
preview
MQL5における座標降下法を用いたエラスティックネット回帰

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

この記事では、過学習を最小化すると同時に、有用な予測因子と予後予測力の低い予測因子を自動的に分離するエラスティックネット回帰の実用的な実装を探求します。
preview
アリゲーターによる取引システムの設計方法を学ぶ

アリゲーターによる取引システムの設計方法を学ぶ

最も人気のあるテクニカル指標に基づいて取引システムを設計する方法についての連載は今回で完結します。アリゲーター指標を基にした取引システムの作り方を学びます。
preview
リプレイシステムの開発 - 市場シミュレーション(第20回):FOREX (I)

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

この記事の最初の目的は、外国為替取引のすべての可能性をカバーすることではなく、少なくとも1つのマーケットリプレイを実行できるようにシステムを適応させることです。シミュレーションはまた別の機会にしますが、ティックがなくバーだけでも、少しの努力で外国為替市場で起こりうる取引をシミュレートすることができます。シミュレーターをどのように適応させるかを検討するまでは、この状態が続くでしょう。システム内部でFXのデータに手を加えずに作業しようとすると、さまざまなエラーが発生します。
preview
ニューラルネットワークが簡単に(第46回):目標条件付き強化学習(GCRL)

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

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

プロフィット引き出しモデル構築のためのTesterWithdrawal() 関数の使用

本稿は処理中に資産の特定部分の引き出しをするトレードシステムにおけるリスク見積をするためのTesterWithDrawal()関数使用について述べていきます。また、ストラテジーテスタにおける資産の引き出し計算のアルゴリズムへのこの関数の影響についても述べます。この関数はExpert Advisorsのパラメータ最適化に有用です。
グラフィカルインターフェイスXI:ライブラリコードのリファクタリング(ビルド14.1)
グラフィカルインターフェイスXI:ライブラリコードのリファクタリング(ビルド14.1)

グラフィカルインターフェイスXI:ライブラリコードのリファクタリング(ビルド14.1)

ライブラリが大きくなるにつれて、コードをサイズを減らすために最適化が再び必要がです。本稿で説明するライブラリのバージョンはさらにオブジェクト指向になっており、コードの学習もさらに容易になります。読者は、最新の変更の詳細な記述によって、独自のニーズに基づいて独自にライブラリを開発できるでしょう。
自己適応アルゴリズム(第IV部):その他の機能とテスト
自己適応アルゴリズム(第IV部):その他の機能とテスト

自己適応アルゴリズム(第IV部):その他の機能とテスト

引き続き、必要最小限の機能でアルゴリズムを実装して結果をテストします。収益性は非常に低いですが、連載では、完全に自動化された、根本的に異なる市場で取引される完全に異なる商品で収益性の高い取引モデルを示しています。
トレンド・ハント
トレンド・ハント

トレンド・ハント

本稿は、利益トレードのボリューム増加のアルゴリズムについて説明します。またMQL4 の方法を使用したその実装を提供します。
preview
多通貨エキスパートアドバイザーの開発(第3回):アーキテクチャの改訂

多通貨エキスパートアドバイザーの開発(第3回):アーキテクチャの改訂

複数の戦略が並行して動作する多通貨EAの開発はすでにある程度進んでいます。蓄積された経験を考慮し、先に進みすぎる前に、ソリューションのアーキテクチャを見直し、改善を試みましょう。
preview
独自のLLMをEAに統合する(第1部):ハードウェアと環境の導入

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

今日の人工知能の急速な発展に伴い、言語モデル(LLM)は人工知能の重要な部分となっています。私たちは、強力なLLMをアルゴリズム取引に統合する方法を考える必要があります。ほとんどの人にとって、これらの強力なモデルをニーズに応じて微調整し、ローカルに展開して、アルゴリズム取引に適用することは困難です。本連載では、この目標を達成するために段階的なアプローチをとっていきます。
取引のための組合せ論と確率論(第II部): ユニバーサルフラクタル
取引のための組合せ論と確率論(第II部): ユニバーサルフラクタル

取引のための組合せ論と確率論(第II部): ユニバーサルフラクタル

本稿では、フラクタルの研究を続け、すべての資料の要約に特に注意を払います。これを行うために、これまでの開発をすべて、取引での実用化に便利で理解しやすいコンパクトな形にまとめてみます。
preview
アラン・アンドリュースとその時系列分析手法

アラン・アンドリュースとその時系列分析手法

アラン・アンドリュースは、取引の分野において、現代世界で最も有名な「教育者」の一人です。彼の「ピッチフォーク」は、現代のほとんどの相場分析プログラムに搭載されています。しかし、ほとんどのトレーダーは、このツールが提供するチャンスのほんの一部も利用していません。その上、アンドリュースのオリジナルのトレーニングコースには、ピッチフォークだけでなく(ピッチフォークが主要な道具であることに変わりはないが)、他のいくつかの便利な構造についても説明があります。この記事では、アンドリュースがオリジナルのコースで教えていた驚異的なチャート分析法を紹介しています。画像がたくさん出てきますのでご注意ください。
preview
ニューラルネットワークが簡単に(第22部):回帰モデルの教師なし学習

ニューラルネットワークが簡単に(第22部):回帰モデルの教師なし学習

モデルと教師なし学習アルゴリズムの研究を続けます。今回は、回帰モデルの学習に適用した場合のオートエンコーダの特徴について提案します。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第4回):三角移動平均 — 指標シグナル

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

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

Pythonを使ったEAとバックテストのための感情分析とディープラーニング

この記事では、EAで使用するPythonによる感情分析とONNXモデルを紹介します。あるスクリプトはTensorFlowで学習させたONNXモデルをディープラーニング予測用に実行し、別のスクリプトはニュースのヘッドラインを取得し、AIを使用して感情を数値化します。
パルスによるマーケット診断
パルスによるマーケット診断

パルスによるマーケット診断

本稿では、特定マーケットとその時間セグメントの強度を可視化し、規則性と変動パターンを検出してみます。
DoEasyライブラリでのその他のクラス(第68部): チャットウィンドウオブジェクトクラスとチャートでの指標オブジェクトクラス
DoEasyライブラリでのその他のクラス(第68部): チャットウィンドウオブジェクトクラスとチャートでの指標オブジェクトクラス

DoEasyライブラリでのその他のクラス(第68部): チャットウィンドウオブジェクトクラスとチャートでの指標オブジェクトクラス

本稿では、チャートオブジェクトクラスの開発を続け、利用可能な指標のリストを含むチャートウィンドウオブジェクトのリストに追加します。
preview
非線形指標

非線形指標

今回は、非線形指標を構築する方法と取引での使用について、いくつか考えてみたいと思います。MetaTraderの取引プラットフォームには、非線形なアプローチを使用する指標がかなりあります。
MetaTrader マーケットの概要(インフォグラフィック)
MetaTrader マーケットの概要(インフォグラフィック)

MetaTrader マーケットの概要(インフォグラフィック)

数週間前「フリーランス」サービスのインフォグラフィックを公表しました。また「マーケット」の統計をいくつか明らかにすることを約束しました。ここでわれわれが収集したデータの検討にみなさんをご招待します。
preview
ニューラルネットワークが簡単に(第43回):報酬関数なしでスキルを習得する

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

強化学習の問題は、報酬関数を定義する必要性にあります。それは複雑であったり、形式化するのが難しかったりします。この問題に対処するため、明確な報酬関数を持たずにスキルを学習する、活動ベースや環境ベースのアプローチが研究されています。