
Chiến lược này kết hợp các đường trung bình di chuyển (SMA), đường trung bình thực tế (ATR), đường cong (CCI) và đường Brin để phát hiện xu hướng giá ngắn hạn và trung hạn, hỗ trợ quyết định giao dịch.
Chiến lược này sử dụng đường cong SMA của bốn chu kỳ khác nhau để xác định hướng xu hướng của giá cả, bao gồm các đường 5, 10, 50 và 200. ATR được sử dụng để đo lường sự biến động của thị trường và thiết lập điểm dừng. CCI được sử dụng để xác định trường hợp mua quá mức và bán quá mức.
Khi đeo SMA ngắn hạn (đường 5 và 10 ngày) trên SMA dài hạn (đường 50 và 200 ngày), hãy làm nhiều hơn. Khi đeo SMA dài hạn dưới SMA ngắn hạn, hãy làm trắng. CCI lớn hơn 100 giờ bán, nhỏ hơn 100 giờ mua.
Chiến lược này kết hợp với phán đoán xu hướng của moving average và phán đoán mua bán quá mức của CCI, có thể nắm bắt cơ hội thị trường một cách hiệu quả. Đặc biệt là hiệu quả giao dịch ngắn hạn và trung hạn tốt hơn. Ngoài ra, kiểm soát rủi ro là khoa học, có thể tránh thiệt hại tối đa.
Chiến lược này là bảo thủ hơn, dễ gây ra các tín hiệu bị bỏ lỡ. Khi thị trường biến động hoặc xu hướng đảo ngược, dừng có thể được kích hoạt sớm hơn. Ngoài ra, cài đặt tham số không đúng cũng có thể ảnh hưởng đến hiệu quả.
Bạn có thể cố gắng tối ưu hóa các tham số của SMA để nó gần gũi hơn với tình trạng thị trường hiện tại. Bạn cũng có thể điều chỉnh chênh lệch chuẩn của Brin để nó phù hợp hơn với ngưỡng kháng cự hỗ trợ. Ngoài ra, bạn có thể xem xét thêm các chỉ số hỗ trợ khác, chẳng hạn như KDJ, MACD, v.v.
Chiến lược này tích hợp nhiều công cụ phân tích để đánh giá thị trường, có thể nhận được lợi nhuận đầu tư tốt khi các tham số được thiết lập đúng. Quy tắc dừng lỗ của nó cũng làm cho rủi ro có thể kiểm soát được.
/*backtest
start: 2023-02-23 00:00:00
end: 2024-02-29 00:00:00
period: 1d
basePeriod: 1h
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/
// © maizirul959
//@version=4
strategy("MACD,RSI & EMA strategy with MA+PSAR by MAM", overlay=true)
//Input Data
_ema_len1 = input(5, title="EMA1 length")
_ema_len2 = input(20, title="EMA2 length")
_macd_fast = input(12, title="MACD Fast")
_macd_slow = input(26, title="MACD Slow")
_macd_signal_len = input(20, title="MACD Signal length")
//MAM add SMA
_sma_len1 = input(5, title="SMA1 Length")
_sma_len2 = input(10, title="SMA2 Length")
_sma_len3 = input(50, title="SMA3 Length")
_sma_len4 = input(200, title="SMA4 Length")
lineWidth = input(1, minval=1, title="Line width")
src = input(close, title="Source")
SMA1 = if _sma_len1 != 0
sma(src, _sma_len1)
SMA2 = if _sma_len2 != 0
sma(src, _sma_len2)
SMA3 = if _sma_len3 != 0
sma(src, _sma_len3)
SMA4 = if _sma_len4 != 0
sma(src, _sma_len4)
//__________________________________________________________________________
_rsi_len = input(14, title="RSI length")
_rsi_signal_len = input(20, title="RSI signal length")
//_________________________________________________________________________
//MAM Add PSAR
PSAR_start = input(0.02)
PSAR_increment = input(0.02)
PSAR_maximum = input(0.2)
psar = sar(PSAR_start, PSAR_increment, PSAR_maximum)
//_________________________________________________________________________
_ema1 = ema(close, _ema_len1)
_ema2 = ema(close, _ema_len2)
//_________________________________________________________________________
//MAM add SMA
//_sma1 = ema(close, _sma_len1)
//_sma2 = ema(close, _sma_len2)
//_________________________________________________________________________
_macd = ema(close, _macd_fast) - ema(close, _macd_slow)
_macd_signal = ema(_macd, _macd_signal_len)
_rsi = rsi(close, _rsi_len)
_rsi_signal = ema(_rsi, _rsi_signal_len)
//PLOT SMA
plot(SMA1, color=#B71C1C, title="SMA1", linewidth=lineWidth)
plot(SMA2, color=#FFFF00, title="SMA2", linewidth=lineWidth)
plot(SMA3, color=#5b34ff, title="SMA3", linewidth=lineWidth)
plot(SMA4, color=#d7d7d7, title="SMA4", linewidth=lineWidth)
//PLOT PSAR
plot(psar, "ParabolicSAR", style=plot.style_cross, color=#3A6CA8)
//plot(_rsi, color=color.yellow)
//plot(_rsi_signal, color=color.green)
//plot(_macd, color=color.blue)
//plot(_macd_signal, color=color.red)
longCondition = close > _ema1 and close > _ema2 and _macd > _macd_signal and _rsi > _rsi_signal
if (longCondition)
strategy.entry("Buy",strategy.long)
shortCondition = close < _ema1 and close <_ema2 and _macd < _macd_signal and _rsi < _rsi_signal
if (shortCondition)
strategy.entry("Sell",strategy.short)