English Русский 中文 Español Deutsch Português
合成バー - 値の視覚情報を表示する新次元

合成バー - 値の視覚情報を表示する新次元

MetaTrader 4トレーディングシステム | 1 12月 2015, 07:50
1 613 0
Rustem Bigeev
Rustem Bigeev

はじめに

バーテクニカル分析において、アクティブトレーダーのほとんどが古典的なバーかローソク足チャートを使っています。これらはプロットされた時点にもとづくので期間によって違いがあることはよく知られています。言い換えれば、1つの古典的タイムバーやローソク足は、ある期間の値の変動範囲を反映するものなのです。これらは共通の4つの基本となる値を持ちます。始値と高値、安値、終値です。

古典的なバーチャートは、とてもポピュラーなものですが、ある1つの拭いようのない欠点を持つという事実があるからこそ、研究が進みました。この欠点は、チャート上でトレードシグナルが最終バーの完成によっておこなわれるトレードシステムを使っていると、とても良く分かります。


合成バー

急で強い値動きがある期間では、値がすでにモメンタムステージを通過し、”早く車に飛び乗れ”と、トレーダーにチャンスがあると言わんばかりにトレードシグナルが頻繁におこってしまいます。

ほとんどの場合、これはとてもリスクのあるシグナルです。初動の値動き方向へさらに伸びていく可能性よりも、値が戻る可能性を無視できないからです。このようなシグナルが出現した典型的な例を以下に示します。トレードシグナルの出現条件は、移動平均線の交差の組み合わせになっています。


図1. タイムバーチャートにおける移動平均線の交差

この問題は過去に練行足、カギ足、ポイント&フィギュア・チャートなどの値表示法の開発・実行によって解決されました。

これらのすべてのチャートは1つのパラメータに基づいています - 表示されているボックスの高さか、固定した値動きです。しかし、これらは幅広い支持を得られていません。グッドタイミングでシグナルを発信してくれる利点を持つにも関わらず、いくらか別の性質の欠点をいくつか持っているからです。

第1に、これらのチャートをよく知られた人気のテクニカル分析インディケーターと一緒に利用することはとても難しいからです。第2に、これらは古典的バーチャートの見え方とはとても違っており、とても特有なものだからです。別の値表示スタイルに慣れる必要があるという問題が起きてしまったのでした。

こう言ったことから、固定のボックスチャート(練行足、カギ足、ポイント&フィギュアチャート)と古典バーチャートの長所を組み合わせた値表示方法の開発を決心しました。それは合成バーと呼ばれました。

合成バーの背景となった原則は、古典バーのような時間要素ではなく、値動きという要素です。これは、値が動き始めるまでチャートには1つの合成バーしかなく、強い値動きだと1分間隔で1本より多くたくさんのバーが生まれるという意味です。

言い換えれば、この表示法は時間に縛られず、そのため合成チャートのタイムスケールは役割をなさないと言えます。そのうえ、生成した合成バーは古典バーとその形が少しの違いしかなく、一緒にMetaTrader 4のどのインディケーターとも使用することができます。

これらのバーは通常のタイムバーとほとんど同じで、すべて同じ高さを持ち少しの違いしかありません。下図は先に示した図と同じチャートセクションを、合成バーのみを使って表したものです。



図2合成バーチャートにおける移動平均線の交差


どのように合成バーをプロットするのでしょうか?始める前に、メインとなるただ1つのパラメータをセットします。バーの高さ(小数値)です。それから特別にデザインされたインディケーターが全てのティックを保存、分析を始めます。


合成バー プロット アルゴリズム

合成バーをプロットする過程を一緒にみていきましょう。最初のバーから始めます。最初のティックは始値として保存されます。次のティックは、新値が始値のレベルより高いか低いかによって、高値か安値になるでしょう。

新値が前の高値・安値の最大・最小値をブレイクすることによって。高値・安値がさらに更新されます。次の値が特定のバー高さ値より大きな高値・安値の違いを作ると、バーはクローズし新たなバーが形成され始めます。このバー特有のものはその終値が常に高値か安値に一致するというものです。

このインディケーターは、スタンダード・MetaTrader 4ターミナル・パッケージに含まれているピリオド・コンバーターというスクリプトの原理に基づいて開発されました。インディケーターのコードは添付ファイルにあります。


インディケーターを使ってみよう

このインディケーターは標準のインディケーターに比べて使い方がいくらか複雑です。インディケーターは最初にカスタムインディケーターのフォルダに格納しましょう。それから取引する通貨ペアの1分足チャートをオープンし、インディケーター"synbar.mq4"を稼働させます。



図3データ準備

インディケーターが1分足バーのヒストリーを処理すると、9分足の新しいチャートを生成します。メインメニューから"ファイル - オフラインチャート"を開き、"Instrument Symbol"のM9を選択し"開く"をクリックします。


図4合成バーチャートの開き方

通常はこのチャートを使います。1分足と9分足のチャートがデスクトップに開かれています。


図5合成バーを使ってプロットしたユーロドルチャート

このチャートに全種類のインディケーターを加えることができます。ラインを描画したり、文字記号を置いたりできます。ただこのチャートではエキスパートアドバイザーは機能しないという制限だけがあります。

しかしこの制限はエキスパートアドバイザー関数にスクリプトを加えることで解除できました。スクリプトは奇妙にもこのチャートで正確に機能します。残念ながら、本稿では9分足のスクリプトについては網羅せず、現時点ではそれらに取り組むことはしません。

インディケーターの正確な稼働を確かなものにするため、DLLインポートを許可してください。


図6エキスパートアドバイザーの設定


インディケーターにはたった2つのパラメーターしかありません。最初の1つ、最も需要なものはバー高さです。

  • パラメータExtBarHeightは(トレーディングサーバーで定義された)小数値でセットします。例えば、小数点が小数第4位まであれば、セットしたい値を小数点を除いた通常の整数値で入力します。もし小数第5位ならば小数点を除いた整数値を10倍します。
  • SplitOnLineチャートの表示法を決定するだけの補助パラメータです。もし余計なものがないチャートにしたいなら、パラメータ値をFALSEに設定してください。逆にダイナミックなバー・フォーメーションのチャートがよいならTRUEに設定します。

チャートタイプはExtBarHeightで設定したバー高さによって変わることは明らかでしょう。これはトレードシステム・シグナルのパフォーマンスにも大きく影響するでしょう。バー高さは、実際、追加パラメータで、様々なケースで唯一必要なのものになりえます。


図7ユーロチャート 日足



図8ユーロチャート 合成バー


まとめ

一般的なトレードシグナルが時間に縛られる問題は、合成バーを利用することで避けることがでます。そして古典的バーが完成する前にトレードシグナルを受信する機会を得ることができるのです。さらに、これらのチャートは"よりなめらか"に見えます。ひどくふざけた動きもありません。以下に注意点を述べます。

  • トレードシグナルが形成したどんな時点でも、チャートの定期的なモニタリングをしてください。

欠点もあります。もしマーケットが"爆発"し、合成バーの高さよりずっと大きなギャップを作ったならば、チャートは事後に作られてしまいます。これはつまり以下を意味します。

  • そのような状況下のチャートに表示されたトレードシグナルがどんなに魅力的でも、トレードが機能することは絶対にありません。ギャップの中でのトレードを許すブローカーは存在しないからです。
ヒント - マーケットがギャップを生んだ時はトレードしてはいけません。

MetaQuotes Ltdによってロシア語から翻訳されました。
元の記事: https://www.mql5.com/ru/articles/1353

添付されたファイル |
synbar.mq4 (5.78 KB)
ランダムサンドボックス ランダムサンドボックス
本稿は、インタラクティブな"サンドボックス"について書かれています。エクセルファイルが、ランダム化したエキスパートアドバイザーのバックテストデータをシュミレートします。読者の皆さんは、これを使えば、初期状態のMetaTraderが提供するEAパフォーマンスのメトリックスを探求する手助けとなり、より多くのことを理解できるようになります。本稿の文書はこの経験則を通じユーザーの皆さんに理解してもらえるように書かれています。
EX5 ライブラリ使用による開発プロジェクトの促進 EX5 ライブラリ使用による開発プロジェクトの促進
.ex5 ファイルにクラス/関数の実装詳細を非表示にすることでノウハウアルゴリズムを他の開発者と共有し、共通のプロジェクトを設定し、ウェブ上でそれらを進めていくことができるようになります。そして MetaQuotes チームが ex5 ライブラリクラスの直接継承機能を実現することに全力を傾ける一方で、われわれはそれをいますぐ実装していこうとしているのです。
MQL4を使ってRSSニュースフィードを読むには MQL4を使ってRSSニュースフィードを読むには
本稿は、HTMLタグ分析関数を使って、MQL4でRSSマークアップ言語を読む方法について書かれています。ニュース・インディケーターか、MQL4言語のRSSリーダーに使用することができるワークピースの作成にチャレンジします。
指数平滑化を利用した時系列予測(続編) 指数平滑化を利用した時系列予測(続編)
本稿はすでに作成済みのインディケータをグレードアップを模索し、 またブート処理と変位値を利用して予測信頼区間を推定するための手法を簡単に取り上げます。その結果、予測精度を推定するために用いる予測インディケータおよびスクリプトを手にすることになります。