
Chiến lược này dựa trên đường trung bình di chuyển đơn giản (SMA) của nhiều chu kỳ thời gian khác nhau để đánh giá xu hướng thị trường và phát tín hiệu mua bán. Chiến lược sử dụng bốn đường SMA của 20, 50, 100 và 200. Khi đi qua SMA ngắn hạn, hãy làm nhiều hơn; khi đi qua SMA dài hạn, hãy làm trống.
Lập luận cốt lõi của chiến lược này dựa trên những điểm sau:
Tính toán SMA cho nhiều chu kỳ thời gian khác nhau, bao gồm đường 20, 50, 100 và 200.
Xác định sự giao thoa của SMA ngắn hạn (đường 20 ngày) và SMA dài hạn (đường 50, 100, 200 ngày).
Khi 20 ngày trên đường đi qua đường 50 ngày, đánh giá là tín hiệu vàng, làm nhiều; khi 20 ngày dưới đường đi qua đường 50 ngày, đánh giá là tín hiệu chết, làm trống.
Trong khi đó, đường 50 ngày, đường 100 ngày và đường 200 ngày đáp ứng logic phán đoán xu hướng lớn, tức là SMA có chu kỳ dài nằm trên SMA có chu kỳ ngắn hơn.
Ưu tiên tín hiệu vào: 20 ngày và 50 ngày > 20 ngày và 100 ngày > 20 ngày và 200 ngày.
Tín hiệu xuất phát là đường 20 ngày và đi qua đường 50 ngày.
Chiến lược này dựa chủ yếu vào sự giao nhau của đường SMA để đánh giá xu hướng. Trong thị trường bò, trên SMA ngắn hạn, đeo SMA dài là tín hiệu vàng, cho thấy thị trường có thể đi vào xu hướng; trong thị trường gấu, dưới SMA ngắn hạn, đeo SMA dài là tín hiệu chết, cho thấy thị trường có thể đi vào điều chỉnh. Ngoài ra, SMA dài hơn SMA ngắn hơn cũng là cơ sở để xác nhận xu hướng lớn.
Chiến lược này có một số ưu điểm:
Ý tưởng chiến lược đơn giản, rõ ràng, dễ hiểu và dễ thực hiện.
Sử dụng moving average của chỉ số SMA, nó có thể lọc tiếng ồn thị trường và nhận biết xu hướng hiệu quả hơn EMA.
Việc sử dụng nhiều nhóm thời gian SMA kết hợp với nhau có thể làm tăng độ tin cậy của tín hiệu.
Đặt ưu tiên tín hiệu vào phòng hợp lý, tránh vào phòng quá sớm.
Có thể tùy chỉnh chu kỳ SMA và màu sắc, chiến lược tối ưu hóa.
Có thể sử dụng trong nhiều chu kỳ thời gian, phù hợp với phong cách giao dịch khác nhau.
Hệ thống chéo SMA rất chính xác trong việc đánh giá xu hướng thị trường lớn.
Chiến lược này cũng có những rủi ro sau:
Trong các trường hợp chấn động, tín hiệu giao chéo SMA thường xuyên và có thể tạo ra một số lượng lớn tín hiệu sai.
Chu kỳ SMA cố định không thể thích ứng với sự thay đổi của thị trường, nên kết hợp các tham số SMA tối ưu hóa xu hướng và biến động.
Chỉ số giao dịch SMA không thể xác định được thời gian nhập cảnh, nên kết hợp với các chỉ số khác như MACD hỗ trợ phán đoán.
SMA có tính chất chậm trễ, nên tối ưu hóa thời gian nhập cảnh trước hoặc sử dụng phiếu giá giới hạn.
Chiến lược này đòi hỏi quản lý quỹ giao dịch cao và phải tuân thủ chặt chẽ logic dừng lỗ.
Các chi phí giao dịch phải được xem xét đầy đủ về tác động của chúng đối với lợi nhuận chiến lược.
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Tối ưu hóa tham số chu kỳ SMA, các tham số chu kỳ khác nhau phù hợp với các điều kiện thị trường khác nhau, có thể kết hợp với tối ưu hóa động ATR.
Thêm kết hợp các chỉ số khác như MACD, RSI, v.v. để hỗ trợ lọc thời gian nhập cảnh
Thêm logic phán đoán xu hướng, chẳng hạn như ADX, để tránh giao dịch sai lầm trong thị trường xung đột.
Tối ưu hóa phương thức dừng lỗ, có thể dừng lỗ theo ATR hoặc theo dõi dừng lỗ.
Tối ưu hóa quản lý vị trí, điều chỉnh mỗi vị trí theo quy mô tài chính.
Kiểm tra hiệu quả của các tham số của các giống khác nhau, điều chỉnh chu kỳ SMA theo đặc tính.
Kết hợp nhiều khung thời gian để đảm bảo xu hướng chu kỳ lớn nhất quán.
Nhìn chung, chiến lược SMA Gold Fork Dead Fork có độ tin cậy cao, phù hợp với hầu hết các nhà giao dịch. Tuy nhiên, nó có một số vấn đề về sự chậm trễ và tín hiệu sai. Chúng ta nên tiếp tục hoàn thiện chiến lược này từ việc tối ưu hóa thời gian nhập cảnh, cách dừng lỗ, quản lý vị trí, để nó có thể có khả năng lợi nhuận ổn định trong các môi trường thị trường khác nhau. Việc sử dụng tổng hợp nhiều chỉ số kỹ thuật và phán đoán xu hướng để chiến lược theo dõi xu hướng thực sự ổn định, hiệu quả và đáng tin cậy.
/*backtest
start: 2023-10-14 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © xyzdesign1989
//@version=5
strategy("SMA crossover buy/sell [SCSM_Algo]", overlay=true, margin_long=3000, margin_short=3000)
BuyCond = ta.crossover(ta.sma(close, 20), ta.sma(close, 50)) and ta.sma(close, 20) > ta.sma(close, 50) and ta.sma(close, 50) > ta.sma(close, 100) and ta.sma(close, 100) > ta.sma(close, 200) or (ta.crossover(ta.sma(close, 20), ta.sma(close, 100)) and ta.sma(close, 20) > ta.sma(close, 50))
if (BuyCond)
strategy.entry("SCSM 🤲 Buy", strategy.long)
SellCond = ta.crossunder(ta.sma(close, 20), ta.sma(close, 50))
if (SellCond)
strategy.entry("الحمد للہ،Sell", strategy.short)
ma(source, length, type) =>
type == "SMA" ? ta.sma(source, length) :
type == "EMA" ? ta.ema(source, length) :
type == "SMMA (RMA)" ? ta.rma(source, length) :
type == "WMA" ? ta.wma(source, length) :
type == "VWMA" ? ta.vwma(source, length) :
na
show_ma1 = input(true , "MA №1", inline="MA #1")
ma1_type = input.string("SMA" , "" , inline="MA #1", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
ma1_source = input(close , "" , inline="MA #1")
ma1_length = input.int(20 , "" , inline="MA #1", minval=1)
ma1_color = input(#0929f6, "" , inline="MA #1")
ma1 = ma(ma1_source, ma1_length, ma1_type)
plot(show_ma1 ? ma1 : na, color = ma1_color, title="MA №1")
show_ma2 = input(true , "MA №2", inline="MA #2")
ma2_type = input.string("SMA" , "" , inline="MA #2", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
ma2_source = input(close , "" , inline="MA #2")
ma2_length = input.int(50 , "" , inline="MA #2", minval=1)
ma2_color = input(#00fb04, "" , inline="MA #2")
ma2 = ma(ma2_source, ma2_length, ma2_type)
plot(show_ma2 ? ma2 : na, color = ma2_color, title="MA №2")
show_ma3 = input(true , "MA №3", inline="MA #3")
ma3_type = input.string("SMA" , "" , inline="MA #3", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
ma3_source = input(close , "" , inline="MA #3")
ma3_length = input.int(100 , "" , inline="MA #3", minval=1)
ma3_color = input(#131313, "" , inline="MA #3")
ma3 = ma(ma3_source, ma3_length, ma3_type)
plot(show_ma3 ? ma3 : na, color = ma3_color, title="MA №3")
show_ma4 = input(true , "MA №4", inline="MA #4")
ma4_type = input.string("SMA" , "" , inline="MA #4", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
ma4_source = input(close , "" , inline="MA #4")
ma4_length = input.int(200 , "" , inline="MA #4", minval=1)
ma4_color = input(#f60c0c, "" , inline="MA #4")
ma4 = ma(ma4_source, ma4_length, ma4_type)
plot(show_ma4 ? ma4 : na, color = ma4_color, title="MA №4")