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