Как преобразовать скрипты стратегии Momentum для оповещения в pinescript? - PullRequest
0 голосов
/ 29 сентября 2018

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

//@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")

1 Ответ

0 голосов
/ 03 октября 2018

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

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

  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() не является так называемой «функцией вывода».Но каждому индикатору нужна такая функция (например, для построения графиков, раскраски или создания фигур).В противном случае вы получите 'скрипт должен иметь как минимум один вызов функции вывода' error .

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

...