【问题标题】:How do I make the indicator ATR2 daily /2 + daily low?如何使指标 ATR2 每日 /2 + 每日低点?
【发布时间】:2019-08-29 19:12:57
【问题描述】:

我想知道是否有一些友好的灵魂可以帮助我形成这个指标:ATR2 daily/2 + Daily Low。我没有制作它的技能,但我有一些“应该”工作的代码。

//

=3 study(“Fiddy”, overlay=true)

t = time(“1440”, session.extended) // 1440=60*24 is the number of minutes in a whole day. You may use “0930-1600” as second session parameter

//plot(t, style=linebr) // debug is_first = na(t[1]) and not na(t) or t[1] < t

//plotshape(is_first, color=red, style=shape.arrowdown)

day_high = na day_low = na

if is_first and barstate.isnew

day_high := high
day_low := low

else day_high := day_high[1]
day_low := day_low[1]

fiddy (ATR2 daily /2)= (max(day_high, close[1]) + min(day_low, close[1]))/2
fiddy2 = (max(day_high, close[1]) – min(day_low, close[1]))*0.618 + day_low
fiddy3 = (max(day_high, close[1]) – min(day_low, close[1]))*0.382 + day_low

if high > day_high day_high := high

if low < day_low day_low := low

plot(fiddy, color=red, title=”fiddy”)
plot(fiddy2, color=orange, title=”fiddy618″)
plot(fiddy3, color=orange, title=”fiddy382″)
plot(day_high, color=lime, title=”day_high”)
plot(day_low, color=lime, title= ‘day_low’)

【问题讨论】:

    标签: pine-script


    【解决方案1】:

    这有望为您提供一些工作:

    //@version=4
    //@author=LucF, for PineCoders
    study("Fiddy", overlay = true)
    
    atr_Length = input(20, "ATR length", minval = 2)
    
    // Fetch daily high, low and ATR values.
    dayHiRaw    = security(syminfo.ticker, "D", high[1], lookahead = barmerge.lookahead_on)
    dayLoRaw    = security(syminfo.ticker, "D", low[1], lookahead = barmerge.lookahead_on)
    dayAtr      = security(syminfo.ticker, "D", atr(atr_Length)[1], lookahead = barmerge.lookahead_on)
    
    // Save higher/lower hi/lo.
    var dayHi = 0.
    var dayLo = 10e20
    dayHi   := max(dayHiRaw, high)
    dayLo   := min(dayLoRaw, low)
    
    fiddy1  = dayAtr / 2 + dayLo
    fiddy2  = (dayHi - dayLo) * 0.618 + dayLo
    fiddy3  = (dayHi - dayLo) * 0.382 + dayLo
    
    plot(fiddy1,    "fiddy1",   color.orange)
    plot(fiddy2,    "fiddy2",   color.maroon)
    plot(fiddy3,    "fiddy3",   color.fuchsia)
    plot(dayHi,     "dayHi",    color.lime)
    plot(dayLo,     "dayLo",    color.red)
    plot(dayHiRaw,  "dayHiRaw", color.lime, 1, plot.style_circles)
    plot(dayLoRaw,  "dayLoRaw", color.red, 1, plot.style_circles)
    

    [编辑 2019.08.31 22:56 — LucF]

    //@version=4
    //@author=LucF, for PineCoders
    study("Fiddy", overlay = true)
    
    // Fetch daily high, low and ATR values.
    dayHiRaw    = security(syminfo.ticker, "D", high[1], lookahead = barmerge.lookahead_on)
    dayLoRaw    = security(syminfo.ticker, "D", low[1], lookahead = barmerge.lookahead_on)
    dayClRaw    = security(syminfo.ticker, "D", close[2], lookahead = barmerge.lookahead_on)
    
    // Save higher/lower hi/lo.
    var dayHi = 0.
    var dayLo = 10e20
    dayHi   := max(dayHiRaw, dayClRaw)
    dayLo   := min(dayLoRaw, dayClRaw)
    
    fiddy1  = (dayHi + dayLo) / 2
    fiddy2  = (dayHi - dayLo) * 0.618 + dayLoRaw
    fiddy3  = (dayHi - dayLo) * 0.382 + dayLoRaw
    
    plot(fiddy1,    "fiddy1",   color.orange)
    plot(fiddy2,    "fiddy2",   color.maroon)
    plot(fiddy3,    "fiddy3",   color.fuchsia)
    

    【讨论】:

    • 谢谢LucF。试过你的,但最高/最低价格线由于某种原因跟随价格。这是它的样子:prorealcode.com/wp-content/uploads/2019/02/Dz7tvH4WsAIXnMC.jpg我有正确的 ProRealTime 语言代码,你认为你可以翻译吗? htr = Dhigh(0) ltr = Dlow(0) fiddy = (max(dhigh(0), dclose(1)) + min(dlow(0), dclose(1)))/2 fiddy2 = (max(dhigh( 0), dclose(1)) - min(dlow(0), dclose(1)))*0.618 + dlow(0) fiddy3 = (max(dhigh(0), dclose(1)) - min(dlow(0) ), dclose(1)))*0.382 + dlow(0)
    • 无法与参考结果进行比较,因为您发送的图表没有代码、时间框架和日期。用修改后的代码版本编辑了我的答案。如果需要,它会为您提供一些您可以根据自己的喜好进行修改的内容。祝你好运。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 2021-01-26
    • 2015-10-31
    相关资源
    最近更新 更多