我使用EMA交叉作为信号,但是触发的交易没有跨界

发布于 2025-01-30 11:06:21 字数 719 浏览 2 评论 0原文

我使用EMA交叉作为信号,但是以不发生跨界的价格触发的交易... 您的帮助将不胜感激。谢谢你!

//@version=5

strategy(title='test', overlay=true, pyramiding=0)

fast = ta.ema(close,50)
mid = ta.ema(close,100)
slow = ta.ema(close,200)

plot(fast, color=color.white)
plot(mid, color=color.yellow)
plot(slow, color=color.red)

if (fast > mid) or (mid > slow) or (fast > slow)
    strategy.entry("Long1", strategy.long, limit=close * 0.99)
if (fast > mid) and (fast > slow)
    strategy.entry("Long3", strategy.long)
    
if fast < mid or mid < slow or fast < slow
    strategy.entry("Short1", strategy.short, limit=close * 1.01)
if fast < mid and fast < slow
    strategy.entry("Short3", strategy.short)    

I use ema crossover as signal, however deal triggered at price where no crossover happened...
Your help will be greatly appreciated. Thank you!

//@version=5

strategy(title='test', overlay=true, pyramiding=0)

fast = ta.ema(close,50)
mid = ta.ema(close,100)
slow = ta.ema(close,200)

plot(fast, color=color.white)
plot(mid, color=color.yellow)
plot(slow, color=color.red)

if (fast > mid) or (mid > slow) or (fast > slow)
    strategy.entry("Long1", strategy.long, limit=close * 0.99)
if (fast > mid) and (fast > slow)
    strategy.entry("Long3", strategy.long)
    
if fast < mid or mid < slow or fast < slow
    strategy.entry("Short1", strategy.short, limit=close * 1.01)
if fast < mid and fast < slow
    strategy.entry("Short3", strategy.short)    

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

计㈡愣 2025-02-06 11:06:22

为什么不使用跨界/横求功能而代替比较呢?

fast_up   = ta.crossover(fast,slow)
fast_down = ta.crossunder(fast,slow)

您的代码将成为这样的东西:

//@version=5

strategy(title='test', overlay=true, pyramiding=0)

fast = ta.ema(close,50)
mid  = ta.ema(close,100)
slow = ta.ema(close,200)

plot(fast, color=color.white)
plot(mid, color=color.yellow)
plot(slow, color=color.red)

fast_cross_mid  = ta.crossover(fast,mid)
mid_cross_slow  = ta.crossover(mid,slow)
fast_cross_slow = ta.crossover(fast,slow)

fast_under_mid  = ta.crossunder(fast,mid)
mid_under_slow  = ta.crossunder(mid,slow)
fast_under_slow = ta.crossunder(fast,slow)

if fast_cross_mid or mid_cross_slow or fast_cross_slow
    strategy.entry("Long1", strategy.long, limit=close * 0.99)
if fast_cross_mid and fast_cross_slow
    strategy.entry("Long3", strategy.long)
    
if fast_under_mid or mid_under_slow or fast_under_slow
    strategy.entry("Short1", strategy.short, limit=close * 1.01)
if fast_under_mid and fast_under_slow
    strategy.entry("Short3", strategy.short) 

Why not using Crossover/Crossunder function instead comparision?

fast_up   = ta.crossover(fast,slow)
fast_down = ta.crossunder(fast,slow)

Your code will become something like this:

//@version=5

strategy(title='test', overlay=true, pyramiding=0)

fast = ta.ema(close,50)
mid  = ta.ema(close,100)
slow = ta.ema(close,200)

plot(fast, color=color.white)
plot(mid, color=color.yellow)
plot(slow, color=color.red)

fast_cross_mid  = ta.crossover(fast,mid)
mid_cross_slow  = ta.crossover(mid,slow)
fast_cross_slow = ta.crossover(fast,slow)

fast_under_mid  = ta.crossunder(fast,mid)
mid_under_slow  = ta.crossunder(mid,slow)
fast_under_slow = ta.crossunder(fast,slow)

if fast_cross_mid or mid_cross_slow or fast_cross_slow
    strategy.entry("Long1", strategy.long, limit=close * 0.99)
if fast_cross_mid and fast_cross_slow
    strategy.entry("Long3", strategy.long)
    
if fast_under_mid or mid_under_slow or fast_under_slow
    strategy.entry("Short1", strategy.short, limit=close * 1.01)
if fast_under_mid and fast_under_slow
    strategy.entry("Short3", strategy.short) 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文