MQL4プログラミング記事

icon

こちらにはMQL4 - 取引戦略プログラミング言語の記事が公開されています。 これらの記事の大多数は、トレーダーやMQL5.communityの積極的な参加者が書いています。すべての記事は、検索しやすくするために、いくつかのカテゴリ(エキスパートアドバイザー、インディケータ、取引戦略など)に分けられています。

新しい記事をチェックし、フォーラムでのディスカッションに是非ご参加ください。

新しい記事を追加
最新 | ベスト
レンジやトレンド相場を例にストラテジーテスターを使ったインジケーターの最適化
レンジやトレンド相場を例にストラテジーテスターを使ったインジケーターの最適化

レンジやトレンド相場を例にストラテジーテスターを使ったインジケーターの最適化

多くの戦略では、レンジか否かを検出することが不可欠です。ストラテジーテスターを使用する方法を示し、ADXを最適化します。同様に、このインジケータがニーズを満たすかどうかを決定し、レンジやトレンドの平均を知ることができます。
初心者向け MQL4 言語カスタムインディケータ(パート 1)
初心者向け MQL4 言語カスタムインディケータ(パート 1)

初心者向け MQL4 言語カスタムインディケータ(パート 1)

本稿は『初心者向け MQL4 言語』シリーズの第4 弾です。今日はカスタムインディケータの書き方を学習します。インディケータを特徴で分類する知識を得、この特徴がインディケータにどのように影響するかを確認し、新しい関数や最適化について学び、最後に自分のインディケータを書きます。また、本稿末尾にはプログラミングスタイルのアドバイスもあります。『初心者の方にとって』本稿が最初に読む記事であれば、先行記事を読むのが良いかもしれません。また、この記事では基礎は説明していないので、前の資料を正しく理解できていることを確認してください。
WinAPI によるファイル処理
WinAPI によるファイル処理

WinAPI によるファイル処理

MQL4 環境は安全な『サンドボックス』の概念を基にしています。言語を用いたファイルの読み出しと保存は一部の定義済みフォルダでのみ許可されています。これは MetaTrader 4 のユーザーを HDD 上の重要なデータを破壊する潜在的な危険から守ってくれます。ですが、その安全領域を残しておくことが必要な場合もあります。本稿はそれを簡単に正確に行う方法の問題に特化しています。
初心者の記録: ZigZag
初心者の記録: ZigZag

初心者の記録: ZigZag

確かに、初めて不可解な多角形を見たとき、極値に近くトレードをするという異常な思考が見習いトレーダー全員に訪れます。実際それはとても単純です。ここに最大値があります。そしてそこに最小値があります。履歴には美しい絵があります。そして、実際には何でしょう?線が描かれます。それは頂点のように見えます。売るタイミングです。そして次に下がっていきます。絶対にノーです!価格は裏切り上向きに変動しています。ホー!ささいなことです。インディケータではないのです。そして投げ出すのです!
フラクタルを利用した水平ブレークスルーレベルの描画
フラクタルを利用した水平ブレークスルーレベルの描画

フラクタルを利用した水平ブレークスルーレベルの描画

本稿は、アップ/ダウン フラクタルを用いてサポート/レジスタンス レベルを表示するインディケータの作成について説明します。
インジケーターの外部パラメーターのグラフィックコントロール
インジケーターの外部パラメーターのグラフィックコントロール

インジケーターの外部パラメーターのグラフィックコントロール

インジケーターの外部変数は、パラメーターが変更できる特別なウィンドウを用いてコントロールされ、そのインジケーターは再度使用されます。これらの操作の不便さは、スクリーン上に必要なパラメータを表示させ、視覚的にインジケータを管理する必要性を生み出しました。
インディケータコードから Expert Advisor コードへの変換インディケータストラクチャ
インディケータコードから Expert Advisor コードへの変換インディケータストラクチャ

インディケータコードから Expert Advisor コードへの変換インディケータストラクチャ

本稿はインディケータコードを Expert Advisor コードへ変換し、カスタムインディケータの呼び出しなく、Expert Advisor 内で必要なインディケータ値を計算するためのプログラムコード全体を使って Expert Advisor を書く方法に特化して述べます。本稿はインディケータストラクチャの一般的なスキーム、Expert Advisor におけるインディケータバッファの列挙、関数 IndicatorCounted() の置換を提供し述べます。対象とする読者はすでに MQL4 言語でのプログラム経験をお持ちの方です。
新しいMQL4のオフラインチャート
新しいMQL4のオフラインチャート

新しいMQL4のオフラインチャート

新しいバージョンのMQL4では、履歴データの保存方法が変更され、MqlRates構造体が新たに追加されました。MqlRates構造体は、Time、Open、Low、High、Close、Volumeなどの値を保存するのに役立ちます。長年にわたってトレーダーは、オフラインチャートを作成する為にHSTファイルに自分のデータを集めて書き込む、自分のプログラムをMQL4で作成していました。各トレーダーは、以前にコンパイルされた全てのEX4ファイルが、新しいMetaTrader4ターミナルで、以前と同様に動作すると確信していることでしょう。
EAのパラメータの選択における テスト(最適化) テクニックとその基準
EAのパラメータの選択における テスト(最適化) テクニックとその基準

EAのパラメータの選択における テスト(最適化) テクニックとその基準

テストにおける聖杯を見つけることは難しくありませんが、取り除くことは非常に困難です。この記事では、ユーザーの負荷を最小に抑え、最大の効果を得られるように、自動化されたグループとEAの選定について説明します。
外部指標のためのアラートとコメント
外部指標のためのアラートとコメント

外部指標のためのアラートとコメント

各テクニカル指標の売買シグナルのデータの受信方法や、[コメント]・[アラート]画面の表示方法について説明します。
初心者向け MQL4 言語シンプルなフレーズにおける難しい質問
初心者向け MQL4 言語シンプルなフレーズにおける難しい質問

初心者向け MQL4 言語シンプルなフレーズにおける難しい質問

本稿は『初心者向け MQL4 言語』シリーズの第2弾です。より複雑で高度な言語構成を考察し、新しいオプションを学習し、日々の実践にそれらが応用されるか見ていきます。新しいサイクルタイプである 'while' と、新しい条件タイプ 'switch'、演算子 'break' と 'continue' を取得します。また、自分の関数を書き、多次元配列を処理する方法を学習します。そして仕上げには、プリプロセッサの説明です。
エラー 146 (「トレードコンテキスト ビジー」) と、その対処方法
エラー 146 (「トレードコンテキスト ビジー」) と、その対処方法

エラー 146 (「トレードコンテキスト ビジー」) と、その対処方法

この記事では、MT4において複数のEAの衝突をさける方法を扱います。ターミナルの操作、MQL4の基本的な使い方がわかる人にとって、役に立つでしょう。
快適なスキャルピング
快適なスキャルピング

快適なスキャルピング

本稿では快適なスキャルピングのためのツールを作成する方法を説明します。トレードをオープンするそのような方法はどんな取引にも適用可能なものです。
MQL 4 で信頼性ある安全な売買ロボットを作成する方法
MQL 4 で信頼性ある安全な売買ロボットを作成する方法

MQL 4 で信頼性ある安全な売買ロボットを作成する方法

本稿では、Expert Advisor を作成し使用する場面で生じるごく一般的なエラーについてお話します。典型的な安全な自動売買システムについてもご説明します。
インディケータTaichi - 一目均衡表の値を公式化するシンプルな考え方
インディケータTaichi - 一目均衡表の値を公式化するシンプルな考え方

インディケータTaichi - 一目均衡表の値を公式化するシンプルな考え方

一目の信号を解釈するのはむつかしいですか?本稿では、一目均衡表の値と信号を公式化する基本をいくつか紹介します。その使用を可視化するために、私は自分の好みに応じて通貨ペア EURUSD を選択しました。ただしインディケータはどんな通貨ペアにも使用可能です。
新しいMetaTrader 4ビルド600以降へのアップデート
新しいMetaTrader 4ビルド600以降へのアップデート

新しいMetaTrader 4ビルド600以降へのアップデート

4ターミナル(build600以降)の、ユーザーデータの保存場所が変更されました。以前は、全てのプログラムやテンプレート、プロフィールなどがターミナルのインストールディレクトリに直接保存されていましたが、これからは特定のユーザーターミナルの動作に必要不可欠なデータは、データフォルダと呼ばれる別個の特別なフォルダに保存されます。この記事では、よくある質問についての回答を集めました。
フィルターの魔法
フィルターの魔法

フィルターの魔法

ほとんどの自動売買システム開発者はなんらかのトレードシグナルフィルター機能を利用しています。本稿では、帯域通過と Expert Advisor 用の個別フィルターの作成と実装を探り、自動売買システムの特性を向上させます。
MT4のポートフォリオトレード
MT4のポートフォリオトレード

MT4のポートフォリオトレード

この記事では、ポートフォリオトレードの原則と外国為替相場への応用を明らかにします。簡単な数学的ポートフォリオの配置モデルが考えられています。半自動化されたトレードのポートフォリオのインジケーターとEA:この記事では、実用的なMT4でのポートフォリオトレードの実装例があります。トレード戦略、ならびに利点と落とし穴の要素が記載されています。
CSV ファイルを介した MetaTrader 4 と Matlab 間の連携
CSV ファイルを介した MetaTrader 4 と Matlab 間の連携

CSV ファイルを介した MetaTrader 4 と Matlab 間の連携

CSV ファイルを介した MetaTrader 4 と Matlab 間のデータ配列交換作成法の段階的手順。
外部指標のためのアラートとコメント:第二部
外部指標のためのアラートとコメント:第二部

外部指標のためのアラートとコメント:第二部

前回の記事「外部指標のためのアラートとコメント」掲載後、指標線に基く外部密告者の作成方法についての質問もよくあります。一般論としての質問で、前のテーマの続きを書きます。また指標バッファからのデータ検索方法についても併せて書きます。
テクニカル分析と市場予測の手法について
テクニカル分析と市場予測の手法について

テクニカル分析と市場予測の手法について

本稿は、チャートなどを使用した視覚的思考と、"箱から出した"市場見通しを通じ、よく知られた数学的手法の能力と可能性について考察しています。 一方で、本稿は、トレードの考え方を再考する想像力を得ることがでますので、幅広く皆さんの注目を集めると思います。また他方で、本稿は幅広い分析および予測ツールについての代替開発並びにプログラムコードの実装に役立つでしょう。
金融時系列の予測
金融時系列の予測

金融時系列の予測

金融時系列の予測はあらゆる投資活動に必要とされる要素です。将来利益を得るために今資金を投入する、という投資そのもののコンセプトは、将来予測のコンセプトに基づいています。そのため、金融時系列の予測は、組織化された為替やその他有価証券の取引システムといった投資業界全体に根差すものです。
実トレーディングにおける売買ロボットの自動最適化
実トレーディングにおける売買ロボットの自動最適化

実トレーディングにおける売買ロボットの自動最適化

本稿はトレーダーが EA から直接最適化を起動することで Expert Advisor のインプットを最適化できるようになる関数について説明し、そのライブラリを提供します。
МetaТrader 4のイベント
МetaТrader 4のイベント

МetaТrader 4のイベント

この記事は、注文のオープン、クローズ、変更などのイベントを観測するМetaТrader 4ターミナルのプログラムに着目しており、MQL4でのプログラミングやターミナルを扱う基本的なスキルを持つユーザーを想定して書かれています。
チャネルを利用したトレードのためのエキスパートアドバイザー
チャネルを利用したトレードのためのエキスパートアドバイザー

チャネルを利用したトレードのためのエキスパートアドバイザー

このエキスパートアドバイザーはチャネルラインをプロットします。上と下のチャネルラインがサポート・レジスタンスレベルとして振る舞います。エキスパートアドバイザーは基準点を設け、値が届くかチャネルラインを越えるかする度にサウンド通知をおこない、関連する印を描きます。フラクタルなフォーメーションにおいて、対応する矢印が最後のバーに現れます。ラインブレイクアウトは大きくなっていくトレンドの可能性を示唆します。このエキスパートアドバイザーは幅広い範囲で批評されます。
ZUP - ペサベントパターンのZigZag パート2
ZUP - ペサベントパターンのZigZag パート2

ZUP - ペサベントパターンのZigZag パート2

ZUP - ペサベントパターンのZigZag パート2 - 組み込みツールの詳細
いくつかのインジケーターにおけるマルチNullバー再計算
いくつかのインジケーターにおけるマルチNullバー再計算

いくつかのインジケーターにおけるマルチNullバー再計算

この記事は、Nullバーが変化した際に MetaTrader 4クライアントターミナルのインジケーター値の再計算に関する問題に焦点を当てています。複数の再計算前に保存されたプログラムコードを保存させるいくつかの追加プログラムをインジケーターに追加する方法について述べています。
Expert Advisor Code で簡単にエラーを検出しリカバリする方法
Expert Advisor Code で簡単にエラーを検出しリカバリする方法

Expert Advisor Code で簡単にエラーを検出しリカバリする方法

Expert Advisor の作成では、コードエラーの検出およびリカバリの質問はひじょうに重要なものです。独特なのは、ちょうど良いタイミングで検出されないエラーが、すでに第一の検証段階にあるトレーディングシステムの貴重な考えを台無しにしてしまうことです。賢明な EA 作成者がだれしもそういった問題を一番最初から考慮に入れるのはそのためです。本稿では、このむつかしい問題に役立つ方法をいくつか詳しく説明します。
ピボットポイント分析に基づくトレーディング戦略
ピボットポイント分析に基づくトレーディング戦略

ピボットポイント分析に基づくトレーディング戦略

「ピボットポイント(PP)」分析は日次で変動の激しい市場に対するもっともシンプルで効率的な戦略です。それはコンピュータがまだない時代にすでに利用されていました。そのころ、株式で働くトレーダーはフレームや計数機で数える以外にADP 機器は何も使えませんでした。
遺伝的アルゴリズムー数学
遺伝的アルゴリズムー数学

遺伝的アルゴリズムー数学

遺伝的アルゴリズムは最適化の問題を解決するために使用されます。このような問題の例として、ニューロネットワークの学習、つまりエラーを最小限にするための、このような重み値の選択を用いることができます。遺伝的アルゴリズムのベースにはランダム探索法があります。
ろうそく方向の統計的回帰研究
ろうそく方向の統計的回帰研究

ろうそく方向の統計的回帰研究

やってくる短い時間間隔に対して、ろうそく足インディケータの定期的な傾向を基に、1日の特定時刻の市場動向を予想することは可能なのでしょうか?まず第一にそのような発生が検出されるなら、可能です。この疑問はおそらくどのトレーダーの心にも浮かんだことのあるものでしょう。本稿の目的は、ろうそく足の方向の統計的回帰に基づき、特定の時間間隔で市場動向の予想を試みることです。
MetaTrader 4とMatlabのDDEによる連携
MetaTrader 4とMatlabのDDEによる連携

MetaTrader 4とMatlabのDDEによる連携

MatlabからMetaTrader 4へDDEを用いてのデータの移送方法のステップごとのインストラクション
ラブシェール資産運用法の統計的検証
ラブシェール資産運用法の統計的検証

ラブシェール資産運用法の統計的検証

この記事では、マーチンゲール法よりは攻撃的ではないが、かけ金のアップは2倍ではなく一定の額というラブシェール資産運用法の統計的性質を検証する。
MetaTrader 4での取引ストラテジーテスターの特徴
MetaTrader 4での取引ストラテジーテスターの特徴

MetaTrader 4での取引ストラテジーテスターの特徴

この記事は、MetaTrader 4での取引ストラテジーテスターの特徴を詳細に説明しています。
トレーリングストップのパターンとマーケットの退出
トレーリングストップのパターンとマーケットの退出

トレーリングストップのパターンとマーケットの退出

注文修正やクローッジングのアルゴリズムの開発者は、異なるメソッドから取得された結果をどのように比較するかという不滅の悩みに苦しみます。チェックのメカニズムは、よく知られています - それは、ストラテジーテスターです。しかし、注文のオープン/クローズにおいて等しくEAを動作させるにはどうすれば良いでしょうか?この記事は、トレーリングストップやマーケットの退出のための異なるアルゴリズムの結果を比較するためのプラットフォームを数学的に維持できる注文のオープンの繰り返しを提供するツールを紹介します。
裁量トレードに向けたファジーロジック
裁量トレードに向けたファジーロジック

裁量トレードに向けたファジーロジック

この記事では、ファジィ集合論を適用することにより、裁量の取引戦略を改善する方法を提案します。例として、相場参入のために過度に形式的な基準をぼかすため、ファジーロジックアプリケーションや戦略の検索、パラメータの選択について、ひとつひとつ説明してきました。このように、戦略の変更後、相場の状況に反応してポジションを開く柔軟な条件を使用します。
ニューラルネットワークを利用した価格予測
ニューラルネットワークを利用した価格予測

ニューラルネットワークを利用した価格予測

数多くのトレーダーがニューラルネットワークを話題にしますが、それは何なのか、何ができるのか、を知る人はほとんどいません。本稿では、人工知能の世界に少し光を当てます。そしてネットワーク用のデータを正しく準備する方法を説明します。また、プログラム Matlab を用いて予測例を見ていきます。
マーケット用の任意の非標準チャートのインディケータを作成するには
マーケット用の任意の非標準チャートのインディケータを作成するには

マーケット用の任意の非標準チャートのインディケータを作成するには

オフラインチャートとMQL4言語でのプログラミングによって、任意のタイプのチャートを獲得することができます。(『三目並べ』、『練行足』、『カギ』、『レンジバー』、等量チャートなど)本稿ではDLLを使用せずにこれを行う方法を紹介します。したがって、このような"2in1"のインディケータをマーケットで公開したり、購入することができます。
楽になりエラーが少なくてすむように EA コードを短くする方法
楽になりエラーが少なくてすむように EA コードを短くする方法

楽になりエラーが少なくてすむように EA コードを短くする方法

本稿で述べられるシンプルなコンセプトにより、MQL4 で自動売買システムを作成する人が既存のトレーディングシステムをシンプルにすることができ、またコードが短くなることで新規にシステムを作成するのに必要な時間を削減することもできます。
オプティマイザでの遺伝的アルゴリズム vs シンプルな検索
オプティマイザでの遺伝的アルゴリズム vs シンプルな検索

オプティマイザでの遺伝的アルゴリズム vs シンプルな検索

この記事は、遺伝的アルゴリズムとシンプルな検索により取得されるものを用いて、エキスパートアドバイザーの最適化を行った結果とかかった時間を比較します。