Я изучаю сценарий Pine. Теперь я хотел построить график или Strategy.Entry на живом баре.
- Поэтому я попытался использовать barmerge.lookahead_on, который также будет учитывать текущую летучую мышь для расчетов.
- Я также поставил calc_on_every_tick = true, так как моя стратегия зависит только от открытия бара и не беспокоится об изменении данных текущего бара.
//@version=4
strategy("RayTrader03 Startegy",overlay=true, calc_on_every_tick=true)
// === INPUT BACKTEST RANGE ===
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2019, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
// === INPUT SHOW PLOT ===
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
// === FUNCTION EXAMPLE ===
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
//----
ses = change(time("D"))
o = open,c = close
var symbol = "CCL"
var percentFill = 50
currentOpen = security(symbol, 'D', open, lookahead=barmerge.lookahead_on)
currentClose = security(symbol, 'D', close,lookahead=barmerge.lookahead_on)
prevClose = security(symbol, 'D', close[1], lookahead=barmerge.lookahead_on)
prevOpen = security(symbol, 'D', open[1], lookahead=barmerge.lookahead_on)
prevHigh = security(symbol, 'D', high[1], lookahead=barmerge.lookahead_on)
plot(currentOpen, linewidth=3, style=plot.style_line, color=color.red)
//----
//myIdealGap = (prevClose < prevOpen) and (currentOpen > (prevClose + ((prevOpen - prevClose)*(percentFill/100))))
myIdealGap = (prevClose < prevOpen) and (currentOpen > (prevOpen + prevClose)/2)
//----
val = myIdealGap ? max(c[1],o[1]) : min(c[1],o[1])
lim = valuewhen(ses and myIdealGap,val,0)
//----
//strategy.close_all(ses)
strategy.entry("Buy", strategy.long, when=myIdealGap and window())
strategy.exit("Buy", limit=prevHigh)
//----
//plot(lim,"Limit/Stop",#ff1100,2)
ok, поэтому запись будет вызываться только после закрытия текущего бара, s это будет go к следующему бару.
Есть ли способ, которым я могу построить график на живом баре, как только у меня есть открытые данные для текущего бара?
Любая помощь действительно ценится . Спасибо.