PineScript - нисходящая гистограмма MACD - PullRequest
1 голос
/ 06 ноября 2019

Я изучаю немного PineScript в свое свободное время, и мне очень трудно работать с ним. Я в основном пытаюсь воссоздать сложный индикатор, который я написал в C#, и я борюсь с простыми вещами.

Опуская сложные вещи, скажем, я хочу рисовать стрелки, когда MACD ведет себя так, как показано на следующем рисунке:

enter image description here

Это моя текущая попытка, в основном предполагается проверить, находимся ли мы на пике, найти гистограмму высоко, найти столбцы ниже нуля, затемвыше нуля столбцов и проверьте, содержат ли они более высокое значение гистограммы, чем текущее значение:

[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

Основная проблема в том, что я, возможно, мог бы исправить это сам, но я не знаю, как правильно отладить на этом языке, и я пытаюсь сделать это, зарисовывая все, кроме заговора для отладкиВещи - это гадость, к сожалению, в своем невежестве я не могу найти лучшего решения. Я мог бы легко узнать, что происходит, если бы знал, как остановиться на точке останова в PineScript.

...