美文网首页
gann 图压力支撑

gann 图压力支撑

作者: 郭欢小哥 | 来源:发表于2024-09-07 23:39 被阅读0次
    
    // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
    // © pbghosh
    
    //@version=4
    study(title="Gann Angles With Volatility", shorttitle="Gann", overlay=true, format=format.price, precision=2)
    
    var totLn = 0.0
    var totLnSqr = 0.0
    var lnAvg = 0.0
    var lnSqrAvg = 0.0
    var variance = 0.0
    var dailyVolatility = 0.0
    var price = 0.0
    var priceRange = 0.0
    
    o = security(syminfo.tickerid, 'D', open, lookahead=true)
    ph = security(syminfo.tickerid, 'D', high[1], lookahead=true)
    pl = security(syminfo.tickerid, 'D', low[1], lookahead=true)
    pc = security(syminfo.tickerid, 'D', close[1], lookahead=true)
    
    lowerTimeframe = timeframe.period == "1" or timeframe.period == "2" or timeframe.period == "3" or timeframe.period == "5" or timeframe.period == "10" or timeframe.period == "15"
    
    c1 = o > ph or o < pl ? o : security(syminfo.tickerid, 'D', close[1], lookahead=barmerge.lookahead_on)
    c2 = security(syminfo.tickerid, 'D', close[2], lookahead=barmerge.lookahead_on)
    c3 = security(syminfo.tickerid, 'D', close[3], lookahead=barmerge.lookahead_on)
    c4 = security(syminfo.tickerid, 'D', close[4], lookahead=barmerge.lookahead_on)
    c5 = security(syminfo.tickerid, 'D', close[5], lookahead=barmerge.lookahead_on)
    c6 = security(syminfo.tickerid, 'D', close[6], lookahead=barmerge.lookahead_on)
    c7 = security(syminfo.tickerid, 'D', close[7], lookahead=barmerge.lookahead_on)
    c8 = security(syminfo.tickerid, 'D', close[8], lookahead=barmerge.lookahead_on)
    c9 = security(syminfo.tickerid, 'D', close[9], lookahead=barmerge.lookahead_on)
    c10 = security(syminfo.tickerid, 'D', close[10], lookahead=barmerge.lookahead_on)
    
    truncate(number, decimals) =>
        factor = pow(10, decimals)
        int(number * factor) / factor
    
    calculateLN() =>
        tot = 0.0
        tot := log(c1/c2) + log(c2/c3) + log(c3/c4) + log(c4/c5) + log(c5/c6) + log(c6/c7) + log(c7/c8) + log(c8/c9) + log(c9/c10)
        
    calculateLNSquare() =>
        tot = 0.0
        tot := pow(log(c1/c2),2) + pow(log(c2/c3),2) + pow(log(c3/c4),2) + pow(log(c4/c5),2) + pow(log(c5/c6),2) + pow(log(c6/c7),2) + pow(log(c7/c8),2) + pow(log(c8/c9),2) + pow(log(c9/c10),2)
    
    calculatePivot() =>
        (ph + pl + pc) / 3
    
    degreeFactor(angle) =>
        if angle == 1
            3.75/180
        else
            if angle == 2
                7.5/180
            else
                if angle == 3
                    15.00/180
                else
                    if angle == 4
                        18.75/180
                    else
                        if angle == 5
                            26.25/180
                        else
                            if angle == 6
                                45.00/180
                            else
                                if angle == 7
                                    63.75/180
                                else
                                    if angle == 8
                                        71.25/180
                                    else
                                        if angle == 9
                                            75.00/180
                                        else
                                            if angle == 10
                                                82.50/180
                                            else
                                                86.25/180
    
    
    getCycleLevels(cycleNo, prevCycleHigh, prevCycleLow, pRange) =>
        if cycleNo == 1
            buyAbove = pow(sqrt(pRange) + degreeFactor(3), 2) * degreeFactor(3) + prevCycleHigh
            majorResistance = pow(sqrt(pRange) + degreeFactor(6), 2) * degreeFactor(6) + prevCycleHigh
            buyTarget = pow(sqrt(pRange) + degreeFactor(11), 2) * degreeFactor(11) + prevCycleHigh
            sellBelow = prevCycleHigh - pow(sqrt(pRange) - degreeFactor(3), 2)* degreeFactor(3)
            majorSupport = prevCycleHigh - pow(sqrt(pRange) - degreeFactor(6), 2)* degreeFactor(6)
            sellTarget = prevCycleHigh - pow(sqrt(pRange) - degreeFactor(11), 2)* degreeFactor(11)
            [buyAbove, majorResistance, buyTarget, sellBelow, majorSupport, sellTarget]
        else
            majorResistance = pow(sqrt(pRange) + degreeFactor(6), 2) * degreeFactor(6) + prevCycleHigh
            buyTarget = pow(sqrt(pRange) + degreeFactor(11), 2) * degreeFactor(11) + prevCycleHigh
            majorSupport = prevCycleLow - pow(sqrt(pRange) - degreeFactor(6), 2)* degreeFactor(6)
            sellTarget = prevCycleLow - pow(sqrt(pRange) - degreeFactor(11), 2)* degreeFactor(11)
            [majorResistance, buyTarget, majorSupport, sellTarget, 0.0, 0.0]
    
        
    
    pivot = calculatePivot()
    
    totLn := calculateLN()
    totLnSqr := calculateLNSquare()
    lnAvg := totLn / 9
    lnSqrAvg := totLnSqr / 9
    variance := lnSqrAvg - pow(lnAvg, 2)
    dailyVolatility := sqrt(variance)
    price := c1
    priceRange := dailyVolatility * price
    
    //Cycle One
    [buyAbove, majorResistane1, buytarget1, sellBelow, majorSupport1, sellTarget1] = getCycleLevels(1, price, 0.0, priceRange)
    
    //Cycle Tw0
    [majorResistane2, buytarget2, majorSupport2, sellTarget2, dummy1, dummy2] = getCycleLevels(2, buytarget1, sellTarget1, priceRange)
    
    //Cycle Three
    [majorResistane3, buytarget3, majorSupport3, sellTarget3, dummy3, dummy4] = getCycleLevels(3, buytarget2, sellTarget2, priceRange)
    
    //Cycle Four
    [majorResistane4, buytarget4, majorSupport4, sellTarget4, dummy5, dummy6] = getCycleLevels(4, buytarget3, sellTarget3, priceRange)
    
    //Cycle Five
    [majorResistane5, buytarget5, majorSupport5, sellTarget5, dummy7, dummy8] = getCycleLevels(5, buytarget4, sellTarget4, priceRange)
        
    plot(series=lowerTimeframe ? buyAbove : na, title="Buy Above", color = pivot[1] != pivot and lowerTimeframe ? na : color.blue, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? majorResistane1 : na, title="Major Resistance1", color = pivot[1] != pivot and lowerTimeframe ? na : color.gray, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? buytarget1 : na, title="TGT1", color = pivot[1] != pivot and lowerTimeframe ? na : color.green, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? sellBelow : na, title="Sell Below", color = pivot[1] != pivot and lowerTimeframe ? na : color.yellow, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? majorSupport1 : na, title="Major Support1", color = pivot[1] != pivot and lowerTimeframe ? na : color.gray, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? sellTarget1 : na, title="TGT1", color = pivot[1] != pivot and lowerTimeframe ? na : color.red, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? majorResistane2 : na, title="Major Resistance2", color = pivot[1] != pivot and lowerTimeframe ? na : color.gray, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? buytarget2 : na, title="TGT2", color = pivot[1] != pivot and lowerTimeframe ? na : color.green, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? majorSupport2 : na, title="Major Support2", color = pivot[1] != pivot and lowerTimeframe ? na : color.gray, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? sellTarget2 : na, title="TGT2", color = pivot[1] != pivot and lowerTimeframe ? na : color.red, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? majorResistane3 : na, title="Major Resistance3", color = pivot[1] != pivot and lowerTimeframe ? na : color.gray, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? buytarget3 : na, title="TGT3", color = pivot[1] != pivot and lowerTimeframe ? na : color.green, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? majorSupport3 : na, title="Major Support3", color = pivot[1] != pivot and lowerTimeframe ? na : color.gray, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? sellTarget3 : na, title="TGT3", color = pivot[1] != pivot and lowerTimeframe ? na : color.red, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? majorResistane4 : na, title="Major Resistance4", color = pivot[1] != pivot and lowerTimeframe ? na : color.gray, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? buytarget4 : na, title="TGT4", color = pivot[1] != pivot and lowerTimeframe ? na : color.green, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? majorSupport4 : na, title="Major Support4", color = pivot[1] != pivot and lowerTimeframe ? na : color.gray, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? sellTarget4 : na, title="TGT4", color = pivot[1] != pivot and lowerTimeframe ? na : color.red, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? majorResistane5 : na, title="Major Resistance5", color = pivot[1] != pivot and lowerTimeframe ? na : color.gray, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? buytarget5 : na, title="TGT5", color = pivot[1] != pivot and lowerTimeframe ? na : color.green, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? majorSupport5 : na, title="Major Support5", color = pivot[1] != pivot and lowerTimeframe ? na : color.gray, style = plot.style_linebr, transp=0, linewidth=1)
    plot(series=lowerTimeframe ? sellTarget5 : na, title="TGT5", color = pivot[1] != pivot and lowerTimeframe ? na : color.red, style = plot.style_linebr, transp=0, linewidth=1)
    
    
    
    
    
    
    image.png

    相关文章

      网友评论

          本文标题:gann 图压力支撑

          本文链接:https://www.haomeiwen.com/subject/kcusljtx.html