MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
母集団最適化アルゴリズム:蟻コロニー最適化(ACO)

母集団最適化アルゴリズム:蟻コロニー最適化(ACO)

今回は、蟻コロニー最適化アルゴリズムについて解析します。このアルゴリズムは非常に興味深く、複雑です。この記事では、新しいタイプのACOの作成を試みます。
preview
ニューラルネットワークが簡単に(第31部):進化的アルゴリズム

ニューラルネットワークが簡単に(第31部):進化的アルゴリズム

前回の記事では、非勾配最適化手法の調査を開始しました。遺伝的アルゴリズムについて学びました。今日は、このトピックを継続し、進化的アルゴリズムの別のクラスを検討します。
preview
フラクタルによる取引システムの設計方法を学ぶ

フラクタルによる取引システムの設計方法を学ぶ

これは、最も人気のあるテクニカル指標に基づいて取引システムを設計する方法を学ぶための連載の新しい記事です。フラクタル指標という新しい指標を学び、それを基にした取引システムを設計し、MetaTrader 5ターミナルで実行する方法について学びます。
preview
適応型インジケーター

適応型インジケーター

この記事では、適応型インジケーターを作成するためのいくつかの可能なアプローチを検討します。適応型インジケーターは、入力信号と出力信号の値の間のフィードバックの存在によって特徴付けられます。このフィードバックにより、インジケーターは金融時系列値の最適な処理に個別に適応できるようになります。
preview
データサイエンスと機械学習(第08回)::簡単なMQL5でのK平均法

データサイエンスと機械学習(第08回)::簡単なMQL5でのK平均法

データサイエンティストやトレーダーにとってデータマイニングは非常に重要です。多くの場合、データは私たちが思っているほど単純ではありません。人間の目は、データセット内のささいな基本パターンと関係を理解できません。k平均法アルゴリズムがその助けになるかもしれません。調べてみましょう...
preview
DoEasy-コントロール(第24部):ヒント補助WinFormsオブジェクト

DoEasy-コントロール(第24部):ヒント補助WinFormsオブジェクト

今回は、すべてのWinFormsライブラリオブジェクトの基本オブジェクトとメインオブジェクトを指定するロジックを見直し、新しいヒント基本オブジェクトとその派生クラスのいくつかを開発して、区切りの移動可能な方向を示すことにします。
preview
母集団最適化アルゴリズム:粒子群(PSO)

母集団最適化アルゴリズム:粒子群(PSO)

この記事では、一般的な粒子群最適化(PSO)アルゴリズムについて検討します。以前は、収束、収束率、安定性、スケーラビリティなどの最適化アルゴリズムの重要な特性について説明し、テストスタンドを開発し、最も単純なRNGアルゴリズムを検討しました。
preview
DoEasy - コントロール(第23部):TabControlおよびSplitContainer WinFormsオブジェクトの改善

DoEasy - コントロール(第23部):TabControlおよびSplitContainer WinFormsオブジェクトの改善

今回は、WinFormsオブジェクトの作業領域の境界線に関連する新しいマウスイベントを追加し、TabControlとSplitContainerコントロールの機能に関するいくつかの欠点を修正することにします。
マウンテンチャートとアイスバーグチャート
マウンテンチャートとアイスバーグチャート

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

MetaTrader 5プラットフォームに新しいチャートタイプを追加するというアイデアはいかがでしょうか。このプラットフォームには他のプラットフォームにあるものがいくつかないという声もあります。しかし、実際のところ、MetaTrader 5は他の多くのプラットフォームではできないこと(少なくとも簡単にはできないこと)ができる、非常に実用的なプラットフォームです。
preview
DoEasy - コントロール(第22部):SplitContainer - 作成したオブジェクトのプロパティを変更する

DoEasy - コントロール(第22部):SplitContainer - 作成したオブジェクトのプロパティを変更する

今回は、新しく作成したSplitContainerコントロールのプロパティと外観を変更する機能を実装します。
preview
Frames Analyzerツールによるタイムトレード間隔の魔法

Frames Analyzerツールによるタイムトレード間隔の魔法

Frames Analyzerとは何でしょうか。これは、パラメータ最適化の直後に作成されたMQDファイルまたはデータベースを読み取ることにより、ストラテジーテスター内外でパラメータ最適化中に最適化フレームを分析するためのエキスパートアドバイザー(EA)のプラグインモジュールです。これらの最適化の結果はFrames Analyzerツールを使用している他のユーザーと共有して、結果について話し合うことができます。
preview
DoEasy-コントロール(第21部):SplitContainerコントロール。パネルセパレータ

DoEasy-コントロール(第21部):SplitContainerコントロール。パネルセパレータ

この記事では、SplitContainerコントロールの補助パネルセパレータオブジェクトのクラスを作成します。
preview
アリゲーターによる取引システムの設計方法を学ぶ

アリゲーターによる取引システムの設計方法を学ぶ

最も人気のあるテクニカル指標に基づいて取引システムを設計する方法についての連載は今回で完結します。アリゲーター指標を基にした取引システムの作り方を学びます。
preview
データサイエンスと機械学習(第07回)::多項式回帰

データサイエンスと機械学習(第07回)::多項式回帰

線形回帰とは異なり、多項式回帰は、線形回帰モデルでは処理できないタスクをより適切に実行することを目的とした柔軟なモデルです。MQL5で多項式モデルを作成し、そこから何か良いものを作る方法を見つけてみましょう。
preview
DoEasy-コントロール(第20部):SplitContainer WinFormsオブジェクト

DoEasy-コントロール(第20部):SplitContainer WinFormsオブジェクト

今回の記事では、MS Visual StudioツールキットからSplitContainerコントロールの開発を開始します。このコントロールは、垂直または水平の可動セパレータで区切られた2つのパネルで構成されています。
preview
EAを用いたリスクとキャピタルの管理

EAを用いたリスクとキャピタルの管理

この記事では、バックテストレポートでは見えないこと、自動売買ソフトを使用する際の注意点、エキスパートアドバイザー(EA)を使用している場合の資金管理、自動売買をおこなっている場合に取引活動を続けるために大きな損失をカバーする方法について説明します。
preview
知っておくべきMQL5ウィザードのテクニック(第03回):シャノンのエントロピー

知っておくべきMQL5ウィザードのテクニック(第03回):シャノンのエントロピー

今日のトレーダーは哲学者であり、ほとんどの場合、新しいアイデアを探し、試し、変更するか破棄するかを選択します。これは、かなりの労力を要する探索的プロセスです。この連載では、MQL5ウィザードがトレーダーの主力であるべきであることを示します。
preview
DoEasy-コントロール(第19部):TabControl、WinFormsオブジェクトイベントでのタブのスクロール

DoEasy-コントロール(第19部):TabControl、WinFormsオブジェクトイベントでのタブのスクロール

この記事では、スクロールボタンを使用してTabControlでタブヘッダーをスクロールする機能を作成します。この機能は、コントロールの両方側からタブヘッダーを1行に配置するためのものです。
preview
ニューラルネットワークが簡単に(第30部):遺伝的アルゴリズム

ニューラルネットワークが簡単に(第30部):遺伝的アルゴリズム

今日はちょっと変わった学習法を紹介したいと思います。ダーウィンの進化論からの借用と言えます。先に述べた手法よりも制御性は劣るでしょうが、非差別的なモデルの訓練が可能です。
preview
一からの取引エキスパートアドバイザーの開発(第31部):未来に向かって(IV)

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

引き続きEAから分離した部分を取り除きます。本連載は今回で最終回です。そして、最後に取り除くのがサウンドシステムです。この連載をご覧になっていない方には、少し分かりにくいかもしれません。
preview
アクセラレーターオシレーター(Accelerator Oscillator)による取引システムの設計方法を学ぶ

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

最も人気のあるテクニカル指標によって取引システムを設計する方法についての連載の新しい記事へようこそ。今回は、新しい指標であるアクセラレーターオシレーター(Accelerator Oscillator、AC)について学び、それを使った取引システムを設計する方法を学びます。
preview
オーサムオシレーター(Awesome Oscillator)による取引システムの設計方法を学ぶ

オーサムオシレーター(Awesome Oscillator)による取引システムの設計方法を学ぶ

連載の今回の新しい記事では、私たちの取引に役立ちそうな新しいテクニカルツールについてご紹介します。これは、オーサムオシレーター(Awesome Oscillator、AO)という指標です。この指標を使用した取引システムの設計方法を学びます。
preview
DoEasy-コントロール(第18部):TabControlでタブをスクロールする機能

DoEasy-コントロール(第18部):TabControlでタブをスクロールする機能

この記事では、ヘッダーバーがコントロールのサイズに収まらない場合に備えて、TabControl WinFormsオブジェクトにヘッダースクロールコントロールボタンを配置します。また、トリミングされたタブヘッダーをクリックしたときのヘッダーバーのシフトを実装します。
preview
相対的活力指数による取引システムの設計方法を学ぶ

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

最も人気のあるテクニカル指標によって取引システムを設計する方法についての連載の新しい記事へようこそ。今回は、相対的活力指数(RVI、Relative Vigot Index)という指標で、その方法を学びます。
preview
ニューラルネットワークが簡単に(第29部):Advantage Actor-Criticアルゴリズム

ニューラルネットワークが簡単に(第29部):Advantage Actor-Criticアルゴリズム

本連載のこれまでの記事で、2つの強化学習アルゴリズムを見てきました。それぞれに長所と短所があります。このような場合ではよくあることですが、次に、2つの方法の良いところを組み合わせてアルゴリズムにすることが考え出されます。そうすれば、それぞれの欠点が補われることになります。今回は、そのような手法の1つを紹介します。
preview
DoEasy-コントロール(第17部):オブジェクトの非表示部分の切り取り、補助矢印ボタンのWinFormsオブジェクト

DoEasy-コントロール(第17部):オブジェクトの非表示部分の切り取り、補助矢印ボタンのWinFormsオブジェクト

この記事では、コンテナの外側にあるオブジェクトセクションを非表示にする機能を作成します。また、他のWinFormsオブジェクトの一部として使用する補助矢印ボタンオブジェクトを作成します。
preview
デマーカーによる取引システムの設計方法を学ぶ

デマーカーによる取引システムの設計方法を学ぶ

最も人気のあるテクニカル指標によって取引システムを設計する方法についての連載の新しい記事へようこそ。今回は、デマーカー(DeMarker)指標による取引システムの作り方を紹介します。
preview
ニューラルネットワークが簡単に(第28部):方策勾配アルゴリズム

ニューラルネットワークが簡単に(第28部):方策勾配アルゴリズム

強化学習法の研究を続けます。前回は、Deep Q-Learning手法に触れました。この手法では、特定の状況下でとった行動に応じて、これから得られる報酬を予測するようにモデルを訓練します。そして、方策と期待される報酬に応じた行動がとられます。ただし、Q関数を近似的に求めることは必ずしも可能ではありません。その近似が望ましい結果を生み出さないこともあります。このような場合、効用関数ではなく、行動の直接的な方針(戦略)に対して、近似的な手法が適用されます。その1つが方策勾配です。
preview
一からの取引エキスパートアドバイザーの開発(第30部):指標としてのCHART TRADE?

一からの取引エキスパートアドバイザーの開発(第30部):指標としてのCHART TRADE?

今日は再びChart Tradeを使用しますが、今回はチャート上に存在する場合と存在しない場合があるオンチャート指標になります。
preview
一からの取引エキスパートアドバイザーの開発(第29部):おしゃべりプラットフォーム

一からの取引エキスパートアドバイザーの開発(第29部):おしゃべりプラットフォーム

この記事では、MetaTrader 5プラットフォームをしゃべらせる方法を学びます。EAをもっと楽しくしたらどうでしょうか。金融市場の取引は退屈で単調すぎることがよくありますが、私たちはこの仕事の疲れを軽減することができます。依存症などの問題を経験している方にとってはこのプロジェクトは危険な場合があるのでご注意ください。ただし、一般的には、それは退屈を軽減するだけです。
母集団最適化アルゴリズム
母集団最適化アルゴリズム

母集団最適化アルゴリズム

最適化アルゴリズム(OA)の分類についての入門記事です。この記事では、OAを比較するためのテストスタンド(関数群)を作成し、広く知られたアルゴリズムの中から最も普遍的なものを特定することを試みています。
preview
ニューラルネットワークが簡単に(第27部):DQN (Deep Q-Learning)

ニューラルネットワークが簡単に(第27部):DQN (Deep Q-Learning)

強化学習の研究を続けます。今回は、「Deep Q-Learning」という手法に触れてみましょう。この手法を用いることで、DeepMindチームはアタリ社のコンピューターゲームのプレイで人間を凌駕するモデルを作成することができました。取引上の問題を解決するための技術の可能性を評価するのに役立つと思います。
preview
DoEasy-コントロール(第16部):TabControl WinFormsオブジェクト — 複数行のタブヘッダー、コンテナに合わせたヘッダーの伸び

DoEasy-コントロール(第16部):TabControl WinFormsオブジェクト — 複数行のタブヘッダー、コンテナに合わせたヘッダーの伸び

この記事では、TabControlの開発を続け、ヘッダーのサイズを設定するすべてのモードに対して、コントロールの4つの側面すべてにタブヘッダーの配置(通常、固定、右詰め)を実装します。
DIYテクニカル指標
DIYテクニカル指標

DIYテクニカル指標

この記事では、独自のテクニカル指標を作成できるアルゴリズムについて検討します。非常に単純な初期仮定で、非常に複雑で興味深い結果を得る方法を学びます。
preview
VIDYAによる取引システムの設計方法を学ぶ

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

最も人気のあるテクニカル指標によって取引システムを設計する方法を学ぶ連載の新しい記事へようこそ。この新しい記事では、新しいテクニカルツールについて学び、VIDYA(Variable Index Dynamic Average、可変インデックス動的平均)テクニカル指標によって取引システムを設計する方法を学びます。
preview
ニューラルネットワークが簡単に(第26部):強化学習

ニューラルネットワークが簡単に(第26部):強化学習

機械学習の手法の研究を続けます。今回からは、もう1つの大きなテーマである「強化学習」を始めます。この方法では、モデルは問題を解決するためのある種の戦略を設定することができます。この強化学習の特性は、取引戦略を構築する上で新たな地平を切り開くものと期待されます。
preview
データサイエンスと機械学習—ニューラルネットワーク(第02回):フィードフォワードNNアーキテクチャの設計

データサイエンスと機械学習—ニューラルネットワーク(第02回):フィードフォワードNNアーキテクチャの設計

フィードフォワード(予測制御)ニューラルネットワークについて説明する前に、少し説明しておくことがあって、設計もその1つです。入力、隠れ層の数、および各ネットワークのノードに対する柔軟なニューラルネットワークを構築および設計する方法を見てみましょう。
市場の数学:利益、損失、コスト
市場の数学:利益、損失、コスト

市場の数学:利益、損失、コスト

この記事では、手数料やスワップなど、あらゆる取引の総損益を計算する方法を紹介します。最も正確な数学的モデルを提供し、それを使ってコードを書き、標準と比較するつもりです。そのほか、利益を計算するMQL5のメイン関数の内部にも入り込み、仕様から必要な値をすべて突き詰めてみます。
preview
ニューラルネットワークが簡単に(第25部):転移学習の実践

ニューラルネットワークが簡単に(第25部):転移学習の実践

前々回、前回と、ニューラルネットワークのモデルを作成・編集するためのツールを開発しました。いよいよ転移学習技術の利用可能性を実例で評価することになります。
preview
一からの取引エキスパートアドバイザーの開発(第28部):未来に向かって(III)

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

私たちの発注システムが対応できていないタスクがまだ1つありますが、最終的に解決する予定です。MetaTrader 5は、注文値の作成と修正を可能にするチケットのシステムを備えています。アイデアは、同じチケットシステムをより高速かつ効率的にするエキスパートアドバイザー(EA)を持つことです。