損切設定ってどのくらいが適切? ヒゲで切られると涙出る 三項演算子も使ってみるよ!

今回はpineを使って損切ってどのくらいが適切なのかな~ってのを調べてみたいと思います。また、pine言語の演算子の三項演算子や、加算代入も使っていきます。

↑バナークリックでトレーディングビューのサイトに行けます

損切どこに置く?

損切どこに置きますか?って話になると、直近高値、安値を目安に置く人が多いのではないかと思います。

その理由は、いわゆるダウ理論で流れが変わったと思われるのは、高安値が現在トレンドと反対方向に更新されたと見えるから。

こんな感じで設定しますよね

しかし、実際問題としては

こういうことが起きて悲しい思いをすることがあります。

という事で、今回はこの、ヒゲがどのくらい出るかというところを見ていこうと思います。

まずは高安値の設定

実はこれが非常に難しい… pineでは期間内高値,安値を拾う

ta.highest() と ta.lowest()があります。

ちょっと使ってみましょう。

takane = ta.highest(high,10)
yasune = ta.lowest(low,10)
plot(takane)
plot(yasune)

引数は(使う値、期間)です。 これだとどこを見たいのかわかりませんね。

高安値を考慮するテクニカルといえば!

という事で、今回は高安値を考慮したテクニカル指標ストキャスティクスを使ってみます。

取得する値はストキャスティクスの0~10の下ヒゲの長さ 90-100の上ヒゲの長さです。

下ヒゲは陽線と陰線でちょっと考え方が違います。if文で書いても良いのですが、今回は三項演算子というものを使って書いてみます。

uwahige = close > open ? high - close : high - open
shitahige = close > open ? open - low : close - low

三項演算子とは 「条件 ? 条件がtrueの時 : 条件がfalseの時」というような書き方をします。

上述のコードだと close > open で陽線の時という意味で、この条件がtrueのときは

high-close で 高値から終値を引いたヒゲの長さを取得。 一方 この条件がfalseの時(つまり陰線の時)はhigh-openで上に伸びるヒゲを取得します。

下ヒゲも同様の考え方になっています。

データを抜き出す条件設定をしよう!

さて、最初に示した条件 ストキャスの上限下限10間でデータを抜き出したいので、条件を考えてみましょう。

indicator("高安値のヒゲ")

uwahige = close > open ? high - close : high - open // 上ヒゲ定義
shitahige = close > open ? open - low : close - low // 下ヒゲ定義
takane = ta.highest(high,120) // 120期間の最高値を取得
yasune = ta.lowest(low,120) // 120期間の最安値を取得
len = input.int(120,"期間",minval =  1) // 期間を変更するオプションを作る
sto = ta.stoch(close,high,low,len) // ストキャスティクスの定義、期間をlenにすることで変更可能にした
var uwahigesum = 0.00 // varは一回だけ定義する つまり入れ物の作成  上ヒゲ合計値用
var shitahigesum = 0.00 // 0.00になっているものは float という小数点以下を含む 下ヒゲ合計値用
var uwahigeave = 0.00 // 上ヒゲ平均値用
var shitahigeave = 0.00 //  下ヒゲ平均値用
var countue = 0 // 一方で 0とするとint(整数)扱いで小数点以下を含む値は入れられない 条件の合った上ヒゲ出現数のカウント用
var countshita = 0 // var int として定義することもできる 条件の合った下ヒゲ出現数のカウント用
if sto > 90 // ストキャスティクスが90より大きい時
    countue += 1 // countueを1増やす 
    uwahigesum += uwahige // uwahigesumにuwahigeを足す
    uwahigeave := uwahigesum/countue // uwahigesumを出現回数で割って平均化
else if sto < 10 // 上記条件でないときかつストキャスティクスが10未満の時
    countshita += 1 // 以下は上ヒゲの下ヒゲバージョン
    shitahigesum += shitahige
    shitahigeave := shitahigesum/countshita

plot(uwahigeave) // ストキャスティクスが90より大きい時のヒゲの長さの平均値
plot(shitahigeave,color = color.green)//ストキャスティクスが10未満の時のヒゲの長さの平均値

コードの意味についてはコメントを書き込んでいます。

意外と上ヒゲと下ヒゲで長さ違うんだな~という印象。まぁ勿論相場の動き方にも依存するでしょうけど

また、今回の値は平均値なので、これより大きい事も十分起こりうるでしょう。ただ、高値圏、安値圏にいる時、ヒゲはどちらにも5pips(今回は1時間足で表示してます)程度は出そうです。 

演算子の解説

演算子っていうと一般的には + ー × ÷ の四則演算に使う記号くらいしか思い浮かびませんが、プログラミング的には色々とあります。

演算子

!=  _不等式 一致しないとき

% _モジュロ 割り算の余

%= _モジュロの代入

* _掛け算

*= _掛け算の代入

+ _足し算

+= _足し算の代入 今回使ってます

- _引き算

-= _引き算の代入

/ _割り算

/= _割り算の代入

< _未満  今回使ってます

<= _以下

> _より大きい  今回使ってます

>= _以上

== _等式 一致するとき

?: _三項演算子 ?の前に条件を置いて:の前後に 真のとき、偽のときの返り値を記述今回使ってます

いっぱいありますね。 まぁ少しずつ覚えていきましょう。今後も使うたびに解説します!

今回はヒゲの長さについて考えてみました!実は平均で考えちゃうと何の解決にもなっていません!むしろエントリートリガーに使う方が適切かも!

おすすめFXアイテム

過去検証や分析はMT4かFT4、Trading viewがおすすめです。

無料が良い人はMT4で、MT4を使わせてくれる口座を使用すると良いです。おすすめはFXTF

ガチで過去検証をやりたい人はFT4、

チャート分析に毎月課金してもいいよって人はTrading viewがおすすめです。無料もあります

Twitterでフォローしよう

おすすめの記事