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

icon

エキスパートアドバイザーはプログラミングの「頂点」であり、それぞれの自動取引の開発者の求めたゴールです。このセクションの記事を読んで、ご自分の自動売買ロボットを作成してください。記述された手順に従うことにより、どのように自動取引システムを作成し、デバッグし、テストするかを学びます。

記事はMQL5プログラミングを教えるだけでなく、どのようにトレーディングアイデアとテクニックを導入するかを示します。どのようにトレーリングストップをプログラムするか、どのように資金管理を適用するか、どのようにインディケータ値を取得するかなど、さらに多くのことを学べます。

新しい記事を追加
最新 | ベスト
グラフィカルインターフェイスX:ソート、テーブル再構築とセル内のコントロール(ビルド11)
グラフィカルインターフェイスX:ソート、テーブル再構築とセル内のコントロール(ビルド11)

グラフィカルインターフェイスX:ソート、テーブル再構築とセル内のコントロール(ビルド11)

レンダーテーブルにデータソート、列と行の数の管理、コントロールを配置するためのテーブルのセルタイプの設定といった新しい機能を追加し続けます。
preview
自動で動くEAを作る(第09回):自動化(I)

自動で動くEAを作る(第09回):自動化(I)

自動EAの作成はそれほど難しい作業ではありませんが、必要な知識がないと多くの間違いを犯す可能性があります。この記事では、ブレイクイーブンとトレーリングストップレベルを作動させるトリガーの作成からなる自動化の最初のレベルを構築する方法について見ていきます。
プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換
プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換

プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換

プログラミングを容易にする方法、テクニック、および補助ツールに関するプロのプログラマーからのヒントです。ターミナルの再起動(シャットダウン)後に復元できるパラメータについて説明します。すべての例は、私のCaymanプロジェクトからの実際に機能するコードセグメントです。
preview
一からの取引エキスパートアドバイザーの開発(第18部):新規受注システム(I)

一からの取引エキスパートアドバイザーの開発(第18部):新規受注システム(I)

今回は新規受注システムの第一弾です。本連載で紹介し始めてから、このEAは、同じチャート上注文システムモデルを維持しながら様々な変更と改良を受けてきました。
自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法
自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法

自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法

自動トレーディングシステム選手権2010に参加するためのエクスパート開発をめざし、すぐに使えるExpert Advisorテンプレートを使用します。Even novice MQL5プログラマの初心者でもこのタスクをこなすことは可能です。というのも戦略のために基本クラス、関数、テンプレートがすでに準備されているからです。よってみなさんのトレーディングの考えに合う最低限のコードを書いて実装すれば十分です。
preview
MQL5でのAutoItの使用

MQL5でのAutoItの使用

簡単に説明すると、この記事では、MQL5をAutoItと統合することによってMetraTrader5ターミナルのスクリプトを作成します。その中で、ターミナルのユーザーインターフェイスを操作することによってさまざまなタスクを自動化する方法を説明し、AutoItXライブラリを使用するクラスも紹介します。
グラフィカルインタフェース IV:情報インターフェース要素(チャプター1)
グラフィカルインタフェース IV:情報インターフェース要素(チャプター1)

グラフィカルインタフェース IV:情報インターフェース要素(チャプター1)

開発の現段階では、グラフィカルインタフェース作成のライブラリは、フォームとそれに取り付けることができるいくつかのコントロールを含んでいます。今後の記事の1つがマルチウィンドウモードについてになることは、以前に言及されました。そのための準備が整ったので、それは次の章で対処します。この章では、ステータスバーとツールチップ情報インタフェース要素を作成するためのクラスを作成します。
定義済みリスクおよびRRレシオに基づく半自動化ドラッグドロップExpert Advisor連携構築
定義済みリスクおよびRRレシオに基づく半自動化ドラッグドロップExpert Advisor連携構築

定義済みリスクおよびRRレシオに基づく半自動化ドラッグドロップExpert Advisor連携構築

すべての取引を自動で行うトレーダーもいれば、複数インディケータのアウトプットを基にして自動と手動のミックスで取引を実行するトレーダーもいます。後者のグループの一員として、私はリスクと利益をチャートから直接、動的に評価するための連携ツールが必要でした。本稿は、定義済みの資本リスクおよびR/Rレシオを連携する半自動化Expert Advisorを実装する方法を提供します。EA パネル実行中には、 Expert Advisor リスク、R/R、ロットサイズ パラメータが変更可能です。
かずかずのインスツルメントで取引を行うExpert Advisorの作成
かずかずのインスツルメントで取引を行うExpert Advisorの作成

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

ファイナンシャルマーケットにおける資産の多様性概念はかなり古いもので常に初心者のトレーダーを魅了してきました。本稿では、複数通貨対応Expert Advisorの構築をトレード戦略を扱う最初の導入として最大限にシンプルな手法で行います。
グラフィカルインタフェースVIII: ファイルナビゲータコントロール(チャプター3)
グラフィカルインタフェースVIII: ファイルナビゲータコントロール(チャプター3)

グラフィカルインタフェースVIII: ファイルナビゲータコントロール(チャプター3)

シリーズの第八部の前章では、ライブラリがマウスポインタ、カレンダー、ツリービューを開発するためのいくつかのクラスによって強化されました。本稿は、MQLアプリケーションのグラフィカルインターフェースの一部として使用できるファイルナビゲーターコントロールを扱います。
有用なテクノロジーカクテルでYour MQL5 顧客を驚嘆させる!
有用なテクノロジーカクテルでYour MQL5 顧客を驚嘆させる!

有用なテクノロジーカクテルでYour MQL5 顧客を驚嘆させる!

MQL5 はプログラマーに関数の完全セットとオブジェクト指向API を提供します。それらのお陰でプログラマーは MetaTrader 環境内で願うことを行うことができるのです。ただ「ウェブテクノロジー」は今日ひじょに特殊なことをしてなにか違ったもので顧客を驚かせる必要があったり、ただ MT5 「標準ライブラリ」の特定箇所をマスターする十分な時間がないなんらかの状況で救助にきてくれる極端に多才なツールです。今回の例題によりご自身の開発時間管理の仕方と同時にすばらしいテクノロジーカクテルを作成する方法を実用例をご紹介します。
preview
継続的なウォークフォワード最適化(その8)。プログラムの改善と修正

継続的なウォークフォワード最適化(その8)。プログラムの改善と修正

本連載では、ユーザーや読者の皆様からのご意見・ご要望をもとに、プログラムを修正しています。 この記事では、オートオプティマイザーの新バージョンを掲載しています。 このバージョンでは、要求された機能を実装し、他の改善点を提供しています。
リニアなトレーディングシステムを指数に高める
リニアなトレーディングシステムを指数に高める

リニアなトレーディングシステムを指数に高める

本稿では MQL5 プログラマーの中級者にリニアなトレーディングシステム(固定ロット)からいわゆる指数の技術を簡単に実装することでより収益を上げる方法をお伝えします。これは結果として生じる資金曲線の成長が幾何学的または指数関数で放物線の形を取ります。特にラルフ・ビンス氏によって開発された実用的な「固定比率」のポジションサイジングの MQL5 のバリアントを実装します。
preview
古いトレンドトレーディング戦略の再検討:2つのストキャスティクス、MAとフィボナッチ

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

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

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

強化学習の問題は、報酬関数を定義する必要性にあります。それは複雑であったり、形式化するのが難しかったりします。この問題に対処するため、明確な報酬関数を持たずにスキルを学習する、活動ベースや環境ベースのアプローチが研究されています。
グラフィカルインターフェイスXI:レンダリングされたコントロール(ビルド14.2)
グラフィカルインターフェイスXI:レンダリングされたコントロール(ビルド14.2)

グラフィカルインターフェイスXI:レンダリングされたコントロール(ビルド14.2)

ライブラリのこの新バージョンでは、すべてのコントロールが個別のOBJ_BITMAP_LABEL型のグラフィカルオブジェクトに描画されます。また、コードの最適化についても引き続き説明し、ライブラリの中核クラスの変更について説明します。
preview
EAコンストラクタの開発の試み

EAコンストラクタの開発の試み

この記事では、既製のEAの形で一連の取引機能を提供します。この方法では、指標を追加して入力を変更するだけで、複数の取引ストラテジーを取得できます。
トレーダミネーター 3:売買ロボットの台頭
トレーダミネーター 3:売買ロボットの台頭

トレーダミネーター 3:売買ロボットの台頭

記事 "Dr. Tradelove..." で Expert Advisorを作成しました。それは選択済みのトレーディングシステムのパラメータを自立的に最適化するものです。それ以上に EAにある一つのトレーディングシステムのパラメータだけを最適化するのではなく、複数あるトレーディングシステムから最良のものを選ぶExpert Advisorを作成しようと決めました。それがどうなったか見ていきます。
preview
エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第3部):トレンド指標

エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第3部):トレンド指標

この参考記事では、トレンド指標カテゴリから標準的な指標を取り上げます。パラメータの宣言と設定、指標の初期化と解除、EAの指標バッファからのデータとシグナルの受信など、EAで指標を使用するためのすぐに使えるテンプレートを作成します。
preview
ニューラルネットワークが簡単に(第37回):スパースアテンション(Sparse Attention)

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

前回は、アテンションメカニズムをアーキテクチャーに用いたリレーショナルモデルについて説明しました。これらのモデルの特徴の1つは、コンピューティングリソースを集中的に利用することです。今回は、セルフアテンションブロック内部の演算回数を減らす仕組みの1つについて考えてみたいと思います。これにより、モデルの一般的なパフォーマンスが向上します。
MQL5 クックブック:オーバーフィットの影響低減とクオート不足への対処
MQL5 クックブック:オーバーフィットの影響低減とクオート不足への対処

MQL5 クックブック:オーバーフィットの影響低減とクオート不足への対処

どのようなトレーディング戦略を使っていようと、将来の収益を確保するためどのパラメータを選択すべきかという疑問は常にあるものです。本稿は同時に複数のシンボルパラメータを最適化する機能を備えたExpert Advisor 例を提供します。この方法はパラメータのオーバーフィットによる影響を軽減し、1個のシンボルからのデータが調査に十分でない場合に対処するものです。
グラフィカルインタフェースX:レンダーテーブルの新機能(ビルド9)
グラフィカルインタフェースX:レンダーテーブルの新機能(ビルド9)

グラフィカルインタフェースX:レンダーテーブルの新機能(ビルド9)

今日までは、ライブラリの最も高度なテーブルはCTableでした。このテーブルは、OBJ_EDIT型のエディットボックスから組み立てられており、さらなる開発は難しいです。したがって、機能の最大化においては、ライブラリ開発の現段階を考慮しても、CCanvasTable型のレンダーテーブルを開発する方が賢明です。その現バージョンはまったく使えない状態ですが、この記事から始めて状況を改善していきましょう。
preview
ニューラルネットワークが簡単に(第22部):回帰モデルの教師なし学習

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

モデルと教師なし学習アルゴリズムの研究を続けます。今回は、回帰モデルの学習に適用した場合のオートエンコーダの特徴について提案します。
グラフィカルインターフェイスXI:ライブラリコードのリファクタリング(ビルド14.1)
グラフィカルインターフェイスXI:ライブラリコードのリファクタリング(ビルド14.1)

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

ライブラリが大きくなるにつれて、コードをサイズを減らすために最適化が再び必要がです。本稿で説明するライブラリのバージョンはさらにオブジェクト指向になっており、コードの学習もさらに容易になります。読者は、最新の変更の詳細な記述によって、独自のニーズに基づいて独自にライブラリを開発できるでしょう。
preview
ニューラルネットワークが簡単に(第18部):アソシエーションルール

ニューラルネットワークが簡単に(第18部):アソシエーションルール

この連載の続きとして、教師なし学習の手法の中で、もう1つのタイプの問題であるアソシエーションルールのマイニングについて考えてみましょう。この問題タイプは、小売業、特にスーパーマーケットで、市場の分類を分析するために最初に使用されました。今回は、このようなアルゴリズムの取引への応用についてお話します。
Connecting NeuroSolutions Neuronets
Connecting NeuroSolutions Neuronets

Connecting NeuroSolutions Neuronets

ニューロネットの作成に加え、NeuroSolutions ソフトウェアスウィートによりそれらを DLLとしてエクスポートすることが可能となります。本稿では、ニューロネット作成とDLL生成とそれを MetaTrader 5でのトレーディングのためExpert Advisor に連携する手順について述べています。
preview
単一チャート上の複数インジケータ(第05部):MetaTrader 5をRADシステムに変える(I)

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

プログラミングはできなくても創造性に富んだ素晴らしいアイデアを持っている人はたくさんいます。しかし、プログラミングの知識がないため、これらのアイデアを実行に移すことができないのです。MetaTrader5のプラットフォームそのものをIDEのように使って、Chart Tradeを作成する方法を一緒に見てみましょう。
preview
ニューラルネットワークの実験(第6回):価格予測のための自給自足ツールとしてのパーセプトロン

ニューラルネットワークの実験(第6回):価格予測のための自給自足ツールとしてのパーセプトロン

この記事では、パーセプトロンを自給自足の価格予測ツールとして使用する例として、一般的な概念と最もシンプルな既製のエキスパートアドバイザー(EA)を紹介し、その最適化の結果について説明します。
preview
MQL5のALGLIB数値解析ライブラリ

MQL5のALGLIB数値解析ライブラリ

この記事では、ALGLIB3.19数値分析ライブラリ、その応用、金融データ分析の効率を向上させる新しいアルゴリズムについて簡単に説明します。
preview
一からの取引エキスパートアドバイザーの開発(第19部):新規受注システム(II)

一からの取引エキスパートアドバイザーの開発(第19部):新規受注システム(II)

今回は、「見てわかる」タイプのグラフィカルな受注システムを開発します。なお、今回はゼロから始めるのではなく、取引する資産のチャート上にオブジェクトやイベントを追加して既存のシステムを修正します。
DoEasyライブラリでのその他のクラス(第68部): チャットウィンドウオブジェクトクラスとチャートでの指標オブジェクトクラス
DoEasyライブラリでのその他のクラス(第68部): チャットウィンドウオブジェクトクラスとチャートでの指標オブジェクトクラス

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

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

非線形指標

今回は、非線形指標を構築する方法と取引での使用について、いくつか考えてみたいと思います。MetaTraderの取引プラットフォームには、非線形なアプローチを使用する指標がかなりあります。
preview
ONNXモデルをクラスでラップする

ONNXモデルをクラスでラップする

オブジェクト指向プログラミングは、読みやすく修正しやすい、よりコンパクトなコードの作成を可能にします。ここでは3つのONNXモデルの例を見てみましょう。
preview
一からの取引エキスパートアドバイザーの開発(第8部):概念的な飛躍

一からの取引エキスパートアドバイザーの開発(第8部):概念的な飛躍

新しい機能を実装する最も簡単な方法は何でしょうか。この記事では、1歩後退してから2歩前進します。
preview
ニューラルネットワークが簡単に(第14部):データクラスタリング

ニューラルネットワークが簡単に(第14部):データクラスタリング

前回の記事を公開してから1年以上が経過しました。アイデアを修正して新しいアプローチを開発するには、これはかなりの時間です。この新しい記事では、以前に使用された教師あり学習法から逸れようと思います。今回は、教師なし学習アルゴリズムについて説明します。特に、クラスタリングアルゴリズムの1つであるk-meansについて検討していきます。
preview
モスクワ取引所(MOEX)の指値注文を使用した自動グリッド取引

モスクワ取引所(MOEX)の指値注文を使用した自動グリッド取引

この記事では、MOEXでの作業を目的としたMetaTrader 5用のMQL5エキスパートアドバイザー(EA)の開発について考察します。EAは、MetaTrader 5ターミナルを使用して、グリッド戦略に従いながらMOEXで取引することになります。EAには、ストップロスとテイクプロフィットによるポジションの決済、および特定の市況での未決注文の削除が含まれます。
preview
ニューラルネットワークが簡単に(第32部):分散型Q学習

ニューラルネットワークが簡単に(第32部):分散型Q学習

この連載で前回Q学習法を紹介しました。この手法は、各行動の報酬を平均化するものです。2017年には、報酬分布関数を研究する際に、より大きな成果を示す2つの研究が発表されました。そのような技術を使って、私たちの問題を解決する可能性を考えてみましょう。
グラフィカルインターフェイスX:レンダーテーブルの更新とコード最適化(ビルド10)
グラフィカルインターフェイスX:レンダーテーブルの更新とコード最適化(ビルド10)

グラフィカルインターフェイスX:レンダーテーブルの更新とコード最適化(ビルド10)

レンダーテーブル(CCanvasTable)に新しい機能を補完していきます。テーブルには、ホバー時の列の強調表示;、各セルにアイコンの配列を追加する機能とそれらを切り替えるメソッド、 実行時にセルテキストを設定または変更する機能などが含まれます。
preview
ニューラルネットワークが簡単に(第33部):分散型Q学習における分位点回帰

ニューラルネットワークが簡単に(第33部):分散型Q学習における分位点回帰

分散型Q学習の研究を続けます。今日は、この方法を反対側から見てみましょう。価格予測問題を解決するために、分位点回帰を利用する可能性を検討します。
preview
ニューラルネットワークが簡単に(第21部):変分オートエンコーダ(Variational autoencoder、VAE)

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

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