gann 图压力支撑


// 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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,525评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,203评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,862评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,728评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,743评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,590评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,330评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,244评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,693评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,885评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,001评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,723评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,343评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,919评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,042评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,191评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,955评论 2 355