MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
ニューラルネットワークが簡単に(第17部):次元削減

ニューラルネットワークが簡単に(第17部):次元削減

今回は、人工知能モデルについて引き続き説明します。具体的には、教師なし学習アルゴリズムについて学びます。クラスタリングアルゴリズムの1つについては既に説明しました。今回は、次元削減に関連する問題を解決する方法のバリエーションを紹介します。
取引のための組合せ論と確率論(第III部): 初めての数学モデル
取引のための組合せ論と確率論(第III部): 初めての数学モデル

取引のための組合せ論と確率論(第III部): 初めての数学モデル

前に説明したトピックの論理的な続きは、取引タスクのための多機能数学モデルの開発です。本稿では、フラクタルを記述する最初の数学モデルの開発に関連するプロセス全体を最初から説明します。このモデルは重要な構成要素になるもので、多機能で普遍的である必要があります。それは、このアイデアをさらに発展させるための理論的基礎を構築します。
preview
Goertzelアルゴリズムによるサイクル分析

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

この記事では、MQL5でGoertzel(ゲルツェル)アルゴリズムを実装するコードユーティリティを紹介し、このテクニックを価格相場の分析に利用し、可能な戦略を開発するための2つの方法を探ります。
データ配列間の相関を解析するためのCGraphicに基づくPairPlot グラフ (時系列)
データ配列間の相関を解析するためのCGraphicに基づくPairPlot グラフ (時系列)

データ配列間の相関を解析するためのCGraphicに基づくPairPlot グラフ (時系列)

テクニカル分析に複数の時系列を比較することは、適切なツールを必要としますが一般的なタスクです。 この記事では、グラフィカル解析のツールを開発し、2つ以上の時系列間の相関関係を検出します。
マウンテンチャートとアイスバーグチャート
マウンテンチャートとアイスバーグチャート

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

MetaTrader 5プラットフォームに新しいチャートタイプを追加するというアイデアはいかがでしょうか。このプラットフォームには他のプラットフォームにあるものがいくつかないという声もあります。しかし、実際のところ、MetaTrader 5は他の多くのプラットフォームではできないこと(少なくとも簡単にはできないこと)ができる、非常に実用的なプラットフォームです。
preview
ONNX統合の課題を克服する

ONNX統合の課題を克服する

ONNXは、異なるプラットフォーム間で複雑なAIコードを統合するための素晴らしいツールです。ただし、この素晴らしいツールを最大限に活用するためにはいくつかの課題に対処する必要があります。この記事では、読者が直面する可能性のある一般的な問題と、それを軽減する方法について説明します。
preview
自動で動くEAを作る(第09回):自動化(I)

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

自動EAの作成はそれほど難しい作業ではありませんが、必要な知識がないと多くの間違いを犯す可能性があります。この記事では、ブレイクイーブンとトレーリングストップレベルを作動させるトリガーの作成からなる自動化の最初のレベルを構築する方法について見ていきます。
preview
MQL5でのグラフィカルパネルの作成を簡単に

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

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

MQL5 クックブック:BookEvent の処理

本稿では BookEvent-マーケットデプスイベントの深さとその処理原則について考察します。「マーケットデプス」を処理するMQL プログラムが例となります。それはオブジェクト指向のアプローチで書かれています。処理結果はパネルとして、またマーケットデプスのレベルとして画面に表示されます。
トレードにおけるOLAPの適用(パート1):多次元データのオンライン分析
トレードにおけるOLAPの適用(パート1):多次元データのオンライン分析

トレードにおけるOLAPの適用(パート1):多次元データのオンライン分析

この記事では、多次元データ(OLAP)のオンライン分析のフレームワークを作成する方法、およびMQLで実装する方法、およびトレード口座ヒストリー処理の例を使用してMetaTrader環境でそのような分析を適用する方法について説明します。
非加法的統計分布構造解析への固有座標法の応用
非加法的統計分布構造解析への固有座標法の応用

非加法的統計分布構造解析への固有座標法の応用

応用統計学の主な問題は受け入れる統計仮説の問題ですそれはながらく解決不可能と考えられていました。しかし、固有座標法の登場により状況は一変しました。それはシグナルの構造学にとってすぐれた力強いツールであり、近代的な応用統計学手法を用いることで、可能なこと以上のものを見極めることができるようになります。本稿はこの手法の実践的使用に着目し、MQL5によるプログラムの説明をします。また Hilhorst と Schehrによって紹介される分布例を交えて関数同定の問題も取り上げます。
preview
MQL5での行列およびベクトル演算

MQL5での行列およびベクトル演算

行列とベクトルがMQL5に導入され、数学的な解決策による効率的な操作が可能になりました。これらの新しい型は、数学表記に近い簡潔でわかりやすいコードを作成するための組み込みメソッドを提供します。配列は広範な機能を提供しますが、行列の方がはるかに効率的である場合が多くあります。
MQL5 クックブック:MetaTrader 5 ストラレジーテスタでの position プロパティ分析
MQL5 クックブック:MetaTrader 5 ストラレジーテスタでの position プロパティ分析

MQL5 クックブック:MetaTrader 5 ストラレジーテスタでの position プロパティ分析

先行記事 "MQL5 Cookbook: Position Properties on the Custom Info Panel"の Expert Advisor の変更バージョンを提供します。お伝えする問題の中にはバーからのデータ取得、現シンボルにおける新規バーイベント確認、ファイルに標準ライブラリのトレードクラスのインクルード、トレード処理実行用トレードシグナルおよび関数検索のための関数作成、OnTrade() 関数におけるトレードイベント決定などがあります。
preview
Volumesによる取引システムの設計方法を学ぶ

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

最も人気のあるテクニカル指標に基づいて取引システムを設計する方法を学ぶための連載の新しい記事です。今回は、Volumes指標について紹介します。出来高という概念は、金融市場の取引において非常に重要な要素の1つであり、注意を払う必要があります。この記事では、Volumes指標を使用した簡単な取引システムの設計方法について説明します。
preview
回帰指標を用いたONNXモデルの評価

回帰指標を用いたONNXモデルの評価

回帰とは、ラベル付けされていない例から実際の値を予測するタスクのことです。いわゆる回帰メトリクスは、回帰モデルの予測精度を評価するために使用されます。
preview
知っておくべきMQL5ウィザードのテクニック(第06回):フーリエ変換

知っておくべきMQL5ウィザードのテクニック(第06回):フーリエ変換

ジョセフ・フーリエによって導入されたフーリエ変換は、複雑なデータの波動点を単純な構成波に分解する手段です。この記事では、トレーダーにとって有益なこの機能を見ていきます。
プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換
プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換

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

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

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

以前の記事では、複数のサブウィンドウでインジケータを作成する方法を説明しました。これは、カスタムインジケータを使用するときに興味深いものになります。今回は、エキスパートアドバイザーに複数のウィンドウを追加する方法を説明します。
デルタインジケータの例によるボリュームコントロールを特徴とする株式インジケータの開発
デルタインジケータの例によるボリュームコントロールを特徴とする株式インジケータの開発

デルタインジケータの例によるボリュームコントロールを特徴とする株式インジケータの開発

この記事では、CopyTicks() および CopyTicksRange() 関数を使用して、実際のボリュームに基づいた株価インジケータを開発するアルゴリズムを扱います。 このようなインジケータの開発については、リアルタイムでの操作とストラテジーテスターにおける細かい側面も説明されています。
MQL5.comのフリーランスのお仕事 - 開発者のお気に入りの場所
MQL5.comのフリーランスのお仕事 - 開発者のお気に入りの場所

MQL5.comのフリーランスのお仕事 - 開発者のお気に入りの場所

トレーディングシステムの開発者は、エキスパートアドバイザーを必要とするトレーダーに彼らのサービスをマーケティングする必要はありません - 彼らが探してくれるのです。すでに、何千ものトレーダーがMQL5のフリーランス開発者に注文を頼み、MQL5.comにて作業に支払いを行っています。4年間、このサービスは10000以上もの仕事に対して累計3000人のトレーダーが支払えるようにしてきました。そして、トレーダーと開発者の活動は常に拡大しています。
ソーシャルテクノロジースタートアップの構築 パート1: MetaTrader 5 シグナルをツイートする
ソーシャルテクノロジースタートアップの構築 パート1: MetaTrader 5 シグナルをツイートする

ソーシャルテクノロジースタートアップの構築 パート1: MetaTrader 5 シグナルをツイートする

今日は MetaTrader 5 ターミナルを Twitter とリンクする方法を学習し、EA のトレードシグナルをツイートできるようにします。RESTful ウェブサービスに基づく PHP にソーシャルディシジョン支援システムを作成します。この考えはコンピュータ援用取引と呼ばれる自動トレーディングの特定の概念からきています。われわれは 別の方法でExpert Advisors によって自動でマーケットに出されるトレードシグナルをフィルターにかける人間のトレーダーの認知能力を欲しています。
MetaTrader 5:ビログやSNS、専門サイトなどのトレーディング予想とライブトレーディング内容のメール配信
MetaTrader 5:ビログやSNS、専門サイトなどのトレーディング予想とライブトレーディング内容のメール配信

MetaTrader 5:ビログやSNS、専門サイトなどのトレーディング予想とライブトレーディング内容のメール配信

この記事は、Meta Trader 5を使用したトレード予想の投稿に関する完成されたソリューションについて紹介することを目的としています。様々なアイディアをカバーしており、Meta Traderにおける記述文を投稿する専門サイトを使用することから、Webプログラミングなしで視覚的にWebサイトを構築したり、分析者を読者がフォローすることができるSNSサービスとの統合まで行うことができます。ここで紹介されているソリューションは、完全無料提供されており、eメールやftpサービスの基礎的な知識を持っている人なら誰でもセットアップすることが可能です。専門的なホスティング技術や、トレーディング予想サービスと同様のものを使用することができ、全く障害がありません。
preview
MQL5の圏論(第22回):移動平均の別の見方

MQL5の圏論(第22回):移動平均の別の見方

この記事では、最も一般的で、おそらく最も理解しやすい指標を1つだけ取り上げて、連載で扱った概念の説明の簡略化を試みます。移動平均です。そうすることで、垂直的自然変換の意義と可能な応用について考えます。
DoEasyライブラリの時系列(第42部): 抽象指標バッファオブジェクトクラス
DoEasyライブラリの時系列(第42部): 抽象指標バッファオブジェクトクラス

DoEasyライブラリの時系列(第42部): 抽象指標バッファオブジェクトクラス

この記事では、DoEasyライブラリの指標バッファクラスの開発を開始します。さまざまな種類の指標バッファの開発の基礎として使用される抽象バッファの基本クラスを作成します。
グラフィカルインタフェース IV:情報インターフェース要素(チャプター1)
グラフィカルインタフェース IV:情報インターフェース要素(チャプター1)

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

開発の現段階では、グラフィカルインタフェース作成のライブラリは、フォームとそれに取り付けることができるいくつかのコントロールを含んでいます。今後の記事の1つがマルチウィンドウモードについてになることは、以前に言及されました。そのための準備が整ったので、それは次の章で対処します。この章では、ステータスバーとツールチップ情報インタフェース要素を作成するためのクラスを作成します。
preview
リプレイシステムの開発 - 市場シミュレーション(第14回):シミュレーターの誕生(IV)

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

この記事ではシミュレーターの開発段階を続けます。 今回は、ランダムウォークタイプの動きを効果的に作成する方法を見ていきます。このような動きには非常に興味をそそられます。資本市場で起こるすべてのことの基礎がそれによって形成されるためです。さらに、市場分析をおこなう上で基本となるいくつかの概念についても理解を深めていきます。
preview
一からの取引エキスパートアドバイザーの開発(第18部):新規受注システム(I)

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

今回は新規受注システムの第一弾です。本連載で紹介し始めてから、このEAは、同じチャート上注文システムモデルを維持しながら様々な変更と改良を受けてきました。
preview
母集団最適化アルゴリズム:ホタルアルゴリズム(FA)

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

今回は、ホタルアルゴリズム(FA)という最適化手法について考えてみます。修正により、このアルゴリズムは部外者から真の評価表リーダーへと変貌を遂げました。
preview
パターン検索への総当たり攻撃アプローチ(第II部): イマージョン

パターン検索への総当たり攻撃アプローチ(第II部): イマージョン

本稿では、引き続き総当たり攻撃アプローチについて説明します。改良されたアプリケーションの新バージョンを使用して、パターンをより良く説明を試みます。また、さまざまな時間間隔と時間枠を使用して、安定性の違いの特定も試みます。
preview
高度なリサンプリングと総当たり攻撃によるCatBoostモデルの選択

高度なリサンプリングと総当たり攻撃によるCatBoostモデルの選択

本稿では、モデルの一般化可能性を向上させることを目的としたデータ変換への可能なアプローチの1つについて説明し、CatBoostモデルの抽出と選択についても説明します。
preview
MQL5でのAutoItの使用

MQL5でのAutoItの使用

簡単に説明すると、この記事では、MQL5をAutoItと統合することによってMetraTrader5ターミナルのスクリプトを作成します。その中で、ターミナルのユーザーインターフェイスを操作することによってさまざまなタスクを自動化する方法を説明し、AutoItXライブラリを使用するクラスも紹介します。
価格 Correlationの統計データを基にしたシグナルのフィルタリング
価格 Correlationの統計データを基にしたシグナルのフィルタリング

価格 Correlationの統計データを基にしたシグナルのフィルタリング

過去の価格変動と将来のトレンドの間に関連はあるのでしょうか?前日の値動き特性が本日繰り返されるのはなぜでしょうか?価格変動予想に統計は有用でしょうか?答えはあり、それはポジティブなものです。もしお疑いならこの記事はそんな方向けです。MQL5のシステムでトレーディングシステム向けの作業フィルター作成方法をお話します。それは価格変動の興味深いパターンを表します。
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関連のツールを快適に構築できるはずです。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第5部): 取引イベントのクラスとコレクション、プログラムへのイベント送信
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第5部): 取引イベントのクラスとコレクション、プログラムへのイベント送信

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第5部): 取引イベントのクラスとコレクション、プログラムへのイベント送信

前の記事では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。第4部では、口座の取引イベントの追跡をテストしました。本稿では、取引イベントクラスを開発してイベントコレクションに配置します。そこからは、これらはエンジンライブラリの基本オブジェクトとコントロールプログラムチャートに送信されます。
自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法
自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法

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

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

自己適応アルゴリズム(第III部):最適化の放棄

履歴データに基づく最適化を使用してパラメータを選択する場合、真に安定したアルゴリズムを取得することは不可能です。安定したアルゴリズムは、常時、どんな取引商品で作業していても、必要なパラメータを認識している必要があります。予測や推測ではなく、確実に知っているべきです。
preview
パラボリックSARを使ってトレーリングストップを追加する方法

パラボリックSARを使ってトレーリングストップを追加する方法

取引戦略を作成する際には、さまざまな保護ストップのオプションをテストする必要があります。その中で、価格に追随してストップロスレベルをダイナミックに引き上げる方法が考えられます。その最有力候補として、パラボリックSAR指標が挙げられます。これ以上シンプルで視覚的にわかりやすい指標はないでしょう。
ソースコードのトレーシング デバッギング 構造分析
ソースコードのトレーシング デバッギング 構造分析

ソースコードのトレーシング デバッギング 構造分析

実行されたコードのストラクチャーの作成とトレーシングの複雑な問題は、特に困難なく解決することができます。これは、MetaTrader5から可能になりました。これは、MQL5言語の新しい機能である、様々な複雑なデータ型の自動生成やローカルスコープ外に出た際の除去などのおかでです。この記事は、その方法論や、すぐ使えるツールを紹介します。
preview
データサイエンスと機械学習(第10回):リッジ回帰

データサイエンスと機械学習(第10回):リッジ回帰

リッジ回帰は、モデルの複雑さを軽減し、単純な線形回帰に起因する過学習を防ぐためのシンプルな手法です。
同事線の例で示されているローソク足パターン認識の改善
同事線の例で示されているローソク足パターン認識の改善

同事線の例で示されているローソク足パターン認識の改善

通常より多くのローソク足パターンを見つけるにはどうしたらよいでしょうか。ローソク足パターンの単純さの背後には、深刻な欠点もあります。これは、最新の取引自動化ツールの大幅に強化された機能を使用することで解消できます。