【無料配布】他の時間足のチャートを見ながら日足、4hなどの他の足の始値などの水平線が自動で引かれる的なやつ。

まず初めに

初めまして!Takkyです。
以下ツイッターアカウントですが、フォローしてくださっている皆様いつもありがとうございます!(定期的にインジとかを配っていきたいと思うのでこれを機にFollwしてもらえると嬉しいです!)

今回ご紹介するのは、1h足などのチャートを開きながら、4hとか上位足の始値のラインが勝手に引かれるインジケータのご紹介です!
(意外と上位足が強いのか弱いのか的なのがぱっと見で判断できるの楽じゃないっすか?

インジ概要

1h足で4hと日足の始値の線が表示される
1h足で4hと週足の始値の線が表示される

画面に表示されているのが今回配布するインジケータになります。
見てわかる通り「紫線⇒4h始値」「青線⇒日足始値」「黄線⇒週足始値」です。
※色のカスタマイズは自由にできます。

パラメータ概要

パラメータは主に4h/1d/1wでそれぞれ共通の設定になっています。
candle selection:[Current / Previous]の二択です。
※現在のローソク足かひとつ前のローソク足かの設定が出来ます。
xx color:線の色
xx style:線のスタイル
xx width:線の太さ
になります。
※xxは[4h , 1d , 1w]
すごくシンプルです!

特にそれ以外の説明はすることないので、以下はコードになります~。
もしよければ使ってあげてくださいませ。
ではでは~。

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © paaax

//@version=4
study("Open_mtf",overlay=true)

//{
lblOffset = input(30, title="Label Offset")
showMonthly = input(true, type=input.bool, title="Show 4h?")
mValue = input("Current 4h", title="Candle Selection", options=["Previous 4h", "Current 4h"])
mColor = input("purple", title="4h color", options=["aqua","black","blue","fuchsia","gray","green","lime","maroon","navy","olive","orange","purple","red","silver","teal","white","yellow"])
mStyle = input("solid", title="4h style", options=['solid','dotted','dashed'])
mWidth = input(1, title="4h Width")
showWeekly = input(true, type=input.bool, title="Show Weekly?")
wValue = input("Current Week", title="Candle Selection", options=["Previous Week", "Current Week"])
wColor = input("orange", title="Weekly color", options=["aqua","black","blue","fuchsia","gray","green","lime","maroon","navy","olive","orange","purple","red","silver","teal","white","yellow"])
wStyle = input("solid", title="Weekly style", options=['solid','dotted','dashed'])
wWidth = input(1, title="Weekly Width")
showDaily = input(true, type=input.bool, title="Show Daily?")
dValue = input("Current Day", title="Candle Selection", options=["Previous Day", "Current Day"])
dColor = input("blue", title="Daily color", options=["aqua","black","blue","fuchsia","gray","green","lime","maroon","navy","olive","orange","purple","red","silver","teal","white","yellow"])
dStyle = input("solid", title="Daily style", options=['solid','dotted','dashed'])
dWidth = input(1, title="Daily Width")
//} --------------- INPUTS
//{
//{
var mOpenLine = line(na)
var mOpenLbl = label(na)
var mHighLine = line(na)
var mHighLbl = label(na)
var mLowLine = line(na)
var mLowLbl = label(na)
var mCloseLine = line(na)
var mCloseLbl = label(na)
var int mFrom = 0
var int mTo = 0

mOpen  = mValue == "Previous Month" ? security(syminfo.tickerid, '240', open, gaps = barmerge.gaps_off,  lookahead = barmerge.lookahead_on) : security(syminfo.tickerid, '240', open, gaps = barmerge.gaps_off,  lookahead = barmerge.lookahead_on)

if change(time('M'))
    mFrom := bar_index[1]
    mTo   := bar_index
//} --- Monthly
//{
var wOpenLine = line(na)
var wOpenLbl = label(na)
var wHighLine = line(na)
var wHighLbl = label(na)
var wLowLine = line(na)
var wLowLbl = label(na)
var wCloseLine = line(na)
var wCloseLbl = label(na)
var int wFrom = 0
var int wTo = 0

wOpen  = wValue == "Previous Week" ? security(syminfo.tickerid, 'W', open, gaps = barmerge.gaps_off,  lookahead = barmerge.lookahead_on) : security(syminfo.tickerid, 'W', open, gaps = barmerge.gaps_off,  lookahead = barmerge.lookahead_on)

if change(time('W'))
    wFrom := bar_index[1]
    wTo   := bar_index    
//} --- Weekly
//{
var dOpenLine = line(na)
var dOpenLbl = label(na)
var dHighLine = line(na)
var dHighLbl = label(na)
var dLowLine = line(na)
var dLowLbl = label(na)
var dCloseLine = line(na)
var dCloseLbl = label(na)
var int dFrom = 0
var int dTo = 0

dOpen  = dValue == "Previous Day" ? security(syminfo.tickerid, 'D', open, gaps = barmerge.gaps_off,  lookahead = barmerge.lookahead_on) : security(syminfo.tickerid, 'D', open, gaps = barmerge.gaps_off,  lookahead = barmerge.lookahead_on)

if change(time('D'))
    dFrom := bar_index[1]
    dTo   := bar_index    
//} --- Daily
//} --------------- INIT
//{
//{
f_calc_bar_time(offset) => ret = time + ((time-time[1]) * offset)
//} --- f_calc_bar_time()
//{
f_set_color(selection)=>
    ret = color.black
    if selection == "gray"
        ret := color.gray
    if selection == "green"
        ret := color.green
    if selection == "aqua"
        ret := color.aqua
    if selection == "blue"
        ret := color.blue
    if selection == "fuchsia"
        ret := color.fuchsia
    if selection == "lime"
        ret := color.lime
    if selection == "maroon"
        ret := color.maroon
    if selection == "navy"
        ret := color.navy
    if selection == "white"
        ret := color.white
    if selection == "yellow"
        ret := color.yellow
    if selection == "olive"
        ret := color.olive
    if selection == "orange"
        ret := color.orange
    if selection == "purple"
        ret := color.purple
    if selection == "red"
        ret := color.red
    if selection == "silver"
        ret := color.silver
    if selection == "teal"
        ret := color.teal
    ret
//} --- f_set_color()
//{
f_set_style(selection)=>
    ret = line.style_solid
    if selection == "dotted"
        ret := line.style_dotted 
    if selection == "dashed"
        ret := line.style_dashed
    ret
//} --- f_set_style()
//{
f_delete(tf) =>
    if tf == 'Monthly'
        line.delete(mOpenLine)
        label.delete(mOpenLbl)
        line.delete(mHighLine)
        label.delete(mHighLbl)
        line.delete(mLowLine)
        label.delete(mLowLbl)
        line.delete(mCloseLine)
        label.delete(mCloseLbl)
    if tf == 'Weekly'
        line.delete(wOpenLine)
        label.delete(wOpenLbl)
        line.delete(wHighLine)
        label.delete(wHighLbl)
        line.delete(wLowLine)
        label.delete(wLowLbl)
        line.delete(wCloseLine)
        label.delete(wCloseLbl)
    if tf == 'Daily'
        line.delete(dOpenLine)
        label.delete(dOpenLbl)
        line.delete(dHighLine)
        label.delete(dHighLbl)
        line.delete(dLowLine)
        label.delete(dLowLbl)
        line.delete(dCloseLine)
        label.delete(dCloseLbl)

if showMonthly
    f_delete('Monthly')
    mOpenLine := line.new(mFrom, mOpen, mTo, mOpen, color=f_set_color(mColor), extend=extend.right, width=mWidth, style=f_set_style(mStyle))
    mOpenLbl := label.new(f_calc_bar_time(lblOffset), mOpen, xloc=xloc.bar_time, text="4H Open", style=label.style_none, textcolor=f_set_color(mColor))
if showWeekly
    f_delete('Weekly')
    wOpenLine := line.new(wFrom, wOpen, wTo, wOpen, color=f_set_color(wColor), extend=extend.right, width=wWidth, style=f_set_style(wStyle))
    wOpenLbl := label.new(f_calc_bar_time(lblOffset), wOpen, xloc=xloc.bar_time, text="Weekly Open", style=label.style_none, textcolor=f_set_color(wColor))
if showDaily
    f_delete('Daily')
    dOpenLine := line.new(dFrom, dOpen, dTo, dOpen, color=f_set_color(dColor), extend=extend.right, width=dWidth, style=f_set_style(dStyle))
    dOpenLbl := label.new(f_calc_bar_time(lblOffset), dOpen, xloc=xloc.bar_time, text="Daily Open", style=label.style_none, textcolor=f_set_color(dColor))


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