anhnguyen14
Active Member
- 15,319
- 18,748
Cảm ơn bạn nhiều hensáng mai nha 2 bác, mình về quê ko mang máy tính theo
Cảm ơn bạn nhiều hensáng mai nha 2 bác, mình về quê ko mang máy tính theo
Hjhj bác có code alert k bác cho e xin với dk k ạCảm ơn bạn nhiều hen
Thích alert giống con CCI arrow hay alert trắng, thích kiểu nào để tối mình code nèHjhj bác có code alert k bác cho e xin với dk k ạ
hjhj kieu nao cung dk bác ạ miễn cứ alert là dk ma bác thank bác nhiều nha hóng backtest 2 tháng quá bácThích alert giống con CCI arrow hay alert trắng, thích kiểu nào để tối mình code nè
Okay, để tiện theo dõi trên đt mình code kiểu con CCI arrow nha.hjhj kieu nao cung dk bác ạ miễn cứ alert là dk ma bác thank bác nhiều nha hóng backtest 2 tháng quá bác
yes hjhj thank bácOkay, để tiện theo dõi trên đt mình code kiểu con CCI arrow nha.
Trọn bộ, code backtest & code Alertyes hjhj thank bác
// 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
// 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áTrọn bộ, code backtest & code Alert
=== 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
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ệuhjhj thank bác nhiều nhá
// 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
thank bác nha chuỗi loss này là 2 ngày nên k lo mấy hehe phải k bác @anhnguyen14Hiệu suất tổng từ ngày 10/2 đến hiện nay
View attachment 140962
Hiệu suất mỗi tháng 2( từ ngày 10/2-29/2)
View attachment 140963
Chuổi thua dài nhất tháng 2: 4
View attachment 140969
Đúng rồi, mình đang dùng bản intraday bên trên, nên ko lo chuỗi vắt, hihi, mỗi ngày hệ thống tự reset tín hiệu, Fibonacci level nên không sợ quênthank bác nha chuỗi loss này là 2 ngày nên k lo mấy hehe phải k bác @anhnguyen14
Cảm ơn bạn Nhật rất nhiều nha, mình yên tâm chạy tiếp tháng 4 rồiHiệu suất tổng từ ngày 10/2 đến hiện nay
View attachment 140962
Hiệu suất mỗi tháng 2( từ ngày 10/2-29/2)
View attachment 140963
Chuổi thua dài nhất tháng 2: 4
View attachment 140969
hehe ko có chi, dự kiến ngày mai sẽ có code vượt qua đc 3 tháng test. Tối mai nhé aeCảm ơn bạn Nhật rất nhiều nha, mình yên tâm chạy tiếp tháng 4 rồi
hjhj 1-0 cơ mà e vẫn để demo h mới nạp real thì báo 1 lệnh win keke k vội vẫn còn nhiều signal
Spectre này nền tảng cực mượt, lại có thể bê nguyên hệ thống TradingView này qua luôn mới tài (có đường hồi quy tính cho CCI đấy)hjhj 1-0 cơ mà e vẫn để demo h mới nạp real thì báo 1 lệnh win keke k vội vẫn còn nhiều signal
yes sàn này 1 mk nó một kiểu chưa thử chưa biêt dk hjhjĐáo hạn rất oke, chỉ còn lăn tăn cái vụ no broker nữa thui
View attachment 141010
Không dám thử, hic, bank VN theo kỹ lắm, mà mình thì không có ví, đánh trực tiếp lên thẻ có ngày lên phường uống trà đá ấy chứyes sàn này 1 mk nó một kiểu chưa thử chưa biêt dk hjhj
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.