見出し画像

Pine Script™ (v5) の覚書 - 5 : boxを使って上位足のローソクを描く (2)

前回までの話。

boxを使って上位足のローソクを描いてみる2

上位足のローソクを描く際に留意すべき点は、
・新しいboxオブジェクトの生成タイミング
・それ以外はclose値によって、boxの形と陰線か陽線かが決まるので、これを更新し続ける(set)
こと。

新しいboxオブジェクトを生成すべきタイミングは、上位足のローソクが切り替わったタイミング。
これは例えば、上位足のローソク足のtime値が変わったタイミングと考えられる。

ta.changeとその引数

ta.change(source) → series int

ta.change を使うと、sourceのlength本前の値との差を得られる。
lengthのデフォルト値は1なので、省略するとローソク1本前と現時点の差を得ることになる。

bool new_bar=ta.change(time_D)>0 ? true : false

上位足の開始時間が変わることを、新しい上位足と考え、新しいbarになったタイミングだけboxオブジェクトをnew、それ以外はclose値を更新させる。

//@version=5
indicator("マイスクリプト", overlay=true)

time_D=request.security(syminfo.tickerid, "D", time)
time_close_D=request.security(syminfo.tickerid, "D", time_close)
open_D=request.security(syminfo.tickerid, "D", open)
close_D=request.security(syminfo.tickerid, "D", close)

//ヒゲのために必要な値
high_D=request.security(syminfo.tickerid, "D", high)
low_D=request.security(syminfo.tickerid, "D", low)

var daycandle=box.new(time_D, open_D, time_close_D, close_D, xloc=xloc.bar_time)//最初の一回
bool new_bar=ta.change(time_D)>0?true:false//上位足更新のタイミングをチェック
if new_bar
    daycandle:=box.new(time_D, open_D, time_close_D, close_D, xloc=xloc.bar_time)

daycandle.set_rightbottom(time_close_D, close_D)

これをチャートへ反映してみると図1のようになる。

画像
図1 boxで上位足のローソクを描く

boxを使って上位足のローソクを描いてみる3

Boxで描いているのはローソク足だから、陰線と陽線を違う色で表示する。

open<close であれば陽線、それ以外を陰線
として色を設定する。

// ローソク足の陰線と陽線

cGreen=color.green
cRed=color.red

var daycandle=box.new(time_D, open_D, time_close_D, close_D, xloc=xloc.bar_time)//最初の一回
if new_bar
    daycandle=box.new(time_D, open_D, time_close_D, close_D, xloc=xloc.bar_time)

daycandle.set_rightbottom(time_close_D, close_D)
daycandle.set_border_color(open_D<close_D?cGreen:cRed)
daycandle.set_bgcolor(na)  // 見づらいので背景色を消す


これをチャートへ反映してみると図2のようになる。
box() はデフォルト状態で bgcolor が color.blue になっている為、na値を設定する。

画像
図2 ローソク足の枠の色を、陽線と陰線で変える

続く


この記事が気に入ったらサポートをしてみませんか?

コメント

コメントを投稿するには、 ログイン または 会員登録 をする必要があります。
Pine Script™ (v5) の覚書 - 5 : boxを使って上位足のローソクを描く (2)|rca
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1