MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加

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

本稿では、MQL5を使用してWindows Formsスタイルのコントロールを作成するという広範なトピックを開始します。私が最初に興味を持ったのは、パネルクラスを作成することです。コントロールなしで物事を管理することはすでに困難になっています。したがって、可能なすべてのコントロールをWindows Formsスタイルで作成します。

一からの取引エキスパートアドバイザーの開発(第7部):価格別出来高の追加(I)

価格別出来高は、現存する最も強力なインジケータの1つです。ある程度の自信を持って取引するには、チャートにはこのインジケータが必須です。このインジケータはよく「テープリーディング」を好むトレーダーに使われますが、プライスアクションのみを使用して取引する場合にも活用できます。

DoEasyライブラリのグラフィックス(第100部):拡張された標準グラフィックオブジェクトの処理を改善する

現在の記事では、拡張(および標準)グラフィックオブジェクトとキャンバス上のフォームオブジェクトの同時処理における明らかな欠陥を排除し、前の記事で実行されたテスト中に検出されたエラーを修正します。ライブラリの説明のこのセクションは本稿で締めくくります。

データサイエンスと機械学習(第01回):線形回帰

私たちトレーダーは、数字に基づいた判断をするよう、システムと自分自身を訓練する時期に来ています。目ではなく、直感で信じるのは、これが世界が向かっているところだということです。波の方向に垂直に移動しましょう。

単一チャート上の複数インジケータ(第06部):MetaTrader 5をRADシステムに変える(II)

前回の記事では、MetaTrader 5のオブジェクトを使ってChart Tradeを作成し、プラットフォームをRADシステムに変える方法を紹介しました。このシステムは非常によく機能しており、読者の多くは、提案されたシステムの機能を拡張できるようなライブラリを作成することをお考えになったのではないでしょうか。これに基づいて、より直感的で使い勝手の良いEAを開発することも可能でしょう。

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

今回は、取引の世界で最も人気があり、一般的に使用されている指標の1つであるRSIを紹介します。この指標を使用した取引システムの設計方法を学びます。

DoEasyライブラリのグラフィックス(第99部):単一のコントロールポイントを使用した拡張グラフィックオブジェクトの移動

前回の記事では、コントロールフォームを使用して拡張グラフィックオブジェクトのピボットポイントを移動する機能を実装しました。次に、単一のグラフィックオブジェクトコントロールポイント(フォーム)を使用して複合グラフィックオブジェクトを移動する機能を実装します。

DoEasyライブラリのグラフィックス(第98部):拡張された標準グラフィカルオブジェクトのピボットポイントの移動

本稿では、拡張された標準グラフィカルオブジェクトの開発を継続し、グラフィカルオブジェクトのピボットポイントの座標を管理するためのコントロールポイントを使用して、複合グラフィカルオブジェクトのピボットポイントを移動する機能を作成します。

モメンタムによるトレーディングシステムの設計方法を学ぶ

前回は、価格の方向性であるトレンドを見極めることの重要性について述べました。この記事では、最も重要な概念と指標の1つであるモメンタム指標を紹介します。このモメンタム指標に基づいたトレーディングシステムの設計方法を紹介します。

単一チャート上の複数インジケータ(第05部):MetaTrader 5をRADシステムに変える(I)

プログラミングはできなくても創造性に富んだ素晴らしいアイデアを持っている人はたくさんいます。しかし、プログラミングの知識がないため、これらのアイデアを実行に移すことができないのです。MetaTrader5のプラットフォームそのものをIDEのように使って、Chart Tradeを作成する方法を一緒に見てみましょう。

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

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

プロのプログラマーからのヒント(第III部): ロギングSeqログ収集および分析システムへの接続

エキスパートログに出力されるメッセージを統合および構造化するためのLoggerクラスの実装。Seqログ収集および分析システムへの接続。オンラインでのログメッセージの監視。

DirectXチュートリアル(第I部): 最初の三角形の描画

これはDirectXの紹介記事で、APIを使用した操作の詳細について説明しており、コンポーネントが初期化される順序を理解するのに役立つはずです。この記事には、DirectXを使用して三角形をレンダリングするためのMQL5スクリプトを作成する方法の例が含まれています。

ボリンジャーバンドによる取引システムの設計方法を学ぶ

この記事では、取引の世界で最も人気のある指標の1つであるボリンジャーバンドについて学びます。テクニカル分析を検討し、ボリンジャーバンド指標に基づいてアルゴリズム取引システムを設計する方法を確認します。

DoEasyライブラリのグラフィックス(第97部): フォームオブジェクトの移動の独立した処理

本稿では、マウスを使用したフォームオブジェクトの独立したドラッグの実装について検討します。さらに、以前にターミナルとMQL5に実装されたエラーメッセージと新しい取引プロパティをライブラリに追加します。

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

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

エキスパートアドバイザーが失敗する理由の分析

この記事では、通貨データの分析を示して、エキスパートアドバイザーが特定の時間領域で良好なパフォーマンスを示し他の領域でパフォーマンスが低下する理由をよりよく理解します。

MQLアプリケーションでのCCanvasクラスの使用

この記事では、MQLアプリケーションでのCCanvasクラスの使用について検討します。理論には、CCanvasの基本を完全に理解するための詳細な説明と例が付属しています。

MVCデザインパターンとその可能なアプリケーション(第2部): 3つのコンポーネント間の相互作用の図

本稿は、前の記事で説明したMQLプログラムのMVCパターンのトピックの続きです。この記事では、パターンの3つのコンポーネント間の可能な相互作用の図を検討します。

DoEasyライブラリのグラフィックス(第95部):複合グラフィカルオブジェクトコントロール

本稿では、複合グラフィカルオブジェクトを管理するためのツールキット(拡張された標準グラフィカルオブジェクトを管理するためのコントロール)について検討します。今日は、複合グラフィカルオブジェクトの再配置から少し脱線して、複合グラフィカルオブジェクトを特徴とするチャートに変更イベントのハンドラを実装します。さらに、複合グラフィカルオブジェクトを管理するためのコントロールに焦点を当てます。

単一チャート上の複数インジケータ(第03部): ユーザー向け定義の開発

今日はインジケータシステムの機能を初めて更新します。前回の「単一チャート上の複数のインジケータ」稿では、チャートのサブウィンドウで複数のインジケータを使用できるようにする基本的なコードについて検討しましたが、提示されたのは、はるかに大規模なシステムの出発点にすぎませんでした。

DoEasyライブラリのグラフィックス(第96部): フォームオブジェクトのグラフィックとマウスイベントの処理

本稿では、フォームオブジェクトでマウスイベントを処理する機能の作成を開始し、銘柄オブジェクトに新しいプロパティとそのトラッキングを追加します。さらに、チャート銘柄で新しいプロパティが考慮/追加されて追跡されるため、銘柄オブジェクトクラスを改善します。

チャートをより面白くする: 背景の追加

多くのワークステーションには、ユーザーに関する何かを語る代表的な画像が含まれています。これらの画像は、作業環境をより美しくエキサイティングなものにします。背景を追加してチャートをより面白くする方法を見てみましょう。

さまざまな移動平均システムを設計する方法を学ぶ

この記事の主題である移動平均自体を使用する場合でも、任意のストラテジーに基づいて生成されたシグナルをフィルタリングするために使用できるストラテジーはたくさんあります。この記事の目的は、移動平均ストラテジーのいくつかと、アルゴリズム取引システムを設計する方法を共有することです。

単一チャート上の複数インジケータ(第01部): 概念

今日は、チャート上の個別の領域を占有せずに1つのチャートで同時に実行される複数のインジケータを追加する方法を学習します。多くのトレーダーは、一度に複数のインジケータ(例: RSI、STOCASTIC、MACD、ADX)を監視する、または場合によってはインデックスを構成している異なるアセットで監視することによって、自信を高めることができます。

単一チャート上の複数インジケータ(第02部): 実験1

前回の「単一チャート上の複数インジケータ」稿では、単一のチャートで複数のインジケータを使用する方法の概念と基本を説明しました。この記事では、ソースコードを提供して詳しく説明します。

DoEasyライブラリのグラフィックス(第94部): 複合グラフィカルオブジェクトの移動と削除

本稿では、さまざまな複合グラフィカルオブジェクトイベントの開発を開始します。また、複合グラフィカルオブジェクトの移動と削除についても部分的に検討します。実際、ここでは、前の記事で実装したものを微調整します。

アルゴリズム取引システムを設計する理由と方法を学ぶ

この記事では、MQL5のいくつかの基本に言及した後で、単純なアルゴリズム取引システムを設計することによって初心者がアルゴリズム取引システム(エキスパートアドバイザー)を設計するためのMQLの基本を示します。

MetaTrader 5のWebSocket — WindowsAPIの使用

この記事では、WinHttp.dllを使用してMetaTrader 5プログラム用のWebSocketクライアントを作成します。クライアントは最終的にクラスとして実装され、Binary.com WebSocketAPIに対してもテストされます。

マーケットからエキスパートアドバイザーを選択する正しい方法

この記事では、エキスパートアドバイザーを購入する際に注意すべき重要なポイントのいくつかを検討します。また、利益を増やし、お金を賢く使ってこの支出から利益を得る方法を探します。また、記事を読み終われば、シンプルで無料の製品を使用しても収益を得られることがわかると思います。

取引における数学:シャープレシオとソルティノレシオ

投資収益率は、投資家や初心者のトレーダーが取引効率の分析に使用する最も明白な指標です。プロのトレーダーは、シャープレシオやソルティノレシオなどのより信頼性の高いツールを使用して、ストラテジーを分析します。

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

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

最適化結果の視覚的評価

この記事では、すべての最適化パスのグラフを作成する方法と、最適なカスタム基準を選択する方法について検討します。また、Webサイトに公開されている記事とフォーラムのコメントを使用して、MQL5の知識がほとんどない状態で目的のソリューションを作成する方法についても説明します。

DoEasyライブラリのグラフィックス(第92部): 標準グラフィカルオブジェクトのメモリクラスオブジェクトプロパティの変更履歴

本稿では標準のグラフィカルオブジェクトメモリのクラスを作成して、プロパティが変更されたときにオブジェクトの状態を保存できるようにします。これにより、以前のグラフィカルオブジェクトの状態に戻ることができるようになります。

一からの取引エキスパートアドバイザーの開発

この記事では、最小限のプログラミングで自動売買ロボットを開発する方法について説明します。

DoEasyライブラリのグラフィックス(第91部): 標準グラフィカルオブジェクトのイベントオブジェクト名変更履歴

本稿では、ライブラリベースのプログラムからグラフィカルオブジェクトイベントを制御するための基本的な機能を洗練します。例として、「オブジェクト名」プロパティを使用してグラフィカルオブジェクトの変更履歴を保存する機能の実装から始めます。

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

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

MQL5の行列とベクトル

特別な「matrix」と「vector」データ型を使用すると、数学表記に非常に近いコードを作成することができます。行列とベクトルのメソッドを使用すると、計算でネストされたループを作成したり配列で正しいインデックスを作成したりする必要がなくなるため、複雑なプログラムの開発における信頼性と速度が向上します。

MQL5でのAutoItの使用

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