今までのチャートのスクショを見てもわかる通り、僕はいろんな線をチャートに表示させてるわけですが、特に移動平均線は「20・75・200」の組み合わせをどのチャートでも表示させています。
短期移動平均線は使わなさすぎるので消しました
まあ、通常であればそれで問題ないんですけど、この20とか75っていう数値、
週足や月足だと意味を為さないというのが欠点なんですよね。かといっていちいち設定変えるのもめんどくさい・・・・・・だったら自動で判定して数値変えてくれたらありがたいのに・・・・・・みたいな悩みにぶちあたるわけです。
で、こういうの、
Pineを使って書けないかなと思って調べたら
明らかにそれっぽい関数が見つかったので、これを使うと余裕で実装できることがわかりました。
ついでに、今ぼくはTreadingViewに関してはPro+プランだったかな。年間300ドルぐらいのプランを契約してるんですけど、チャートに表示させられるオシレーターが10個までっていう制約がついてるんですよね。
まあさすがにこれ以上のプランを契約する旨味は薄いですし、10個でやりくりはできるんですけど、まあ絶妙に足らなくなることもあるんですよね・・・・・・。その度逐一調整してるんですけど、pineのリファレンスとか見てると
複数のオシレーターをまとめるプログラムぐらい書けそうだなと。
まあどっちにしろ4つのチャートを監視できる状態が理想なので、オシレーターの数を減らしてもダウングレードはできないんですけど(笑)、今ひいてある移動平均線を1つにまとめつつ、参照する時間足によってパラメーターを変える、というpineスクリプトをちゃちゃっと書いてみようかなと思います。
雛形は
こちらの記事にあるものを流用すれば済むので、あとはいい感じに条件分岐を挟めば完成ですね。pineなんて触ったことないですけど、まあプログラム言語の仕組みなんて大概どれも一緒なんで見れば大体わかります(笑)
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
//@version=4
study(title="TTO_MA3upper", shorttitle="MA3u", overlay=true)
src = input(close, type=input.source, title="計算対象の価格")
ma_short_length = if timeframe.ismonthly
12
else if timeframe.isweekly
13
else
20
ma_middle_length = if timeframe.ismonthly
24
else if timeframe.isweekly
26
else
75
ma_long_length = if timeframe.ismonthly
60
else if timeframe.isweekly
52
else
200
is_ema = input(false, title="EMAとして計算する")
ma_short = is_ema ? ema(src, ma_short_length) : sma(src, ma_short_length)
ma_middle = is_ema ? ema(src, ma_middle_length) : sma(src, ma_middle_length)
ma_long = is_ema ? ema(src, ma_long_length) : sma(src, ma_long_length)
plot(ma_short, color=color.red, title="短期MA")
plot(ma_middle, color=color.blue, title="中期MA")
plot(ma_long, color=color.green, title="長期MA")
で、ぺぺぺーっと書いたソースコードがこちらです。
あとついでなんですけど、せっかくなら
上位足の平均移動線も表示させるっていうスクリプトを書こうかなと思います。
上位足っつっても、週足とか月足なんかは環境認識の段階で見れば済む話というか、実際のトレードでも
たぶんあんま活用はしないとは思うんですが
日足のSMAは常に頭に入れておくべきって思ってます。体感。
実際チャート見ててもガチガチに意識されてる線なので、時間足や分足を見てる時に日足の時間足、さらには分足を見てる時は時間足の移動平均線が参照できたら便利かなあと。
というわけで、これらを無理やり表示させるインジケーターも作っちゃいましょう!
なんかサンプルコードないかなあと思ったら
これが類似してたので、これを参考にぺぺっと書いちゃいましょう!
ということで書いたんですが、ちょっと想定した動作になるコードが書けなかったので公開するのはやめておきます(笑)
まあ原因はなんとなくわかってるんですけど、まあ神経質にならなければ困らない・・・・・・ということで、今後はそんなチャートを使っていこうかなというお話です。
まじで自分用メモでしかない記事でした(笑)