Tìm cơ hội cược BO với Trend line

Tìm cơ hội cược BO với Trend line

Tìm cơ hội cược BO với Trend line
yes hjhj thank bác:D
Trọn bộ, code backtest & code Alert :D
=== Code backtest (lưu ý dòng 45 sma viết thường) ===
Mã:
// BO - Woodies Fibo - Backtesting
//v24
// © inno14
//@version=4
strategy("BO - Woodies Fibo - Backtesting")
//strategy.risk.max_intraday_loss(1, strategy.cash)
// === INPUT PERIOD OF TIME ===
Date   = input(true, title = "=== Date Option ===")
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromMonth = input(defval = 3, title = "From Month", minval = 1, maxval = 12)
FromYear  = input(defval = 2020, title = "From Year", minval = 2017)

ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === DATE RANGE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

// === Trading Time ===
CTimeDvM   = input(true, title = "=== Trading Time ===")
Time_zone = input(7,title="Time Zone")
FromHourDvM   = input(defval = 07, title = "From Hour", minval = 00, maxval = 23)
FromMinuteDvM = input(defval = 30, title = "From Minute", minval = 00, maxval = 59)
ToHourDvM   = input(defval = 18, title = "To Hour", minval = 00, maxval = 23)
ToMinuteDvM = input(defval = 0, title = "To Minute", minval = 00, maxval = 59)

GMT_FHDvM=FromHourDvM<Time_zone?FromHourDvM-Time_zone+24:FromHourDvM-Time_zone
GMT_THDvM=ToHourDvM<Time_zone?ToHourDvM-Time_zone+24:ToHourDvM-Time_zone
fhDvM= (GMT_FHDvM<10?"0"+tostring(GMT_FHDvM):tostring(GMT_FHDvM))
fmDvM= (FromMinuteDvM<10?"0"+tostring(FromMinuteDvM):tostring(FromMinuteDvM))
thDvM= (GMT_THDvM<10?"0"+tostring(GMT_THDvM):tostring(GMT_THDvM))
tmDvM= (ToMinuteDvM<10?"0"+tostring(ToMinuteDvM):tostring(ToMinuteDvM))
WorkingHourDvM = fhDvM+fmDvM+"-"+thDvM+tmDvM
t0_DvM = time(timeframe.period, WorkingHourDvM)
htrtime = input(true,title="Highlight Trading Time")
bgcolor(htrtime? t0_DvM? color.white : na:na, title="Trading Time", transp=0)

//Bollinger Bands
bb_ft=input(true,title="=== Bollinger Bands Filter ===")
len = input(50,title="SMA Length")
mult = input(1.2,title="Multiplier")
basis = sma(close, len)
dev = mult * stdev(close, len)
upper = basis + dev
lower = basis - dev
bb_filter = close>lower and close<upper

//KC
KCtt   = input(true, title = "=== Keltner Channel Filter ===")
nPeriod = input(title="Period", defval=50, minval=1)
multk= input(title="multiplier", defval=2.0, minval=1.0)
kBasis = ema(close,nPeriod)
kUpper= (kBasis + (multk*atr(14)))
kLower = (kBasis - (multk*atr(14)))
kc_filter = close>kLower and close<kUpper

//Woodies CCI
cci_ft=input(true,title="=== CCI Signal ===")
cciTurboLength = 6
cci14Length = input(title="CCI 14 Length", type=input.integer, defval=14)

source = close
cciTurbo = cci(source, cciTurboLength)
cci14 = cci(source, cci14Length)

last5IsDown = cci14[5] < 0 and cci14[4] < 0 and cci14[3] < 0 and cci14[2] < 0 and cci14[1] < 0
last5IsUp = cci14[5] > 0 and cci14[4] > 0 and cci14[3] > 0 and cci14[2] > 0 and cci14[1] > 0
histogramColor = last5IsUp ? color.green : last5IsDown ? color.red : cci14 < 0 ? color.gray : color.gray

//Plot Woodies CCI
//plot(cci14, title="CCI Histogram", color=histogramColor, style=plot.style_histogram, linewidth=2, transp=40)
//plot(0, title="Zero Line", color=cciTurbo>100?color.blue:cciTurbo<-100?color.red:color.navy, style=plot.style_line, linewidth=6, transp=20)
hline(200, title="Hundred Line", color=color.black, linestyle=hline.style_dotted)
hline(-200, title="Minus Line", color=color.black, linestyle=hline.style_dotted)

//Plot lingreg CCI14
linreg_len=input(5,title="Linear Regression Length")
linreg_cci14=linreg(cci14, linreg_len, 0)
//plot(linreg_cci14, color=color.aqua, linewidth=4)

//
ext_linreg=input(100,title="Extreme Level")

//peak & top
peak_cci=
       linreg_cci14[2]>linreg_cci14[3] and linreg_cci14[1]>linreg_cci14[2] and linreg_cci14[0]<linreg_cci14[1] and linreg_cci14[1]>ext_linreg
bott_cci=
       linreg_cci14[2]<linreg_cci14[3] and linreg_cci14[1]<linreg_cci14[2] and linreg_cci14[0]>linreg_cci14[1] and linreg_cci14[1]<-ext_linreg
peak_cci_1=
       linreg_cci14[2]>linreg_cci14[3] and linreg_cci14[1]>linreg_cci14[2] and linreg_cci14[0]<linreg_cci14[1]
bott_cci_1=
       linreg_cci14[2]<linreg_cci14[3] and linreg_cci14[1]<linreg_cci14[2] and linreg_cci14[0]>linreg_cci14[1]
//
fil_len=input(6,title="Filter Length")
top_ext=highest(linreg_cci14,fil_len)
bot_ext=lowest(linreg_cci14,fil_len)
trade_zone =
       kc_filter[1]
       and bb_filter[1]
//Put signal
x1=
       peak_cci
       and linreg_cci14[1]==top_ext
       and linreg_cci14[1]>valuewhen(peak_cci_1,linreg_cci14[1],1)
       and close>low[1]
       and trade_zone
      

//Call signal
y1=
       bott_cci
       and linreg_cci14[1]==bot_ext
       and linreg_cci14[1]<valuewhen(bott_cci_1,linreg_cci14[1],1)
       and close<high[1]
       and trade_zone

no_orders =
       not strategy.opentrades

//Function
xTech=
       (x1
       and no_orders)
      

yTech=
       (y1
       and no_orders)
      

sumtrades=strategy.losstrades[0]+strategy.wintrades[0]
losstrades=strategy.losstrades[0]
wintrades=strategy.wintrades[0]
//Fibonacci Money Management
fibo_tt=input(true,title="=== Fibonacci Money Management ===")
take_profit=input(300,title="Take profit = wintrades - losstrades =")
//Bid level
current_bid_lv=
       losstrades == 0 and wintrades == 0?1:
       losstrades-wintrades == -1?1:
       losstrades>0 and (losstrades-wintrades == 0)?2:
       losstrades-wintrades == 1?3:
       losstrades-wintrades == 2?5:
       losstrades-wintrades == 3?8:
       losstrades-wintrades == 4?13:
       losstrades-wintrades == 5?21:
       losstrades-wintrades == 6?34:
       1
bid_level=current_bid_lv
take_profit_val = wintrades - losstrades
//Plot Analyzing Signals
//hline1=hline(-1.2*300)
hline2=hline(-1.6*300)
hline0=hline(0)
sigtext=
       xTech?"Put signal"+ " * Current Bid Level: " + tostring(bid_level):yTech?"Call signal"+ " * Current Bid Level: " + tostring(bid_level):
       "Backtesting From: "+tostring(FromDay)+"/"+tostring(FromMonth)+"/"+tostring(FromYear)
       + " * Trading Time From: "+tostring(FromHourDvM)+":"+tostring(FromMinuteDvM)+" To "+tostring(ToHourDvM)+":"+tostring(ToMinuteDvM)
       + " * Take profit: " + tostring(wintrades-losstrades)+"/"+tostring(take_profit)
       + " * Current Bid Level: " + tostring(bid_level)

sig_col=xTech?color.new(color.red,10):yTech?color.new(color.blue,10):color.new(color.navy,10)
label_sig_text = label.new(bar_index[0], -1.5*300, text=sigtext, style=label.style_none, textcolor=sig_col, size=size.large)
label.delete(label_sig_text[1])

//Plot Color Panel of Finobacci Money Management
fib_sigtext=
       "Color Panel of Finobacci Money Management"
      
fib_sig_col=color.new(color.navy,10)
label_fib_sig_text = label.new(bar_index[5], 250, text=fib_sigtext, style=label.style_none, textcolor=fib_sig_col, size=size.large)
label.delete(label_fib_sig_text[1])
fib_put=50
fib_col=-150

fib_put_lv1=color.new(color.red,0)
plotshape(fib_put, title='Put Lv1', text="Put Lv1", style=shape.circle, location=location.absolute, color=fib_put_lv1, textcolor=color.black, offset=-9, size=size.normal, show_last=2)
fib_call_lv1=color.new(color.blue,0)
plotshape(fib_col, title='Call Lv1', text="Call Lv1", style=shape.circle, location=location.absolute, color=fib_call_lv1, textcolor=color.black, offset=-9, size=size.normal, show_last=2)

fib_put_lv2=color.new(color.red,10)
plotshape(fib_put, title='Put Lv2', text="Put Lv2", style=shape.circle, location=location.absolute, color=fib_put_lv2, textcolor=color.black, offset=-8, size=size.normal, show_last=2)
fib_call_lv2=color.new(color.blue,10)
plotshape(fib_col, title='Call Lv2', text="Call Lv2", style=shape.circle, location=location.absolute, color=fib_call_lv2, textcolor=color.black, offset=-8, size=size.normal, show_last=2)

fib_put_lv3=color.new(color.orange,0)
plotshape(fib_put, title='Put Lv3', text="Put Lv3", style=shape.circle, location=location.absolute, color=fib_put_lv3, textcolor=color.black, offset=-7, size=size.normal, show_last=2)
fib_call_lv3=color.new(color.green,0)
plotshape(fib_col, title='Call Lv3', text="Call Lv3", style=shape.circle, location=location.absolute, color=fib_call_lv3, textcolor=color.black, offset=-7, size=size.normal, show_last=2)

fib_put_lv5=color.new(color.orange,10)
plotshape(fib_put, title='Put Lv5', text="Put Lv5", style=shape.circle, location=location.absolute, color=fib_put_lv5, textcolor=color.black, offset=-6, size=size.normal, show_last=2)
fib_call_lv5=color.new(color.green,10)
plotshape(fib_col, title='Call Lv5', text="Call Lv5", style=shape.circle, location=location.absolute, color=fib_call_lv5, textcolor=color.black, offset=-6, size=size.normal, show_last=2)

fib_put_lv8=color.new(color.maroon,0)
plotshape(fib_put, title='Put Lv8', text="Put Lv8", style=shape.circle, location=location.absolute, color=fib_put_lv8, textcolor=color.black, offset=-5, size=size.normal, show_last=2)
fib_call_lv8=color.new(color.lime,0)
plotshape(fib_col, title='Call Lv8', text="Call Lv8", style=shape.circle, location=location.absolute, color=fib_call_lv8, textcolor=color.black, offset=-5, size=size.normal, show_last=2)

fib_put_lv13=color.new(color.maroon,10)
plotshape(fib_put, title='Put Lv13', text="Put Lv13", style=shape.circle, location=location.absolute, color=fib_put_lv13, textcolor=color.black, offset=-4, size=size.normal, show_last=2)
fib_call_lv13=color.new(color.lime,10)
plotshape(fib_col, title='Call Lv13', text="Call Lv13", style=shape.circle, location=location.absolute, color=fib_call_lv13, textcolor=color.black, offset=-4, size=size.normal, show_last=2)

fib_put_lv21=color.new(color.olive,0)
plotshape(fib_put, title='Put Lv21', text="Put Lv21", style=shape.circle, location=location.absolute, color=fib_put_lv21, textcolor=color.black, offset=-3, size=size.normal, show_last=2)
fib_call_lv21=color.new(color.yellow,0)
plotshape(fib_col, title='Call Lv21', text="Call Lv21", style=shape.circle, location=location.absolute, color=fib_call_lv21, textcolor=color.black, offset=-3, size=size.normal, show_last=2)

fib_put_lv34=color.new(color.olive,10)
plotshape(fib_put, title='Put Lv34', text="Put Lv34", style=shape.circle, location=location.absolute, color=fib_put_lv34, textcolor=color.black, offset=-2, size=size.normal, show_last=2)
fib_call_lv34=color.new(color.yellow,10)
plotshape(fib_col, title='Call Lv34', text="Call Lv34", style=shape.circle, location=location.absolute, color=fib_call_lv34, textcolor=color.black, offset=-2, size=size.normal, show_last=2)
//plot Signal
PutSignal= xTech and window() and t0_DvM and take_profit_val<take_profit?-1.2*300:na
CallSignal= yTech and window() and t0_DvM and take_profit_val<take_profit?-1.2*300:na
putcol =
       PutSignal ?
       bid_level==1? color.new(color.red,0):
       bid_level==2? color.new(color.red,10):
       bid_level==3? color.new(color.orange,0):
       bid_level==5? color.new(color.orange,10):
       bid_level==8? color.new(color.maroon,0):
       bid_level==13? color.new(color.maroon,10):
       bid_level==21? color.new(color.olive,0):
       bid_level==34? color.new(color.olive,10):
       color.new(color.red,0): na
callcol =
       CallSignal ?
       bid_level==1? color.new(color.blue,0):
       bid_level==2? color.new(color.blue,10):
       bid_level==3? color.new(color.green,0):
       bid_level==5? color.new(color.green,10):
       bid_level==8? color.new(color.lime,0):
       bid_level==13? color.new(color.lime,10):
       bid_level==21? color.new(color.yellow,0):
       bid_level==34? color.new(color.yellow,10):
       color.new(color.blue,0): na
plotshape(PutSignal, title='Put', text="Put", style=shape.circle, location=location.absolute, color=putcol, textcolor=color.black, offset=1, size=size.large)
plotshape(CallSignal, title='Call', text="Call", style=shape.circle, location=location.absolute, color=callcol, textcolor=color.black, offset=1, size=size.large)

//Backtesting
exp_tt=input(true,"Expiry Option By Bars")
exp_val=input(3,"Number of Bars")
strategy.entry("Call", strategy.long, when=yTech and window() and t0_DvM and take_profit_val<take_profit)
strategy.entry("Put", strategy.short, when=xTech and window() and t0_DvM and take_profit_val<take_profit)
strategy.close_all(when=barssince(xTech)==exp_val or barssince(yTech)==exp_val)
//EOF

=== Code Alert (lưu ý dòng 9 sma viết thường) ===
Mã:
// BO - CCI Arrow with Alert
// © inno14
//@version=4
study("BO - CCI Arrow with Alert", overlay=true)
//Bollinger Bands
bb_ft=input(true,title="=== Bollinger Bands Filter ===")
len = input(50,title="SMA Length")
mult = input(1.2,title="Multiplier")
basis = sma(close, len)
dev = mult * stdev(close, len)
upper = basis + dev
lower = basis - dev
bb_filter = close>lower and close<upper

//KC
KCtt   = input(true, title = "=== Keltner Channel Filter ===")
nPeriod = input(title="Period", defval=50, minval=1)
multk= input(title="multiplier", defval=2.0, minval=1.0)
kBasis = ema(close,nPeriod)
kUpper= (kBasis + (multk*atr(14)))
kLower = (kBasis - (multk*atr(14)))
kc_filter = close>kLower and close<kUpper

//CCI
CCItt   = input(true, title = "=== CCI Signal ===")
cciLength = input(title="CCI  Length", type=input.integer, defval=14, minval=1, maxval=2000)
cci = cci(close, cciLength)


//Linear Regression of CCI
linreg_len=input(5,title="Linear Regression Length")
linreg_cci=linreg(cci, linreg_len, 0)

//Extreme Level
ext_linreg=input(100,title="Extreme Level")

//peak & top
peak_cci=
       linreg_cci[2]>linreg_cci[3] and linreg_cci[1]>linreg_cci[2] and linreg_cci[0]<linreg_cci[1] and linreg_cci[1]>ext_linreg
bott_cci=
       linreg_cci[2]<linreg_cci[3] and linreg_cci[1]<linreg_cci[2] and linreg_cci[0]>linreg_cci[1] and linreg_cci[1]<-ext_linreg
peak_cci_1=
       linreg_cci[2]>linreg_cci[3] and linreg_cci[1]>linreg_cci[2] and linreg_cci[0]<linreg_cci[1]
bott_cci_1=
       linreg_cci[2]<linreg_cci[3] and linreg_cci[1]<linreg_cci[2] and linreg_cci[0]>linreg_cci[1]

//
fil_len=input(6,title="Filter Length")
top_ext=highest(linreg_cci,fil_len)
bot_ext=lowest(linreg_cci,fil_len)

trade_zone =
       kc_filter[1]
       and bb_filter[1]
      
//Put signal
x1=
       peak_cci
       and linreg_cci[1]==top_ext
       and linreg_cci[1]>valuewhen(peak_cci_1,linreg_cci[1],1)
       and close>low[1]
       and trade_zone
      

//Call signal
y1=
       bott_cci
       and linreg_cci[1]==bot_ext
       and linreg_cci[1]<valuewhen(bott_cci_1,linreg_cci[1],1)
       and close<high[1]
       and trade_zone
      

no_orders =
       not x1[1]
       and not x1[2]
       and not x1[3]
       and not y1[1]
       and not y1[2]
       and not y1[3]

//Function
xTech=
       (x1
       and no_orders)
      

yTech=
       (y1
       and no_orders)
      


//plot Signal
putcol = xTech? color.red : na
callcol = yTech? color.blue : na
PutSignal= xTech?high:na
CallSignal= yTech?low:na
plotshape(PutSignal, title='Put Alert', text="Put Alert", style=shape.labeldown, location=location.absolute, color=color.green, textcolor=color.new(color.black,0), offset=0, transp=50, size=size.tiny)
plotshape(CallSignal, title='Call Alert', text="Call Alert", style=shape.labelup, location=location.absolute, color=color.green, textcolor=color.new(color.black,0), offset=0, transp=50, size=size.tiny)
plotshape(PutSignal, title='Put Entry', text="Put 3 bars", style=shape.arrowdown, location=location.abovebar, color=color.red, textcolor=color.black, offset=1, transp=20, size=size.large)
plotshape(CallSignal, title='Call Entry', text="Call 3 bars", style=shape.arrowup, location=location.belowbar, color=color.blue, textcolor=color.black, offset=1, transp=20, size=size.large)

//plot Result
result_put =
       xTech[3] and close<open[2]?1:
       xTech[3] and close>open[2]?-1:
       xTech[3] and close>open[2]?0:
       na
result_call =
       yTech[3] and close>open[2]?1:
       yTech[3] and close<open[2]?-1:
       yTech[3] and close<open[2]?0:
       na

win_trade =
       result_put == 1
       or
       result_call == 1
       ?close:na
loss_trade =
       result_put == -1
       or
       result_call == -1
       ?close:na
draw_trade =
       result_put == 0
       or
       result_call == 0
       ?close:na 
plotshape(win_trade, title='Win trade', text="Win trade", style=shape.labeldown, location=location.abovebar, color=color.green, textcolor=color.new(color.black,0), offset=0, transp=50, size=size.tiny)
plotshape(loss_trade, title='Loss trade', text="Loss trade", style=shape.labeldown, location=location.abovebar, color=color.green, textcolor=color.new(color.black,0), offset=0, transp=50, size=size.tiny)
plotshape(draw_trade, title='Draw trade', text="Draw trade", style=shape.labeldown, location=location.abovebar, color=color.green, textcolor=color.new(color.black,0), offset=0, transp=50, size=size.tiny)
//Alert
mms1="Signal alert"
mms2="Put alert"
mms3="Call alert"
PutAlert=
       (xTech)
      
CallAlert=
       (yTech)
      

alertcondition(PutAlert or CallAlert, title="Signal alert", message=mms1)
alertcondition(PutAlert, title="Put alert", message=mms2)
alertcondition(CallAlert, title="Call alert", message=mms3)
//EOF
 
Trọn bộ, code backtest & code Alert :D
=== Code backtest (lưu ý dòng 45 sma viết thường) ===
Mã:
// BO - Woodies Fibo - Backtesting
//v24
// © inno14
//@version=4
strategy("BO - Woodies Fibo - Backtesting")
//strategy.risk.max_intraday_loss(1, strategy.cash)
// === INPUT PERIOD OF TIME ===
Date   = input(true, title = "=== Date Option ===")
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromMonth = input(defval = 3, title = "From Month", minval = 1, maxval = 12)
FromYear  = input(defval = 2020, title = "From Year", minval = 2017)

ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === DATE RANGE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

// === Trading Time ===
CTimeDvM   = input(true, title = "=== Trading Time ===")
Time_zone = input(7,title="Time Zone")
FromHourDvM   = input(defval = 07, title = "From Hour", minval = 00, maxval = 23)
FromMinuteDvM = input(defval = 30, title = "From Minute", minval = 00, maxval = 59)
ToHourDvM   = input(defval = 18, title = "To Hour", minval = 00, maxval = 23)
ToMinuteDvM = input(defval = 0, title = "To Minute", minval = 00, maxval = 59)

GMT_FHDvM=FromHourDvM<Time_zone?FromHourDvM-Time_zone+24:FromHourDvM-Time_zone
GMT_THDvM=ToHourDvM<Time_zone?ToHourDvM-Time_zone+24:ToHourDvM-Time_zone
fhDvM= (GMT_FHDvM<10?"0"+tostring(GMT_FHDvM):tostring(GMT_FHDvM))
fmDvM= (FromMinuteDvM<10?"0"+tostring(FromMinuteDvM):tostring(FromMinuteDvM))
thDvM= (GMT_THDvM<10?"0"+tostring(GMT_THDvM):tostring(GMT_THDvM))
tmDvM= (ToMinuteDvM<10?"0"+tostring(ToMinuteDvM):tostring(ToMinuteDvM))
WorkingHourDvM = fhDvM+fmDvM+"-"+thDvM+tmDvM
t0_DvM = time(timeframe.period, WorkingHourDvM)
htrtime = input(true,title="Highlight Trading Time")
bgcolor(htrtime? t0_DvM? color.white : na:na, title="Trading Time", transp=0)

//Bollinger Bands
bb_ft=input(true,title="=== Bollinger Bands Filter ===")
len = input(50,title="SMA Length")
mult = input(1.2,title="Multiplier")
basis = sma(close, len)
dev = mult * stdev(close, len)
upper = basis + dev
lower = basis - dev
bb_filter = close>lower and close<upper

//KC
KCtt   = input(true, title = "=== Keltner Channel Filter ===")
nPeriod = input(title="Period", defval=50, minval=1)
multk= input(title="multiplier", defval=2.0, minval=1.0)
kBasis = ema(close,nPeriod)
kUpper= (kBasis + (multk*atr(14)))
kLower = (kBasis - (multk*atr(14)))
kc_filter = close>kLower and close<kUpper

//Woodies CCI
cci_ft=input(true,title="=== CCI Signal ===")
cciTurboLength = 6
cci14Length = input(title="CCI 14 Length", type=input.integer, defval=14)

source = close
cciTurbo = cci(source, cciTurboLength)
cci14 = cci(source, cci14Length)

last5IsDown = cci14[5] < 0 and cci14[4] < 0 and cci14[3] < 0 and cci14[2] < 0 and cci14[1] < 0
last5IsUp = cci14[5] > 0 and cci14[4] > 0 and cci14[3] > 0 and cci14[2] > 0 and cci14[1] > 0
histogramColor = last5IsUp ? color.green : last5IsDown ? color.red : cci14 < 0 ? color.gray : color.gray

//Plot Woodies CCI
//plot(cci14, title="CCI Histogram", color=histogramColor, style=plot.style_histogram, linewidth=2, transp=40)
//plot(0, title="Zero Line", color=cciTurbo>100?color.blue:cciTurbo<-100?color.red:color.navy, style=plot.style_line, linewidth=6, transp=20)
hline(200, title="Hundred Line", color=color.black, linestyle=hline.style_dotted)
hline(-200, title="Minus Line", color=color.black, linestyle=hline.style_dotted)

//Plot lingreg CCI14
linreg_len=input(5,title="Linear Regression Length")
linreg_cci14=linreg(cci14, linreg_len, 0)
//plot(linreg_cci14, color=color.aqua, linewidth=4)

//
ext_linreg=input(100,title="Extreme Level")

//peak & top
peak_cci=
       linreg_cci14[2]>linreg_cci14[3] and linreg_cci14[1]>linreg_cci14[2] and linreg_cci14[0]<linreg_cci14[1] and linreg_cci14[1]>ext_linreg
bott_cci=
       linreg_cci14[2]<linreg_cci14[3] and linreg_cci14[1]<linreg_cci14[2] and linreg_cci14[0]>linreg_cci14[1] and linreg_cci14[1]<-ext_linreg
peak_cci_1=
       linreg_cci14[2]>linreg_cci14[3] and linreg_cci14[1]>linreg_cci14[2] and linreg_cci14[0]<linreg_cci14[1]
bott_cci_1=
       linreg_cci14[2]<linreg_cci14[3] and linreg_cci14[1]<linreg_cci14[2] and linreg_cci14[0]>linreg_cci14[1]
//
fil_len=input(6,title="Filter Length")
top_ext=highest(linreg_cci14,fil_len)
bot_ext=lowest(linreg_cci14,fil_len)
trade_zone =
       kc_filter[1]
       and bb_filter[1]
//Put signal
x1=
       peak_cci
       and linreg_cci14[1]==top_ext
       and linreg_cci14[1]>valuewhen(peak_cci_1,linreg_cci14[1],1)
       and close>low[1]
       and trade_zone
    

//Call signal
y1=
       bott_cci
       and linreg_cci14[1]==bot_ext
       and linreg_cci14[1]<valuewhen(bott_cci_1,linreg_cci14[1],1)
       and close<high[1]
       and trade_zone

no_orders =
       not strategy.opentrades

//Function
xTech=
       (x1
       and no_orders)
    

yTech=
       (y1
       and no_orders)
    

sumtrades=strategy.losstrades[0]+strategy.wintrades[0]
losstrades=strategy.losstrades[0]
wintrades=strategy.wintrades[0]
//Fibonacci Money Management
fibo_tt=input(true,title="=== Fibonacci Money Management ===")
take_profit=input(300,title="Take profit = wintrades - losstrades =")
//Bid level
current_bid_lv=
       losstrades == 0 and wintrades == 0?1:
       losstrades-wintrades == -1?1:
       losstrades>0 and (losstrades-wintrades == 0)?2:
       losstrades-wintrades == 1?3:
       losstrades-wintrades == 2?5:
       losstrades-wintrades == 3?8:
       losstrades-wintrades == 4?13:
       losstrades-wintrades == 5?21:
       losstrades-wintrades == 6?34:
       1
bid_level=current_bid_lv
take_profit_val = wintrades - losstrades
//Plot Analyzing Signals
//hline1=hline(-1.2*300)
hline2=hline(-1.6*300)
hline0=hline(0)
sigtext=
       xTech?"Put signal"+ " * Current Bid Level: " + tostring(bid_level):yTech?"Call signal"+ " * Current Bid Level: " + tostring(bid_level):
       "Backtesting From: "+tostring(FromDay)+"/"+tostring(FromMonth)+"/"+tostring(FromYear)
       + " * Trading Time From: "+tostring(FromHourDvM)+":"+tostring(FromMinuteDvM)+" To "+tostring(ToHourDvM)+":"+tostring(ToMinuteDvM)
       + " * Take profit: " + tostring(wintrades-losstrades)+"/"+tostring(take_profit)
       + " * Current Bid Level: " + tostring(bid_level)

sig_col=xTech?color.new(color.red,10):yTech?color.new(color.blue,10):color.new(color.navy,10)
label_sig_text = label.new(bar_index[0], -1.5*300, text=sigtext, style=label.style_none, textcolor=sig_col, size=size.large)
label.delete(label_sig_text[1])

//Plot Color Panel of Finobacci Money Management
fib_sigtext=
       "Color Panel of Finobacci Money Management"
    
fib_sig_col=color.new(color.navy,10)
label_fib_sig_text = label.new(bar_index[5], 250, text=fib_sigtext, style=label.style_none, textcolor=fib_sig_col, size=size.large)
label.delete(label_fib_sig_text[1])
fib_put=50
fib_col=-150

fib_put_lv1=color.new(color.red,0)
plotshape(fib_put, title='Put Lv1', text="Put Lv1", style=shape.circle, location=location.absolute, color=fib_put_lv1, textcolor=color.black, offset=-9, size=size.normal, show_last=2)
fib_call_lv1=color.new(color.blue,0)
plotshape(fib_col, title='Call Lv1', text="Call Lv1", style=shape.circle, location=location.absolute, color=fib_call_lv1, textcolor=color.black, offset=-9, size=size.normal, show_last=2)

fib_put_lv2=color.new(color.red,10)
plotshape(fib_put, title='Put Lv2', text="Put Lv2", style=shape.circle, location=location.absolute, color=fib_put_lv2, textcolor=color.black, offset=-8, size=size.normal, show_last=2)
fib_call_lv2=color.new(color.blue,10)
plotshape(fib_col, title='Call Lv2', text="Call Lv2", style=shape.circle, location=location.absolute, color=fib_call_lv2, textcolor=color.black, offset=-8, size=size.normal, show_last=2)

fib_put_lv3=color.new(color.orange,0)
plotshape(fib_put, title='Put Lv3', text="Put Lv3", style=shape.circle, location=location.absolute, color=fib_put_lv3, textcolor=color.black, offset=-7, size=size.normal, show_last=2)
fib_call_lv3=color.new(color.green,0)
plotshape(fib_col, title='Call Lv3', text="Call Lv3", style=shape.circle, location=location.absolute, color=fib_call_lv3, textcolor=color.black, offset=-7, size=size.normal, show_last=2)

fib_put_lv5=color.new(color.orange,10)
plotshape(fib_put, title='Put Lv5', text="Put Lv5", style=shape.circle, location=location.absolute, color=fib_put_lv5, textcolor=color.black, offset=-6, size=size.normal, show_last=2)
fib_call_lv5=color.new(color.green,10)
plotshape(fib_col, title='Call Lv5', text="Call Lv5", style=shape.circle, location=location.absolute, color=fib_call_lv5, textcolor=color.black, offset=-6, size=size.normal, show_last=2)

fib_put_lv8=color.new(color.maroon,0)
plotshape(fib_put, title='Put Lv8', text="Put Lv8", style=shape.circle, location=location.absolute, color=fib_put_lv8, textcolor=color.black, offset=-5, size=size.normal, show_last=2)
fib_call_lv8=color.new(color.lime,0)
plotshape(fib_col, title='Call Lv8', text="Call Lv8", style=shape.circle, location=location.absolute, color=fib_call_lv8, textcolor=color.black, offset=-5, size=size.normal, show_last=2)

fib_put_lv13=color.new(color.maroon,10)
plotshape(fib_put, title='Put Lv13', text="Put Lv13", style=shape.circle, location=location.absolute, color=fib_put_lv13, textcolor=color.black, offset=-4, size=size.normal, show_last=2)
fib_call_lv13=color.new(color.lime,10)
plotshape(fib_col, title='Call Lv13', text="Call Lv13", style=shape.circle, location=location.absolute, color=fib_call_lv13, textcolor=color.black, offset=-4, size=size.normal, show_last=2)

fib_put_lv21=color.new(color.olive,0)
plotshape(fib_put, title='Put Lv21', text="Put Lv21", style=shape.circle, location=location.absolute, color=fib_put_lv21, textcolor=color.black, offset=-3, size=size.normal, show_last=2)
fib_call_lv21=color.new(color.yellow,0)
plotshape(fib_col, title='Call Lv21', text="Call Lv21", style=shape.circle, location=location.absolute, color=fib_call_lv21, textcolor=color.black, offset=-3, size=size.normal, show_last=2)

fib_put_lv34=color.new(color.olive,10)
plotshape(fib_put, title='Put Lv34', text="Put Lv34", style=shape.circle, location=location.absolute, color=fib_put_lv34, textcolor=color.black, offset=-2, size=size.normal, show_last=2)
fib_call_lv34=color.new(color.yellow,10)
plotshape(fib_col, title='Call Lv34', text="Call Lv34", style=shape.circle, location=location.absolute, color=fib_call_lv34, textcolor=color.black, offset=-2, size=size.normal, show_last=2)
//plot Signal
PutSignal= xTech and window() and t0_DvM and take_profit_val<take_profit?-1.2*300:na
CallSignal= yTech and window() and t0_DvM and take_profit_val<take_profit?-1.2*300:na
putcol =
       PutSignal ?
       bid_level==1? color.new(color.red,0):
       bid_level==2? color.new(color.red,10):
       bid_level==3? color.new(color.orange,0):
       bid_level==5? color.new(color.orange,10):
       bid_level==8? color.new(color.maroon,0):
       bid_level==13? color.new(color.maroon,10):
       bid_level==21? color.new(color.olive,0):
       bid_level==34? color.new(color.olive,10):
       color.new(color.red,0): na
callcol =
       CallSignal ?
       bid_level==1? color.new(color.blue,0):
       bid_level==2? color.new(color.blue,10):
       bid_level==3? color.new(color.green,0):
       bid_level==5? color.new(color.green,10):
       bid_level==8? color.new(color.lime,0):
       bid_level==13? color.new(color.lime,10):
       bid_level==21? color.new(color.yellow,0):
       bid_level==34? color.new(color.yellow,10):
       color.new(color.blue,0): na
plotshape(PutSignal, title='Put', text="Put", style=shape.circle, location=location.absolute, color=putcol, textcolor=color.black, offset=1, size=size.large)
plotshape(CallSignal, title='Call', text="Call", style=shape.circle, location=location.absolute, color=callcol, textcolor=color.black, offset=1, size=size.large)

//Backtesting
exp_tt=input(true,"Expiry Option By Bars")
exp_val=input(3,"Number of Bars")
strategy.entry("Call", strategy.long, when=yTech and window() and t0_DvM and take_profit_val<take_profit)
strategy.entry("Put", strategy.short, when=xTech and window() and t0_DvM and take_profit_val<take_profit)
strategy.close_all(when=barssince(xTech)==exp_val or barssince(yTech)==exp_val)
//EOF

=== Code Alert (lưu ý dòng 9 sma viết thường) ===
Mã:
// BO - CCI Arrow with Alert
// © inno14
//@version=4
study("BO - CCI Arrow with Alert", overlay=true)
//Bollinger Bands
bb_ft=input(true,title="=== Bollinger Bands Filter ===")
len = input(50,title="SMA Length")
mult = input(1.2,title="Multiplier")
basis = sma(close, len)
dev = mult * stdev(close, len)
upper = basis + dev
lower = basis - dev
bb_filter = close>lower and close<upper

//KC
KCtt   = input(true, title = "=== Keltner Channel Filter ===")
nPeriod = input(title="Period", defval=50, minval=1)
multk= input(title="multiplier", defval=2.0, minval=1.0)
kBasis = ema(close,nPeriod)
kUpper= (kBasis + (multk*atr(14)))
kLower = (kBasis - (multk*atr(14)))
kc_filter = close>kLower and close<kUpper

//CCI
CCItt   = input(true, title = "=== CCI Signal ===")
cciLength = input(title="CCI  Length", type=input.integer, defval=14, minval=1, maxval=2000)
cci = cci(close, cciLength)


//Linear Regression of CCI
linreg_len=input(5,title="Linear Regression Length")
linreg_cci=linreg(cci, linreg_len, 0)

//Extreme Level
ext_linreg=input(100,title="Extreme Level")

//peak & top
peak_cci=
       linreg_cci[2]>linreg_cci[3] and linreg_cci[1]>linreg_cci[2] and linreg_cci[0]<linreg_cci[1] and linreg_cci[1]>ext_linreg
bott_cci=
       linreg_cci[2]<linreg_cci[3] and linreg_cci[1]<linreg_cci[2] and linreg_cci[0]>linreg_cci[1] and linreg_cci[1]<-ext_linreg
peak_cci_1=
       linreg_cci[2]>linreg_cci[3] and linreg_cci[1]>linreg_cci[2] and linreg_cci[0]<linreg_cci[1]
bott_cci_1=
       linreg_cci[2]<linreg_cci[3] and linreg_cci[1]<linreg_cci[2] and linreg_cci[0]>linreg_cci[1]

//
fil_len=input(6,title="Filter Length")
top_ext=highest(linreg_cci,fil_len)
bot_ext=lowest(linreg_cci,fil_len)

trade_zone =
       kc_filter[1]
       and bb_filter[1]
    
//Put signal
x1=
       peak_cci
       and linreg_cci[1]==top_ext
       and linreg_cci[1]>valuewhen(peak_cci_1,linreg_cci[1],1)
       and close>low[1]
       and trade_zone
    

//Call signal
y1=
       bott_cci
       and linreg_cci[1]==bot_ext
       and linreg_cci[1]<valuewhen(bott_cci_1,linreg_cci[1],1)
       and close<high[1]
       and trade_zone
    

no_orders =
       not x1[1]
       and not x1[2]
       and not x1[3]
       and not y1[1]
       and not y1[2]
       and not y1[3]

//Function
xTech=
       (x1
       and no_orders)
    

yTech=
       (y1
       and no_orders)
    


//plot Signal
putcol = xTech? color.red : na
callcol = yTech? color.blue : na
PutSignal= xTech?high:na
CallSignal= yTech?low:na
plotshape(PutSignal, title='Put Alert', text="Put Alert", style=shape.labeldown, location=location.absolute, color=color.green, textcolor=color.new(color.black,0), offset=0, transp=50, size=size.tiny)
plotshape(CallSignal, title='Call Alert', text="Call Alert", style=shape.labelup, location=location.absolute, color=color.green, textcolor=color.new(color.black,0), offset=0, transp=50, size=size.tiny)
plotshape(PutSignal, title='Put Entry', text="Put 3 bars", style=shape.arrowdown, location=location.abovebar, color=color.red, textcolor=color.black, offset=1, transp=20, size=size.large)
plotshape(CallSignal, title='Call Entry', text="Call 3 bars", style=shape.arrowup, location=location.belowbar, color=color.blue, textcolor=color.black, offset=1, transp=20, size=size.large)

//plot Result
result_put =
       xTech[3] and close<open[2]?1:
       xTech[3] and close>open[2]?-1:
       xTech[3] and close>open[2]?0:
       na
result_call =
       yTech[3] and close>open[2]?1:
       yTech[3] and close<open[2]?-1:
       yTech[3] and close<open[2]?0:
       na

win_trade =
       result_put == 1
       or
       result_call == 1
       ?close:na
loss_trade =
       result_put == -1
       or
       result_call == -1
       ?close:na
draw_trade =
       result_put == 0
       or
       result_call == 0
       ?close:na
plotshape(win_trade, title='Win trade', text="Win trade", style=shape.labeldown, location=location.abovebar, color=color.green, textcolor=color.new(color.black,0), offset=0, transp=50, size=size.tiny)
plotshape(loss_trade, title='Loss trade', text="Loss trade", style=shape.labeldown, location=location.abovebar, color=color.green, textcolor=color.new(color.black,0), offset=0, transp=50, size=size.tiny)
plotshape(draw_trade, title='Draw trade', text="Draw trade", style=shape.labeldown, location=location.abovebar, color=color.green, textcolor=color.new(color.black,0), offset=0, transp=50, size=size.tiny)
//Alert
mms1="Signal alert"
mms2="Put alert"
mms3="Call alert"
PutAlert=
       (xTech)
    
CallAlert=
       (yTech)
    

alertcondition(PutAlert or CallAlert, title="Signal alert", message=mms1)
alertcondition(PutAlert, title="Put alert", message=mms2)
alertcondition(CallAlert, title="Call alert", message=mms3)
//EOF
hjhj thank bác nhiều nhá
 
hjhj thank bác nhiều nhá
Bản Intraday, chỉ nhả tín hiệu và tính hiệu suất trong ngày, mỗi ngày phải set lại mới có tín hiệu :D
Mã:
// BO - Woodies Fibo - Intraday Backtesting
//v31
// © inno14
//@version=4
strategy("BO - Woodies Fibo - Intraday Backtesting")
//strategy.risk.max_intraday_loss(1, strategy.cash)
// === INPUT PERIOD OF TIME ===
Date   = input(true, title = "=== Date Option ===")
FromDay   = input(defval = 1, title = "Day", minval = 1, maxval = 31)
FromMonth = input(defval = 3, title = "Month", minval = 1, maxval = 12)
FromYear  = input(defval = 2020, title = "Year", minval = 2017)

ToDay     = FromDay
ToMonth   = FromMonth
ToYear    = FromYear

// === DATE RANGE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

// === Trading Time ===
CTimeDvM   = input(true, title = "=== Trading Time ===")
Time_zone = input(7,title="Time Zone")
FromHourDvM   = input(defval = 07, title = "From Hour", minval = 00, maxval = 23)
FromMinuteDvM = input(defval = 30, title = "From Minute", minval = 00, maxval = 59)
ToHourDvM   = input(defval = 18, title = "To Hour", minval = 00, maxval = 23)
ToMinuteDvM = input(defval = 0, title = "To Minute", minval = 00, maxval = 59)

GMT_FHDvM=FromHourDvM<Time_zone?FromHourDvM-Time_zone+24:FromHourDvM-Time_zone
GMT_THDvM=ToHourDvM<Time_zone?ToHourDvM-Time_zone+24:ToHourDvM-Time_zone
fhDvM= (GMT_FHDvM<10?"0"+tostring(GMT_FHDvM):tostring(GMT_FHDvM))
fmDvM= (FromMinuteDvM<10?"0"+tostring(FromMinuteDvM):tostring(FromMinuteDvM))
thDvM= (GMT_THDvM<10?"0"+tostring(GMT_THDvM):tostring(GMT_THDvM))
tmDvM= (ToMinuteDvM<10?"0"+tostring(ToMinuteDvM):tostring(ToMinuteDvM))
WorkingHourDvM = fhDvM+fmDvM+"-"+thDvM+tmDvM
t0_DvM = time(timeframe.period, WorkingHourDvM)
htrtime = input(true,title="Highlight Trading Time")
bgcolor(htrtime? t0_DvM? color.white : na:na, title="Trading Time", transp=0)

//Bollinger Bands
bb_ft=input(true,title="=== Bollinger Bands Filter ===")
len = input(50,title="SMA Length")
mult = input(1.2,title="Multiplier")
basis = sma(close, len)
dev = mult * stdev(close, len)
upper = basis + dev
lower = basis - dev
bb_filter = close>lower and close<upper

//KC
KCtt   = input(true, title = "=== Keltner Channel Filter ===")
nPeriod = input(title="Period", defval=50, minval=1)
multk= input(title="multiplier", defval=2.0, minval=1.0)
kBasis = ema(close,nPeriod)
kUpper= (kBasis + (multk*atr(14)))
kLower = (kBasis - (multk*atr(14)))
kc_filter = close>kLower and close<kUpper

//Woodies CCI
cci_ft=input(true,title="=== CCI Signal ===")
cciTurboLength = 6
cci14Length = input(title="CCI 14 Length", type=input.integer, defval=14)

source = close
cciTurbo = cci(source, cciTurboLength)
cci14 = cci(source, cci14Length)

last5IsDown = cci14[5] < 0 and cci14[4] < 0 and cci14[3] < 0 and cci14[2] < 0 and cci14[1] < 0
last5IsUp = cci14[5] > 0 and cci14[4] > 0 and cci14[3] > 0 and cci14[2] > 0 and cci14[1] > 0
histogramColor = last5IsUp ? color.green : last5IsDown ? color.red : cci14 < 0 ? color.gray : color.gray

//Plot Woodies CCI
//plot(cci14, title="CCI Histogram", color=histogramColor, style=plot.style_histogram, linewidth=2, transp=40)
//plot(0, title="Zero Line", color=cciTurbo>100?color.blue:cciTurbo<-100?color.red:color.navy, style=plot.style_line, linewidth=6, transp=20)
hline(200, title="Hundred Line", color=color.black, linestyle=hline.style_dotted)
hline(-200, title="Minus Line", color=color.black, linestyle=hline.style_dotted)

//Plot lingreg CCI14
linreg_len=input(5,title="Linear Regression Length")
linreg_cci14=linreg(cci14, linreg_len, 0)
//plot(linreg_cci14, color=color.aqua, linewidth=4)

//
ext_linreg=input(100,title="Extreme Level")

//peak & top
peak_cci=
       linreg_cci14[2]>linreg_cci14[3] and linreg_cci14[1]>linreg_cci14[2] and linreg_cci14[0]<linreg_cci14[1] and linreg_cci14[1]>ext_linreg
bott_cci=
       linreg_cci14[2]<linreg_cci14[3] and linreg_cci14[1]<linreg_cci14[2] and linreg_cci14[0]>linreg_cci14[1] and linreg_cci14[1]<-ext_linreg
peak_cci_1=
       linreg_cci14[2]>linreg_cci14[3] and linreg_cci14[1]>linreg_cci14[2] and linreg_cci14[0]<linreg_cci14[1]
bott_cci_1=
       linreg_cci14[2]<linreg_cci14[3] and linreg_cci14[1]<linreg_cci14[2] and linreg_cci14[0]>linreg_cci14[1]
//
fil_len=input(6,title="Filter Length")
top_ext=highest(linreg_cci14,fil_len)
bot_ext=lowest(linreg_cci14,fil_len)
trade_zone =
       kc_filter[1]
       and bb_filter[1]
//Put signal
x1=
       peak_cci
       and linreg_cci14[1]==top_ext
       and linreg_cci14[1]>valuewhen(peak_cci_1,linreg_cci14[1],1)
       and close>low[1]
       and trade_zone
      

//Call signal
y1=
       bott_cci
       and linreg_cci14[1]==bot_ext
       and linreg_cci14[1]<valuewhen(bott_cci_1,linreg_cci14[1],1)
       and close<high[1]
       and trade_zone

no_orders =
       not strategy.opentrades

//Function
xTech=
       (x1
       and no_orders)
      

yTech=
       (y1
       and no_orders)
      

sumtrades=strategy.losstrades[0]+strategy.wintrades[0]
losstrades=strategy.losstrades[0]
wintrades=strategy.wintrades[0]
//Fibonacci Money Management
fibo_tt=input(true,title="=== Fibonacci Money Management ===")
take_profit=input(300,title="Take profit = wintrades - losstrades =")
//Bid level
current_bid_lv=
       losstrades == 0 and wintrades == 0?1:
       losstrades-wintrades == -1?1:
       losstrades>0 and (losstrades-wintrades == 0)?2:
       losstrades-wintrades == 1?3:
       losstrades-wintrades == 2?5:
       losstrades-wintrades == 3?8:
       losstrades-wintrades == 4?13:
       losstrades-wintrades == 5?21:
       losstrades-wintrades == 6?34:
       1
bid_level=current_bid_lv
take_profit_val = wintrades - losstrades
//Plot Analyzing Signals
//hline1=hline(-1.2*300)
hline2=hline(-1.6*300)
hline0=hline(0)
sigtext=
       xTech?"Put signal"+ " * Current Bid Level: " + tostring(bid_level):yTech?"Call signal"+ " * Current Bid Level: " + tostring(bid_level):
       "Backtesting date: "+tostring(FromDay)+"/"+tostring(FromMonth)+"/"+tostring(FromYear)
       + " * Trading Time From: "+tostring(FromHourDvM)+":"+tostring(FromMinuteDvM)+" To "+tostring(ToHourDvM)+":"+tostring(ToMinuteDvM)
       + " * Take profit: " + tostring(wintrades-losstrades)+"/"+tostring(take_profit)
       + " * Current Bid Level: " + tostring(bid_level)

sig_col=xTech?color.new(color.red,10):yTech?color.new(color.blue,10):color.new(color.navy,10)
label_sig_text = label.new(bar_index[0], -1.5*300, text=sigtext, style=label.style_none, textcolor=sig_col, size=size.large)
label.delete(label_sig_text[1])

//Plot Color Panel of Finobacci Money Management
fib_sigtext=
       "Color Panel of Finobacci Money Management"
      
fib_sig_col=color.new(color.navy,10)
label_fib_sig_text = label.new(bar_index[5], 250, text=fib_sigtext, style=label.style_none, textcolor=fib_sig_col, size=size.large)
label.delete(label_fib_sig_text[1])
fib_put=50
fib_col=-150

fib_put_lv1=color.new(color.red,0)
plotshape(fib_put, title='Put Lv1', text="Put Lv1", style=shape.circle, location=location.absolute, color=fib_put_lv1, textcolor=color.black, offset=-9, size=size.normal, show_last=2)
fib_call_lv1=color.new(color.blue,0)
plotshape(fib_col, title='Call Lv1', text="Call Lv1", style=shape.circle, location=location.absolute, color=fib_call_lv1, textcolor=color.black, offset=-9, size=size.normal, show_last=2)

fib_put_lv2=color.new(color.red,10)
plotshape(fib_put, title='Put Lv2', text="Put Lv2", style=shape.circle, location=location.absolute, color=fib_put_lv2, textcolor=color.black, offset=-8, size=size.normal, show_last=2)
fib_call_lv2=color.new(color.blue,10)
plotshape(fib_col, title='Call Lv2', text="Call Lv2", style=shape.circle, location=location.absolute, color=fib_call_lv2, textcolor=color.black, offset=-8, size=size.normal, show_last=2)

fib_put_lv3=color.new(color.orange,0)
plotshape(fib_put, title='Put Lv3', text="Put Lv3", style=shape.circle, location=location.absolute, color=fib_put_lv3, textcolor=color.black, offset=-7, size=size.normal, show_last=2)
fib_call_lv3=color.new(color.green,0)
plotshape(fib_col, title='Call Lv3', text="Call Lv3", style=shape.circle, location=location.absolute, color=fib_call_lv3, textcolor=color.black, offset=-7, size=size.normal, show_last=2)

fib_put_lv5=color.new(color.orange,10)
plotshape(fib_put, title='Put Lv5', text="Put Lv5", style=shape.circle, location=location.absolute, color=fib_put_lv5, textcolor=color.black, offset=-6, size=size.normal, show_last=2)
fib_call_lv5=color.new(color.green,10)
plotshape(fib_col, title='Call Lv5', text="Call Lv5", style=shape.circle, location=location.absolute, color=fib_call_lv5, textcolor=color.black, offset=-6, size=size.normal, show_last=2)

fib_put_lv8=color.new(color.maroon,0)
plotshape(fib_put, title='Put Lv8', text="Put Lv8", style=shape.circle, location=location.absolute, color=fib_put_lv8, textcolor=color.black, offset=-5, size=size.normal, show_last=2)
fib_call_lv8=color.new(color.lime,0)
plotshape(fib_col, title='Call Lv8', text="Call Lv8", style=shape.circle, location=location.absolute, color=fib_call_lv8, textcolor=color.black, offset=-5, size=size.normal, show_last=2)

fib_put_lv13=color.new(color.maroon,10)
plotshape(fib_put, title='Put Lv13', text="Put Lv13", style=shape.circle, location=location.absolute, color=fib_put_lv13, textcolor=color.black, offset=-4, size=size.normal, show_last=2)
fib_call_lv13=color.new(color.lime,10)
plotshape(fib_col, title='Call Lv13', text="Call Lv13", style=shape.circle, location=location.absolute, color=fib_call_lv13, textcolor=color.black, offset=-4, size=size.normal, show_last=2)

fib_put_lv21=color.new(color.olive,0)
plotshape(fib_put, title='Put Lv21', text="Put Lv21", style=shape.circle, location=location.absolute, color=fib_put_lv21, textcolor=color.black, offset=-3, size=size.normal, show_last=2)
fib_call_lv21=color.new(color.yellow,0)
plotshape(fib_col, title='Call Lv21', text="Call Lv21", style=shape.circle, location=location.absolute, color=fib_call_lv21, textcolor=color.black, offset=-3, size=size.normal, show_last=2)

fib_put_lv34=color.new(color.olive,10)
plotshape(fib_put, title='Put Lv34', text="Put Lv34", style=shape.circle, location=location.absolute, color=fib_put_lv34, textcolor=color.black, offset=-2, size=size.normal, show_last=2)
fib_call_lv34=color.new(color.yellow,10)
plotshape(fib_col, title='Call Lv34', text="Call Lv34", style=shape.circle, location=location.absolute, color=fib_call_lv34, textcolor=color.black, offset=-2, size=size.normal, show_last=2)
//plot Signal
PutSignal= xTech and window() and t0_DvM and take_profit_val<take_profit?-1.2*300:na
CallSignal= yTech and window() and t0_DvM and take_profit_val<take_profit?-1.2*300:na
putcol =
       PutSignal ?
       bid_level==1? color.new(color.red,0):
       bid_level==2? color.new(color.red,10):
       bid_level==3? color.new(color.orange,0):
       bid_level==5? color.new(color.orange,10):
       bid_level==8? color.new(color.maroon,0):
       bid_level==13? color.new(color.maroon,10):
       bid_level==21? color.new(color.olive,0):
       bid_level==34? color.new(color.olive,10):
       color.new(color.red,0): na
callcol =
       CallSignal ?
       bid_level==1? color.new(color.blue,0):
       bid_level==2? color.new(color.blue,10):
       bid_level==3? color.new(color.green,0):
       bid_level==5? color.new(color.green,10):
       bid_level==8? color.new(color.lime,0):
       bid_level==13? color.new(color.lime,10):
       bid_level==21? color.new(color.yellow,0):
       bid_level==34? color.new(color.yellow,10):
       color.new(color.blue,0): na
plotshape(PutSignal, title='Put', text="Put", style=shape.circle, location=location.absolute, color=putcol, textcolor=color.black, offset=1, size=size.large)
plotshape(CallSignal, title='Call', text="Call", style=shape.circle, location=location.absolute, color=callcol, textcolor=color.black, offset=1, size=size.large)

//Backtesting
exp_tt=input(true,"Expiry Option By Bars")
exp_val=input(3,"Number of Bars")
strategy.entry("Call", strategy.long, when=yTech and window() and t0_DvM and take_profit_val<take_profit)
strategy.entry("Put", strategy.short, when=xTech and window() and t0_DvM and take_profit_val<take_profit)
strategy.close_all(when=barssince(xTech)==exp_val or barssince(yTech)==exp_val)
//EOF
 
Hiệu suất tổng từ ngày 10/2 đến hiện nay
upload_2020-3-30_8-49-39.png

Hiệu suất mỗi tháng 2( từ ngày 10/2-29/2)
upload_2020-3-30_8-50-37.png

Chuổi thua dài nhất tháng 2: 4
upload_2020-3-30_8-51-49.png
 

BÌNH LUẬN MỚI NHẤT

  • ngoi_sao_co_doc trong Phân tích Forex - Vàng - Hàng hóa 24,494 Xem / 87 Trả lời
  • Quíc Óp trong Phân tích Forex - Vàng - Hàng hóa 334 Xem / 19 Trả lời
  • Mạc An trong Phân tích Forex - Vàng - Hàng hóa 849 Xem / 39 Trả lời
  • TraderViet Crypto trong Chuyện bên lề 252 Xem / 2 Trả lời
  • DuongHuy trong Phân tích Forex - Vàng - Hàng hóa 388 Xem / 31 Trả lời
  • Bianas trong Phân tích Forex - Vàng - Hàng hóa 130 Xem / 3 Trả lời
  • Huan2051 trong Phân tích Forex - Vàng - Hàng hóa 294,751 Xem / 1,397 Trả lời
  • AdBlock Detected

    We get it, advertisements are annoying!

    Sure, ad-blocking software does a great job at blocking ads, but it also blocks useful features of our website. For the best site experience please disable your AdBlocker.

    Back
    Bên trên