首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >交易视图ta.crossover

交易视图ta.crossover
EN

Stack Overflow用户
提问于 2021-10-30 03:24:38
回答 1查看 3.9K关注 0票数 1

我希望在3个实例中出现交叉时使用函数plotshape()来显示一个标志,例如:

  1. EMA8跨越EMA113和WMA200
  2. EMA24跨越EMA113和WMA200
  3. WMA50跨越EMA113和WMA200

当我使用和函数时,只有当交叉发生在单条上时,当我使用或函数时,标志才会显示两次。

我希望在两条线交叉之后画出1面旗子

示例: EMA8在EMA113 (无标志)交叉WMA200标志上交叉,其中EMA113的前一个交叉的条件为真

希望这是有意义的,谢谢!

代码语言:javascript
运行
复制
 EMA8_= ta.ema(close,8)
    EMA24_= ta.ema(close,24)
    WMA50_= ta.wma(close,50)
    EMA113_= ta.ema(close,113)
    WMA200_= ta.wma(close,200)
    
    ema8=plot(ta.ema(close,8),color=color.white)
    ema24=plot(ta.ema(close,24),color=color.yellow)
    wma50=plot(ta.wma(close,50),color=color.red)
    ema113=plot(ta.ema(close,113),color=color.aqua)
    wma200=plot(ta.wma(close,200),color=color.blue)
    
    plotshape(series = (ta.crossover(EMA8_, EMA113_)) and (ta.crossover(EMA8_, WMA200_)) , style=shape.flag, location=location.top, color=#9FE2BF, size=size.normal)
    plotshape(series = (ta.crossover(EMA24_, EMA113_)) and (ta.crossover(EMA24_, WMA200_)) , style=shape.flag, location=location.top, color=#FFC000, size=size.normal)
    plotshape(series = (ta.crossover(WMA50_, EMA113_)) and (ta.crossover(WMA50_, WMA200_)) , style=shape.flag, location=location.top, color=#FF5F15, size=size.normal)

EN

回答 1

Stack Overflow用户

发布于 2021-10-30 09:56:55

有多种方法可以做到这一点。在所有情况下,您都应该考虑为一个条件变为真的条形设置一个变量,该变量仅为true

您应该在此基础上实现您的逻辑,或者在发生特定事件时可以使用返回true的函数。在这里使用ta.crossover()确实是正确的。

让我们看看你的情况。

EMA8跨越EMA113和WMA200

首先,查找EMA8是否跨越了EMA113 WMA200。当这是true时,检查EMA8是否大于两者。您需要使用交叉功能,这里只触发您的标志,一旦交叉发生。然后,通过比较实际值,您还可以检查另一个交叉是否发生在过去的某个时候。因为如果EMA8在过去跨越了EMA113或WMA200,那么它的价值就会更大。

这是你的条件1的代码,你可以根据你的其他条件来调整它。

代码语言:javascript
运行
复制
//@version=5
indicator("My Script")
EMA8_= ta.ema(close,8)
EMA113_= ta.ema(close,113)
WMA200_= ta.wma(close,200)
bool isCond1 = (ta.crossover(EMA8_, EMA113_) or ta.crossover(EMA8_, WMA200_)) and (EMA8_ > EMA113_) and (EMA8_ > WMA200_)

plot(ta.ema(close,8),color=color.white)
plot(ta.ema(close,113),color=color.aqua)
plot(ta.wma(close,200),color=color.blue)
plotshape(series = isCond1 , style=shape.flag, location=location.top, color=#9FE2BF, size=size.normal)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69776548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档