Đoản khúc cuộc đời

Tiết lộ lại có kẻ xấu bảo “lùa gà”, nên thôi bác ạ! Với tính cách a Nam thì mình chắc chắn a í k tiết lộ bác đâu kkk

5 Likes

Trên thị trường này đúng sai tự chủ chứ sao lại đổ lỗi tại người được. ai có nhiều kinh nghiệm thì khả năng chọn lựa sẽ tốt hơn.

Dạ hóng ké ạ dù biết là mã đánh sóng chắc a k nói đâu còn mã cầm dài thì a có chia sẻ nhiều lần r ạ. :smile:

2 Likes

Anh Nam ơi, anh xem lại giúp em DPG và CSC với ạ? Có thay đổi gì không anh?

1 Likes

Em tham khảo cái này:

Chưa có gì thay đổi so với bản cũ nhiều quá:

4 Likes

Cập nhật thêm chút:
DPG:

CSC:


Bản vẽ cũ: Chưa qua được cản đáy (nét đỏ)

3 Likes

Anh nếu có đánh sóng thì lướt trên mã có sẵn là chiến lược tổng hợp mấy chiến lược anh đã nói. Vào hàng mới trừ khi các mã chiết khấu 30-50% tùy mã, khi đó chắc chắn có ăn 20-50% anh mới đánh sóng. Lâu rồi anh không đánh sóng, thỉnh thoảng đánh phái sinh để cải thiện scripts.

10 Likes

Anh @Bach_nam xem giúp em NHH với a? Em cảm ơn.

2 Likes

Dưới 13k bắt đầu rẻ.

2 Likes

Em cảm ơn !

1 Likes

Bác chủ cho xin đánh giá về AGG ạ, tìm trong topic không thấy :frowning:

1 Likes

Em cảm ơn anh ạ

2 Likes

Nó không có nhiều dữ liệu lắm nên cơ sở cũng không nhiều. Nó đang test lại đáy nên quan sát khu đánh dấu. Kỳ vọng đảo được trend.

4 Likes

cụ @Bach_nam có thể cho xin tranh của ASM, CTG với FCN được không? cám ơn cụ nhiều!

2 Likes

Bộ ba:
ASM: Cơ bản đạt, gần đạt mục tiêu ở nhận định cũ.

FCN: Xác suất vượt đỉnh vừa rồi hơi thấp.

CTG: Cơ bản khá sát bài, còn một mục tiêu vượt đỉnh nhưng hơi rủi ro. Nét vẽ mới chỉ có xanh và đỏ.

3 Likes

vâng cám ơn cụ nhiều!

2 Likes

Hiệu suất chương trình của bác thế nào ạ?

1 Likes

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%.
image

8 Likes

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 ý ạ.

2 Likes

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)


7 Likes