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
vừa treo macro ăn ngay 1 lệnh keke
upload_2020-2-12_9-34-8.png
 
 
@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
 
 
@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
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ể
 
 
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ể
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 đó :D
 
 
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 đó
 
 
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 :D
Screenshot_2020-02-12-14-52-45-745_com.tradingview.tradingviewapp.jpg
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 ạ hjhj :D:D thank bác. chắc bác đang có ý tưởng code gộp 2 cái zô 1 hả bác hjhj
 
 
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 :D
Screenshot_2020-02-12-14-52-45-745_com.tradingview.tradingviewapp.jpg
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ỉ
 
 
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 ạ hjhj :D:D thank bác. chắc bác đang có ý tưởng code gộp 2 cái zô 1 hả bác hjhj
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.
Khi nến có biến động thân nến cực hạn, xuất hiện 2 nến đảo chiều, nếu xác suất chuỗi lớn hơn 50 thì mình sẽ đu theo trend điều chỉnh ở nến số 3. Đó là ý tưởng mình vừa thấy ở bức ảnh trên :D
 
 
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ỉ
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 đỏ :D
 
 
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 ạ hjhj :D:D thank bác. chắc bác đang có ý tưởng code gộp 2 cái zô 1 hả bác hjhj
trong cái code mới của bác @anhnguyen14 có 2 kiểu so sánh.
1, kiểu 1 là so sánh kích thước nến hiện tại với chuổi nến mặc định trước đó
2, kiểu 2 là so sánh kích thước nến hiện tại với giá trị pip cố định, khi kích thước nến lớn hơn giá trị cố định đã cài đặt thì có lệnh thì có lệnh.
upload_2020-2-12_15-26-32.png
upload_2020-2-12_15-26-32.png
 
 

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

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

Miễn trừ trách nhiệm

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.