見出し画像

Pine Script™ (v5) の覚書 - 作ってみる:日足と週足と月足を描くインジケータの作成 (4)

前回までの話


ローソクの更新のためのおまじない

日足と週足の更新タイミングを知るための変数

bool newD=ta.change(dayCandle.t)!=0
bool newW=ta.change(weekCandle.t)!=0
bool newM=ta.change(monthCandle.t)!=0

日足と週足と月足のboxのデフォルト値を関数化

new_day_candle()=>box.new(na,na,na,na,xloc=xloc.bar_time,border_color=na)
new_week_candle()=>box.new(na,na,na,na,border_width=width,border_style=line.style_dotted,xloc=xloc.bar_time,bgcolor=na)
new_month_candle()=>box.new(na,na,na,na,border_width=width,xloc=xloc.bar_time,bgcolor=na)

candle_body型の変数を引数としてboxを更新する部分をmethod化。

method update_day(box b,candle_body c,candle_colors cc)=>
    b.set_lefttop(c.t,c.o)
    b.set_rightbottom(c.tc-timeframe.in_seconds()*1000,c.c)
    b.set_bgcolor(c.bullish?cc.bullish:cc.bearish)

method update_week(box b,candle_body c,candle_colors cc)=>
    b.set_lefttop(c.t,c.o)
    b.set_rightbottom(c.tc-timeframe.in_seconds()*1000,c.c)
    b.set_border_color(c.bullish?cc.bullish:cc.bearish)

method update_month(box b,candle_body c,candle_colors cc)=>
    b.set_lefttop(c.t,c.o)
    b.set_rightbottom(c.tc-timeframe.in_seconds()*1000,c.c)
    b.set_border_color(c.bullish?cc.bullish:cc.bearish)

続く


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