当价格离指数移动平均线有特定百分比的距离时,如何打开/关闭交易? (松树)

问题描述 投票:0回答:1

我想在Pine中建立一个具有一个指数移动平均线(例如14)的策略,如果价格超过或低于ema,则该交易打开和关闭交易。最重要的是,如果价格偏离ema一定距离,例如30%,我希望它也可以开/平交易。

一种情况可能是,价格在一个小节上上涨了20%,但由于一系列看涨的小节而与ema相距30%。在这种情况下,我希望代码启动关闭仓位的交易。

并且如果价格从ema下跌30%,我希望采取看跌的方式开仓。

否则,请遵循ema设置的规则。

我是新手,希望在此方面有所帮助。这是我走了多远:

编辑:而且我想必须要有一个条件,即如果价格移动30%,则价格必须高于或低于ema才能平仓或平仓,这样才不会意外平仓然后在中平仓如果两个条距ema超过30%。

//@version=4
strategy(title="Moving Average Exponential", shorttitle="EMA", overlay=true, max_bars_back=1000)
len = input(14, minval=1, title="Length")
src = input(close, title="Source")
offset = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500)
out = ema(src, len)
plot(out, title="EMA", color=color.blue, offset=offset)


// Only trade from the long side
strategy.risk.allow_entry_in(strategy.direction.long)

// Submit orders
if (crossover(close, out))
    strategy.entry(id="Entry", long=true)

if (crossunder(close, out))
    strategy.entry(id="Close", long=false)
pine-script trading
1个回答
0
投票

为了以百分比形式查看两个观察值(价格和EMA)之间的距离,您需要以下代码

pd = (close - EMA)/EMA * 100

此给

if pd > 30
    strategy.entry(id="Entry", long=true)

if pd < 30
    strategy.entry(id="Close", long=false)
© www.soinside.com 2019 - 2024. All rights reserved.