MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
スワップ(第I部):ロックと合成ポジション
スワップ(第I部):ロックと合成ポジション

スワップ(第I部):ロックと合成ポジション

この記事では、スワップ取引手法の古典的な概念を拡張しようとします。私が、この概念に特別な注意を払う価値があり、この概念が研究に絶対的に推奨されるという結論に達した理由を説明します。
グラフィカルインタフェース IV:情報インターフェース要素(チャプター1)
グラフィカルインタフェース IV:情報インターフェース要素(チャプター1)

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

開発の現段階では、グラフィカルインタフェース作成のライブラリは、フォームとそれに取り付けることができるいくつかのコントロールを含んでいます。今後の記事の1つがマルチウィンドウモードについてになることは、以前に言及されました。そのための準備が整ったので、それは次の章で対処します。この章では、ステータスバーとツールチップ情報インタフェース要素を作成するためのクラスを作成します。
preview
母集団最適化アルゴリズム:ホタルアルゴリズム(FA)

母集団最適化アルゴリズム:ホタルアルゴリズム(FA)

今回は、ホタルアルゴリズム(FA)という最適化手法について考えてみます。修正により、このアルゴリズムは部外者から真の評価表リーダーへと変貌を遂げました。
MetaTrader マーケットの概要(インフォグラフィック)
MetaTrader マーケットの概要(インフォグラフィック)

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

数週間前「フリーランス」サービスのインフォグラフィックを公表しました。また「マーケット」の統計をいくつか明らかにすることを約束しました。ここでわれわれが収集したデータの検討にみなさんをご招待します。
HTMLとCSVレポートに基づいて多通貨トレードヒストリーを可視化する方法
HTMLとCSVレポートに基づいて多通貨トレードヒストリーを可視化する方法

HTMLとCSVレポートに基づいて多通貨トレードヒストリーを可視化する方法

このテーマのイントロダクションをしてから、MetaTrader5は多通貨テストオプションを提供するようになりました。 この可能性は、多くの場合、トレーダーにとって有用です。 しかし、この機能は完璧ではありません。 この記事では、HTML および CSV トレードヒストリーレポートに基づいてチャート上にグラフィカル オブジェクトを描画するためのプログラムを紹介します。 多通貨トレードは、動的切り替えコマンドを使用して、複数のサブウィンドウだけでなく、1つのウィンドウで並行して分析することができます。
preview
手動のチャート作成および取引ツールキット(第III部)最適化と新しいツール

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

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

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

この記事の最初の目的は、外国為替取引のすべての可能性をカバーすることではなく、少なくとも1つのマーケットリプレイを実行できるようにシステムを適応させることです。シミュレーションはまた別の機会にしますが、ティックがなくバーだけでも、少しの努力で外国為替市場で起こりうる取引をシミュレートすることができます。シミュレーターをどのように適応させるかを検討するまでは、この状態が続くでしょう。システム内部でFXのデータに手を加えずに作業しようとすると、さまざまなエラーが発生します。
MetaTrader 5のトレードシグナル:PAMM アカウントへのよりよい代替手段
MetaTrader 5のトレードシグナル:PAMM アカウントへのよりよい代替手段

MetaTrader 5のトレードシグナル:PAMM アカウントへのよりよい代替手段

MetaTrader 5 が今トレードシグナルを備え、そのため投資家や幹事会社に力強いツールを提供できることをうれしく思います。成功しているトレーダーのトレードをフォローする間にも、ターミナルは自動でそれらをみなさんのアカウントに再生しているのです。
エンベロープによる取引システムの設計方法を学ぶ
エンベロープによる取引システムの設計方法を学ぶ

エンベロープによる取引システムの設計方法を学ぶ

この記事では、バンドで取引する方法の1つを紹介します。今回はエンベロープについて検討し、それに基づいてストラテジーを作成するのがいかに簡単であるかを見ていきます。
preview
ONNX統合の課題を克服する

ONNX統合の課題を克服する

ONNXは、異なるプラットフォーム間で複雑なAIコードを統合するための素晴らしいツールです。ただし、この素晴らしいツールを最大限に活用するためにはいくつかの課題に対処する必要があります。この記事では、読者が直面する可能性のある一般的な問題と、それを軽減する方法について説明します。
定義済みリスクおよびRRレシオに基づく半自動化ドラッグドロップExpert Advisor連携構築
定義済みリスクおよびRRレシオに基づく半自動化ドラッグドロップExpert Advisor連携構築

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

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

相対的活力指数による取引システムの設計方法を学ぶ

最も人気のあるテクニカル指標によって取引システムを設計する方法についての連載の新しい記事へようこそ。今回は、相対的活力指数(RVI、Relative Vigot Index)という指標で、その方法を学びます。
preview
Linux上のMetaTrader 5のC++マルチスレッドサポートを備えた概念実証DLLを開発する

Linux上のMetaTrader 5のC++マルチスレッドサポートを備えた概念実証DLLを開発する

最終製品がWindowsとLinuxシステムの両方でシームレスに動作するMetaTrader 5プラットフォームの開発をLinuxシステムのみでおこなう方法のステップとワークフローを探索する旅を始めます。WineとMinGWについて学ぶことができます。これらはどちらも、クロスプラットフォーム開発を機能させるために不可欠なツールです。特に、MinGWのスレッド実装(POSIXおよびWin32)については、どれを使用するかを選択する際に考慮する必要があります。次に、概念実証のDLLを構築し、それをMQL5コードで使用して、最後に両方のスレッド実装のパフォーマンスを比較します。すべては読者の基盤が自力でさらに拡大するようにするためです。この記事を読めば、LinuxでMT関連のツールを快適に構築できるはずです。
preview
単一チャート上の複数インジケータ(第04部): エキスパートアドバイザーに進む

単一チャート上の複数インジケータ(第04部): エキスパートアドバイザーに進む

以前の記事では、複数のサブウィンドウでインジケータを作成する方法を説明しました。これは、カスタムインジケータを使用するときに興味深いものになります。今回は、エキスパートアドバイザーに複数のウィンドウを追加する方法を説明します。
preview
データサイエンスと機械学習(第06回):勾配降下法

データサイエンスと機械学習(第06回):勾配降下法

勾配降下法は、ニューラルネットワークや多くの機械学習アルゴリズムの訓練において重要な役割を果たします。これは、その印象的な成果にもかかわらず、迅速でインテリジェントなアルゴリズムであり、多くのデータサイエンティストによっていまだに誤解されています。
preview
母集団最適化アルゴリズム:侵入雑草最適化(IWO)

母集団最適化アルゴリズム:侵入雑草最適化(IWO)

雑草がさまざまな条件で生き残る驚くべき能力は、強力な最適化アルゴリズムのアイデアになっています。IWO(Invasive Weed Optimization)は、以前にレビューされたものの中で最高のアルゴリズムの1つです。
preview
古いトレンドトレーディング戦略の再検討:2つのストキャスティクス、MAとフィボナッチ

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

古い取引戦略。この記事では、純粋にテクニカルな方法でトレンドをフォローするための戦略の1つを紹介します。これは純粋なテクニカル戦略で、シグナルとターゲットを出すためにいくつかのテクニカル指標とツールを使用します。戦略の構成要素は次の通りです。14期間のストキャスティクス、5期間のストキャスティクス、200期間の移動平均線、フィボナッチ予測ツール(目標設定用)。
自己適応アルゴリズム(第IV部):その他の機能とテスト
自己適応アルゴリズム(第IV部):その他の機能とテスト

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

引き続き、必要最小限の機能でアルゴリズムを実装して結果をテストします。収益性は非常に低いですが、連載では、完全に自動化された、根本的に異なる市場で取引される完全に異なる商品で収益性の高い取引モデルを示しています。
かずかずのインスツルメントで取引を行う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
ニューラルネットワークが簡単に(第43回):報酬関数なしでスキルを習得する

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

強化学習の問題は、報酬関数を定義する必要性にあります。それは複雑であったり、形式化するのが難しかったりします。この問題に対処するため、明確な報酬関数を持たずにスキルを学習する、活動ベースや環境ベースのアプローチが研究されています。
preview
PythonとMetaTrader5 Pythonパッケージを使用した深層学習による予測と注文とONNXモデルファイル

PythonとMetaTrader5 Pythonパッケージを使用した深層学習による予測と注文とONNXモデルファイル

このプロジェクトでは、金融市場における深層学習に基づく予測にPythonを使用します。平均絶対誤差(MAE)、平均二乗誤差(MSE)、R二乗(R2)などの主要なメトリクスを使用してモデルのパフォーマンスをテストする複雑さを探求し、すべてを実行ファイルにまとめる方法を学びます。また、そのEAでONNXモデルファイルを作成します。
われわれはいかにして MetaTrader シグナルサービスとソーシャルトレーディングを発展させたのでしょうか
われわれはいかにして MetaTrader シグナルサービスとソーシャルトレーディングを発展させたのでしょうか

われわれはいかにして MetaTrader シグナルサービスとソーシャルトレーディングを発展させたのでしょうか

われわれはシグナルサービスを強化し、メカニズムを改良し、新しい関数を追加し、欠陥を修正し続けています。2012年の MetaTrader シグナルサービスと現在の MetaTrader シグナルサービスはまったく異なる2つのサービスのようなものです。現在、特定バージョンの MetaTrader クライアントターミナルをサポートするサーバーのネットワークで構成される仮想ホスティングクラウドサービスを導入中です。
preview
EAコンストラクタの開発の試み

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

この記事では、既製のEAの形で一連の取引機能を提供します。この方法では、指標を追加して入力を変更するだけで、複数の取引ストラテジーを取得できます。
preview
エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第3部):トレンド指標

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

この参考記事では、トレンド指標カテゴリから標準的な指標を取り上げます。パラメータの宣言と設定、指標の初期化と解除、EAの指標バッファからのデータとシグナルの受信など、EAで指標を使用するためのすぐに使えるテンプレートを作成します。
preview
ソフトウェア開発とMQL5におけるデザインパターン(第1回):生成パターン

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

繰り返し発生する問題の多くを解決するためには、使用できる方法があります。これらの方法の使い方を理解すれば、ソフトウェアを効果的に作成し、DRY (Do not Repeat Yourself)の概念を適用するのに非常に役立ちます。この文脈では、デザインパターンのトピックが非常に役に立ちます。なぜなら、デザインパターンは、よく説明され、繰り返される問題に対する解決策を提供するパターンだからです。
preview
Goertzelアルゴリズムによるサイクル分析

Goertzelアルゴリズムによるサイクル分析

この記事では、MQL5でGoertzel(ゲルツェル)アルゴリズムを実装するコードユーティリティを紹介し、このテクニックを価格相場の分析に利用し、可能な戦略を開発するための2つの方法を探ります。
グラフィカルインターフェイスXI:レンダリングされたコントロール(ビルド14.2)
グラフィカルインターフェイスXI:レンダリングされたコントロール(ビルド14.2)

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

ライブラリのこの新バージョンでは、すべてのコントロールが個別のOBJ_BITMAP_LABEL型のグラフィカルオブジェクトに描画されます。また、コードの最適化についても引き続き説明し、ライブラリの中核クラスの変更について説明します。
プロフィット引き出しモデル構築のためのTesterWithdrawal() 関数の使用
プロフィット引き出しモデル構築のためのTesterWithdrawal() 関数の使用

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

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

マウンテンチャートとアイスバーグチャート

MetaTrader 5プラットフォームに新しいチャートタイプを追加するというアイデアはいかがでしょうか。このプラットフォームには他のプラットフォームにあるものがいくつかないという声もあります。しかし、実際のところ、MetaTrader 5は他の多くのプラットフォームではできないこと(少なくとも簡単にはできないこと)ができる、非常に実用的なプラットフォームです。
preview
MQL5でのグラフィカルパネルの作成を簡単に

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

この記事では、取引において最も価値があり役立つツールの1つであるグラフィカルパネルを作成する必要がある人に、シンプルで簡単なガイドを提供します。グラフィカルパネルは、取引に関するタスクを簡素化および容易にして、時間を節約し、気を散らすことなく取引プロセスそのものに集中するのに役立ちます。
2013 年第三四半期 MetaTrader AppStore 実績
2013 年第三四半期 MetaTrader AppStore 実績

2013 年第三四半期 MetaTrader AppStore 実績

また四半期が経過したところで、 MetaTrader AppStore の実績を集計することにしました。MetaTrader AppStore は MetaTrader の売買ロボットおよびテクニカルインディケータの最大ストアです。報告対象四半期の終わりまでに「マーケット」には 500 人以上の開発者が 1,200 以上のプロダクツを出しました。
トレーダミネーター 3:売買ロボットの台頭
トレーダミネーター 3:売買ロボットの台頭

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

記事 "Dr. Tradelove..." で Expert Advisorを作成しました。それは選択済みのトレーディングシステムのパラメータを自立的に最適化するものです。それ以上に EAにある一つのトレーディングシステムのパラメータだけを最適化するのではなく、複数あるトレーディングシステムから最良のものを選ぶExpert Advisorを作成しようと決めました。それがどうなったか見ていきます。
CCIによる取引システムの設計方法を学ぶ
CCIによる取引システムの設計方法を学ぶ

CCIによる取引システムの設計方法を学ぶ

今回は、取引システムの設計方法を学ぶ連載の新しい記事として、CCI(商品チャンネル指数、Commodities Channel Index)を紹介し、その詳細を説明し、この指標に基づいた取引システムの作り方を紹介します。
preview
母集団最適化アルゴリズム:コウモリアルゴリズム(BA)

母集団最適化アルゴリズム:コウモリアルゴリズム(BA)

今回は、滑らかな関数に対して良好な収束性を示すコウモリアルゴリズム(BA)について考えてみることにします。
preview
MQL5入門(第1部):アルゴリズム取引入門ガイド

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

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

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

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