Блог им. Karlstein
Доброго времени суток. Вопрос к знатокам понимающим Pine Script.
Ниже готовая стратегия (она в открытом доступе есть).
Грааля здесь нет, да он и не нужен.
Вопрос в следующем.
как прописать в коде, чтобы помимо стрелок (покупка, продажа), отображались вертикальные линии
зеленая — покупка
красная — продажа
чтобы было вот так.
А то на 2-х скользящих применить " bgcolor" получилось легко, а на Ишимоку вообще не получается.
Ну и сам скрипт.
strategy(«Ichimoku Kinko Hyo: Basic Strategy», overlay=true)
//Inputs
ts_bars = input(9, minval=1, title=«Tenkan-Sen Bars»)
ks_bars = input(26, minval=1, title=«Kijun-Sen Bars»)
ssb_bars = input(52, minval=1, title=«Senkou-Span B Bars»)
cs_offset = input(26, minval=1, title=«Chikou-Span Offset»)
ss_offset = input(26, minval=1, title=«Senkou-Span Offset»)
long_entry = input(true, title=«Long Entry»)
short_entry = input(true, title=«Short Entry»)
middle(len) => avg(lowest(len), highest(len))
// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)
// Plot Ichimoku Kinko Hyo
plot(tenkan, color=#0496ff, title=«Tenkan-Sen»)
plot(kijun, color=#991515, title=«Kijun-Sen»)
plot(close, offset=-cs_offset+1, color=#459915, title=«Chikou-Span»)
sa=plot(senkouA, offset=ss_offset-1, color=green, title=«Senkou-Span A»)
sb=plot(senkouB, offset=ss_offset-1, color=red, title=«Senkou-Span B»)
fill(sa, sb, color = senkouA > senkouB? green: red, title=«Cloud color»)
ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])
// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(close, cs_offset-1) > 0
cs_cross_bear = mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low
bullish = tk_cross_bull and cs_cross_bull and price_above_kumo
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo
strategy.entry(«Long», strategy.long, when=bullish and long_entry)
strategy.entry(«Short», strategy.short, when=bearish and short_entry)
strategy.close(«Long», when=bearish and not short_entry)
strategy.close(«Short», when=bullish and not long_entry)
В обычном языке это делается в паре строк, в пайне я не знаю как переназначить тип переменной или записать логику until-while. У меня тут загвоздка в синтаксисе: понимаю как сделать, не понимаю как написать. Тут либо значение переменное, либо константа. Сменить нельзя помиловать.
Вижу два варианта: запоминать условия состояния «идем на север» / «идем на юг» / «поиск куда идти» и их комбинированием красить bgcolor()
Второй это проверять перебором for предыдущее ближайшее состояние булиновской переменной,
if bearish then
for i=1 to 100
if bearish[i]
break
else
if bullish[i]
bgcolor = true
Но думаю это и без моего коммента было ясно.