23_BB_Expansion_Alert.mq4

【 2016/08/08 更新 】 ご要望がありましたので、メール送信の機能を追加しました。



ボリンジャーバンドのエクスパンション(拡大)具合を数値化してグラフ表示するインジを作ってみました。
例によって、素人作なのでおかしなところがあっても知りません(;´∀`)

23_BB_Expansion_Alert.mq4 → ダウンロードはこちら

バンド幅がキュッと狭くなった後に急激に拡大すると、強いトレンド発生の可能性が高いと言われています。
ボリバンを順張りで使用する場合に意識される考え方ですね。

↓の画像の場合、
狭い幅で横ばい状態で推移していたボリバンが急激に拡大し、綺麗な上昇トレンドに移行しています。

WS000262.jpg

単純な上下バンドの幅ではなく、上昇中は上バンド、下降中は下バンドの角度に注目しています。
ローソク1本前の時点との差をpips数で表示。マイナス(縮小中)の場合はゼロとします。
Bidがセンターラインより上の場合は上バンドのみ、下の場合は下バンドのみ表示します。

指定したpips以上に拡大すると、アラート画面や音声でお知らせします。

何pips以上拡大したらエクスパンション、といった明確な定義はありません。
とりあえず、5分足程度の短い足での使用を想定して、初期設定は5pipsにしてあります。
お好きなようにカスタマイズしてご利用くださいm(_ _)m

【 23_BB_Expansion_Alert.mq4の使い方(パラメーター解説) 】
BB_period - ボリンジャーバンドの期間、標準は20
BB_deviation - ボリンジャーバンドの偏差、標準は2
Alert_Level - 何pips以上変動したら、アラートや音声でお知らせするか
Use_Alert - アラート画面を表示するかどうか、falseなら↓の音声だけになります
Use_Sound - 音を鳴らすかどうか
Sound_File - 再生する音声ファイル名

* ご注意 *
パラメーターのAlert_Levelを変更しても、チャート内の点線や上限下限は変わりません。
これらを変更する場合は、↓を編集してください。

WS000276.jpg
スポンサーサイト

23_BO_Timer.mq4 バイナリーオプション用タイマー

【 更新 2015/11/25 】 申し訳ありません。不具合がありましたので修正しました。



各社の判定時間前になるとアラームで知らせてくれるタイマーを作ってみました(;´∀`)
国内バイナリーオプション全社対応。どの業者の時に鳴らすかは個別にオンオフ設定できます。

以前はEA形式で作成していたのですが、今回はインジケーターです。
indicatorsフォルダに保存してご利用くださいm(_ _)m

▷ 23_BO_Timer.mq4 (左クリックでダウンロードページへ) 【 更新 2015/11/25 】

主な仕様は↓こんな感じ。
・各社の判定時間前にアラームでお知らせ
・どの業者の時に鳴らすかは個別にオンオフ設定可能
・チャート内に時計を表示(非表示にすることもできます)
・時刻はパソコンの時計から取得
・サマータイムは自動で調整(2018年まで)

WS0102947.jpg

ちなみに、私自身は↓のような音声ファイルを利用しています。
▷ Sounds.zip (左クリックでダウンロードページへ)
「ぽ~ん♪ 5分前です♪」

一時的にアラームを止めたい場面もあると思いますので、EAボタンと連動させています。
WS000514.jpg
(スイッチとして利用しているだけなので、EAは関係ありません)

EAボタンを↓オフにすると一時停止します。
WS000513.jpg

使用方法やパラメーター設定等は↓の説明の通りです。
WS0102946.jpg

何か不具合がありましたら教えていただけると助かりますm(_ _)m

23_RSI_kairi_Alert.mq4

ちょいとご要望をいただいたので、RSIの乖離でアラートを鳴らすインジを作ってみました。
ホントに久しぶりなんで、変なとこがあったらゴメンナサイ(;・∀・)

RSIの乖離といえば、池辺雪子さんのトレード手法が有名ですね。
初期パラメータは池辺雪子さんの基本設定にしてみました。

▷ 23_RSI_kairi_Alert.mq4 (左クリックでダウンロードページへ)

主な仕様は↓こんな感じ。
・長期短期二本のRSIを表示
・二本の乖離幅が一定数以上になると、文字の色やアラートなどでお知らせ
・メールで知らせたり、音声のみにすることも可能です

EURUSDDaily.png

【 23_RSI_kairi_Alert.mq4の使用方法(パラメーター解説) 】
RSIPeriod1一本目のRSIの期間
RSIPeriod2二本目のRSIの期間
Kairi二本の差がこれ以上ひらいたらお知らせ
Mail乖離発生時にメールでお知らせ
Use_Alertアラート画面を表示
Use_Sound音声でお知らせ(↑Alertを優先)
Sound_File↑で鳴らす音声ファイル
TextRSIの数値や乖離幅を文字で表示
fontsize文字の大きさ
corner文字の表示位置(0: 左上、1: 右上、2: 右下、3: 左下)

23_Pips_AlertMail.mq4

【 追記 2013/8/28 】 ご要望がありましたので、メール送信の機能を追加しました。



急騰急落時に音声やアラートで教えてくれるMT4のインジケーターを作ってみました。
素人作なので、おかしなところがあっても知りません(;´∀`)

23_Pips_AlertMail.mq4(左クリックでダウンロードページへ)

ずっとチャート見てるのって疲れますよね、ついつい無駄なポジも増えがちです。
そんなわけで、動きがあった時だけ見ればいいように、急騰急落を監視してくれるインジです。

最新のローソク足の高値-安値の差が、指定しておいたpips以上になると、アラート画面でお知らせします。
アラート画面を表示せずに、音声だけ鳴らすこともできます。

【 23_Pips_Alert.mq4の使用方法(パラメーター解説) 】
pips - 何Pips以上でお知らせするか(1.0pipは0.01円/0.0001ドルです)
Use_Alert - アラート画面を表示するかどうか、falseなら↓の音声だけになります
Sound_File - 再生する音声ファイル名
Mail - Trueならメールでお知らせ
subject - メールの件名

メールの本文には、「通貨ペア+現在値」を記載します。
MT4のメール設定については、→をご確認ください。【MT4でアラートやシグナルをメール送信する方法】  

MT4のヒストリカルデータの集め方

ヒストリカルデータ(過去チャート)の入手方法

MT4でバックテストなどを行う際、長期間の信頼できるヒストリカルデータが必要になります。
MT4の「ツール→ヒストリーセンター」からダウンロードできるMetaQuotes社提供のデータは、正確性において評判があまりよろしくなく、他の業者からヒストリカルデータを入手している方も多いかと思います。
FXDDマルタ』や『Forexite』からダウンロードして使用するのが一般的ですかね。

国内業者は長期間のデータを提供しているところがなかなか無いのですが、GMOクリック証券が2007年からのデータを提供していることを今更ながら知りまして、MT4で使用する方法について考えてみました。

少し面倒ですが、国内業者のヒストリカルデータというのも貴重ですので、価値はあるかと(;´∀`)

いつものことですが、私はこの手のことに詳しいわけではありませんので、稚拙な部分があったり、
他にもっと便利な方法もあると思います。そのあたり、ご了承くださいm(_ _)m

ヒストリカルデータの基本的な使用方法

ヒストリカルデータの基本的な使用方法については、沢山解説サイトがありますが、一応おさらいしときます。

1.バックテスト用に、専用のオフラインのMT4を用意
サーバーに接続すると、チャートを更新した時に、サーバーのデータに上書きされてしまいます。
「ツール→サーバー」で、「プロキシサーバーを有効にする」にチェックを入れ、
プロキシの内容はデタラメにしておけば、常に回線不通の状態になってくれます。
「ツール→オプション→チャート」で、読み込む最大バー数を増やしておくこともお忘れなく。

2.古いデータを削除しておく
古いデータと混ざると混乱しますので、データをインポートする前に削除しておいた方が良いでしょう。
「インストールフォルダ→history→○○ Serber」フォルダにある、○○.hstというファイルを全て削除します。

MT4は、アプリを閉じるときにこのフォルダにチャートデータ(hstファイル)を保存します。
ヒストリカルデータをいじるときは、何かをするたびにMT4を再起動して、ファイルを更新しておきましょう。

3.ヒストリカルデータをインポートする
「ツール→ヒストリーセンター」でお目当ての通貨ペアの1Minuteを選択し、インポートします。
終わったら再起動を忘れずに。

4.他の時間足のデータを作成する
各社から提供されているヒストリカルデータは、基本的には1分足のみになります。
1分足のチャートを開き、スクリプト『period_converter_ALL.mq4』を使用すると、1分足のデータを元に、
5分足などの他の時間足も自動で作成してくれます。
標準にない2分足などは、『period_converte.mq4』で個別に作成し、オフラインチャートから開けます。

クリック証券からヒストリカルデータをダウンロード

ヒストリカルデータは、マイページにログイン後、「ツール→ヒストリカルデータ」からダウンロードできます。

GMOクリック証券←口座開設はこちら


ダウンロードしたヒストリカルデータをフォルダにまとめる

クリック証券のヒストリカルデータは、1日分ごとにCSVファイルにされていて、月ごとにフォルダ分けされています。まずは、これらを一つのフォルダにまとめてしまいましょう。

私は、『 Cドライブ > ヒストリカルデータ > データ置き場』というフォルダを作業場として使用しました。
ご自分の環境に置き換えてご覧ください。

まず、まとめたいファイルをフォルダごと『データ置き場』フォルダに移動します。
あまりデータが多すぎると、行不足でエクセルで開けなくなりますので、2年分ごとに行いました。

WS101404.jpg

次に、『200701』『200702』などの各フォルダ内のCSVファイルを、全て『データ置き場』フォルダに移動させるのですが、手動でやっていたら大変なので、バッチファイルを作成して一気に行います。

デスクトップなどで「右クリック→新規作成」から、テキストファイルを作成し、↓のように記述し保存します。

for /r C:\ヒストリカルデータ\データ置き場 %%F in (*) do move "%%F" C:\ヒストリカルデータ\データ置き場


次に、作成したテキストファイルの拡張子を.txtから.batに変更し、バッチファイルとします。
バッチファイルのファイル名や保存場所は任意で構いません。私は『ファイル移動.bat』としました。
拡張子変更後は、右クリックして『編集』を選べば、メモ帳などで内容を編集できます。

WS101406.jpg

もし、ファイル名に拡張子が表示されていない場合は、
『フォルダオプション』の『登録されている拡張子は表示しない』のチェックを外してください。

WS101408.jpg

あとは、作成した『ファイル移動.bat』をダブルクリックで実行すれば、
サブフォルダ内の全てのCSVファイルが、『データ置き場』フォルダに移動してくれます。

WS101411.jpg

空になったサブフォルダが残っていますが、とりあえずそのまま放置して大丈夫。

CSVファイルを一つに結合する

1日ごとのCSVファイルを一つのフォルダにまとめたら、これら全てを一つのファイルに結合します。
これにもバッチファイルを使用しますので、さきほどの要領で、↓を記述したバッチファイルを作成します。

copy /y /b C:\ヒストリカルデータ\データ置き場\*.csv C:\ヒストリカルデータ\結合ファイル.csv


実行すると、『データ置き場』フォルダ内の全てのCSVファイルを結合して、『ヒストリカルデータ』フォルダに『結合ファイル.CSV』を作成してくれます。入出力のフォルダは、必ず違うフォルダに設定してしてください。

1行目にさきほどの移動させる命令を記述して、一つのバッチファイルにしてしまっても構いません。

ちなみに、作成した日時をファイル名にしたい場合は↓のようにします。(2行で入力、○△はフォルダ名)

set time2=%time: =0%
copy /y /b C:\○\△\*.csv C:\○\%date:~-10,4%%date:~-5,2%%date:~-2,2%_%time2:~0,2%%time2:~3,2%%time2:~6,2%.csv


これを実行すると、『ヒストリカルデータ』フォルダに、全てを一つにまとめたCSVファイルが完成します。
『データ置き場』フォルダのサブフォルダやCSVファイルは使用済みとなりますので、削除しておきましょう。

WS101412.jpg

ヒストリカルデータをMT4で読み込める形式に変換する

さて、ようやく一つになったヒストリカルデータですが、残念ながらそのままではMT4で読み込めません。
結合したCSVファイルをエクセルで開くと、↓のようになっています。(見やすいように表示を少し変更)

WS101413.jpg

2007年01月02日07時00分00秒という意味ですが、↓のように変換しないとMT4では読み込めません。
(「日時」「始値」などと記載されている行は無視して構いません。)

WS101420.jpg

時刻は070000でも読み込めるのですが、07:00にしておいた方が編集が必要になった時に楽だと思います。

エクセルの関数で行う場合は、↓のようにすると良いでしょう。

WS101415_2.jpg

=LETFB(A2,8)
=TIME(MOD(INT(A2/10000),100),MOD(INT(A2/100),100),0)

コピーし終わったら、元のA列は削除して詰めておくのを忘れずに。

最後に、時刻の列の表示形式を、「07:00」という形式に変更して上書き保存すれば完成です。

WS101422.jpg


また、これらの作業をマクロに登録して行うこともできます。
【 私がエクスポートしたマクロはこちら → Module4.txt(拡張子を.basに変更してください) 】

マクロの保存方法等については、↓のサイトあたりが参考になるかと。
『エクセルで個人用マクロブックを使うには』

個人用マクロブックに、↓のように記述して保存してください。

Sub GMOヒストリカルデータ()

'BC列を挿入
Columns("B:C").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

'B1,C1セルに関数入力
Range("B1").Select
ActiveCell.FormulaR1C1 = "=LEFTB(RC[-1],8)"
Range("C1").Select
ActiveCell.FormulaR1C1 = "=TIME(MOD(INT(RC[-2]/10000),100),MOD(INT(RC[-2]/100),100),0)"

'B1,C1セルをコピー
Range("B1:C1").Select
Selection.Copy

'BC列の最終行まで選択して貼り付け
Range("B1:C" & Cells(Rows.Count, 1).End(xlUp).Row).Select
ActiveSheet.Paste

'BC列をコピーして、数値として再度BC列に貼り付け
Columns("B:C").Select
Application.CutCopyMode = False
Selection.Copy
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

'A列を削除して詰める
Columns("A:A").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft

'上書き保存
ActiveWorkbook.Save

'強制終了
If Workbooks.Count = 2 Then
ActiveWorkbook.Close savechanges:=False
Application.Quit
Else
ActiveWorkbook.Close savechanges:=False
End If

End Sub


CSVで保存する際の確認ダイアログがわずらわしいので、確認無しの保存と終了まで行います。

マクロなり手動なりで変換が完了すると、MT4で読み込めるヒストリカルデータの完成です。
あとは、必要な分だけこれまでの手順を繰り返してください。


ちなみに、作成したCSVファイルを再度エクセルで開くと、
↓のように、07:00の最初の0が消えて7:00になってしまいます。

WS101421.jpg

この状態で上書き保存すると、MT4で読み込めなくなってしまいますのでご注意ください。
編集が必要な場合は、「セルの書式設定」で「hh:mm」と指定し直してください。

以上、非常に長くなってしまいましたが、自分への備忘録の意味も含めてまとめてみました(;´∀`)
FOREX EXCHANGE
・人気の記事
・外為オプション攻略
・プロフィール

名前:ふさふさ

ニートレーダーふさふさです
雑誌で紹介されました (∀`*ゞ)

マネーポスト
(2014新春号)
ダイヤモンドZAi
(2012年11月号)


バイナリーオプションランキング




・カテゴリ一覧
・自作インジケーター
・ブログ内検索 / RSS


*ご注意*
ブログへのリンクはご自由に。
ブログ内で配布しているインジケーター等は
全て無料ですが、著作権は放棄しません。
紹介してくださる方はブログ記事へリンクを。

インジの不具合や、検証数値の記載ミス等による損害が発生しても、責任は負えません。
最終的な投資判断は自己責任にてm(_ _)m


【 バイナリーオプションとは? 】
【 バイナリーオプションのリスク 】

    デューカスコピー・ジャパン