MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
取引における資金管理

取引における資金管理

資金管理システムの新しい構築方法をいくつか見て、その主な特徴を定義します。今日では、あらゆる好みに合わせて、かなりの数の資金管理戦略が存在します。さまざまな数学的成長モデルに基づいた資金管理方法をいくつか考えてみます。
可視化検証:機能強化
可視化検証:機能強化

可視化検証:機能強化

本稿はストラテジーテスタをかなり現実のトレーディングに近づけるソフトウェアについて説明します。
preview
改善された同事ローソク足パターン認識指標に基づく取引戦略

改善された同事ローソク足パターン認識指標に基づく取引戦略

メタバーベースの指標は、従来のものよりも多くのローソク足を検出しました。これが自動売買に本当に役立つのか、検証してみましょう。
キャンバスクラスの学習。アンチエイリアスと影
キャンバスクラスの学習。アンチエイリアスと影

キャンバスクラスの学習。アンチエイリアスと影

キャンバスクラスのアンチエイリアシングアルゴリズムは、アンチエイリアスが使用されているすべての構造の基本です。この記事では、アルゴリズムがどのように動作するかについて扱い、可視化に関連する例を示します。また、グラフィックオブジェクトの描画の色合いをカバーし、キャンバス上の図形を描画するために開発された詳細なアルゴリズムがあります。数値解析ライブラリALGLIBは、計算に使用します。
通貨ペアバスケットをトレードするときに発生するパターンのテスト パート III
通貨ペアバスケットをトレードするときに発生するパターンのテスト パート III

通貨ペアバスケットをトレードするときに発生するパターンのテスト パート III

この記事では、通貨ペアバスケットのトレード時に検出可能なパターンのテストをします。 ここでは、通貨の動きを互いに相対的に追跡するパターンをテストします。
一連の取引に対するリスク評価
一連の取引に対するリスク評価

一連の取引に対するリスク評価

この記事では、トレードシステムの分析における確率と数学的統計理論のメソッドについて説明します。
preview
取引システムの開発における勾配ブースティング(CatBoost)素朴なアプローチ

取引システムの開発における勾配ブースティング(CatBoost)素朴なアプローチ

PythonでCatBoost分類器を訓練してモデルをmql5にエクスポートし、モデルパラメータとカスタムストラテジーテスターを解析します。Python言語とMetaTrader5ライブラリは、データの準備とモデルの訓練に使用されます。
グラフィカルインタフェースX:リストとテーブルの高度な管理コードの最適化(ビルド7)
グラフィカルインタフェースX:リストとテーブルの高度な管理コードの最適化(ビルド7)

グラフィカルインタフェースX:リストとテーブルの高度な管理コードの最適化(ビルド7)

ライブラリコードの最適化が必要です。それは、より規則正しく、学習のために読みやすく理解しやすくなければありません。さらに、以前に作成したコントロール(リスト、テーブル、スクロールバー)の開発が続きます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第13部): 口座オブジェクトイベント
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第13部): 口座オブジェクトイベント

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第13部): 口座オブジェクトイベント

本稿では、自動取引に影響する口座プロパティの重要な変更を追跡するために、口座イベントの使用について検討しています。口座イベントを追跡するための機能のいくつかは、前の記事で口座オブジェクトコレクションを開発するときに既に実装しています。
クロスプラットフォームEA: ストップ
クロスプラットフォームEA: ストップ

クロスプラットフォームEA: ストップ

この記事では、2つのプラットフォームMetaTrader4とMetaTrader5との互換性を確保するために、EAのストップの実装について説明します。
preview
ニューラルネットワークの実験(第3回):実用化

ニューラルネットワークの実験(第3回):実用化

この連載では、実験と非標準的なアプローチを使用して、収益性の高い取引システムを開発し、ニューラルネットワークがトレーダーに役立つかどうかを確認します。ニューラルネットワークを取引に活用するための自給自足ツールとしてMetaTrader 5にアプローチします。
MetaTrader 4 および MetaTrader 5 トレーディングプラットフォームによるソーシャルトレード
MetaTrader 4 および MetaTrader 5 トレーディングプラットフォームによるソーシャルトレード

MetaTrader 4 および MetaTrader 5 トレーディングプラットフォームによるソーシャルトレード

ソーシャルトレードとは?ソーシャルトレードとは、成功したトレーダーがそのトレーディングをモニターさせてくれたり、潜在的投資家が彼らのパフォーマンスをモニターするチャンスを得たり、将来有望なトレードをコピーするといった、トレーダーや投資家の互恵的協力を言います。
preview
自動で動くEAを作る(第06回):口座の種類(I)

自動で動くEAを作る(第06回):口座の種類(I)

今日は、自動モードでシンプルかつ安全に動作するエキスパートアドバイザー(EA)を作成する方法を紹介します。このEAは、現状ではどんな状況でも機能しますが、まだ自動化には至っていません。まだ、いくつかの点で工夫が必要です。
Expert Advisor ビジュアルウィザードを用いたExpert Advisorsの作成
Expert Advisor ビジュアルウィザードを用いたExpert Advisorsの作成

Expert Advisor ビジュアルウィザードを用いたExpert Advisorsの作成

MetaTrader 5 用Expert Advisor ビジュアルウィザードは、数分でExpert Advisを設計することができる理解しやすい定義済みトレーディンブロックセットを伴う高い直観的グラフィカル環境を提供します。Expert Advisor ビジュアルウィザードのクリック、ドラッグ、ドロップ方法により鉛筆と紙で行うように外為トレーディング戦略のビジュアル表現とシグナルを作成することができます。こういったトレーディングダイアグラムは、それらをすぐに使える Expert Advisorsに変換するモラニス社製 MQL5によって自動的に分析されます。連携したグラフィカル環境は設計プロセスを簡素化し、 MQL5 コードを書く必要はなくなります。
グラフィカルインタフェースVIII:カレンダーコントロール(チャプター1)
グラフィカルインタフェースVIII:カレンダーコントロール(チャプター1)

グラフィカルインタフェースVIII:カレンダーコントロール(チャプター1)

このMetaTraderでのグラフィカルインタフェースの作成に専念した記事シリーズの第八部では、カレンダー、ツリービュー、およびファイルナビゲーターのような複雑な複合コントロールが検討されます。情報が大量のため、それぞれは個別の記事に書かれています。この部分の最初の章では、カレンダーコントロールとその拡張バージョンであるドロップダウンカレンダーに ついて説明します。
preview
プロップファームから少し教訓を得よう(第1回)-導入編

プロップファームから少し教訓を得よう(第1回)-導入編

今回は、プロップファーム(自己勘定取引会社)が実施するチャレンジルールから得られる教訓のいくつかを取り上げます。これは特に、初心者の方や、この取引の世界で足元を固めるのに苦労している方には重要です。次の記事では、コードの実装について説明します。
移動ミニマックス法:テクニカル分析用新インディケータと MQL5への実装実装
移動ミニマックス法:テクニカル分析用新インディケータと MQL5への実装実装

移動ミニマックス法:テクニカル分析用新インディケータと MQL5への実装実装

本稿ではZ.G.Silagadze氏による論文 'Moving Mini-max: a new indicator for technical analysis'を基にした移動ミニマックス インディケータの実装手順について述べます。このインディケータの考え方は、G. Gamov 氏のα 崩壊で提案される量子トンネル現象を基にしています。
もうひとつ別の MQL5 OOP クラス
もうひとつ別の MQL5 OOP クラス

もうひとつ別の MQL5 OOP クラス

本稿では一からオブジェクト指向 Expert Advisor を構築する方法をお伝えします。トレードの理論的考えを着想することからその考えを実験的世界で実現する MQL5 EA をプログラムするまでです。実践から学ぶことは IMHO で成功への確実な方法です。よってみなさんが最終的に Forex ロボットのコーディングをするために考えを整理できる方法を確認していただけるよう実例を示していきます。また私の目標はみなさんにオブジェクト指向の原理に忠実に従うようお勧めすることです。
グラフィカルインタフェースVII: テーブルコントロール(チャプター 1)
グラフィカルインタフェースVII: テーブルコントロール(チャプター 1)

グラフィカルインタフェースVII: テーブルコントロール(チャプター 1)

MetaTraderグラフィカルインタフェースに関するシリーズの第七部では、テキストラベル、エディットボックスとレンダーボックスの3つのテーブルタイプについてお話します。後1つの重要かつ頻繁に使用されるコントロールはタブで、これは、他のコントロールのグループを表示/非表示してMQLアプリケーション内でスペースを有効に使ったインタフェースを開発することを可能にします。
直近のピップのプロフィットダウンを抽出
直近のピップのプロフィットダウンを抽出

直近のピップのプロフィットダウンを抽出

この記事では、アルゴリズムトレード分野における理論と実践を組み合わせる試みについて説明します。 トレーディングシステムの作成に関する考察のほとんどは、ヒストリーバーや適用される様々なインジケータの使用に関連します。 これは最もよくカバーされたフィールドであるため、詳細は考慮しません。 バーは人工的なエンティティを表します。したがって、プロトデータに近い何か、すなわち価格ティックで動作します。
preview
連続歩行順最適化(パート1):最適化レポートの使用

連続歩行順最適化(パート1):最適化レポートの使用

最初の記事では、最適化レポートを操作するためのツールキットの作成、ターミナルからのインポート、取得したデータのフィルタリングとソートに関する説明を行います。 MetaTrader5では最適化結果のダウンロードが可能ですが、今回の目的は最適化レポートに独自のデータを追加することです。
MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知
MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知

MQL5 クックブック:MetaTrader 5トレードイベントへの音声通知

本稿では Expert Advisor のファイルに音声ファイルをインクルードすること、それによりトレードイベントに音声通知を追加するなどの問題を考察します。事実、ファイルのインクルードが意味するところは Expert Advisor内に音声ファイルを入れるということです。よってコンパイルされた Expert Advisor (*.ex5) バージョンを他のユーザーに提供する際、音声ファイルは提供せずそれがどこの保存されるか説明する必要があるのです。
非標準タイムフレームでエキスパートアドバイザーをテストするには
非標準タイムフレームでエキスパートアドバイザーをテストするには

非標準タイムフレームでエキスパートアドバイザーをテストするには

これは簡単なことではありません。”超”簡単なことです。非標準タイムフレームでエキスパートアドバイザーをテストすることは可能です!必要なことは、標準タイムフレームのデータを非標準タイムフレームのデータに置き換えることだけです。加えて、非標準タイムフレームのデータをいくつか使ってエキスパートアドバイザーをテストすることもできます。
30のインジケーターとオシレーターの比較分析
30のインジケーターとオシレーターの比較分析

30のインジケーターとオシレーターの比較分析

この記事は、トレーディングのための効果的なインデックスパッケージの作成を目的として30のインジケーターとオシレーターの比較分析を行うエキスパートアドバイザーについてです。
MetaTrader 5 でRSS フィードを表示するためのインタラクティブアプリケーション構築
MetaTrader 5 でRSS フィードを表示するためのインタラクティブアプリケーション構築

MetaTrader 5 でRSS フィードを表示するためのインタラクティブアプリケーション構築

本稿では RSS フィードを表示するためのアプリケーションを作成する機能を見ていきます。本稿は MetaTrader 5 用のインタラクティブプログラム作成に標準ライブラリの特徴を利用する方法を示します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第26部): 未決取引リクエスト - 特定の条件下でのポジションのオープン
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第26部): 未決取引リクエスト - 特定の条件下でのポジションのオープン

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第26部): 未決取引リクエスト - 特定の条件下でのポジションのオープン

この記事から始めて、特定の制限時間に達した、指定された利益を超えた、ストップロスによってポジションを決済したなどの特定の条件下で保留中リクエストを使用して取引できるようにする機能を開発します。
トレードレポートとSMS通知の作成と発行
トレードレポートとSMS通知の作成と発行

トレードレポートとSMS通知の作成と発行

トレーダーはかならずしも何時間もトレーディング端末の前に座っていられるわけでも、またそうしたいわけでもありません。特に、トレーディングシステムが多かれ少なかれ形式化され自動でマーケット状況を特定できる場合にはそうです。本稿ではトレード結果レポートをHTMLファイルとして作成し、FTPを介してWWWサーバーにアップロードする方法について述べます。また、トレードイベント通知をSMSとして携帯電話に送信することみついても考察します。
preview
ニューラルネットワークが簡単に(第9部):作業の文書化

ニューラルネットワークが簡単に(第9部):作業の文書化

長い道のりでした。ライブラリ内のコードはどんどん増えてきており、すべてのリンクと依存関係を追跡することが困難になっています。したがって、以前に作成したコードのドキュメントを作成し、新しい手順ごとに更新し続けることをお勧めします。適切に準備された文書化は、作業の整合性を確認するのに役立ちます。
より優れたプログラマー(第03部): MQL5プログラマーとして成功するためにあきらめなければいけない5つのこと
より優れたプログラマー(第03部): MQL5プログラマーとして成功するためにあきらめなければいけない5つのこと

より優れたプログラマー(第03部): MQL5プログラマーとして成功するためにあきらめなければいけない5つのこと

この記事は、プログラミングのキャリアを向上させたい人にとって必読です。本連載は、どんなに経験が豊富な読者でも最高のプログラマーになれることを目的としています。議論されたアイデアは、MQL5プログラミングの初心者だけでなくプロにも役立ちます。
preview
アクセラレーターオシレーター(Accelerator Oscillator)による取引システムの設計方法を学ぶ

アクセラレーターオシレーター(Accelerator Oscillator)による取引システムの設計方法を学ぶ

最も人気のあるテクニカル指標によって取引システムを設計する方法についての連載の新しい記事へようこそ。今回は、新しい指標であるアクセラレーターオシレーター(Accelerator Oscillator、AC)について学び、それを使った取引システムを設計する方法を学びます。
FOREX におけるクラスターインディケータの実用的な応用
FOREX におけるクラスターインディケータの実用的な応用

FOREX におけるクラスターインディケータの実用的な応用

クラスターインディケータは通貨ペアを個別の通貨に分けるインディケータのセットです。インディケータにより、相対的通貨変動を追跡し、潜在的な新しい通貨トレンド形成を判断し、トレードシグナルを受信し、中長期ポジションをフォローすることができます。
MetaTrader4とMetaTrader5のトレーディングシグナル用ウィジェット
MetaTrader4とMetaTrader5のトレーディングシグナル用ウィジェット

MetaTrader4とMetaTrader5のトレーディングシグナル用ウィジェット

MetaTrader4とMetaTrader5ユーザーがシグナル提供者になり、さらなる利益を生む機会を得ることができるようになりました。新しいウィジェットを用いて、あなたのサイトやブログ、SNSページにトレーディング実績を掲載できます。ウィジェットを用いる利点は明確です;シグナルプロバイダーの人気を向上し、成功したトレーダーとしての評判を築くのみでなく、新しい購読者を惹きつけます。その他のサイトにウィジェットを載せているトレーダーはこれらの利益を享受できます。
スタンダードライブラリーのクラスとグーグルチャートAPIを用いて情報ボードを生成する
スタンダードライブラリーのクラスとグーグルチャートAPIを用いて情報ボードを生成する

スタンダードライブラリーのクラスとグーグルチャートAPIを用いて情報ボードを生成する

MQL5 プログラミング言語は主に自動取引システムと複雑な技術的解析の道具の創造をターゲットとしている。. しかしこのことを別として、これはマーケットの状況の追跡に対する興味深いシステムの創造も可能にし、トレーダーとの相互のつながりを与える。この記事ではMQL5の標準ライブラリーの要素とこのような目的に到達するための実例を示すことにする。またチャート作成のためのグーグルチャートAPIの使用についても例を示す。
preview
エキスパートアドバイザー(EA)の選び方:取引ボットを却下するための20の強力な基準

エキスパートアドバイザー(EA)の選び方:取引ボットを却下するための20の強力な基準

この記事では、「どうやって正しいエキスパートアドバイザーを選べばいいのか」という問いに答えようと思います。ポートフォリオに最適なのはどれでしょうか。また、市場で入手できる大規模な取引ボットリストをどのようにフィルタリングすればいいのでしょうか。この記事では、エキスパートアドバイザーを却下するための20の明確で強力な基準を紹介します。それぞれの基準が提示され、よく説明されているので、より持続的な判断ができ、より収益性の高いエキスパートアドバイザーを集めることができるようになります。
統計的推定
統計的推定

統計的推定

シーケンスの統計的パラメータの推定はたいへん重要なものです。それはたいていの数学的モデルと手法が異なる前提に基づいているからです。たとえば、分布法則の正常化、分散値、その他パラメータです。よって時系列を分析し推定するとき、主要な統計的パラメータを素早く明確に推定できるシンプルで使い勝手のよいツールが必要です。本稿では、もっともシンプルなランダムシーケンスの統計パラメータとビジュアル分析のメソッドをいくつか取り上げ述べていきます。それにより MQL5 でこれらメソッド、またニュープロットアプリケーションを用いて計算した結果の視覚化メソッドを実装します。
preview
自動で動くEAを作る(第05回):手動トリガー(II)

自動で動くEAを作る(第05回):手動トリガー(II)

今日は、自動モードでシンプルかつ安全に動作するエキスパートアドバイザー(EA)を作成する方法を紹介します。前回の最後に、少なくともしばらくはEAを手動で使えるようにするのが適切ではないかと提案しました。
例で紹介するMQL5のOOP:警告処理とエラーコード
例で紹介するMQL5のOOP:警告処理とエラーコード

例で紹介するMQL5のOOP:警告処理とエラーコード

この記事は、MQLプログラム稼働中に発生するすべてのエラーや、トレードサーバーを扱うクラスを作成する例を紹介しています。記事を読めば、MQL5のオブジェクトやクラスを使用する方法を学ぶことができます。同時に、これはエラーをハンドリングする便利なツールでもあり、さらに、あなたの個別な要求に応じてツールのカスタマイズが可能です。
ユニバーサルEA:カスタムストラテジーと補助トレードクラス(その3)
ユニバーサルEA:カスタムストラテジーと補助トレードクラス(その3)

ユニバーサルEA:カスタムストラテジーと補助トレードクラス(その3)

この記事では、ストラテジーの取引エンジンのアルゴリズムを分析していきます。シリーズの3番目の部分は、このアプローチを使用して、特定の取引ストラテジーを開発する方法の詳細な分析があります。特別な注意が補助アルゴリズムに必要です - EAは、従来のインデクサーを使用して、システムとデータへのアクセスをログに記録します(Close[1]、Open[0]など)
preview
DoEasy - コントロール(第1部):最初のステップ

DoEasy - コントロール(第1部):最初のステップ

本稿では、MQL5を使用してWindows Formsスタイルのコントロールを作成するという広範なトピックを開始します。私が最初に興味を持ったのは、パネルクラスを作成することです。コントロールなしで物事を管理することはすでに困難になっています。したがって、可能なすべてのコントロールをWindows Formsスタイルで作成します。
トレーダーライフハック:テスト中の資産、ドローダウン、負荷と目盛りインジケータ
トレーダーライフハック:テスト中の資産、ドローダウン、負荷と目盛りインジケータ

トレーダーライフハック:テスト中の資産、ドローダウン、負荷と目盛りインジケータ

テストプロセスをどのように視覚的に作ることができるでしょう?答えは簡単です:ストラテジーテスターでドローダウン・預金・負荷のインジケーターを含むティック・インジケータ、バランスインジケーターを使用します。このソリューションは、ティック、相場変化、ドローダウン、資産、負荷を視覚的に追跡するのに役立ちます。