【问题标题】:How to open/close trade when price is a specific percentage distance away from the exponential moving average? (Pine)当价格与指数移动平均线相距特定百分比距离时,如何打开/关闭交易? (松树)
【发布时间】:2020-06-14 14:07:00
【问题描述】:

我想在 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】:

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

    pd = (close - EMA)/EMA * 100
    

    这个给

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-24
      • 2022-11-02
      • 2020-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多