
ちょっと便利かもしれないプログラムを作成したので公開します。尚、バグがあるかもしれないので、使ってみたい人だけ、自己責任でお使いください。
もし宜しければ、私が作ったインジケーターの感想、改良点などをお知らせくだされば幸いです。ご要望などもありましたら、御連絡ください。時間と能力の許す限り、善処します!!
最初に、ユーザーが作成したインジケーターをChart Studio (Deal Bookのアプリケーションが入っているフォルダにChart Studioというフォルダがあり、その中にアプリケーションがあります。Deal Bookをインストールしたときにデスクトップにショートカットが出来ていると思います。) からインストールし、Deal Bookで使う方法を示します。
DealBook360用に少し書き換えたページも用意しましたNEW
[Chart Studioから作成したインジケーターをDeal Bookにインストールさせる方法]
[表示されているチャートウインドウとは別ウインドウにインジケーターを表示させる場合]
[表示されているチャートウインドウにインジケーターを重ねて表示させたい場合] (ユーザーが作成したインジケーターは上記の方法では別ウインドウに表示されてしまいます)
[インジケーターの設定を変更する方法]
描画されているインジケーターのラインなどにカーソルを合わせ、ダブルクリックもしくは右クリックして設定画面を出し、設定値などを変更してください。
[フィボナッチ・リトレースメントを表示させる方法(おまけ)]
ここのプログラムとは関係ないのですが、私は最初にDeal Bookを使い始めときにフィボナッチ・リトレースメントを表示させる方法が分かりにくかった印象があるので、その表示方法を紹介します。
私が作ったインジケータを紹介します。
Deal Bookでは日中の高値と安値を表示してくれますが、世界標準時の零時を基準にしています。そこで、NY Close時間(夏時間は午前六時)を基準に表示してくれるインジケーターを作りました。インジケーター名はDay_HLです。ファイルの中身はここをクリックして表示してください(メモ帳などにコピー&ペーストして保存してください。保存するときはどんな名前でもいいのですが、拡張子はCTLにした方がいいでしょう。例えば、"Day_HL.ctl"というファイル名で保存します。保存する場所はどこでもいいのですが、インストール後もファイルを削除しないでください。)。設定で基準時間(0から24)を変えられます。デフォルトは日本時間の午前七時を表わす7が入力されています。注意しないといけないことは、チャートのタイムゾーンが日本時間(GMT+09:00)のつもりで設定時間を設けているので、タイムゾーンを日本時間以外の時間に設定されている場合は、設定メニューで変更するか、元のファイルの値を変えてください。
5分、10分、20分、30分、1時間足チャートでのみ表示可能です。設定時間が偶数の場合は2時間足チャートでも表示可能です。つまり、2時間足チャートの場合、ヒストリカルデータ(四本値)が奇数時間ごとになっているので、(偶数時間-1)のローソク足なら、その時間の切れ目をプログラム上で特定できるというわけです。まあ、適当に試してみてください!
日本、ロンドン、ニューヨークの相場時間における高値と安値を表示させるインジケーターを作りました。インジケーター名はmarket_HLです。ファイルの中身はここをクリックして表示してください(メモ帳などにコピー&ペーストして保存してください;拡張子はCTL)。上のDay_HLを少し修正した程度のものです。設定で基準時間(0から24)を変えられます。デフォルトは日本時間の午後sa三時、午後九時、午前七時を表わす15、21、7が入力されています。最適な区切りか分かりませんので、ご自由に調節してください。タイムゾーンの問題と表示可能時間足チャートの問題もDay_HLと同じです。
単に、三大主要相場の高値と安値を表示させるという目的だけでなく、その相場時間にどのような値動きをしたのか(例えば、トレンドが継続されたのか、反転したのかなど)が明瞭になる点が面白いと思います。
一日の相場時間を二つに区切ったピボットを作りました。タイガーさんのブログでは変則ピボットと呼ばれているものです。その変則ピボットを自分の好きな時間に微調整できるように拡張しただけです。インジケーター名はpivot_twoです。ファイルの中身はここをクリックして表示してください(メモ帳などにコピー&ペーストして保存してください;拡張子はCTL)。設定で二つの時間(0から24)を変えられます。デフォルトは日本時間の午後九時と午前七時を表わす21と7が入力されています。Day_HLと同様にタイムゾーンの問題があります。ちなみに、二つの値をいずれも午前七時を表わす7にすれば、日中のピボットになります。米州 open時間の代わりにTKY Close時間を使いたい場合には、デフォルトの21を17に変更してください。
ブログなどでインターバンクレートで作成したピボットを掲載してくださるのは有難いのですが、自分の興味ある通貨ペアのピボットが含まれていない場合に有用です。また、対象となる通貨ペアにおいて、最近ピボットが上手く機能しているかどうかを瞬時に判断できるというメリットがあります。インターバンクレートではないですが、GFTのレートで作成しても数pips程度のずれなので、十分に使えると思います。アワリーチャートでご使用くださることを推奨します。タイムゾーンの問題と表示可能時間足チャートの問題もDay_HLと同じです。
リクエストがあったので、三つの時間で三つの期間に区切ったピボットとデイリーピボットも追加しました。インジケーター名はそれぞれpivot_threeとdaily_pivotです(ファイルの中身にリンク)。細かくなればなるほど、HBOPやLBOPに到達する確率も高くなるのでご注意ください。逆に、レンジ相場での逆張り狙いにpivot_threeあるいはpivot_twoを使い、そのHBOPやLBOPを抜けたら、ウィークリーピボットやデイリーピボットを頼りにトレンド・フォローするという考え方も悪くないと思います。
「プログラム変更」 nextというパラメーターは、最新のローソク足読込後に計算されたpivotを未来にデフォルトで8本表示させるようにするために導入しました。ゼロにすればこれまでと同じです。HBOP_on、R2_on、R1_on、BP_on、S1_on、S2_on、LBOP_onというパラメーターは、正の数字を入れると、そのピボットレベルが表示されるようにしました。あまり届かないHBOPやLBOPを表示させないようにできます(通常はHBOPやLBOPを表示させないようにして欲しいという要望に応えました)。今回、ピボットレベルというのをバランスポイントという意味のBPに変更し、指値を入れやすいように、HBOP、R2、R1、BP、S1、S2、LBOPの順に値が表示されるようにしました。つまり、大きい順に並んでいます。daily pivot、pivot_two、pivot_threeに関しては、金曜日のNYクローズ(日本時間では土曜日の午前六時;夏時間)後に、次週の月曜日のピボットが表示されるように修正しました(週末に指値注文を仕掛けるために、次週のpivotを表示して欲しいという要望に応えました)。
「表示例」ピボット・トレーディングの基本はR1、BP、S1の三つで十分だと最近考えるようになり、それ以外は追加機能でオフにするようにし、30分足と四時間足チャートにこの画像のように表示させて見ています。30分足の実線は変則ピボット、点線はデイリーピボットであり、四時間足の実線はウィークリーピボット、点線はマンスリーピボットです。赤色がR1、白色がBP、黄色がS1で表示されています。イメージ先行型の私には各種インジケーターをチャート上に描画し、過去の相場でどのように機能したかを見ながら予測するのが良いと思います。私は前日や数日前の各種ピボットの値も参考にしています。インジケーターで描画すると、そういう過去のピボットも視覚的に捉えることができます。相場が急変してS1を下抜ければ、S2やLBOPをそのときだけ表示させるようにします。
一週間の高値、安値、週末のNY終値を使ったピボットを表示させるインジケーターを作りました。インジケーター名はWeekly_pivotとMonthly_pivotです。ファイルの中身はここ(weekly)とここ(monthly)をクリックして表示してください(メモ帳などにコピー&ペーストして保存してください;拡張子はCTL)。
スイング派あるいはスワップ派向けですが、私はまだスイングトレードできる技量がないので、試していません。デイトレにおいても、サポートあるいはレジスタンスラインの一つとして表示させて見るのも悪くないかもしれません。
私が作った様々なピボットを表示させた図がこれです。超短期から長期まで、現在どういう状況にあるかが、それぞれのピボットにおける現在のプライスの位置関係から読み取れるように思います。
「プログラム変更」変則ピボットなどと同様に、nextやHBOP_onなどを追加しました。週末に次週のピボットを表示できるようになりました。
一時間毎のピボットを表示させるインジケーターを作りました。インジケーター名はhourly pivotです。ファイルの中身はここです。いろいろなピボット計算のインジケーターを公開しているので、あまり説明はしませんが、私はR2、R2、BP、S1、S2を1分足チャートに表示させています。ブレークアウトした場合はHBOPやLBOPをオンにします。5分足チャートでも構わないのですが、1分足チャートを用いたスキャル気味のデイトレに適しているように思います。参考にしたMetaTrader用のHourly Pivot Pointは、フィボナッチ・リトレースメントの比率でも表示できるように作られていましたが、私は採用しませんでした。リクエストがありましたら、そういうインジケーターも直ぐに作れます。
一本のローソク足に対してピボットを計算し、一つ右にシフトさせて表示させるだけのシンプルなインジケーターです。インジケーター名はpivot_bandです。ファイルの中身はここをクリックして表示してください(メモ帳などにコピー&ペーストして保存してください;拡張子はCTL)。デイリーチャートで表示させれば、最後のインジケーターの値が最新のデイリーピボットの値となります。もちろん、ウィークリーチャートで表示させればウィークリーピボット、マンスリーチャートで表示させればマンスリーピボットです。週末に指値を仕込むためのインジケーターを作りました。
注意点は二つあります。一つは、最新のローソク足の値が変化しているときもピボットの計算結果が表示されていますが、ローソク足の終値が確定したときに初めて正しいピボットの値になるということ、もう一つは、日足の終値がDealBookでは世界標準時間(日本時間午前九時)のゼロ時に設定されているということです。週末の金曜日の場合は問題ないです。
変則ピボットに対してはピボットバンドが使えないので、設定時間を週末だけ午前五時に設定すればほぼ同じような変則ピボットの値が計算できます。これはデイリーピボットに対しても設定可能ですが、ウィークリーピボットでは時間指定できません。少し話がそれますが、一つのワークスペースの二つのチャートに、一方は午前六時に設定したデイリーピボット、もう一方は午後八時に設定したデイリーピボットを表示させて見ても面白いですよ。
ポイント・アンド・フィギュア・チャート(P&Fチャート)がGFTのDealBookには標準で用意されておらず(この記述は間違いでした。使えない“子供だまし”みたいなPFが付いていました。)、他の業者のP&Fチャートも、正確なP&Fチャートを表示できないので(SAXOやCTなど)、出来る限り正確なP&Fチャートに似せたインジケーターを作りました。インジケーター名はpoint_figure_chart_mimicです。ファイルの中身はここをクリックして表示してください(メモ帳などにコピー&ペーストして保存してください;拡張子はCTL)。デフォルトでは、一つの枠の幅を20pips、転換に必要な枠の数を3としてあります。もう一つshift(単位はpips)というパラメーターを用意しました。これは枠の取り方を20pipsシフトさせたい場合などに使います。例えば、(30pips,3枠)の場合、shift=0なら(...,76.80,77.10,...)ですが、shift=20pipsなら(...,77.00,77.30,...)です。また、一枠の定義を次のようにしました。例えば116.00円の横に×が書かれた場合(幅が20pipsとして)は116.00 <= price < 116.20、116.00円の横に○が書かれた場合は115.80 < price <= 116.00としました。これはToyolabさんに教わったものです。残念ながら、Chart Studioでは○や×が表示させられないので(私が探せていないだけかもしれませんが)、転換ポイントを折れ線で結ぶことでP&Fチャートを模倣しました。
売買タイミングやサポートあるいはレジスタンスをイメージするのには十分だと私は思っています。興味あるマニアックな通貨ペアの最近の動向を瞬時に見れるというメリットがあります。二時間足チャートでご使用くださることを推奨します。しかし、次のような欠点があります。
P&FをExcelで読み込む形式で出力するプログラムも作成しましたが、プログラムをされない方に使っていただく方法が今のところ思いつきません。Perlで作ったので、どこかでCGIサーバーを借りれば公開可能なので、現在検討中です。Windows上でActive Perlをインストールしていただければ簡単に使えるので、興味のある方はメールください。インターバンクレートのテキストファイルをお持ちの方なら、瞬時にExcelで読み込める形式の正確なP&Fチャートが作れます。その場合、膨大なティックデータを読み込ませるのか、どの時間足の高値と安値のデータを読み込ませるのかによって、プログラムのメモリー上の制限がありますので、必ず上手く使える保証はありません。また、テキスト出力も可能です。
私は、いろいろな通貨ペアのpoint_figure_chart_mimicで、サポートあるいはレジスタンスに近づいているものを探し、Excelで読み込める形式のP&Fを作成してトレンドラインなどを引いて作戦を練り、抵抗帯で跳ね返される、あるいは、突き抜ける瞬間にエントリーします。P&Fはレンジが非常に見やすいので、相場勘で、今回はレンジ内に収まるか、突き抜けるかを判断するという使い方です。ファンダメンタルに強い人は、勘ではなくて、ファンダメンタルを頼りにレンジブレークするかどうかを判断されると良いでしょう。
HLバンドというテクニカル指標がブレークアウトシステムに使えるのかどうか試したくて、HLバンドのインジケーターを作りました。インジケーター名はHLbandです(図の右側)。ファイルの中身はここをクリックして表示してください(メモ帳などにコピー&ペーストして保存してください;拡張子はCTL)。高値と安値を調べる期間と何日前までの高値と安値を用いるかについて二つの設定を変更できるようにしました。デフォルトはそれぞれ21と1です。
確かに、何となくブレークアウトが読み取れるように見えますが、ダマシも多く、よく見ているとボリンジャーバンド(図の左側)と似ていると思ったので、この図のように並べて表示してみました。特に、HLバンドの中間線とボリンジャーバンドの中央の線(図では21MA)はよく似ているように思います。これは一目均衡表のところでも述べたように、HLバンドの中間線は移動平均線と似ているように思います。しかし、違う点もいくつか挙げられ、とくにHLバンドではHighバンドやLowバンドが水平であり、過去のHLバンドの情報が現在でも使える場合が多いのではないでしょうか。また、ボリンジャーバンドはボラティリティ・ブレークアウトにも使える一方、逆張りにも使えるように、HLバンドも視点を変えれば逆張りにも用いられるように思います。ちなみに、HLバンドの幅はボラティリティの計測にも使えるそうですが、この点もボリンジャーバンドと似ている点ですね。
HLバンドを逆張りに用いると考えたときに、折角、高値と安値を計算しているのだから、フィボナッチ・リトレースメントと組み合わせてみようと思い、HLバンド―フィボナッチのインジケーターを作りました。インジケーター名はHLband_Fibonacciです。ファイルの中身はここをクリックして表示してください(メモ帳などにコピー&ペーストして保存してください;拡張子はCTL)。HLバンドインジケーターと同様に、高値と安値を調べる期間と何日前までの高値と安値を用いるかについて二つの設定を変更できるようにしました。デフォルトはそれぞれ21と1です。
23.6%戻しの場合、相場がまだ強気なので、逆張りしてはいけないことがよく分かります。高値(安値)を更新できなかった場合に(つまり、HighバンドやLowバンドに近づいたけどタッチできなかった場合)にエントリーするか、23.6%ラインを切ってからエントリーすると面白いかもしれません。複数の時間足チャートや異なった期間のHLバンド―フィボナッチを並べて表示させると、新たな視点で相場が見えてくるように思います。超短期ではレンジ相場になっているけど、短期では少し戻し気味になっており、中期ではまだまだ強気の騰勢を保っているなどの状態が読み取れます。また、HLバンドのところでも述べたように、過去のHLバンド―フィボナッチのラインも有用なので、横長で表示させた方がいいでしょう。
ブレークアウトシステムとしてHLバンド―フィボナッチを用いたときも、23.6%のラインを明確に抜けるまではそのブレークアウトの騰勢が持続していることが見て取れると思います。いろいろなセットアップを考えて見てはいかがでしょうか。
フィボナッチ・ゾーンというテクニカルを使ってみようと思い、インジケーターを作りました。インジケーター名はDaily_fibonacci_zoneです。ファイルの中身はここをクリックして表示してください(メモ帳などにコピー&ペーストして保存してください;拡張子はCTL)。設定で基準時間(0から24)を変えられます。デフォルトは日本時間の午前七時を表わす7が入力されています。アワリーチャートでご使用くださることを推奨します。タイムゾーンの問題と表示可能時間足チャートの問題もDay_HLと同じです。
私は、それ程、このテクニカルに詳しくないので、インターネットで"fibonacci zone"を検索して勉強してください。簡単に説明すると、BPは日足のpivot levelと同じであり、S1とS2がサポートライン、R1とR2がレジスタンスラインです。それから、S1からSB1までとS2からSB2までがサポートバンド、R1からRB1までとR2からRB2までがレジスタンスバンドです。それらのバンドで存在確率の高いゾーンが区切られているという考えのようです。S2からSB2までのサポートバンドとR2からRB2までのレジスタンスバンドはゾーンも兼ねているらしい。
サポートあるいはレジスタンスがラインとして機能するのではなく、バンドとして機能するという発想が面白いと思いました。確かに、ローソク足のヒゲの部分がサポートあるいはレジスタンスを越える場面をよくみかけます。バンドを抜けきったら、次のゾーンに移るというのも、実際に、様々な通貨ペアで表示させてみると面白いかもしれませんね。
週足や月足のフィボナッチ・ゾーンのインジケーターもWeekly pivotあるいはMonthly pivotから少しの修正で作れるので、ご要望があればホームページにアップロードします。
他のブログでも紹介されていたからわざわざここにアップロードする必要はないと思ったのですが、リクエストがあったのでQQEインジケーターをアップします。インジケーター名はQQEです。ファイルの中身はここをクリックして表示してください(メモ帳などにコピー&ペーストして保存してください;拡張子はCTL)。エラー処理はほとんどされていないバージョンなので、無茶なパラメーターは入力しないでください。前に作って放置しており、私は最近QQEを使っていませんので、使い方はQQEでググって調べてください。
必要ないと思いますが、過去にどの位置でシグナルが出ていたのかを確認する程度には使えるかもしれないので、売買シグナルを表示するだけのストラテジーファイルをアップします。ストラテジー名はQQE_signalです。ファイルの中身はここをクリックして表示してください(メモ帳などにコピー&ペーストして保存してください;拡張子はCTL)。インジケーターと同様にChartStudioからDealBookにインストールし、チャート上の任意の位置で右クリックしたときに現れるメニューの中の“売買シグナル”から選択してください(チャートツールバーの“ストラテジーの設定”からも選択できます)。
「補足」QQEの計算について、簡単な説明ファイルを作りました。参考にしてください。
順位相関指数(Rank Correlation Index, RCI)のインジケーターを公開します。インジケーター名はRCIです。ファイルの中身はここをクリックして表示してください(メモ帳などにコピー&ペーストして保存してください;拡張子はCTL)。RCIの計算は非常に重いので、Numbersというパラメーターで、表示する本数を制限しています。デフォルトは100となっており、100本のバーに対してだけ表示することを意味します。baselineというパラメーターはデフォルトで80になっており、実際にはRCI=80とRCI=-80のときに基準線を引くようにプログラムしています。
多くのサイトやブログで三本のRCIを併用する場合がよく使われているようなので、RCI_threeというインジケーター名のファイルも用意しました。ファイルの中身はここをクリックして表示してください。上のRCI.ctlに期間が三つ増えているだけです。プログラミング的には、三重にループを回しているだけなので、あまり軽くなっていません。いろいろなタイムフレームに対して、このように表示されます。あまりお勧めはしませんが、四本以上表示させたい場合は、同一サブウィンドウ内にRCI.ctlを重ねていけば容易に実現できます(ただし、baselineが重複してしまいますが・・・)。細かい修正(例えば、終値ではなく、(高値+安値+終値)/3に対して計算して欲しい)などの要望があれば、メールしてください。個別に送ります。
Polarized Fractal Efficiency (PFE)のインジケーターを公開します。インジケーター名はPFEです。ファイルの中身はここをクリックして表示してください(メモ帳などにコピー&ペーストして保存してください;拡張子はCTL)。periodとsmoothは正の整数を入力してください。
DealBookにはPFEが無く、ChartTrader (CT)には標準でついているインジケーターです。しかし、CTのPFEは、期間を変えるとおそらく間違った値になるので、自分で作りました。海外のサイトでPFEを調べましたが、なかなか正確な定義が見つからず、私ならこう定義するという計算式で作成しました。もし間違っていたら御連絡ください。
PFEは、トレンドの強さを表わす面白いインジケーターです。強いトレンドが発生すると、-100や100のラインに張り付き、トレンドの方向、トレンドが弱まるタイミング、トレンド転換、トレンド発生が分かりやすいと思います。-80や80ラインを目安にする場合が多いようです。periodの値を変えると、どの程度の強さのトレンドを対象にするかが変えられます。デフォルトでは10ですが、26程度にするのも面白いと思います。EMAによるスムージングが、丸みを帯びさせており、smoothの値を大きくすると立ち上がりが緩やかになり、張り付くまでの時間が長くなります。しかし、smoothによって立ち上がるポイントは変わらず、張り付くまでの時間が長くなるだけであることに注意してください。デイリーチャートでも使えますが、四時間足以下の短期チャートの方が良いかもしれません。
「追加」ゲストブックでリクエストいただいたことから、PFEのストラテジーとPFE10_26インジケーターというのを作りました。ATS関連でCTLを勉強されている方は御参照ください。
MetaTrader4(MT4)はフリーの高機能チャートソフトです。使い方は、ToyolabさんのMetaTrader4入門などを参考にしてください。基本的に、DealBookのインジケーターと同じものを中心に公開します。
拡張子がzipのファイルは、解凍ソフトで解凍し、拡張子がex4やmq4になったものをinidicatorsフォルダに入れてから、MetaTraderを起動してください。拡張子ex4はコンパイル済みファイル、mq4はソースコードのファイルですが、inidicatorフォルダに入れてMetaTraderを起動すれば、未コンパイルのものも自動的にコンパイルされて、MetaTraderのCustom Indicatorsツリーにインジケーターが登録されます。MetaTraderが起動している状態でも、拡張子がmq4のファイルは、MetaEditorでコンパイルすれば、MetaTraderのCustom Indicatorsツリーに登録されます(ex4ファイルの場合は先の方法で登録してください)。
America_open_timeとNY_close_timeの二つの時間で区切ってピボットを計算するインジケーターです。ファイルの中身はここをクリックして表示してください(メモ帳などにコピー&ペーストし、ファイルの拡張子をmq4にして、/MetaTrader 4/experts/indicators/に保存してください。コンパイルすれば直ぐに使えます)。これはアワリーチャート専用ですので、ご注意ください。America_open_timeとNY_close_timeを同じ時間にすればデイリーピボットになります。少しプログラムを修正すれば三つの時間にも直ぐに拡張できます。
MT4が表示している時間がグリニッジ標準時間なのかどうかよく分からないのですが、ニューヨーク夏時間のときにアワリーチャートの最後のローソク足が19時で終わっているので、おそらく20時にクローズしたという表示だと解釈しました。DealBookのChartStudioと時間の関数などの取り扱い方が違うので、少しバグがあるかもしれません。もしおかしいと気付かれた方はご連絡ください。
DealBook版PFEで説明を書きましたので、そちらを御参照ください。ファイルはここからダウンロードしてください。MetaTrader版をネット上で一つ見つけましたが、計算式が間違っており、全く異なる値でした。たぶん、世界中探してもまともなPFEは公開されていないようなので、DealBook版だけでなく、MetaTrader版も公開することにしました。
MT4のSchaff Trend Cycleインジケーターのマルチタイムフレーム版を公開します。ファイルはここからダウンロードしてください。ネットでダウンロード可能なSchaff Trend Cycleには、ソースコードの異なるいくつかのSchaff Trend Cycleが存在するようですが、リンクのページに載せているForexTSDで、尤もらしい定義が紹介されており、それに基づいてマルチタイムフレーム対応のSchaff Trend Cycleインジケーターを作りました。かなり前(Schaff Trend Cycleが流行った頃)に“適当に”作ったものなので、少し正確さに欠けています。具体的には、表示開始ポイント付近の値は間違っています。しかし、ヒストリー内のバーの最大数を十分大きく取っていれば、バックテストの検証などにおいても問題にならないでしょう。正確に記述しなかったおかげで、ソースコードもマルチタイムフレーム化に必要なコードを除いて60行弱という少なさですから、軽いインジケーターに仕上がっています。バックテストや多くのチャートに同時にいくつも表示することを考えると、できるだけ軽い方がいいでしょう。上のPFEなどと比較してみると面白いです。
ちなみに、Visual Trading (VT)やCT系で標準で用意されているSchaff Trend Cycleも上のものとは異なっています。ファイルはここからダウンロードしてください。移動平均にWildersを使っているので、全ての期間を約半分にしないと、似たような値になりません。最後のスムージング処理などのアルゴリズムも異なるので、名前は同じでも別のインジケーターだと考えた方がいいですね。
マルチタイムフレームを利用したピボットを作成しました。ファイルはここからダウンロードしてください。TimeFrameを1440(デフォルト)にすれば、デイリーピボットが表示されます。240にすれば四時間足ピボットになることや、短時間足である一分足チャートにマンスリーピボットなどを表示できる点が、既存のピボット・インジケーターと違う特長です。注意点は、TimeFrameパラメーターで指定したタイムフレームの高値、安値、終値を呼び出しているので、NYクローズを基準としたピボットではないことです。また、表示がおかしいように思ったときは、TimeFrameパラメーターに関するタイムフレームに切り替えて(最新のデータをサーバーからダウンロードする)、もう一度、元のタイムフレームに戻してください。
よく使うタイムフレームは、デイリーの1440、ウィークリーの10080、マンスリーの43200でしょう。スキャル派にはアワリーの60も有用でしょう。
「プログラム変更」 線のスタイル、幅、カラーを設定画面のパラメーター入力値として用意しました。ここで設定すれば定型(チャート)として保存したときに変更したカラーなどのまま保存されます。線幅は1から5までの整数値です。カラーは、カラーパレットから選択してください。
マルチタイムフレームを利用したFiboPivを作成しました。ファイルはここからダウンロードしてください。海外のMetaTraderフォーラムで流れているFiboPivをマルチタイムフレームで実現したものです。ファイル名はわざとFiboPivotとして、既存のFiboPivと変えてあります。上のPivotと特長は同じです。
マルチタイムフレームを利用した四本値などを表示するインジケーターを作成しました。ファイルはここからダウンロードしてください。御存知の方も多いと思いますが、MQLではプライスに次のような番号が割り振られています。
|
Number |
Price |
Description |
|
0 |
Close |
|
|
1 |
Open |
|
|
2 |
High |
|
|
3 |
Low |
|
|
4 |
Median |
(High + Low)/2 |
|
5 |
Typical |
(High + Low + Close)/3 |
|
6 |
Weighted |
(High + Low + Close*2)/4 |
デフォルトではTimeFrameが1440なので、当日の高値、安値、それらの平均値が表示されます。設定画面で、high_dispをfalseにすれば高値線が消えますし、open_dispをtrueにすれば始値線が表示されます。また、shiftパラメーターをtrueにすれば前日のプライスに切り替わります。5分足チャートに昨日の高値などを表示することができます。
「プログラム変更」 線のスタイル、幅、カラーを設定画面のパラメーター入力値として用意しました。ここで設定すれば定型(チャート)として保存したときに変更したカラーなどのまま保存されます。線幅は1から5までの整数値です。カラーは、カラーパレットから選択してください。
さらに、移動平均化するオプションをつけました。移動平均期間であるMA_Periodを1より大きくすると、移動平均化します。その移動平均の種類(MA_Method)も選べます。
P&Fチャートを表示するインジケーターを作成しました。ファイルはここからダウンロードしてください。いくつかのオブジェクト関数を用いて○×を実現しているのですが、その位置などの設定がまだ上手く定義できていないので、ベータバージョンとして公開します。今後、もっと良い表示方法を思いつけば修正します。Numbersは計算に用いるバーの数です。デフォルトでは多い目の5000にしてありますが、500程度にすれば最近の値動きだけになります。全体像を見たい場合には数を大きく、局所的に最近のブレークだけを狙うときは数を小さくしてください。通貨ペア毎に一枠の値幅(width)を調節してください。その他、細かい設定は、適当に試してみてください。
○×の位置を手動で調整する必要があり、Reversal Pointを表わす赤の点線のラインが、上下に並んだ二つの○あるいは×の中点を通るように、フォントサイズを大きくしてください。サブウインドウのサイズ、チャートの拡大率の設定などの問題から、どうしても自動で設定するのは難しいので、手動でお願いします。
注意点として、P&Fは、サーバーのレートによっても異なるので、なるべく信頼性の高いサーバーに接続された方がいいでしょう。
海外フォーラムなどでいくつかのP&Fインジケーターが手に入りますが、定義が間違っているか、独自の定義に基づいているようです。多くのディーリングソフトのP&Fが間違っているように、P&Fインジケーターの作成は難しいみたいです。私の作成したP&Fインジケーターも完璧なものというよりは、私の解釈に基づいたアルゴリズムというべきでしょう。詳しくは雑談のページの“ポイント・アンド・フィギュアのプログラミング”を御参照ください。
「プログラム変更」 線のスタイル、幅、カラーを設定画面のパラメーター入力値として用意しました。ここで設定すれば定型(チャート)として保存したときに変更したカラーなどのまま保存されます。線幅は1から5までの整数値です。カラーは、カラーパレットから選択してください。
線のスタイルの設定(線幅が1のときのみ有効)
|
Number |
Style |
Description |
|
0 |
STYLE_SOLID |
The pen is solid. |
|
1 |
STYLE_DASH |
The pen is dashed. |
|
2 |
STYLE_DOT |
The pen is dotted. |
|
3 |
STYLE_DASHDOT |
The pen has alternating dashes and dots. |
|
4 |
STYLE_DASHDOTDOT | The pen has alternating dashes and double dots. |
PFCの転換ポイントが妥当なところで選ばれているかどうかを確認するために、メインチャートウインドウ内で転換ポイントを直線で結んで表示するPFCIインジケーターを作成しました。ファイルはここからダウンロードしてください。PFCIを表示させ、PFC設定値を変えながら、その時間軸&通貨ペアに最適な値を探せるでしょう。あまりにも頻繁に転換しているようだったら、ローソク足の高値&安値に関わる問題が生じている可能性があります。また、乱高下したときにどのようなPFCになっているかも確認できます。不必要な転換点が一つ入ってしまうだけでPFCが歪な形になります。
おまけとして、PFCのアルゴリズムを用いてジグザグインジケーターのようなもの(ZZ_PFC)を作ってみました。ファイルはここからダウンロードしてください。適切な設定値を選べば、天井と底を上手く捉えられますが、もちろん、これは“後出しインジケーター”であり、転換幅だけ反転して始めて転換点が確定します。そのため、確定していない線分を別の色で表示しています。いろいろなストラテジーを検証する際に、過去の転換ポイントを知る目的で使えるでしょう。
「プログラム変更」 線のスタイル、幅、カラーを設定画面のパラメーター入力値として用意しました。ここで設定すれば定型(チャート)として保存したときに変更したカラーなどのまま保存されます。線幅は1から5までの整数値です。カラーは、カラーパレットから選択してください。
順位相関指数(Rank Correlation Index, RCI)のマルチタイムフレーム(MTF)版を作りました。ファイルはここからダウンロードしてください。DealBook版よりは軽快に表示されますが、他のインジケーターと比べると圧倒的に重いので、あまり期間を長くせず、MTFで別のタイムフレームのものを呼び出すようにしてください。例えば、四時間足のRCIをそれ未満の時間足のチャートに表示させるにはTimeFrameを240にします。デフォルトのTimeFrameである0のままにすると、現在の時間足のRCIを表示します。もちろん、四時間足チャートに五分足のRCIを表示することはできません。その他、MTF版の使い方は、ネット上に転がっているいろいろなインジケーターのMTF版と同じですので、TimeFrameに不適切な数字を入力しないようにしてください。IndicatorCorrectNameは、MTF化のルーチンで再帰的にインジケーターを呼び出すために用意されており、"RCI_mtf.ex4"の場合は、拡張子をはずした"RCI_mtf"でなくてはMTFとして機能しないです。さらに、表示するバーの数を制限するNumbersという値を追加しました。制限付バージョンはここからダウンロードしてください。これで少しは軽くなったはずです。
「プログラム変更」 線のスタイル、幅、カラーを設定画面のパラメーター入力値として用意しました。ここで設定すれば定型(チャート)として保存したときに変更したカラーなどのまま保存されます。線幅は1から5までの整数値です。カラーは、カラーパレットから選択してください。
|
TimeFrame |
ChartPeriod |
|
0 |
Current |
|
1 |
M1 |
|
5 |
M5 |
|
15 |
M15 |
|
30 |
M30 |
|
60 |
H1 |
|
240 |
H4 |
|
1440 |
D1 |
|
10080 |
W1 |
|
43200 |
MN1 |
また、流行っている三本線RCI表示を直ぐに表示したい人のためにRCI_threeを作りました。ファイルはここからダウンロードしてください。パラメーターの数が増えすぎると設定画面が見難いので、線のスタイル、幅、カラーのパラメーターは用意しませんでした。ご要望があれば対応します。これはMTF版ではありません。
「追加」All RSI、All ADX、All CCIなど、mladenさんが作られたインジケーターに触発されて、All RCIとAll RCI_threeを作りました。ほんのお遊びです。ファイルはここ(All RCI)とここ(All RCI_three)からダウンロードしてください。(注)どちらもRCI_mtf.ex4が必要です。入力パラメーターは、All RSIなどを参考に設定してください。ゲストブックにリクエストをくださった方のためにAll_RCI_sixをアップロードしました。New
ネットで出回っているRSIOMAに対抗して、終値ではなくMAのRCIを作りました。ファイルはここからダウンロードしてください。RCI_PeriodとNumbersはRCI_mtfと同じですが、今回はMTF版ではありません。MA_Periodは移動平均線の期間、MA_Methodは移動平均線の種類、Applied_Priceは移動平均に使うプライスです。MA_Periodを1、Applied_Priceを0にすればRCI_mtfと同じ値になります。移動平均線の期間をあまり長くしすぎると遅延しますが、指数平滑移動平均線を用いるなどすれば少しマシかもしれません。RCIの値をあまり歪めたくなければ単純移動平均線がお勧めです。Applied_Priceの説明は上記のHLCOMTWインジケーターの表を参考にしてください。MA_Methodの説明は次の通りです。
|
Number |
Mode |
Description |
|
0 |
MODE_SMA | Simple moving average |
|
1 |
MODE_EMA | Exponential moving average |
|
2 |
MODE_SMMA | Smoothed moving average |
|
3 |
MODE_LWMA | Linear weighted moving average |
52期間RCIをトレンド判定に用いている人は、なるべく滑らかなRCIの方が良いでしょうから、今回のRCIOMAは上手く機能すると思います。ただ、52期間RCIOMAは52期間RCIと同様に計算が重くなりますから、なるべくNumbersの値を大きくしないようにしてください。スキャル派でなければ、9期間RCIのダマシ的な動きを減らす目的で、少しだけ平均化して9期間RCIOMAを用いるというのも良いと思います。移動平均化の機能を使わなくても、終値のRCIではなく、Weighted PriceのRCIなどを使う目的でもこのRCIOMAは役に立つでしょう。
かなり前に作ったもので、しかも派生的なバージョンもいくつか同時に作ったので、今回アップするRCIOMAがどんな環境でもちゃんと機能するかあまりテストしていません。バグレポートや、ご意見ご要望があれば対応いたします。Numbers制限のないものや、MTF版、二本線版、三本線版などもありますが、今回は一番シンプルなものだけにしてみました。
「プログラム変更」 線のスタイル、幅、カラーを設定画面のパラメーター入力値として用意しました。ここで設定すれば定型(チャート)として保存したときに変更したカラーなどのまま保存されます。線幅は1から5までの整数値です。カラーは、カラーパレットから選択してください。
また、RCI_threeと同様に、RCIOMA_threeを作りました。ファイルはここからダウンロードしてください。
タイガーさんのリクエストにお答えして、昔作ったTrendStepというインジケーターを公開します。ファイルはここからダウンロードしてください。線のスタイルなどを変更できるように修正しましたが、最近の動作確認は行っていないので、バグが残っているかもしれません。バグレポートを宜しくお願いします。
TrendStepを一言で説明すると、このページの上で紹介しているHL_COMTWの移動平均(MA)版です。ただし、TimeFrameで指定したHighとTypicalとLowの三つだけを移動平均化して表示します。MA_Periodは移動平均の期間、MA_Methodは移動平均の種類です。Shiftはデフォルトが1ですが、その場合、一つ前までのプライスの移動平均となります。TimeFrameを1440にすればデイリー、10080にすればウィークリー、43200にすればマンスリーとなります。
レンジ系インジケーターの一つという位置づけで、もちろん、レンジブレイク狙いに使えますが、中心のTypical PriceはPivotのバランスポイント(BP)のMAなので、トレンドを読むことにも使えます。あまり、平均化し過ぎると遅延するので、移動平均の種類を変えるなどの工夫が必要でしょう。
いつもメールをいただいている方からVisual Trader (VT)のADXと同じロジックのADXがMT4には無いとの話を聞き、VT標準のインジケーターのソースコードは公開されているから、それを参考に作ってみました。ファイルはここからダウンロードしてください。+DIや-DIを見ない人が多いみたいなので、DMIonというパラメーターを用意し、falseを選択すれば+DIや-DIが表示されない設定にしました。VTのADXではWilders関数でスムージングしているというだけです。
他にもDMIとADXの計算で別の移動平均を選択できる自由度の高いバージョンや、ADXOMAなども作ってみましたが、要望が無ければ公開しないことにします。MTFへの対応も要望があれば作りますが、必要ないでしょう。
四半期毎のピボットと一年期間のピボットを公開します。それぞれQuarterlyPivotとAnnuallyPivotからダウンロードしてください。注意点は、いずれも週足で表示させた場合、週足の四本値で計算され、その終値が四半期の終値および年末の終値と一致しない可能性があります。他のタイムフレームの値と比較して問題ない場合は誤差と考え、値が大きく異なる場合は週足に表示させずに、他のタイムフレームでお使いください。
QuarterlyPivotとAnnuallyPivotのそれぞれに対応するQuarterlyFiboPivotとAnnuallyFiboPivotも公開します。それぞれQuarterlyFiboPivotとAnnuallyFiboPivotからダウンロードしてください。
PivotかFiboPivotのいずれが良いかは好みの問題だと思います。Pivotはリアクショントレードを重視しており、FiboPivotはフィボナッチ・リトレースメントの比率で計算しています。定義に基づいて考えると、少し適用する相場つき(特に、対称性)が異なるかもしれませんが、結局は、相場勘で使い分ける方が良いと思います。つまり、対象通貨ペアの過去のデータに対してPivotまたはFiboPivotのいずれがその通貨ペアで有効であったかなどの直感による判断が重要だと思います。利食いの目処や、サポート&レジスタンスの目安、ストップの値決めなどにお使いください。
過去のPivotなどを分析すると、そのときの相場の状況を理解でき、今後、その相場動向が持続するかどうかの判断材料になると思います。また、各種期間の異なるPivotを併用して、相場全体の流れを小さな波から大きな波への成長または抑制として眺めると面白いかもしれません。