Hiệu suất chương trình của bác thế nào ạ?
Cứ 4 lệnh thì 1 lệnh hit Stoploss, quét thanh khoản ở hợp đồng tương lai diễn ra liên tục, lệnh không sai nhưng vi phạm là cutloss. Hiệu suất vẫn quanh 70-75%.
Vâng ạ! Bác cho em hỏi, bác có chương trình nào về đường MA không ạ? Em dùng nhiều đường MA và timeframe cùng lúc nhưng chưa tìm được cái nào ưng ý ạ.
Có, Nam cũng hay dùng khi ở khung giờ thấp nhưng muốn xem ở khung giờ cao hơn. Vào phần cài đặt để ẩn hiện, cài đặt đầu vào tùy theo sử dụng.
Code:
//@version=5
indicator(title="High timeframe Moving Average", overlay=true)
TREND = "-------------------- Moving Average 1 --------------------"
Plot_MA = input.bool(true, title = "Plot MA trend?", inline = "Trend1", group = TREND)
TimeFrame_Trend = input.timeframe(title='Higher Time Frame', defval='60', inline = "Trend1", group = TREND)
length = input.int(20, title="Length MA", minval=1, tooltip = "Number of bars used to measure trend on higher timeframe chart", inline = "Trend2", group = TREND)
MA_Type = input.string(defval="EMA" , options=["EMA","DEMA","TEMA","SMA","WMA", "HMA"], title="MA type:", inline = "Trend2", group = TREND)
ma(type, src, length) =>
float result = 0
if type == 'TMA' // Triangular Moving Average
result := ta.sma(ta.sma(src, math.ceil(length / 2)), math.floor(length / 2) + 1)
result
if type == 'LSMA' // Least Squares Moving Average
result := ta.linreg(src, length, 0)
result
if type == 'SMA' // Simple Moving Average
result := ta.sma(src, length)
result
if type == 'EMA' // Exponential Moving Average
result := ta.ema(src, length)
result
if type == 'DEMA' // Double Exponential Moving Average
e = ta.ema(src, length)
result := 2 * e - ta.ema(e, length)
result
if type == 'TEMA' // Triple Exponentiale
e = ta.ema(src, length)
result := 3 * (e - ta.ema(e, length)) + ta.ema(ta.ema(e, length), length)
result
if type == 'WMA' // Weighted Moving Average
result := ta.wma(src, length)
result
if type == 'HMA' // Hull Moving Average
result := ta.wma(2 * ta.wma(src, length / 2) - ta.wma(src, length), math.round(math.sqrt(length)))
result
result
MAtrend = ma(MA_Type, close, length)
MA_Value_HTF = request.security(syminfo.tickerid, TimeFrame_Trend, MAtrend)
timeframeToMinutes(tf) =>
multiplier = 1
if (str.endswith(tf, "D"))
multiplier := 1440
else if (str.endswith(tf, "W"))
multiplier := 10080
else if (str.endswith(tf, "M"))
multiplier := 43200
else if (str.endswith(tf, "H"))
multiplier := int(str.tonumber(str.replace(tf, "H", "")))
else
multiplier := int(str.tonumber(str.replace(tf, "m", "")))
multiplier
currentTFMinutes = timeframeToMinutes(timeframe.period)
higherTFMinutes = timeframeToMinutes(TimeFrame_Trend)
dynamicSmoothing = math.round(higherTFMinutes / currentTFMinutes)
MA_Value_Smooth = ta.sma(MA_Value_HTF, dynamicSmoothing)
UP = MA_Value_Smooth > MA_Value_Smooth[1] // Use "UP" Function to use as filter in combination with other indicators
DOWN = MA_Value_Smooth < MA_Value_Smooth[1] // Use "Down" Function to use as filter in combination with other indicators
////////// Second MA Filter Trend
TREND2 = "-------------------- Moving Average 2 --------------------"
Plot_MA2 = input.bool(true, title = "Plot Second MA trend?", inline = "Trend3", group = TREND2)
TimeFrame_Trend2 = input.timeframe(title='HTF', defval='60', inline = "Trend3", group = TREND2)
length2 = input.int(50, title="Length Second MA", minval=1, tooltip = "Number of bars used to measure trend on higher timeframe chart", inline = "Trend4", group = TREND2)
MA_Type2 = input.string(defval="EMA" , options=["EMA","DEMA","TEMA","SMA","WMA", "HMA"], title="MA type:", inline = "Trend4", group = TREND2)
MAtrend2 = ma(MA_Type2, close, length2)
MA_Value_HTF2 = request.security(syminfo.tickerid, TimeFrame_Trend2, MAtrend2)
higherTFMinutes2 = timeframeToMinutes(TimeFrame_Trend2)
dynamicSmoothing2 = math.round(higherTFMinutes2 / currentTFMinutes)
MA_Value_Smooth2 = ta.sma(MA_Value_HTF2, dynamicSmoothing2)
UP2 = MA_Value_Smooth2 > MA_Value_Smooth2[1]
DOWN2 = MA_Value_Smooth2 < MA_Value_Smooth2[1]
////////// Third MA Filter Trend
TREND3 = "-------------------- Moving Average 3 --------------------"
Plot_MA3 = input.bool(true, title = "Plot third MA trend?", inline = "Trend5", group = TREND3)
TimeFrame_Trend3 = input.timeframe(title='HTF', defval='60', inline = "Trend5", group = TREND3)
length3 = input.int(100, title="Length third MA", minval=1, tooltip = "Number of bars used to measure trend on higher timeframe chart", inline = "Trend6", group = TREND3)
MA_Type3 = input.string(defval="EMA" , options=["EMA","DEMA","TEMA","SMA","WMA", "HMA"], title="MA type:", inline = "Trend6", group = TREND3)
MAtrend3 = ma(MA_Type3, close, length3)
MA_Value_HTF3 = request.security(syminfo.tickerid, TimeFrame_Trend3, MAtrend3)
higherTFMinutes3 = timeframeToMinutes(TimeFrame_Trend3)
dynamicSmoothing3 = math.round(higherTFMinutes3 / currentTFMinutes)
MA_Value_Smooth3 = ta.sma(MA_Value_HTF3, dynamicSmoothing3)
UP3 = MA_Value_Smooth3 > MA_Value_Smooth3[1]
DOWN3 = MA_Value_Smooth3 < MA_Value_Smooth3[1]
///////////// Fourth MA Filter Trend
TREND4 = "-------------------- Moving Average 4 --------------------"
Plot_MA4 = input.bool(true, title = "Plot fourth MA trend?", inline = "Trend7", group = TREND4)
TimeFrame_Trend4 = input.timeframe(title='HTF', defval='60', inline = "Trend7", group = TREND4)
length4 = input.int(200, title="Length fourth MA", minval=1, tooltip = "Number of bars used to measure trend on higher timeframe chart", inline = "Trend8", group = TREND4)
MA_Type4 = input.string(defval="EMA" , options=["EMA","DEMA","TEMA","SMA","WMA", "HMA"], title="MA type:", inline = "Trend8", group = TREND4)
MAtrend4 = ma(MA_Type4, close, length4)
MA_Value_HTF4 = request.security(syminfo.tickerid, TimeFrame_Trend4, MAtrend4)
higherTFMinutes4 = timeframeToMinutes(TimeFrame_Trend4)
dynamicSmoothing4 = math.round(higherTFMinutes4 / currentTFMinutes)
MA_Value_Smooth4 = ta.sma(MA_Value_HTF4, dynamicSmoothing4)
UP4 = MA_Value_Smooth4 > MA_Value_Smooth4[1]
DOWN4 = MA_Value_Smooth4 < MA_Value_Smooth4[1]
///////////// Fifth MA Filter Trend
TREND5 = "-------------------- Moving Average 5 --------------------"
Plot_MA5 = input.bool(true, title = "Plot Fifth MA trend?", inline = "Trend9", group = TREND5)
TimeFrame_Trend5 = input.timeframe(title='HTF', defval='240', inline = "Trend9", group = TREND5)
length5 = input.int(20, title="Length Fifth MA", minval=1, tooltip = "Number of bars used to measure trend on higher timeframe chart", inline = "Trend10", group = TREND5)
MA_Type5 = input.string(defval="EMA" , options=["EMA","DEMA","TEMA","SMA","WMA", "HMA"], title="MA type:", inline = "Trend10", group = TREND5)
MAtrend5 = ma(MA_Type5, close, length5)
MA_Value_HTF5 = request.security(syminfo.tickerid, TimeFrame_Trend5, MAtrend5)
higherTFMinutes5 = timeframeToMinutes(TimeFrame_Trend5)
dynamicSmoothing5 = math.round(higherTFMinutes5 / currentTFMinutes)
MA_Value_Smooth5 = ta.sma(MA_Value_HTF5, dynamicSmoothing5)
UP5 = MA_Value_Smooth5 > MA_Value_Smooth5[1]
DOWN5 = MA_Value_Smooth5 < MA_Value_Smooth5[1]
///////////// Six MA Filter Trend
TREND6 = "-------------------- Moving Average 6 --------------------"
Plot_MA6 = input.bool(true, title = "Plot Sixth MA trend?", inline = "Trend11", group = TREND6)
TimeFrame_Trend6 = input.timeframe(title='HTF', defval='240', inline = "Trend11", group = TREND6)
length6 = input.int(50, title="Length fourth MA", minval=1, tooltip = "Number of bars used to measure trend on higher timeframe chart", inline = "Trend12", group = TREND6)
MA_Type6 = input.string(defval="EMA" , options=["EMA","DEMA","TEMA","SMA","WMA", "HMA"], title="MA type:", inline = "Trend12", group = TREND6)
MAtrend6 = ma(MA_Type6, close, length6)
MA_Value_HTF6 = request.security(syminfo.tickerid, TimeFrame_Trend6, MAtrend6)
higherTFMinutes6 = timeframeToMinutes(TimeFrame_Trend6)
dynamicSmoothing6 = math.round(higherTFMinutes6 / currentTFMinutes)
MA_Value_Smooth6 = ta.sma(MA_Value_HTF6, dynamicSmoothing6)
UP6 = MA_Value_Smooth6 > MA_Value_Smooth6[1]
DOWN6 = MA_Value_Smooth6 < MA_Value_Smooth6[1]
///////////// Seven MA Filter Trend
TREND7 = "-------------------- Moving Average 7 --------------------"
Plot_MA7 = input.bool(true, title = "Plot Seventh MA trend?", inline = "Trend13", group = TREND7)
TimeFrame_Trend7 = input.timeframe(title='HTF', defval='240', inline = "Trend13", group = TREND7)
length7 = input.int(100, title="Length Seventh MA", minval=1, tooltip = "Number of bars used to measure trend on higher timeframe chart", inline = "Trend14", group = TREND7)
MA_Type7 = input.string(defval="EMA" , options=["EMA","DEMA","TEMA","SMA","WMA", "HMA"], title="MA type:", inline = "Trend14", group = TREND7)
MAtrend7 = ma(MA_Type7, close, length7)
MA_Value_HTF7 = request.security(syminfo.tickerid, TimeFrame_Trend7, MAtrend7)
higherTFMinutes7 = timeframeToMinutes(TimeFrame_Trend7)
dynamicSmoothing7 = math.round(higherTFMinutes7 / currentTFMinutes)
MA_Value_Smooth7 = ta.sma(MA_Value_HTF7, dynamicSmoothing7)
UP7 = MA_Value_Smooth7 > MA_Value_Smooth7[1]
DOWN7 = MA_Value_Smooth7 < MA_Value_Smooth7[1]
///////////// Eigh MA Filter Trend
TREND8 = "-------------------- Moving Average 8 --------------------"
Plot_MA8 = input.bool(true, title = "Plot Eighth MA trend?", inline = "Trend15", group = TREND8)
TimeFrame_Trend8 = input.timeframe(title='HTF', defval='240', inline = "Trend15", group = TREND8)
length8 = input.int(200, title="Length Eighth MA", minval=1, tooltip = "Number of bars used to measure trend on higher timeframe chart", inline = "Trend16", group = TREND8)
MA_Type8 = input.string(defval="EMA" , options=["EMA","DEMA","TEMA","SMA","WMA", "HMA"], title="MA type:", inline = "Trend16", group = TREND8)
MAtrend8 = ma(MA_Type8, close, length8)
MA_Value_HTF8 = request.security(syminfo.tickerid, TimeFrame_Trend8, MAtrend8)
higherTFMinutes8 = timeframeToMinutes(TimeFrame_Trend8)
dynamicSmoothing8 = math.round(higherTFMinutes8 / currentTFMinutes)
MA_Value_Smooth8 = ta.sma(MA_Value_HTF8, dynamicSmoothing8)
UP8 = MA_Value_Smooth8 > MA_Value_Smooth8[1]
DOWN8 = MA_Value_Smooth8 < MA_Value_Smooth8[1]
a=plot(Plot_MA ? MA_Value_Smooth : na, "HTF Trend 1", color = UP ? color.rgb(185, 20, 214 , 0) : color.rgb(4, 143, 129, 0), linewidth = 2, style = plot.style_line)
b=plot(Plot_MA2 ? MA_Value_Smooth2 : na, "HTF Trend 2", color = UP2 ? color.rgb(185, 20, 214 , 0) : color.rgb(4, 143, 129, 0), linewidth = 2, style = plot.style_line)
c=plot(Plot_MA3 ? MA_Value_Smooth3 : na, "HTF Trend 3", color = UP3 ? color.rgb(185, 20, 214 , 0) : color.rgb(4, 143, 129, 0), linewidth = 2, style = plot.style_line)
d=plot(Plot_MA4 ? MA_Value_Smooth4 : na, "HTF Trend 4", color = UP4 ? color.rgb(185, 20, 214 , 0) : color.rgb(4, 143, 129, 0), linewidth = 2, style = plot.style_line)
e=plot(Plot_MA5 ? MA_Value_Smooth5 : na, "HTF Trend 5", color = UP5 ? color.rgb(185, 20, 214 , 0) : color.rgb(4, 143, 129, 0), linewidth = 2, style = plot.style_line)
f=plot(Plot_MA6 ? MA_Value_Smooth6 : na, "HTF Trend 6", color = UP6 ? color.rgb(185, 20, 214 , 0) : color.rgb(4, 143, 129, 0), linewidth = 2, style = plot.style_line)
g=plot(Plot_MA7 ? MA_Value_Smooth7 : na, "HTF Trend 7", color = UP7 ? color.rgb(185, 20, 214 , 0) : color.rgb(4, 143, 129, 0), linewidth = 2, style = plot.style_line)
h=plot(Plot_MA8 ? MA_Value_Smooth8 : na, "HTF Trend 8", color = UP8 ? color.rgb(185, 20, 214 , 0) : color.rgb(4, 143, 129, 0), linewidth = 2, style = plot.style_line)
///////////// Label
Label = "-------------------- Label Inputs --------------------"
input_labelSize = input.string("normal", title="Label Text Size", options=["tiny", "small", "normal", "large", "huge"], group = Label)
input_decimalPlaces = input.int(1, title="Decimal Places", minval=0, maxval=2, group = Label)
f_getLabelSize(size) =>
size == "tiny" ? size.tiny : size == "small" ? size.small : size == "normal" ? size.normal : size == "large" ? size.large : size.huge
f_createDecimalFormat(decimalPlaces) =>
"#." + str.repeat("0", decimalPlaces)
var label label_MA = na
var label label_MA2 = na
var label label_MA3 = na
var label label_MA4 = na
var label label_MA5 = na
var label label_MA6 = na
var label label_MA7 = na
var label label_MA8 = na
if barstate.islast
if not na(label_MA)
label.delete(label_MA)
label_MA := label.new(bar_index + 20, MA_Value_Smooth, text=str.tostring(TimeFrame_Trend) + "_ " + str.tostring(MA_Type) + " " + str.tostring(length) + ": " + str.tostring(MA_Value_Smooth, f_createDecimalFormat(input_decimalPlaces)), style=label.style_label_left, color = UP ? color.rgb(185, 20, 214 , 50) : color.rgb(4, 143, 129, 50), textcolor=color.black, size=f_getLabelSize(input_labelSize), yloc=yloc.price)
if not na(label_MA2)
label.delete(label_MA2)
label_MA2 := label.new(bar_index + 20, MA_Value_Smooth2, text=str.tostring(TimeFrame_Trend2) + "_ " + str.tostring(MA_Type2) + " " + str.tostring(length2) + ": " + str.tostring(MA_Value_Smooth2, f_createDecimalFormat(input_decimalPlaces)), style=label.style_label_left, color = UP2 ? color.rgb(185, 20, 214 , 50) : color.rgb(4, 143, 129, 50), textcolor=color.black, size=f_getLabelSize(input_labelSize), yloc=yloc.price)
if not na(label_MA3)
label.delete(label_MA3)
label_MA3 := label.new(bar_index + 20, MA_Value_Smooth3, text=str.tostring(TimeFrame_Trend3) + "_ " + str.tostring(MA_Type3) + " " + str.tostring(length3) + ": " + str.tostring(MA_Value_Smooth3, f_createDecimalFormat(input_decimalPlaces)), style=label.style_label_left, color = UP3 ? color.rgb(185, 20, 214 , 50) : color.rgb(4, 143, 129, 50), textcolor=color.black, size=f_getLabelSize(input_labelSize), yloc=yloc.price)
if not na(label_MA4)
label.delete(label_MA4)
label_MA4 := label.new(bar_index + 20, MA_Value_Smooth4, text=str.tostring(TimeFrame_Trend4) + "_ " +str.tostring(MA_Type4) + " " + str.tostring(length4) + ": " + str.tostring(MA_Value_Smooth4, f_createDecimalFormat(input_decimalPlaces)), style=label.style_label_left, color = UP4 ? color.rgb(185, 20, 214 , 50) : color.rgb(4, 143, 129, 50), textcolor=color.black, size=f_getLabelSize(input_labelSize), yloc=yloc.price)
if not na(label_MA5)
label.delete(label_MA5)
label_MA5 := label.new(bar_index + 20, MA_Value_Smooth5, text=str.tostring(TimeFrame_Trend5) + "_ " +str.tostring(MA_Type5) + " " + str.tostring(length5) + ": " + str.tostring(MA_Value_Smooth5, f_createDecimalFormat(input_decimalPlaces)), style=label.style_label_left, color = UP5 ? color.rgb(185, 20, 214 , 50) : color.rgb(4, 143, 129, 50), textcolor=color.black, size=f_getLabelSize(input_labelSize), yloc=yloc.price)
if not na(label_MA6)
label.delete(label_MA6)
label_MA6 := label.new(bar_index + 20, MA_Value_Smooth6, text=str.tostring(TimeFrame_Trend6) + "_ " +str.tostring(MA_Type6) + " " + str.tostring(length6) + ": " + str.tostring(MA_Value_Smooth6, f_createDecimalFormat(input_decimalPlaces)), style=label.style_label_left, color = UP6 ? color.rgb(185, 20, 214 , 50) : color.rgb(4, 143, 129, 50), textcolor=color.black, size=f_getLabelSize(input_labelSize), yloc=yloc.price)
if not na(label_MA7)
label.delete(label_MA7)
label_MA7 := label.new(bar_index + 20, MA_Value_Smooth7, text=str.tostring(TimeFrame_Trend7) + "_ " +str.tostring(MA_Type7) + " " + str.tostring(length7) + ": " + str.tostring(MA_Value_Smooth7, f_createDecimalFormat(input_decimalPlaces)), style=label.style_label_left, color = UP7 ? color.rgb(185, 20, 214 , 50) : color.rgb(4, 143, 129, 50), textcolor=color.black, size=f_getLabelSize(input_labelSize), yloc=yloc.price)
if not na(label_MA8)
label.delete(label_MA8)
label_MA8 := label.new(bar_index + 20, MA_Value_Smooth8, text=str.tostring(TimeFrame_Trend8) + "_ " +str.tostring(MA_Type8) + " " + str.tostring(length8) + ": " + str.tostring(MA_Value_Smooth8, f_createDecimalFormat(input_decimalPlaces)), style=label.style_label_left, color = UP8 ? color.rgb(185, 20, 214 , 50) : color.rgb(4, 143, 129, 50), textcolor=color.black, size=f_getLabelSize(input_labelSize), yloc=yloc.price)
Cảm ơn bác!
a Nam ơi , a cho e xin view QNS mua và nắm giư được chưa ạ
A ơi, e xin bản vẽ cập nhật NVL, EVF được không ạ. Evf hiện rớt về 14k như a chỉ e trước đó rùi
Thấy bác mới hỏi ngày 28/3 giờ mới 9/4 chưa được 1/2 tháng nữa mà cập nhật gì được bác?
EVF bác Nam vẽ về vùng 12 mà nhỉ?
Mình nghĩ bác Nam nói vùng 14
Mình xin bản vẽ mới b. Qua vùng 20-22 thì nó thế nào ấy bn
NVL còn chưa vũng ở cứ điểm 18k mà bác đã muốn xem qua vùng 20-22 rồi
Thế tôi mới xin bản cập nhật đấy
Nó đang ở vùng hợp lý thôi chứ chưa vào rẻ, điểm mua và nắm giữ qua rồi, nếu muốn nắm giữ, có lẽ nên chờ. Dù nhà nước bảo trợ giá đường (chống bán phá giá, hạn chế nhập khẩu) nhưng cũng không khác biệt với thế giới quá được. Sữa đậu nành thì cơ bản bão hòa (duy trì). Nghiên cứu thêm để xem xét.
Nam nói nó mới điều chỉnh, nên chờ khoảng 12-14k.
Cảm ơn bác nhiều.
em cám ơn anh ạ !
Hehee a xuất hiện đúng lúc nên e tránh được ạ. Cảm ơn a nhiều
Hi anh Nam lâu quá mới thấy anh Onl hỗ trợ ace
Anh cho em xin chart CNG với nhé, em có gom vùng 27.5-28 và nắm giữ cũng được 5 tháng. Tks anh!