PineScript-下降MACD直方图

时间:2019-11-06 12:56:49

标签: pine-script

我在业余时间学习一些PineScript,发现与之共事非常难。我基本上是想重新创建我在C#中写的一个复杂的指标,而我却在为简单的事情而苦苦挣扎。

省略复杂的内容,可以说我想在MACD行为如下图时绘制箭头:

enter image description here

这是我当前的尝试,基本上应该检查我们是否处于峰值,找到直方图高,找到零列以下,然后零列上方,并检查它们是否包含比当前高的直方图值: / p>

[macdLine, signalLine, hist] = macd(close, 12, 26, 9)
float ind = na

if hist[2] > 0 and hist[1] < hist[2] and hist < hist[1] and hist[3] < hist[2]
    bool maxHistFound = false
    bool lowerFound = false
    bool upperFound = false
    bool candidateFound = false
    float maxHist = hist[2]

    for i = 1 to 1000

        if not maxHistFound 
            if hist[i] < 0
                maxHistFound := true
            else
                if hist[i] > maxHist
                    maxHist := hist[i]

        if not lowerFound
            if hist[i] < 0
                lowerFound := true

        if not upperFound
            if hist[i] > 0
                upperFound := true

        if maxHistFound and lowerFound and upperFound
            if hist[i] > 0 and hist[i + 1] <= hist[i] and hist[i - 1] <= hist[i]
                if hist[i] > maxHist // and macdLine[i] > 0 and signalLine[i] > 0 and hist[i] > 0.10 
                    candidateFound := true
                    maxHist := hist[i]

            if hist[i] < 0
                if candidateFound
                    ind := -1
                    break

alertcondition(ind == -1, title='Short', message='Short')

plotarrow(ind, colorup=#008000, colordown=#FF3030, transp=0, minheight=50, maxheight=50)

即使信号不符合我的描述,它也会显示信号。

enter image description here

主要问题是我自己可以修复它,但是我不知道如何正确地用这种语言调试,我试图通过绘制所有内容来进行调试,但是绘制调试内容是riddiculus,不幸的是我可以找不到更好的解决方案。如果我知道如何在PineScript中的断点处停止,我可能会很容易发现发生了什么。

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,我发现这个脚本已经写在 TradingView 上。

检查一下。工作得很好。 https://www.tradingview.com/script/nTOjDIxS-Cyatophilum-MACD-Hist-ALERT-SETUP/