0

对你来说可能是一个简单的问题,因为我不是程序员,而是试图用非常非常基础的知识自己开发。到目前为止,在互联网的帮助下,我已经起草了一个代码来回测 Pine Script 上关于交叉和交叉 EMA(exp.movi​​ng averages)的策略。有时我可能没有使用正确的编程术语,对不起。

问题是,正如您将在打印屏幕上看到的那样,无论时间框架有时是 2,我得到的值都落后于蜡烛。如果我绘制该值并使用偏移量 (-1),那么它将起作用。但是我不知道如何在我的策略中实现这一点,或者将使用偏移量创建的 plotshape 的值放入策略中,以便买卖功能在正确的时刻出现。那么你们能帮帮我吗?我敢肯定这很简单。这是减去策略的小脚本:

//@version=4 

study("ValueWhen", overlay=true)

EMA_7 = ema(close, 7)

EMA_28 = ema(close, 28)

MA_CrossU = crossunder(EMA_7, EMA_28)
MA_CrossO = crossover(EMA_7, EMA_28)

plotshape(MA_CrossU, title="Cross Under", style=shape.triangledown, location=location.abovebar, color=color.green, transp=0, text="CU")
plotshape(MA_CrossU, title="Cross Under", style=shape.triangledown, location=location.abovebar, color=color.green, transp=0, offset=-1, text="CUoffset")

您可以在屏幕截图中看到我的意思。

截图示例

那么我将如何在那里实现真正的价值(我知道这不是相同的变量,我试图简化事情)

//Strategy
if (afterStartDate and crossover(macd, signalLine))
    strategy.entry(id="BUY", long=true)
    
if (afterStartDate and crossunder(macd, signalLine))
    strategy.entry(id="SELL", long=false)

非常感谢。

4

0 回答 0