Как преобразовать скрипты стратегии Momentum в алерты в pinescript?

Может ли кто-нибудь помочь мне преобразовать коды сценария сосны стратегии мамы в оповещение? Вот код:

//@version=3
strategy("Momentum Strategy", overlay=true)
length = input(12) 
price = close

momentum(seria, length) =>
    mom = seria - seria[length]
    mom

mom0 = momentum(price, length)
mom1 = momentum(mom0, 1)

if (mom0 > 0 and mom1 > 0)
    stop_price = high+syminfo.mintick
    strategy.entry("MomLE", strategy.long, stop=stop_price, comment="MomLE", qty=2)
else
    strategy.cancel("MomLE")

if (mom0 < 0 and mom1 < 0)
    stop_price = low - syminfo.mintick
    strategy.entry("MomSE", strategy.short, stop=stop_price, comment="MomSE", qty=2)
else
    strategy.cancel("MomSE")

person Channel David    schedule 29.09.2018    source источник
comment
Посмотрите на функцию alertcondition().   -  person Baris Yakut    schedule 29.09.2018
comment
Я написал подробную статью о функции alertcondition(). Вероятно, это помогает лучше понять, как кодировать условия оповещения.   -  person Jos    schedule 03.10.2018


Ответы (1)


Может ли кто-нибудь помочь мне преобразовать коды сценария сосны стратегии мамы в оповещение?

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

  1. Замените функцию strategy() на study().
  2. Удалите специальный код стратегии. В данном случае это функции strategy.entry() и strategy.exit().
  3. Затем добавьте функцию alertcondition() для кодирования условия оповещения. Для этого вы можете использовать ту же логику, что и используемая стратегия.
  4. Добавьте какую-нибудь функцию вывода в свой код*.

Вот как это будет выглядеть:

//@version=3
study("Momentum Alert", overlay=true)
length = input(12) 
price = close

momentum(seria, length) =>
    mom = seria - seria[length]
    mom

mom0 = momentum(price, length)
mom1 = momentum(mom0, 1)

// Create alert conditions
alertcondition(condition=mom0 > 0 and mom1 > 0,
     message="Momentum increased")

alertcondition(condition=mom < 0 and mom1 < 0,
     message="Momentum decreased")

// Output something
plot(series=mom0)

*: Функция TradingView alertcondition() не является так называемой «функцией вывода». Но такая функция нужна каждому индикатору (например, для рисования, раскрашивания или создания фигур). В противном случае вы получите ошибку 'скрипт должен иметь хотя бы один вызов функции вывода'< /а>.

Вот почему я добавил функцию plot() в приведенный выше пример кода, хотя, строго говоря, это не обязательно для вашего вопроса.

person Jos    schedule 03.10.2018