√5比のたかみなラインで二度のG2。

 

現在、MMさんは三度目のトライ(笑)

しつこい(笑)

うける(笑)

 

このようにMMさんは同じパターンを何度も繰り返す習性がありますので

S&Rで繰り返しパターンが出たら、とりあえずLet's tryです。

 

ここは見え見えの二次accumulationゾーンですので

ここを突破されたらロンガーはがっかりでしょうね。

 

黄金比的にはこのあたりが怪しいですが

 

このあたりはすでに高値安値で√5比のたかみなラインなので、

確率としては期待できないかもしれませんが

ここからプルバックが入った場合

 

この珠理奈ラインのS&R

あるいは

 

44.7% retracementのこのS&Rあたりが面白いかもしれません。

 

√5比の近似値は2.236なのですが

いまちょうどそこ。

 

まさに√5比ブーム(笑)

 

知らなければ見えませんが

知ってればかなり面白い(笑)

 

112円付近は実は

今年の年足ピボットです。

だから、ここからどっちのS&R方向にトレンドが出るのか、

でっかいのを狙う人はかなり注目してるはずです。

僕はちっさいのを狙う人なので、あまり気になりません(笑)

 

今日はとても暇なので年足Rectangleを作成中。

探せば年足インジケーターはたぶんあるんでしょうけど

僕はDIY好きなので(笑)

 

「インジケーターを改造しよう」記事の内容が理解できてれば

特に難しくないので興味がある人は作ってみてください。

 

年足の場合は月足までのように時間軸の定数がないので

月足で表示させることを前提に1月から12月までの期間内で

最高値と最安値を・・・

説明がめんどくせーのでやめときます(笑)

僕のブログを最初から読んでる人は

僕という人間がMMさんを重要視してることはわかってると思います。

でも、そこで

「この人はMMさんを重視してテクニカルを組み立ててる」

と、しっかり認識できてるか?と言うと

たぶん、ほとんどの人はできてないんじゃないかと。

 

テクニカルの表面しか見てないからです。

 

手法というのは、その人の思考を形にしたものです。

だから思考の本質が理解できてないと

形だけ真似したことにしかなりません。

 

僕はS&RというのはMMさんが作ってるものだと考えています。

MMさんがposition buildingでマネーをぶっこんだPrice

そこにS&Rができると。

 

そして、僕はしつこいくらい

「すっぴんチャートを見ましょう」

と言ってます。

ということはですよ?

 

「もしかしてMMさんのposition buildingが

すっぴんチャートでわかるのでは?」

 

という思考に至らないはずがないんですよ。

 

さらに僕はengulfingやinside barを見てないような人は

低レベルのヴォケだと考えてる。

これも簡単にわかるはずです。

ということはですよ?

 

engulfingやinside barのパターンが出たら

MMさんがposition buildingするPriceがあるのでは?

 

と、このような思考に至らない理由が

僕にはさっぱり理解できないわけです。

 

この程度の思考の展開もできないうちは

手法やテクニカルをどれだけ一生懸命勉強したところで

「下手糞な物真似」で終わります。

 

もし、あなたが僕から何かを学ぼうと思っているのなら

上っ面の形ではなく僕の思考に注目してください。

今回は予定を変更して

 

ボタン操作でローソク足を消したり描いたりできる

 

そんな機能を付加してみます。

 

「ローソク足を消す」と言っても実際は

ラインチャートにして、色を無しにするということですが。

 

つまり

ローソク足チャートと色無しのラインチャートを

ボタン操作で切り替えられるようにする、ということです。

 

 

まず、ボタンを作ります。

ボタンのオブジェクト名はCandles。表示テキストもCandlesとします。

 

いつもと同じ。

 

FIBOボタンからまた30ピクセル下げました。

 

 

そして、いつものようにOnChartEvent

 

if(sparam == "Candles"){}

 

{}の中で条件分岐させます。

 

ひとつは

ChartGetIntegerはチャートプロパティを取得する関数です。

ChartSetIntegerはチャートプロパティを設定する関数です。

 

一行目は

「もし、チャートがローソク足だったら」

 

二行目は

「チャートをラインチャートにする」

 

三行目は

「ラインチャートの色をNONEにする」

 

という意味になりす。

 

そして、もうひとつの条件分岐は

 

一行目は

「もし、チャートがラインチャートだったら」

 

二行目は

「チャートをローソク足にする」

 

という意味になります。

 

これらを{}の中に入れます。

 

 

画像でハイライト表示になってる{}の中です。

 

最後に終了処理にCandlesボタンの削除を追加します。

以上で完了。

 

ボタンをクリックすると

ローソク足が消えます。

 

もう一度クリックすると

ローソク足に戻ります。

 

 

チャートの基本はすっぴんチャート。つまりローソク足チャート。

 

そして

 

時間軸の基本はDaily 日足です。

 

まず最初に日足のすっぴんチャートを確認する。

 

これをルーティーンにしてください。

ローソク足を英語で言うとcandlestickですが

単に足ですとbarになります。

 

はらみ線を英語で言うと

そのまんまharamiで通用したりします。

それは、この言葉の起源が酒田五法という

めいどいんじゃぱんのテクニカルだからです。

 

inside bar と呼ぶこともあります。

 

inside bar で画像検索すると

 

 

このように、はらみ線がずらーっと並びます。

 

一方

はらみ線と逆関係になる包み線ですが

engulfing とは別に outside bar と呼ぶこともあります。

inside bar に対して outside bar ということです。

 

しかし

outside bar を画像検索すると

 

 

こっちのバーが!(笑)

 

屋外にあるバーの画像を

ぐーぐる先生はたくさん教えてくれてますが

僕が知りたいのはこっちじゃなかったんだなー。

 

でもまあ、世間一般では

バーと言えば酒場とか飲食店のことです。

でも僕は最近、こっちのバーの存在をすっかり忘れてました。

バーと言えば足のことだと

FX漬けの毎日の中で刷り込まれてしまった。

僕にとっては驚くべき発見でした(笑)

僕はこの事実をどうしても伝えたくて記事にしてみました(笑)

 

「包み線やはらみ線も見てない低レベルが

FXで勝てると思うなよ、ヴォケ」

 

などと荒ぶっていた僕の心は

この発見によって鎮静化されました(笑)

 

はらみ線の記事を書く気力はもはや僕にはありません(笑)

でも、とても大事なものなので自分で調べておいてください。

 

three inside up

three inside down

 

こいつらもいっしょに。

自称ふぃぼらーの僕がマニアックなフィボ解析をするならば

 

 

√5比のJTラインでキンコンカンした後のブレイクということで

 

 

エクステンションも√5比が効いてる感じです。

 

 

高値安値で見ても√5比で戻りを止められてます。

 

 

JTパターン

つまり、たかみなラインにS&Rがある形での珠理奈ラインなので

ここはふぃぼらーに狙われるラインです。

 

 

FE的にはAB=CDライン付近の攻防になってまして

 

 

このようにS&R転換に失敗してます。

 

 

この高値安値フィボでも44.7付近にはS&Rがあるので

いちおう警戒しつつ

 

 

現状のネックラインは28.4あたりなので

このRatioで見ると怪しいのは

 

 

53.3ライン付近の、このS&R。

 

 

以上すべてどーでもいい話です(笑)

 

テクニカルの樹海をさまよってる人は

こーゆー物珍しいものを見ると、すぐに食いつく。

こんなものよりも、すっぴんチャートを見て

 

 

4時間足のここに、本体がえれー離れたゾーンがありますが

 

 

ここ。

 

 

このゾーンで止まったのは、はたして「たまたま」なのか?

とか

 

 

ここに「本体だけのengulfing」がありますが

 

 

ここですよね。

 

 

飲み込まれた方の本体ゾーンで止められましたが

これは「たまたま」なのか?

 

 

こっちは高値安値だけは飲み込んだ形ですが

やはり飲み込まれた方の本体ゾーンです。

これは「たまたま」なのか?

 

と、こーゆー考察をする方が

「どーでもよくない話」です。

 

Rectangle自体がローソク足をシフトさせたものなので

チャートのプロパティでラインチャートの色をNoneにすれば

 

 

これが、ある意味すっぴんチャートになります。

場合によっては、こっちの方が見やすい時もあります。

 

こーゆー方向に思考を向けられるかどうか

これもまた、思考適性なのです。

TimeFrameの選択ボタンをクリックした際には

それに合わせてフィボも切り替えたいので

 

if(ObjectFind("inner_fibo")==0)
{
ObjectDelete("inner_fibo");
Inner_Fibo();
}

 

これをそれぞれのボタンのコード部分に追加します。

これの意味するところは

「もし、メインチャート上にinne_fiboがあったら、

まず消して、新たにサブルーチンInner_Fiboで描き直す」

ということです。

 

ということで

Monthlyボタンの部分は

こうなります。

 

WeeklyとDailyボタンの部分にも追加して

 

 

最後に、インジケーターを外した時に

FIBOボタンとinner_fiboも消したいので

終了処理に

 

この下の二行を追加します。

 

 

これで「とりあえず」完成です。

インジケーターを読み込んで、いきなりFIBOボタンを押すと

 

このように、わけのわからないフィボが引けます(笑)

 

Monthlyボタンをクリックすると

これが今月の高値安値フィボ。

 

 

Weeklyボタンをクリックすると

これが今週の高値安値フィボ

 

 

Dailyボタンをクリックすると

 

 

フィボだけ消したい場合はFIBOボタンをクリック

 

 

Deleteボタンをクリックすると

全部消えます。

 

しつこいですけど、すっぴんチャートはまじ重要なので

しっかり見た方がいいですよ。

すっぴんチャートを見る力がチャートを見る力の基礎なのです。

基礎ができてない人が他の何をしたって無駄です。

 

 

ということで「とりあえず」完成。

でも、フィボのラインの色とかレベルの設定とかもあるので

まだ続きます(笑)

 

とりあえず僕はかなり疲れたのでビールを飲みます。

○○○○君、ありがとー!

と感謝しつつ・・・

フィボはラインが多いですので

引きっぱなしだと邪魔くせー。

ということで

ボタンで描いたり消したりできるようにします。

 

ボタンを作るのは、もう何度もやってるので簡単。

 

これをDeleteボタンのコードの下に追加します。

 

今回もY座標が30ピクセル下がってます。

 

そして、

OnChartEventでの処理ですが

 

もし、すでにinner_fiboが描かれてる場合は消す

もし、まだinner_fiboが描かれてない場合は描画する

 

こう条件分岐したいわけです。

「inner_fiboが描かれてるかどうか」というのは

 

ObjectFind関数 で判定します。

 

また新たな関数が(笑)

この関数もけっこー使います。

 

ObjectFindはウインドウ番号を返します。

ウインドウ番号はメインチャートなら0.

つまり

「メインチャート上にinner_fiboがある場合は消す」

というのは

 

if(ObjectFind("inner_fibo") == 0)ObjectDelete("inner_fibo");

 

こうなります。

 

この条件以外の時は描画するので

else以下にはObjectFindは必要ありません。

 

else Inner_Fibo();

 

これだけ。

「ifの条件以外の時は全て」という時は、このようにelseを使います。

if以外の条件が何通りかに分かれて、その中のひとつの場合はelse if を使います。

 

ということで

 

 

見難いかな

 

 

これを

 

 

このDeleteボタンの処理の下に追加します。

Deleteボタンをクリックした時にも消したいので

このようにここにもObjectDelete("inner_fibo");

追加しておいてください。

 

 

だが、まだ終わりではない(笑)

 

 

 

 

フィボもオブジェクトの一種ですのでObjectCreate関数で生成できます。

 

ObjectCreate(チャートID,オブジェクト名,ウインドウ番号,時間1,価格1,時間2,価格2)

 

Rectangleの時とまったく同じです。

 

チャートIDはインジケーターを入れたチャートなので0

オブジェクト名はinner_fiobと名付けたので"inner_fibo"

ウインドウ番号はメインチャートなので0

 

価格1と価格2もRectangleの時と同じで

iLow(NULL,TimeFrame,0)

iHigh(NULL,TimeFrame,0)

このどちらかです。

 

で、問題の時間1と時間2ですが

Rectangleの時は

iTime(NULL,TimeFrame,バーの位置)

こんな感じでしたが

今回は表示してるチャートのバーの位置で引きたいので

TimeFrameではなくPeriod()

Period()も前に使いましたね。

現在表示してる時間軸のことです。

そして、バーの位置が前回まで苦労して求めた

HighestBar

LowestBar

この二種類になります。

つまり

 

iTime(NULL,Period(),LowestBar)

iTime(NULL,Period(),HighestBar)

 

こうなります。

 

 

まとめると

安値が高値より左にある時は

 

if (LowestBar > HighestBar)

 

高値が安値より左にある時は

 

else if (HighestBar > LowestBar)

 

という条件分岐になります。

それぞれの条件で時間と価格を当てはめれば

 

 

このようになります。

これを最初の

この四行の下に追加します。

 

今回のサブルーチン全体は

 

こうなります。

 

これでやっとサブルーチン完成。

だが、まだ戦いは続く(笑)

 

int HighestBar = iHighest (NULL,Period(),MODE_HIGH,openBar,0);

 

iHighest関数では以下の五つの項目を指定する必要があります。

 

通貨ペア

時間軸

タイプ

最高値を検索するバーの数

最高値を検索するバーの位置

 

通貨ペアは現在チャートに表示してるものなのでNULLです。

何度も使いましたね。

 

時間軸は現在表示してるチャートのものなのでPeriod()です。

これも使いましたね。

 

タイプってのは今回は普通の高値なのでMODE_HIGHです。

終値を高値と見る方法ならMODE_CLOSEになります。

 

最高値を検索するバーの数

これが必要であるがゆえに

これで求めたわけです。

 

最高値を検索するバー位置

一番新しい足からなので0です。

 

この関数で最高値のバーが何本前にあるかを調べて

その数値をHighestBar代入してます。

常に整数なのでintです。

 

 

 

iLowest  (NULL,Period(),MODE_LOW ,openBar,0);

 

これも同様です。HighとLowの違いだけ。

 

これでやっと

現在表示してるチャートでの最高値と最安値の位置が計算されました。

 

 

このたった四行が初心者には難解であることは

僕は自らの体験から知っています(笑)

でも、これがないとフィボを正しく「左から右」に引くことができないのです。

 

 

次にいよいよフィボを引きますが

HighestBarとLowestBarで、どっちの数が大きいか

言い換えれば

最高値と最安値はどっちが左にあるか

で条件分岐します。

 

もちろん数値の大きい方が左ということになります。

 

 

続く(疲れてきた・・・)

 

今んとこ、きっとさっぱり理解できないでしょうけど

まあ気長に頑張ってください(笑)

フィボはけっこーめんどくせーです。

僕は何度もはまった(笑)

 

さて

 

int openBar = iBarShift (NULL,Period(),opentime,false);

 

これは前回の記事で求めたopentimeが

現在表示してる時間足で、どの位置にあるのかを調べてます。

つまり、現在の足が0なので

そこからさかのぼって何本目か、ということです。

そして、その数をopenBarと名付けたパラメーターに代入してます。

整数なのでintです。

 

なんでこんなことをしてるのかというと

フィボを引く際には「ある期間内」の高値安値を調べて引くわけですが

フィボというのは

「高値から安値に引く」

「安値から高値に引く」

このどちらかになりますが

世界共通ルールとして

 

左から右に引く

 

というのがあるからです。

だから指定期間内の高値と安値で

どっちが右でどっちが左かによって引き方が違ってきます。

 

そこで、まず「指定期間」の開始時間を求めてるわけです。

時刻ではなく「何本前の足か」で求めなきゃいけないのが厄介なところ。

 

例えば日足でWeeklyモードにした場合

この黄色ライン上の足が「0」です。

今週の開始時間は

 

ここ。つまり5本前。

 

この位置がわからないと、最高値・最安値の位置を取得する関数

iHighest() iLowest()

が使えないんです。
 
あちこちで時間ではなく「位置」が必要になるため
これらの関数は初心者には扱いづらいんですよね。
僕も最初は意味がわからなかった(笑)
 
 
続く