Нужна помощь с простым кодом Pinescript

#pine-script

Вопрос:

У меня, вероятно, один из самых простых сценариев для сценария pine, и по какой-то причине я могу отображать только формы сюжета «Продать», а не «Купить». Я понятия не имею, что может быть не так с этим кодом, пожалуйста, кто-нибудь, помогите! Вот мой сценарий:

 // © tommyf1001

//@version=4
study(title="EMAs   Stoch RSI", overlay=true, resolution="")


// ---------- Indicators

smoothK = input(3, "K", minval=1, group="Stoch RSI")
smoothD = input(3, "D", minval=1, type=input.integer, group="Stoch RSI")
lengthRSI = input(14, "RSI Length", minval=1, group="Stoch RSI")
lengthStoch = input(14, "Stochastic Length", minval=1, group="Stoch RSI")
stoch_low = input(10, title="Stoch Low", group="Stoch RSI")
stoch_high = input(90, title="Stoch High", group="Stoch RSI")

ema_1 = input(21, "EMA Fast", group="EMAs")
ema_2 = input(50, "EMA Slow", group="EMAs")


// ------------- Functions

// --------- Stoch RSI
rsi1 = rsi(close, lengthRSI)
stoch_k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
stoch_d = sma(stoch_k, smoothD)

stoch_rsi_bull = (barssince(stoch_k < stoch_low) <= 10 and crossover(stoch_k, stoch_low))
stoch_rsi_bear = (barssince(stoch_k > stoch_high) <= 10 and crossunder(stoch_k, stoch_high))


// --------- EMAs

ema_bull = (ema_1 > ema_2)
ema_bear = (ema_1 < ema_2)

bull = (ema_bull and stoch_rsi_bull)
bear = (ema_bear and stoch_rsi_bear)


// -----------------------------------------------------------
// Plots

plotshape(bull ? close : na, title='Buy', style=shape.arrowup, location=location.belowbar, color=color.green, text='Buy', size=size.small)
plotshape(bear ? close : na, title='Sell', style=shape.arrowdown, location=location.abovebar, color=color.red, text='Sell', size=size.small)```
 

Ответ №1:

**(ema_1 > ema_2) условие неверно, вы должны его изменить (ema_1 > **

Комментарии:

1. Нет, этого не может быть, потому что ema_1 Я пытаюсь показать форму графика сигнала на ПОКУПКУ, когда 21 ЕМА ВЫШЕ 50 ЕМА, которая будет записана как ema_1 > ema_2

Ответ №2:

Я думаю, что это так, как и ожидалось, существует обратная корреляция между ema_bull и ema_bear. Если ema_bull истинно, то ema_bear должен быть ложным, и наоборот. Если (ema_1 > ema_2) истинно, то (ema_1 > Вот почему plotshape создает только один из этих двух сюжетов.

Комментарии:

1. За исключением случаев, когда вы меняете временные рамки, и 21 ЕМА явно выше 50 ЕМА, и есть пересечение стохастического RSI, я ДОЛЖЕН видеть, как появляются сигналы на покупку, но я этого не делаю. Попробуйте добавить это на график, чтобы убедиться сами, он не покажет сигнал на покупку, даже если условие верно

Ответ №3:

Я понял, что было не так с моим сценарием. Я забыл определить ema(источник, длину), прежде чем использовать его в функции. Я ссылался только на входные данные, которые были просто целым числом. Удивлен, что никто больше не заметил эту ошибку, но я хотел убедиться, что написал здесь, что понял это на случай, если кто-то еще совершит эту ошибку!