警报条件基于 EMA13/50 交叉之前的前一个或 2 个柱
Alertcondition based on the previous or 2 bars ago before EMA13/50 crossover
请看下面的代码。我有两个输入。第一个用于 EMA13 穿越 EMA50 时,第二个输入定义高交易量的柱线。
我想问一下如何做到以下几点:
- 我们如何在图表上显示(不使用偏移内置函数)在前一个柱中或两个柱之前,在 EMA13 超过 EMA50 之前出现的任何一个或多个具有高成交量的柱?
我想在不同时使用偏移和绘图函数将条形图向左移动的情况下执行此操作的原因是因为我猜想这种移动将是装饰性的并且不会移动实际值。所以,如果我使用 offset,我不能将它用于 alertcondition 函数。
- 我们如何创建一个基于以下事件的警报条件(不是警报函数)?
- EMA13 穿越 EMA50,并且
- EMA13/50 交叉之前的前一个柱或最后 2 个柱中必须有一个或两个高成交量柱。
非常感谢
//@version=4
study(title="High volume with EMA13/50", shorttitle="High vol EMA13/50", overlay = true )
EMA13 = input(13, minval=1)
EMA50 = input(50, minval=1)
xPrice = close
xEMA13 = ema(xPrice, EMA13)
xEMA50 = ema(xPrice, EMA50)
plot(xEMA13, color=color.red, title="EMA 13")
plot(xEMA50, color=color.purple, title="EMA 50")
// Bar with high volume
smalength=input(21, "length", minval=1)
avrg=sma(volume,smalength)
volu1 = volume > avrg*1.5 and close>open
colu1=#006400
color = volu1 ? colu1 : na
barcolor(color)
plotshape(volu1 ? low : na, title="Bar with high volume", text="High\nVolume\n", style=shape.labelup, location=location.belowbar, color=colu1, textcolor=color.white, size=size.tiny)
EMA13crossesoverEMA50 = crossover(xEMA13, xEMA50)
plotshape(EMA13crossesoverEMA50 ? low : na, title="EMA13crossesoverEMA50", text="EMA(13,50)\nCrossover\n", style=shape.labelup, location=location.belowbar, color=color.green, textcolor=color.white, size=size.tiny)
// Question :1
// How can we show, on the chart, any bar or bars with high volume occurring in the previous bar, or two bars ago, before EMA13 crossses over EMA50?
// input for bar or bars with high volume that occur any time: "volu1"
// input for EMA13 crosses over EMA50: "EMA13crossesoverEMA50 "
// Question: 2
// How can we create an alertcondition (not the alert function), which will be based on the following events?
// First condition: EMA13 crossover over EMA50
// Second condition: There must be a bar or bar with high volume, in the last 2 bars preceding the EMA13/50 crossover
//alertcondition(condition, title="High Volume happened in the last 2 bars before EMA13/50 crossover", message="High volume before EMA13/50 crossover")
我的朋友,这样的事情怎么样?我们可以在您的条件之后使用 [] 参考之前的柱。例如:(volu1[1] 或 volu1[2]) 将检查您的成交量状况是在前一柱还是前两柱。我们可以将其添加到您的十字架上,并且仅在所有内容都满足时才打印标签和警报:
//@version=4
study(title="High volume with EMA13/50", shorttitle="High vol EMA13/50",
overlay = true )
EMA13 = input(13, minval=1)
EMA50 = input(50, minval=1)
xPrice = close
xEMA13 = ema(xPrice, EMA13)
xEMA50 = ema(xPrice, EMA50)
plot(xEMA13, color=color.red, title="EMA 13")
plot(xEMA50, color=color.purple, title="EMA 50")
// Bar with high volume
malength=input(21, "length", minval=1)
avrg=sma(volume,smalength)
volu1 = volume > avrg*1.5 and close>open
colu1=#006400
color = volu1 ? colu1 : na
barcolor(color)
EMA13crossesoverEMA50 = crossover(xEMA13, xEMA50)
highCross = EMA13crossesoverEMA50 and (volu1[1] or volu1[2]) // volume on previous bar or bar before that
plotshape(volu1 and not highCross ? low : na, title="Bar with high volume", text="High\nVolume\n", style=shape.labelup, location=location.belowbar, color=colu1, textcolor=color.white, size=size.tiny)
plotshape(highCross ? low : na, title="High Volume Cross", text="High\nCross\n", style=shape.labelup, location=location.belowbar, color=color.green, textcolor=color.white, size=size.tiny)
alertcondition(highCross, title="High Volume happened in the last 2 bars before EMA13/50 crossover", message="High volume before EMA13/50 crossover")
请注意,如果我们想检查交叉的同一柱,那么我们只会说和 volu1 等。你说的是前一个柱,所以我在 1 前做了,但你可以改变这个
祝您交易和编码顺利
请看下面的代码。我有两个输入。第一个用于 EMA13 穿越 EMA50 时,第二个输入定义高交易量的柱线。 我想问一下如何做到以下几点:
- 我们如何在图表上显示(不使用偏移内置函数)在前一个柱中或两个柱之前,在 EMA13 超过 EMA50 之前出现的任何一个或多个具有高成交量的柱? 我想在不同时使用偏移和绘图函数将条形图向左移动的情况下执行此操作的原因是因为我猜想这种移动将是装饰性的并且不会移动实际值。所以,如果我使用 offset,我不能将它用于 alertcondition 函数。
- 我们如何创建一个基于以下事件的警报条件(不是警报函数)?
- EMA13 穿越 EMA50,并且
- EMA13/50 交叉之前的前一个柱或最后 2 个柱中必须有一个或两个高成交量柱。
非常感谢
//@version=4
study(title="High volume with EMA13/50", shorttitle="High vol EMA13/50", overlay = true )
EMA13 = input(13, minval=1)
EMA50 = input(50, minval=1)
xPrice = close
xEMA13 = ema(xPrice, EMA13)
xEMA50 = ema(xPrice, EMA50)
plot(xEMA13, color=color.red, title="EMA 13")
plot(xEMA50, color=color.purple, title="EMA 50")
// Bar with high volume
smalength=input(21, "length", minval=1)
avrg=sma(volume,smalength)
volu1 = volume > avrg*1.5 and close>open
colu1=#006400
color = volu1 ? colu1 : na
barcolor(color)
plotshape(volu1 ? low : na, title="Bar with high volume", text="High\nVolume\n", style=shape.labelup, location=location.belowbar, color=colu1, textcolor=color.white, size=size.tiny)
EMA13crossesoverEMA50 = crossover(xEMA13, xEMA50)
plotshape(EMA13crossesoverEMA50 ? low : na, title="EMA13crossesoverEMA50", text="EMA(13,50)\nCrossover\n", style=shape.labelup, location=location.belowbar, color=color.green, textcolor=color.white, size=size.tiny)
// Question :1
// How can we show, on the chart, any bar or bars with high volume occurring in the previous bar, or two bars ago, before EMA13 crossses over EMA50?
// input for bar or bars with high volume that occur any time: "volu1"
// input for EMA13 crosses over EMA50: "EMA13crossesoverEMA50 "
// Question: 2
// How can we create an alertcondition (not the alert function), which will be based on the following events?
// First condition: EMA13 crossover over EMA50
// Second condition: There must be a bar or bar with high volume, in the last 2 bars preceding the EMA13/50 crossover
//alertcondition(condition, title="High Volume happened in the last 2 bars before EMA13/50 crossover", message="High volume before EMA13/50 crossover")
我的朋友,这样的事情怎么样?我们可以在您的条件之后使用 [] 参考之前的柱。例如:(volu1[1] 或 volu1[2]) 将检查您的成交量状况是在前一柱还是前两柱。我们可以将其添加到您的十字架上,并且仅在所有内容都满足时才打印标签和警报:
//@version=4
study(title="High volume with EMA13/50", shorttitle="High vol EMA13/50",
overlay = true )
EMA13 = input(13, minval=1)
EMA50 = input(50, minval=1)
xPrice = close
xEMA13 = ema(xPrice, EMA13)
xEMA50 = ema(xPrice, EMA50)
plot(xEMA13, color=color.red, title="EMA 13")
plot(xEMA50, color=color.purple, title="EMA 50")
// Bar with high volume
malength=input(21, "length", minval=1)
avrg=sma(volume,smalength)
volu1 = volume > avrg*1.5 and close>open
colu1=#006400
color = volu1 ? colu1 : na
barcolor(color)
EMA13crossesoverEMA50 = crossover(xEMA13, xEMA50)
highCross = EMA13crossesoverEMA50 and (volu1[1] or volu1[2]) // volume on previous bar or bar before that
plotshape(volu1 and not highCross ? low : na, title="Bar with high volume", text="High\nVolume\n", style=shape.labelup, location=location.belowbar, color=colu1, textcolor=color.white, size=size.tiny)
plotshape(highCross ? low : na, title="High Volume Cross", text="High\nCross\n", style=shape.labelup, location=location.belowbar, color=color.green, textcolor=color.white, size=size.tiny)
alertcondition(highCross, title="High Volume happened in the last 2 bars before EMA13/50 crossover", message="High volume before EMA13/50 crossover")
请注意,如果我们想检查交叉的同一柱,那么我们只会说和 volu1 等。你说的是前一个柱,所以我在 1 前做了,但你可以改变这个
祝您交易和编码顺利