Объявление переменной в самом начале - PullRequest
0 голосов
/ 21 июня 2020

У меня общая проблема в скрипте Pine. Я не знаю, как объявить переменную в самом начале стратегии и обновлять ее с каждой свечой. Когда вы его объявляете, он будет объявляться на каждой свече!

Лог c должен быть таким:

Если происходит определенное событие, значение переменной должно быть установлено на x . Переменная должна оставаться x до тех пор, пока не произойдет другое событие.

Проблема, которую я вижу, состоит в том, что переменная всегда будет сбрасываться до исходного значения из-за объявления в начале скрипта.

мой (пример) код:

    a = 20 

    if crossover(ma1, ma2)
         a:=30
    
    if crossunder(ma1, ma2)
         a:=40

Переменная «a» будет просто 30 или 40 для свечей, которые запускают пересечение / опускание ma, но я хочу, чтобы значение было 30 от пересечения до пересечение.

PS: Не обязательно, чтобы переменная сохраняла свое значение. Мне просто нужна информация «последнее пересечение скользящих средних было пересечением» (соответственно пересечением).

PPS: Я знаю, что в этом случае вы могли бы просто использовать ma1> ma2, но это просто Пример для объяснения моей проблемы.

Спасибо, ребята! BR

1 Ответ

0 голосов
/ 21 июня 2020

Вам нужно использовать var. Пример:

var a = 0
a:=valuewhen(crossover(ma1, ma2), close, 1)

https://www.tradingview.com/pine-script-docs/en/v4/language/Expressions_declarations_and_statements.html

...