只能自力更生了。
方法是先複製下面暫時免費提供的Code
打開Trading View的Pine Script,把Code貼上去
Ps. 暫時提供的指標有
第一個:MA 5線組合,布林通道,自動計算7日平均波幅*,Daily Maximum Range*
第二個:MACD,自動計算7日平均波幅*,Daily Maximum Range*
兩個Scripts需要分開製作兩個指標,因為一個會顯示在主畫面,一個會在下面的Panel,把他們放到一個指標會顯示錯誤。
*一樣的數據,只是顯示的方式不同
如果大家有問題可以隨時問我
如果有指標想加到這個Script 中可以在留言區告訴我,不定時更新指標的Code!
— — — — — —
如果喜歡我的內容,可以用我的BingX邀請碼6JSCSO
https://bingx.com/invite/6JSCSO
或者用ETH鏈直接支持我,謝謝你 0x59A8bDb5050553Bd0fB1207933E3c119F89Bdb7a
//@version=5
indicator(title="Boll&MA by Crypto Civilization", shorttitle="All in one v1", precision=8, overlay=true, timeframe = "", timeframe_gaps = false)
import TradingView/ta/7
BOLLEnabled = input(true, "BOLL")
length = input.int(21, minval=1)
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
lll = input(close, title="Source")
jjjj = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
ma(source, length, _type) =>
switch _type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
basis = BOLLEnabled ? ma(lll, length, maType) :na
dev = BOLLEnabled ? jjjj * ta.stdev(lll, length) :na
upper = BOLLEnabled ? basis + dev :na
lower = BOLLEnabled ? basis - dev :na
offset = input.int(0, "Offset", minval = -500, maxval = 500, display = display.data_window)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))
//7日平均波幅
AvgEnabled = input(false, "7Days Avg. On/Off", group="7Days Avg.")
lengthInput = input(7, title="Length", group="7Days Avg.")
smaHigh = AvgEnabled ? ta.sma(high, lengthInput): na
smaLow = AvgEnabled ? ta.sma(low, lengthInput): na
smaOpen = ta.sma(open, lengthInput)
smaClose = ta.sma(close, lengthInput)
OC = AvgEnabled ? (math.abs(open-close)): na
smaOC = AvgEnabled ? ta.sma(OC, lengthInput): na
ExtraEnabled = input(false, "Daily Max Range On/Off", group="DMR")
SmaHigh = ExtraEnabled ? ta.sma(high, lengthInput): na
SmaLow = ExtraEnabled ? ta.sma(low, lengthInput): na
SmaOpen = ta.sma(open, lengthInput)
SmaClose = ta.sma(close, lengthInput)
Oc = ExtraEnabled ? (math.abs(open-close)): na
smaOc = ExtraEnabled ? ta.sma(Oc, lengthInput): na
HLhigh = ExtraEnabled ? high + (SmaHigh - SmaLow)[1] : na
HLlow = ExtraEnabled ? low - (SmaHigh - SmaLow)[1] : na
OChigh = ExtraEnabled ? high + smaOc[1] : na
OClow = ExtraEnabled ? low - smaOc[1] : na
plot(smaHigh - smaLow, color=#e03a3a, title="Average HL")
plot(smaOC, color=#ffee00, title="Average OC")
plot(HLhigh, color=#e98181, transp=0, title="H2")
plot(OChigh, color=#e98181, transp=0, title="H1")
plot(OClow, color=#54cf7b, transp=0, title="L1")
plot(HLlow, color=#54cf7b, transp=0, title="L2")
smaEnabled = input(false, "Gold MA On/Off")
smaLength1 = input(10, "SMA1 Length", group="Gold MA")
smaLength2 = input(20, "SMA2 Length", group="Gold MA")
smaLength3 = input(50, "SMA3 Length", group="Gold MA")
smaLength4 = input(100, "SMA4 Length", group="Gold MA")
smaLength5 = input(200, "SMA5 Length", group="Gold MA")
SMA1 = smaEnabled ? ta.sma(close, smaLength1) : na
SMA2 = smaEnabled ? ta.sma(close, smaLength2) : na
SMA3 = smaEnabled ? ta.sma(close, smaLength3) : na
SMA4 = smaEnabled ? ta.sma(close, smaLength4) : na
SMA5 = smaEnabled ? ta.sma(close, smaLength5) : na
Section1= "Gold MA"
plot(SMA1, color=#f6ff00, transp=0, title="MA10")
plot(SMA2, color=#08dd04f0, transp=0, title="MA20")
plot(SMA3, color=#b75a25, transp=0, title="MA50")
plot(SMA4, color=#172ec1, transp=0, title="MA100")
plot(SMA5, color=#ff62ef, transp=0, title="MA200")
//@version=4
study(title="MACD+7 days Avg by Crypto Civilization", format=format.price, resolution="")
//7日平均波幅
AvgEnabled = input(false, "7Days Avg. On/Off", group="7Days Avg.")
lengthInput = input(7, title="Length", group="7Days Avg.")
smaHigh = AvgEnabled ? sma(high, lengthInput): na
smaLow = AvgEnabled ? sma(low, lengthInput): na
smaOpen = sma(open, lengthInput)
smaClose = sma(close, lengthInput)
OC = AvgEnabled ? (abs(open-close)): na
smaOC = AvgEnabled ? sma(OC, lengthInput): na
ExtraEnabled = input(false, "Daily Max Range On/Off", group="DMR")
SmaHigh = ExtraEnabled ? sma(high, lengthInput): na
SmaLow = ExtraEnabled ? sma(low, lengthInput): na
SmaOpen = sma(open, lengthInput)
SmaClose = sma(close, lengthInput)
Oc = ExtraEnabled ? (abs(open-close)): na
smaOc = ExtraEnabled ? sma(Oc, lengthInput): na
HLhigh = ExtraEnabled ? high + (SmaHigh - SmaLow)[1] : na
HLlow = ExtraEnabled ? low - (SmaHigh - SmaLow)[1] : na
OChigh = ExtraEnabled ? high + smaOc[1] : na
OClow = ExtraEnabled ? low - smaOc[1] : na
plot(smaHigh - smaLow, color=#e03a3a, title="Average HL")
plot(smaOC, color=#ffee00, title="Average OC")
plot(HLhigh, color=#007bf5, transp=0, title="H2")
plot(OChigh, color=#00f500, transp=0, title="H1")
plot(OClow, color=#f5d000, transp=0, title="L1")
plot(HLlow, color=#f5008f, transp=0, title="L2")
// New macd
NewMACDEnabled = input(true, "New MACD On/Off", group="New MACD")
fast_length = input(12,title="MACD快线长度", type=input.integer, group="New MACD")
slow_length = input(26,title="MACD慢线长度", type=input.integer, group="New MACD")
signal_length = input(9,title="MACD信号线长度", type=input.integer, group="New MACD")
col_macd = input(#2962FF, "MACD", input.color, group="Color Settings", inline="MACD", group="New MACD")
col_signal = input(#FF6D00, "信号线", input.color, group="Color Settings", inline="Signal", group="New MACD")
col_grow_above = input(#26A69A, "增长绿柱", input.color, group="Histogram", inline="Above", group="New MACD")
col_fall_above = input(#B2DFDB, "减弱绿柱", input.color, group="Histogram", inline="Above", group="New MACD")
col_grow_below = input(#FFCDD2, "减弱红柱", input.color, group="Histogram", inline="Below", group="New MACD")
col_fall_below = input(#FF5252, "增长红柱", input.color, group="Histogram", inline="Below", group="New MACD")
// Calculating
fast_ma = NewMACDEnabled ? ema(close, fast_length) :na//快线
slow_ma = NewMACDEnabled ? ema(close, slow_length) :na//慢线
macd = NewMACDEnabled ? fast_ma - slow_ma :na//macd线
signal = NewMACDEnabled ? ema(macd, signal_length) :na//信号线
hist = NewMACDEnabled ? macd - signal :na//能量柱
plot(hist, title="直方图", style=plot.style_columns, color=color.new((hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ),0))
plot(macd, title="MACD", color=color.new(col_macd, 0))
plot(signal, title="信号线", color=color.new(col_signal, 0))
rangeUpper1 = input(title="金死叉最大范围", defval=60)
rangeLower1 = input(title="金死叉最小范围", defval=5)
crossGold = crossover(macd,signal)?true:false
crossDead = crossunder(macd,signal)?true:false
_inRange1(cond1) =>
bars1 = barssince(cond1)
rangeLower1 <= bars1 and bars1 <= rangeUpper1
crossJudgeGold = ((_inRange1(crossGold) or _inRange1(crossDead))and crossGold)?macd:na
crossJudgeDead = ((_inRange1(crossDead) or _inRange1(crossGold))and crossDead)?macd:na
plotshape(crossJudgeGold,title = "金叉标识",style = shape.circle,location = location.absolute,color = color.green,size = size.tiny)
plotshape(crossJudgeDead,title = "死叉标识",style = shape.circle,location = location.absolute,color = color.red,size = size.tiny)
lbR = input(title="右范围", defval=5)
lbL = input(title="左范围", defval=5)
rangeUpper = input(title="最大范围", defval=60)
rangeLower = input(title="最小范围", defval=5)
plotBull = input(title="底背离标识", defval=true)
plotBear = input(title="顶背离标识", defval=true)
bearColor = color.red
bullColor = color.green
hiddenBullColor = color.new(color.green, 80)
hiddenBearColor = color.new(color.red, 80)
textColor = color.white
noneColor = color.new(color.white, 100)
osc = macd
plFound = na(pivotlow(osc, lbL, lbR)) ? false : true
phFound = na(pivothigh(osc, lbL, lbR)) ? false : true
_inRange(cond) =>
bars = barssince(cond == true)
rangeLower <= bars and bars <= rangeUpper
//------------------------------------------------------------------------------
// Regular Bullish
// Osc: Higher Low
oscHL = osc[lbR] > valuewhen(plFound, osc[lbR], 1) and _inRange(plFound[1])
// Price: Lower Low
priceLL = low[lbR] < valuewhen(plFound, low[lbR], 1)
bullCond = plotBull and priceLL and oscHL and plFound
plot(
plFound ? osc[lbR] : na,
offset=-lbR,
title="底背离线",
linewidth=2,
color=(bullCond ? bullColor : noneColor)
)
plotshape(
bullCond ? osc[lbR] : na,
offset=-lbR,
title="底背离标识",
text=" 底 ",
style=shape.labelup,
location=location.absolute,
color=bullColor,
textcolor=textColor
)
oscLL = osc[lbR] < valuewhen(plFound, osc[lbR], 1) and _inRange(plFound[1])
oscLH = osc[lbR] < valuewhen(phFound, osc[lbR], 1) and _inRange(phFound[1])
priceHH = high[lbR] > valuewhen(phFound, high[lbR], 1)
bearCond = plotBear and priceHH and oscLH and phFound
plot(
phFound ? osc[lbR] : na,
offset=-lbR,
title="顶背离线",
linewidth=2,
color=(bearCond ? bearColor : noneColor)
)
plotshape(
bearCond ? osc[lbR] : na,
offset=-lbR,
title="顶背离标识",
text=" 顶 ",
style=shape.labeldown,
location=location.absolute,
color=bearColor,
textcolor=textColor
)