anhnguyen14
Active Member
- 24,380
- 30,843
8-5 đó vĩnh ơi, chưa đẹp, code mới nhất bên trên thì là 1-0list sao rồi bác ơi hjhj show ae xem với đk k . hôm nay e k chạy macro![]()
8-5 đó vĩnh ơi, chưa đẹp, code mới nhất bên trên thì là 1-0list sao rồi bác ơi hjhj show ae xem với đk k . hôm nay e k chạy macro![]()
8-5 đó vĩnh ơi, chưa đẹp, code mới nhất bên trên thì là 1-0vẫn chưa có thêm lệnh
![]()
//BO - Bar's Body Extreme with Signal
// © inno14
//@version=4
strategy(title="BO - Bar's Body Extreme with Signal", overlay=false, pyramiding=10)
// === INPUT BACKTEST RANGE ===
Date = input(true, title = "=== Date Option ===")
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromMonth = input(defval = 1, 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 ===")
FromHourDvM = input(defval = 5, title = "From Hour", minval = 00, maxval = 23)
FromMinuteDvM = input(defval = 00, title = "From Minute", minval = 00, maxval = 59)
ToHourDvM = input(defval = 04, title = "To Hour", minval = 00, maxval = 23)
ToMinuteDvM = input(defval = 59, title = "To Minute", minval = 00, maxval = 59)
GMT_FHDvM=FromHourDvM<7?FromHourDvM-7+24:FromHourDvM-7
GMT_THDvM=ToHourDvM<7?ToHourDvM-7+24:ToHourDvM-7
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)
//bgcolor(CTimeDvM? t0_DvM? color.gray : na:na, title="Trading Time", transp=90)
def_extreme_val=input(100,title="Default Extreme Level")
body=close-open
def_ext_top=highest(abs(body[1]),def_extreme_val)
def_ext_bottom=-def_ext_top
cus_ext_top=input(0.00000,title="Custom Extreme Top (+pips)",step=0.00001,minval=0)
cus_ext_bottom=input(0.0000,title="Custom Extreme Bottom (-pips)",step=0.00001,maxval=0)
//Plot Default Extreme
def_ext_top_plot=cus_ext_top==0?def_ext_top:na
def_ext_bottom_plot=cus_ext_bottom==0?def_ext_bottom:na
def_ext_top_col=color.new(color.olive,20)
def_ext_bottom_col=color.new(color.navy,20)
plot(def_ext_top_plot, title="Default Extreme Top", color=def_ext_top_col, linewidth=2)
plot(def_ext_bottom_plot, title="Default Extreme Bottom", color=def_ext_bottom_col, linewidth=2)
//Custom Extreme Line
hcus_top_col=cus_ext_top==0?color.new(color.white,100):def_ext_top_col
hcus_bottom_col=cus_ext_bottom==0?color.new(color.white,100):def_ext_bottom_col
hcus_top=hline(cus_ext_top, title="Custom Extreme Top", color=hcus_top_col, linewidth=2, linestyle=hline.style_solid)
hcus_bot=hline(cus_ext_bottom, title="Custom Extreme Bottom", color=hcus_bottom_col, linewidth=2, linestyle=hline.style_solid)
//Body Color
top_level=cus_ext_top==0?def_ext_top:cus_ext_top
bot_level=cus_ext_bottom==0?def_ext_bottom:cus_ext_bottom
body_up_col=color.new(color.green,60)
body_dn_col=color.new(color.red,60)
body_extreme_top_col=color.new(color.green,10)
body_extreme_bottom_col=color.new(color.red,10)
body_col=
body>0 and body<top_level?body_up_col:
body<0 and body>bot_level?body_dn_col:
body>top_level?body_extreme_top_col:
body<bot_level?body_extreme_bottom_col:
color.new(color.white,100)
plot(body, title="Bar's body", style=plot.style_columns, color=body_col)
//Signal
x1 =
body>top_level
y1 =
body<bot_level
//Signal
xTech=
x1
yTech=
y1
//--------------------------------------\\
//Plot Analyzing Signals
sigtext=x1?"Put signal":y1?"Call signal":"Analyzing Signals"
sig_col=xTech?color.new(color.red,0):yTech?color.new(color.blue,0):color.new(color.navy,0)
label_sig_yloc=2*bot_level
label_sig_text = label.new(bar_index[0], label_sig_yloc, text=sigtext, style=label.style_none, textcolor=sig_col, size=size.large)
label.delete(label_sig_text[1])
//plot Signal
putcol = xTech? color.red : na
callcol = yTech? color.blue : na
PutSignal= xTech?2*label_sig_yloc:na
CallSignal= yTech?2*label_sig_yloc:na
hsignalm1=plot(2*label_sig_yloc,color=color.new(color.white,100))
plot(PutSignal, title='Put Signal', style=plot.style_columns, color=color.red, offset=1, transp=0)
plot(CallSignal, title='Call Signal', style=plot.style_columns, color=color.blue, offset=1, transp=0)
plotshape(PutSignal, title='Put', text="Put", style=shape.labeldown, location=location.bottom, color=color.orange, textcolor=color.black, offset=1, transp=0)
plotshape(CallSignal, title='Call', text="Call", style=shape.labelup, location=location.bottom, color=color.orange, textcolor=color.black, offset=1, transp=0)
//Backtesting
if (CTimeDvM)
strategy.entry("Call", strategy.long, when=yTech and window() and t0_DvM)
if (CTimeDvM)
strategy.entry("Put", strategy.short, when=xTech and window() and t0_DvM)
strategy.close_all(when=barstate.isnew)
//EOF
Code hay oánh tay vậy vĩnhvừa treo macro ăn ngay 1 lệnh keke![]()
tks bác viết code, mình hiểu bộ code này là, đo chiều dài nến, rồi so sánh với độ dài nến trong 1 khoảng thời gian mặc định là 100 nến đúng không bác.@Trương Nhật mình chỉ xuất bản lên thư viện công cộng của TradingView chỉ báo có alert. Còn backtest thì anh em ở TraderViet mình xài thôi, kaka
=== Code Backtest ===
Mã://BO - Bar's Body Extreme with Signal // © inno14 //@version=4 strategy(title="BO - Bar's Body Extreme with Signal", overlay=false, pyramiding=10) // === INPUT BACKTEST RANGE === Date = input(true, title = "=== Date Option ===") FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromMonth = input(defval = 1, 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 ===") FromHourDvM = input(defval = 5, title = "From Hour", minval = 00, maxval = 23) FromMinuteDvM = input(defval = 00, title = "From Minute", minval = 00, maxval = 59) ToHourDvM = input(defval = 04, title = "To Hour", minval = 00, maxval = 23) ToMinuteDvM = input(defval = 59, title = "To Minute", minval = 00, maxval = 59) GMT_FHDvM=FromHourDvM<7?FromHourDvM-7+24:FromHourDvM-7 GMT_THDvM=ToHourDvM<7?ToHourDvM-7+24:ToHourDvM-7 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) //bgcolor(CTimeDvM? t0_DvM? color.gray : na:na, title="Trading Time", transp=90) def_extreme_val=input(100,title="Default Extreme Level") body=close-open def_ext_top=highest(abs(body[1]),def_extreme_val) def_ext_bottom=-def_ext_top cus_ext_top=input(0.00000,title="Custom Extreme Top (+pips)",step=0.00001,minval=0) cus_ext_bottom=input(0.0000,title="Custom Extreme Bottom (-pips)",step=0.00001,maxval=0) //Plot Default Extreme def_ext_top_plot=cus_ext_top==0?def_ext_top:na def_ext_bottom_plot=cus_ext_bottom==0?def_ext_bottom:na def_ext_top_col=color.new(color.olive,20) def_ext_bottom_col=color.new(color.navy,20) plot(def_ext_top_plot, title="Default Extreme Top", color=def_ext_top_col, linewidth=2) plot(def_ext_bottom_plot, title="Default Extreme Bottom", color=def_ext_bottom_col, linewidth=2) //Custom Extreme Line hcus_top_col=cus_ext_top==0?color.new(color.white,100):def_ext_top_col hcus_bottom_col=cus_ext_bottom==0?color.new(color.white,100):def_ext_bottom_col hcus_top=hline(cus_ext_top, title="Custom Extreme Top", color=hcus_top_col, linewidth=2, linestyle=hline.style_solid) hcus_bot=hline(cus_ext_bottom, title="Custom Extreme Bottom", color=hcus_bottom_col, linewidth=2, linestyle=hline.style_solid) //Body Color top_level=cus_ext_top==0?def_ext_top:cus_ext_top bot_level=cus_ext_bottom==0?def_ext_bottom:cus_ext_bottom body_up_col=color.new(color.green,60) body_dn_col=color.new(color.red,60) body_extreme_top_col=color.new(color.green,10) body_extreme_bottom_col=color.new(color.red,10) body_col= body>0 and body<top_level?body_up_col: body<0 and body>bot_level?body_dn_col: body>top_level?body_extreme_top_col: body<bot_level?body_extreme_bottom_col: color.new(color.white,100) plot(body, title="Bar's body", style=plot.style_columns, color=body_col) //Signal x1 = body>top_level y1 = body<bot_level //Signal xTech= x1 yTech= y1 //--------------------------------------\\ //Plot Analyzing Signals sigtext=x1?"Put signal":y1?"Call signal":"Analyzing Signals" sig_col=xTech?color.new(color.red,0):yTech?color.new(color.blue,0):color.new(color.navy,0) label_sig_yloc=2*bot_level label_sig_text = label.new(bar_index[0], label_sig_yloc, text=sigtext, style=label.style_none, textcolor=sig_col, size=size.large) label.delete(label_sig_text[1]) //plot Signal putcol = xTech? color.red : na callcol = yTech? color.blue : na PutSignal= xTech?2*label_sig_yloc:na CallSignal= yTech?2*label_sig_yloc:na hsignalm1=plot(2*label_sig_yloc,color=color.new(color.white,100)) plot(PutSignal, title='Put Signal', style=plot.style_columns, color=color.red, offset=1, transp=0) plot(CallSignal, title='Call Signal', style=plot.style_columns, color=color.blue, offset=1, transp=0) plotshape(PutSignal, title='Put', text="Put", style=shape.labeldown, location=location.bottom, color=color.orange, textcolor=color.black, offset=1, transp=0) plotshape(CallSignal, title='Call', text="Call", style=shape.labelup, location=location.bottom, color=color.orange, textcolor=color.black, offset=1, transp=0) //Backtesting if (CTimeDvM) strategy.entry("Call", strategy.long, when=yTech and window() and t0_DvM) if (CTimeDvM) strategy.entry("Put", strategy.short, when=xTech and window() and t0_DvM) strategy.close_all(when=barstate.isnew) //EOF
Có luôn mà, phần custom +/- là giá trị pip bạn tự nhập á, khi có custom thì cái default 100 tự vô hiệu hóa đótks bác viết code, mình hiểu bộ code này là, đo chiều dài nến, rồi so sánh với độ dài nến trong 1 khoảng thời gian mặc định là 100 nến đúng không bác.
vậy bác có thể giúp mình code, đo chiều dài nến rồi so sánh với 1 mốc xác định ví dụ 6.5 pip. Thay vì phải so với 1 khoảng thời gian.
bác có thể
Bạn hiểu đúng ùi đó, cái đó để bạn dễ mò giá trị pip đótks bác viết code, mình hiểu bộ code này là, đo chiều dài nến, rồi so sánh với độ dài nến trong 1 khoảng thời gian mặc định là 100 nến đúng không bác.
vậy bác có thể giúp mình code, đo chiều dài nến rồi so sánh với 1 mốc xác định ví dụ 6.5 pip. Thay vì phải so với 1 khoảng thời gian.
bác có thể
Mình cũng vừa ăn 1 lệnh nè, 1-0 cho macrovừa treo macro ăn ngay 1 lệnh keke![]()
code bác ạ hjhj tỉ số đang là 3-2Code hay oánh tay vậy vĩnh
cái indi kia là sao bác nhỉ indi ý tương của bác @Trương Nhật ý ạ bác giải thjk thêm giup e dk k ạ hjhjNgười ta nói những con số ko biết nói dối, xác suất chuỗi đỏ áp đảo và biến động thân nến tăng cực hạn. Bộ đôi này oánh tay là ngon
![]()
nếu bác để khoảng thì tầm 200 đối với EU.Người ta nói những con số ko biết nói dối, xác suất chuỗi đỏ áp đảo và biến động thân nến tăng cực hạn. Bộ đôi này oánh tay là ngon
![]()
Cái indi biến động thân nến mình xuất bản đo lường chiều cao thân nến. Ý tưởng của bạn @Trương Nhật là cho bạn í nhập píp cụ thể, nến có thân cao hơn số píp bạn í nhập thì bạn ấy đánh đảo chiều. Indi của mình thì thêm vào số píp tự tính bên cạnh nhập tay, số píp tự tính này là chiều cao của cây nến lớn nhất trong 1 tập hợp nến cụ thể, mặc định mình chọn 100 cây nến, số này có thể thay đổi, nếu số píp nhập tay lớn hơn 0 thì indi sẽ dùng số nhập tay.cái indi kia là sao bác nhỉ indi ý tương của bác @Trương Nhật ý ạ bác giải thjk thêm giup e dk k ạ hjhjthank bác. chắc bác đang có ý tưởng code gộp 2 cái zô 1 hả bác hjhj
Cái đó dịch ra tiếng việt là có 36 trường hợp 2 cây nến liên tục màu đỏ, trong 36 trường hợp đó thì có 66.66% trường hợp nến số 3 màu đỏ. Đây cũng là xác suất có điều kiện của nến số 3 màu đỏnếu bác để khoảng thì tầm 200 đối với EU.
Với mình cũng ko hiểu. Ví dụ: cột màu đỏ 2 bar downward: 36 66.6% thì hiểu như thế nào là đúng nhỉ
trong cái code mới của bác @anhnguyen14 có 2 kiểu so sánh.cái indi kia là sao bác nhỉ indi ý tương của bác @Trương Nhật ý ạ bác giải thjk thêm giup e dk k ạ hjhjthank bác. chắc bác đang có ý tưởng code gộp 2 cái zô 1 hả bác 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.
Tất cả nội dung trên website này đều vì mục đích cung cấp thông tin và không phải lời khuyên đầu tư.
Tại Việt Nam, giao dịch CFD forex có các rủi ro nhất định, trong đó bao gồm rủi ro về pháp lý. Độc giả nên tìm hiểu kỹ trước khi đưa ra quyết định tham gia.