MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
ソフトウェア開発とMQL5におけるデザインパターン(第1回):生成パターン

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

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

デイトレーディングの時間変換の原則

この記事は、価格フローを取得するためのオペレーション時間のコンセプトについて記載しています。この時間変換を考慮し、変更される移動平均のコードも含んでいます。
preview
ペアトレード

ペアトレード

本稿では、ペアトレードについて、その原理は何か、実用化の見込みはあるのかを考えてみたいと思います。また、ペアトレード戦略にも挑戦します。
preview
MQL5クックブック - 経済指標カレンダー

MQL5クックブック - 経済指標カレンダー

この記事では、経済指標カレンダーのプログラミング機能に焦点を当て、カレンダーのプロパティに簡単にアクセスしてイベント値を受け取るためのクラスの作成について考察し検討します。実用的な例として役立つように、CFTCの投機筋ネットポジションを使用して指標を開発します。
なぜ2014年8月1日までに、MetaTrader 4を最新のビルドにアップデートする必要があるのでしょうか?
なぜ2014年8月1日までに、MetaTrader 4を最新のビルドにアップデートする必要があるのでしょうか?

なぜ2014年8月1日までに、MetaTrader 4を最新のビルドにアップデートする必要があるのでしょうか?

2014年8月1日から、MetaTrader 4デスクトップターミナルのビルド600以前のバージョンはサポートを終了します。しかし、多くのトレーダーは、お馴染みの古いバージョンを使い続けていて、更新されたプラットフォームの性能について知りません。私たちはその開発に尽力し、トレーダーと共に更に先へ進み、古いビルドから脱却したいと思っています。この記事では、新しいMetaTrader 4の長所についてご紹介したいと思います。
自動ニューストレーダーのバインディング
自動ニューストレーダーのバインディング

自動ニューストレーダーのバインディング

これは一からシンプルなオブジェクト指向 EA を構築する方法を述べ、オブジェクト指向プログラミングのアドバイスを提供したもう一つ別の MQL5 OOP クラス記事の続編です。本稿では、ニュースをトレードすることのできる EA を開発するのに必要とされる技術の基本をお話します。目標は OOP に関する考え方を提示し続け、ファイルシステムと関連づけながらこのシリーズにおける新しいトピックを取り上げることです。
preview
ニューラルネットワークが簡単に(第3回): コンボリューションネットワーク

ニューラルネットワークが簡単に(第3回): コンボリューションネットワーク

ニューラルネットワークの話題の続きとして、畳み込み型ニューラルネットワークの考察を提案します。 この種のニューラルネットワークは、通常、視覚的なイメージの分析に適用されます。 本稿では、これらのネットワークの金融市場への応用について考察します。
MQL5-RPC. MQL5からのリモートプロシージャコール:ウェブサービスアクセスと、利益のためのXML-RPC ATC アナライザー
MQL5-RPC. MQL5からのリモートプロシージャコール:ウェブサービスアクセスと、利益のためのXML-RPC ATC アナライザー

MQL5-RPC. MQL5からのリモートプロシージャコール:ウェブサービスアクセスと、利益のためのXML-RPC ATC アナライザー

この記事は、リモートプロシージャコールを可能にするMQL5-RPCフレームワークを紹介します。XML-RPCの基礎から始め、MQL5の実装、そして、二つの実例を紹介します。最初の例は、外部のウェブサービスを使用するというもので、二つ目は、XML-RPC ATC 2011 Analyzerサービスのクライアントの例です。もし、ATC 2011からの異なる統計の実装や分析方法に興味のある場合、この記事はうってつけだと思います。
夜間の取引はどれ程信頼性があるか?
夜間の取引はどれ程信頼性があるか?

夜間の取引はどれ程信頼性があるか?

この記事では、クロスペアの夜間取引の特徴について明らかにしていきたいと思います。どこから利益は生まれ、なぜ深刻な損失が発生することがあるのかを説明していきます。夜間取引の為に開発されたエキスパートアドバイザの例を引用しています。この戦略に基づく取引経験についてお話していきます。
グラフィカルインタフェースX: マルチラインテキストボックス内のワードラップアルゴリズム(ビルド12)
グラフィカルインタフェースX: マルチラインテキストボックス内のワードラップアルゴリズム(ビルド12)

グラフィカルインタフェースX: マルチラインテキストボックス内のワードラップアルゴリズム(ビルド12)

マルチラインテキストボックスの開発を続けましょう。今回の課題は、テキストがボックス幅を超えた場合には自動的にワードラップを行い、機会が生じた場合にはワードラップを取り消してテキストを前行に収めることです。
preview
一からの取引エキスパートアドバイザーの開発(第31部):未来に向かって(IV)

一からの取引エキスパートアドバイザーの開発(第31部):未来に向かって(IV)

引き続きEAから分離した部分を取り除きます。本連載は今回で最終回です。そして、最後に取り除くのがサウンドシステムです。この連載をご覧になっていない方には、少し分かりにくいかもしれません。
preview
ニューラルネットワークが簡単に(第6回): ニューラルネットワークの学習率を実験する

ニューラルネットワークが簡単に(第6回): ニューラルネットワークの学習率を実験する

これまで、様々な種類のニューラルネットワークをその実装とともに考察してきました。 すべての場合において、ニューラルネットワークは、学習率を選択する必要があるグラディエントディーセント法を用いてトレーニングされました。 今回は、正しく選択されたレートの重要性とニューラルネットワーク学習への影響を例を用いて示したいと思います。
プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換
プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換

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

プログラミングを容易にする方法、テクニック、および補助ツールに関するプロのプログラマーからのヒントです。ターミナルの再起動(シャットダウン)後に復元できるパラメータについて説明します。すべての例は、私のCaymanプロジェクトからの実際に機能するコードセグメントです。
数式の計算(第2部)Prattパーサーおよび操車場パーサー
数式の計算(第2部)Prattパーサーおよび操車場パーサー

数式の計算(第2部)Prattパーサーおよび操車場パーサー

この記事では、演算子の優先順位に基づいたパーサーを使用した数式の解析と評価の原則について検討します。Prattパーサーと操車場パーサー、バイトコードの生成とこのコードによる計算を実装し、式の関数として指標を使用する方法と、これらの指標に基づいてエキスパートアドバイザーで取引シグナルを設定する方法を確認します。
MQL5での「スネーク」ゲームの作成
MQL5での「スネーク」ゲームの作成

MQL5での「スネーク」ゲームの作成

本稿では『スネーク』ゲームのプログラム例を述べていきます。MQL5では、主にイベントハンドル機能によりゲームのプログラムが可能となりました。オブジェクト指向プログラミングによりこのプロセスが格段に簡素化されます。本稿では、イベント処理機能 標準的な MQL5 ライブラリクラスの使用例、また定期的関数呼び出しの詳細を学習します。
市場変動およびその予測の統計分析
市場変動およびその予測の統計分析

市場変動およびその予測の統計分析

本稿はマーケティングに対する統計的アプローチの大きく開かれた機会について考えます。残念ながら、初心者トレーダーはわざと統計のじつにすばらしい科学を利用しそびれてしまいます。同時に、それは市場分析時、無意識に利用する唯一のものです。また、統計は数多くの疑問に対する答えを提供してくれます。
トレードラブ博士または いかに心配することを止め、自習 Expert Advisorを作成したか
トレードラブ博士または いかに心配することを止め、自習 Expert Advisorを作成したか

トレードラブ博士または いかに心配することを止め、自習 Expert Advisorを作成したか

ちょうど1年前 jooは彼の記事 "Genetic Algorithms - It's Easy!"の中で MQL5で遺伝的アルゴリズムの実装用ツールを提供してくれました。今われわれはそのツールを使用して特定の境界条件において自身のパラメータを遺伝的に最適化する Expert Advisor を作成しようとしています。
インディケータコードから Expert Advisor コードへの変換Expert Advisor およびインディケータ関数の一般的スキーム
インディケータコードから Expert Advisor コードへの変換Expert Advisor およびインディケータ関数の一般的スキーム

インディケータコードから Expert Advisor コードへの変換Expert Advisor およびインディケータ関数の一般的スキーム

本稿はインディケータコードを Expert Advisor コードへ変換し、カスタムインディケータの呼び出しなく、Expert Advisor 内で必要なインディケータ値を計算するためのプログラムコード全体を使って Expert Advisor を書く方法に特化して述べます。本稿は Expert Advisor 変更とカスタムインディケータを基にしたインディケータ関数構築の考えを提供します。対象とする読者はすでに MQL4 言語でのプログラム経験をお持ちの方です。
自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法
自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法

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

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

自己キャッシング指標の速度比較

本稿では、MQL5指標への古典的なアクセスと、代替のMQL4形式のアクセス法を比較します。指標へのMQL4形式のアクセスについては何種類かが考慮されます。MQL5コア内の指標ハンドルも考慮して分析されます。
preview
知っておくべきMQL5ウィザードのテクニック(第06回):フーリエ変換

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

ジョセフ・フーリエによって導入されたフーリエ変換は、複雑なデータの波動点を単純な構成波に分解する手段です。この記事では、トレーダーにとって有益なこの機能を見ていきます。
グラフィカルインタフェースX: Timeコントロール、チェックボックスコントロールのリストとテーブルのソート(ビルド6)
グラフィカルインタフェースX: Timeコントロール、チェックボックスコントロールのリストとテーブルのソート(ビルド6)

グラフィカルインタフェースX: Timeコントロール、チェックボックスコントロールのリストとテーブルのソート(ビルド6)

グラフィカルインタフェースを作成するためのライブラリの開発が続きます。今回は、チェックボックスコントロールのリストとTimeが対象となります。さらに、CTableクラスではデータを昇順または降順に並べ替えることができるようになりました。
MQL5クックブック:カスタムシンボルを使用したトレーディング戦略ストレステストe
MQL5クックブック:カスタムシンボルを使用したトレーディング戦略ストレステストe

MQL5クックブック:カスタムシンボルを使用したトレーディング戦略ストレステストe

この記事では、カスタムシンボルを使用したトレーディング戦略のストレステストへのアプローチを検討します。 このため、カスタムシンボルクラスを作成します。 このクラスは、サードパーティのソースからティックデータを受信するため、シンボルプロパティを変更するために使用します。 タスクの結果に基づいて、トレード条件を変更するためのオプションを検討し、その下でトレード戦略をテストします。
MetaTrader用の高度なEAコンストラクター - BotBrains.app
MetaTrader用の高度なEAコンストラクター - BotBrains.app

MetaTrader用の高度なEAコンストラクター - BotBrains.app

この記事では、自動売買ロボットのためのノーコード開発プラットフォームであるBotBrains.appの機能を紹介します。自動売買ロボットを作成するために、コードを書く必要はありません。必要なブロックをスキームにドラッグアンドドロップし、パラメータを設定して、それらの間の接続を確立するだけです。
MetaTrader 4クライアントターミナルの秘密:MetaEditorのファイルライブラリ
MetaTrader 4クライアントターミナルの秘密:MetaEditorのファイルライブラリ

MetaTrader 4クライアントターミナルの秘密:MetaEditorのファイルライブラリ

カスタムプログラムを作成する際、コードエディターはとても重要です。より多くの機能がエディターで使用することができれば、より早く、より便利にプログラムを作成することができます。たくさんのプログラムが既存のコードを基盤に作成されています。あなたの目的にそぐわないインジケーターやスクリプトを使用しますか?ウェブサイトからこのプログラムのコードをダウンロードし、ご自身でカスタマイズしてみてください。
インディケータコードの Expert Advisor コードへの変換おわりに
インディケータコードの Expert Advisor コードへの変換おわりに

インディケータコードの Expert Advisor コードへの変換おわりに

本稿はインディケータコードを Expert Advisor コードへ変換することに関して述べられる最終稿です。ここで著者はある例においてExpert Advisor のコードを変換します。よって、この EA はカスタムインディケータを呼びださず単一ファイルに示されます。
グラフィカルインタフェース IV:情報インターフェース要素(チャプター1)
グラフィカルインタフェース IV:情報インターフェース要素(チャプター1)

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

開発の現段階では、グラフィカルインタフェース作成のライブラリは、フォームとそれに取り付けることができるいくつかのコントロールを含んでいます。今後の記事の1つがマルチウィンドウモードについてになることは、以前に言及されました。そのための準備が整ったので、それは次の章で対処します。この章では、ステータスバーとツールチップ情報インタフェース要素を作成するためのクラスを作成します。
preview
MQL5での行列およびベクトル演算

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

行列とベクトルがMQL5に導入され、数学的な解決策による効率的な操作が可能になりました。これらの新しい型は、数学表記に近い簡潔でわかりやすいコードを作成するための組み込みメソッドを提供します。配列は広範な機能を提供しますが、行列の方がはるかに効率的である場合が多くあります。
エンベロープによる取引システムの設計方法を学ぶ
エンベロープによる取引システムの設計方法を学ぶ

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

この記事では、バンドで取引する方法の1つを紹介します。今回はエンベロープについて検討し、それに基づいてストラテジーを作成するのがいかに簡単であるかを見ていきます。
DoEasyライブラリの時系列(第43部): 指標バッファオブジェクトクラス
DoEasyライブラリの時系列(第43部): 指標バッファオブジェクトクラス

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

この記事では、DoEasyライブラリに基づくカスタム指標プログラムを作成しながら、抽象バッファオブジェクトの子孫としての指標バッファオブジェクトクラスの開発を考察し、宣言を簡略化して指標バッファを操作します。
市場分析のための実践的なデーターベースの活用
市場分析のための実践的なデーターベースの活用

市場分析のための実践的なデーターベースの活用

データを扱うことは、現代のソフトウェアのメインの業務となっています。これは、スタンドアロン系、ネットワーク系のアプリ双方において言えることです。この問題を解決するために、特別なソフトウェアが開発されました。それは、データベース管理システム(DBMS)です。コンピューター内ストレージや、その処理においてデータを整理し、構築します。トレーディングにおいて、多くの分析はデータベースを使用しません。しかし、ソリューションがより便利になる必要のある業務があります。この記事では、クライアントサーバー、ファイルサーバー構造の両方において、データベースからデータをロードし、保存できるインジケーターの例を紹介します。
売買ロボット物語:余計なものがない方がいい?
売買ロボット物語:余計なものがない方がいい?

売買ロボット物語:余計なものがない方がいい?

2年前『最後の聖戦』でひじょうに興味深い、しかし現在広く使用されていないマーケット情報表示方法-ポイント&フィギュアチャート を再検討しました。ここで私はみなさんにポイント&フィギュアチャートで検出されるパターンに基づく売買ロボットを書いてみることを提案します。
初心者のトレーディングにおける基本エラー
初心者のトレーディングにおける基本エラー

初心者のトレーディングにおける基本エラー

初心者がトレーディングでおかす基本的エラーがあります。:市場開始でトレードする、利益を得ようとやけに急ぐ、損失を出しているポジションにロットを追加する、最適なポジションで開始しながらポジションをクローズする、リベンジを行う、もっとも好ましいポジション、「永遠に買った」の原則でトレーディングを行う、初日に収益性のある戦略的ポジションをクローズする、逆ポジションをオープンするアラートがでたときポジションをクローズする、疑う。
preview
回帰指標を用いたONNXモデルの評価

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

回帰とは、ラベル付けされていない例から実際の値を予測するタスクのことです。いわゆる回帰メトリクスは、回帰モデルの予測精度を評価するために使用されます。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第6回):互いのラインを交差する2つのRSI指標

MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第6回):互いのラインを交差する2つのRSI指標

この記事の多通貨EAは、クロスラインを持つ2つのRSI指標、低速RSIと交差する高速RSIを使用するEA(自動売買ロボット)です。
preview
市場力学をマスターする:支持&抵抗戦略エキスパートアドバイザー(EA)の作成

市場力学をマスターする:支持&抵抗戦略エキスパートアドバイザー(EA)の作成

支持&抵抗戦略に基づく自動売買アルゴリズム開発のための包括的ガイドです。MQL5でEAを作成し、MetaTrader 5でテストするための、価格帯行動の分析からリスク管理までのあらゆる側面に関する詳細情報が含まれます。
MQL5 エキスパートアドバイザーから、GSMモデムを使用する
MQL5 エキスパートアドバイザーから、GSMモデムを使用する

MQL5 エキスパートアドバイザーから、GSMモデムを使用する

現在、トレーディングのアカウントを監視する手段がたくさんあります:モバイルターミナルはICQを用い、プッシュ通知を行います。しかし、すべてインターネットの接続を必要とします。この記事は、特に呼び出しやテキストメッセージはできるが、モバイルのインターネットを使用できないような時にトレーディングターミナルの情報を取得できるようになるエキスパートアドバイザーを作成するプロセスを紹介します。
DoEasyライブラリのグラフィックス(第93部): 複合グラフィカルオブジェクトを作成するための機能の準備
DoEasyライブラリのグラフィックス(第93部): 複合グラフィカルオブジェクトを作成するための機能の準備

DoEasyライブラリのグラフィックス(第93部): 複合グラフィカルオブジェクトを作成するための機能の準備

本稿では、複合グラフィカルオブジェクトを作成するための機能の開発を始めます。 ライブラリが複合グラフィカルオブジェクトの作成をサポートし、それらのオブジェクトが任意の接続階層を持つことができるようになります。このようなオブジェクトの後続の実装に必要なすべてのクラスを準備します。
2013 年第一四半期 MQL5マーケット実績
2013 年第一四半期 MQL5マーケット実績

2013 年第一四半期 MQL5マーケット実績

設立以来、トレーディングロボットおよびテクニカルインディケータのストアである MQL5 「マーケット」はすでに580件のプロダクツを発表した250名以上の開発者を魅了してきました。2013 年第一四半期は自分のプロダクツを販売することでよい収益を上げることのできた 一部の MQL5 「マーケット」販売者にとってひじょうな成功の時期となりました。
MetaTrader 4 クライアントターミナルの秘密:アラートシステム
MetaTrader 4 クライアントターミナルの秘密:アラートシステム

MetaTrader 4 クライアントターミナルの秘密:アラートシステム

ターミナルや自分のアカウントで何が起こっているのかモニターを絶えず見なくても気づく方法システムイベント、カスタムイベント、wave および実行可能ファイル、電子メッセージ、SMTP サーバーアクセスの設定、パブリケーション、FTP サーバーアクセスの設定。