Chiến lược biểu đồ MACD


Ngày tạo: 2023-12-25 11:45:10 sửa đổi lần cuối: 2023-12-25 11:45:10
sao chép: 0 Số nhấp chuột: 832
1
tập trung vào
1623
Người theo dõi

Chiến lược biểu đồ MACD

Tổng quan

Chiến lược này dựa trên MACD của chỉ số RSI để tạo tín hiệu giao dịch. Nó kết hợp các tính năng của chỉ số RSI để đánh giá thị trường quá mua quá bán, và lợi thế của MACD để đánh giá xu hướng thị trường và động lực thay đổi, thiết kế một chiến lược cung cấp tín hiệu giao dịch tổng hợp sử dụng nhiều chỉ số.

Nguyên tắc chiến lược

Chiến lược này đầu tiên tính toán chỉ số RSI, sau đó tính toán chỉ số MACD dựa trên chỉ số RSI. Chỉ số RSI có thể đánh giá tình trạng quá mua quá bán của thị trường, và chỉ số MACD có thể nắm bắt xu hướng và động lực của thị trường.

Cụ thể, chiến lược đầu tiên tính toán chỉ số RSI 14 chu kỳ. Sau đó, tính toán chỉ số MACD dựa trên chỉ số RSI, bao gồm đường trung bình EMA 12 chu kỳ và 26 chu kỳ, và đường tín hiệu 9 chu kỳ.

Tín hiệu mua được tạo ra khi MACD đi qua 0 trên trục; tín hiệu bán được tạo ra khi MACD đi qua 0 dưới trục. Như vậy, sử dụng RSI để đánh giá thị trường quá mua quá bán, đồng thời sử dụng MACD để đánh giá xu hướng thị trường và động lực thay đổi, để tạo tín hiệu giao dịch.

Lợi thế chiến lược

Chiến lược này kết hợp lợi thế của cả hai chỉ số RSI và MACD, cho phép đánh giá toàn diện hơn về tình trạng của thị trường và tín hiệu đáng tin cậy hơn.

  1. Sử dụng RSI để đánh giá tình trạng quá mua quá bán, giúp lựa chọn cổ phiếu và ngăn chặn phá vỡ giả.

  2. Chỉ số MACD đánh giá xu hướng và động lực, tín hiệu giao dịch rõ ràng hơn.

  3. RSI kết hợp với MACD, kết hợp nhiều yếu tố để đánh giá, có thể lọc các tín hiệu giả.

Rủi ro chiến lược

  1. Các thiết lập tham số của RSI và MACD có thể ảnh hưởng đến hiệu suất của chiến lược và cần điều chỉnh để tối ưu hóa.

  2. Sự kết hợp nhiều chỉ số làm tăng sự phức tạp của chiến lược và tăng khả năng sai lầm.

  3. Các tín hiệu giao dịch của MACD có thể bị chậm trễ, cần kết hợp với các chỉ số khác để hỗ trợ phán đoán.

Tối ưu hóa chiến lược

  1. Tối ưu hóa các tham số của RSI và MACD để tìm ra sự kết hợp tốt nhất.

  2. Thêm các chỉ số khác, chẳng hạn như KDJ, Brin, v.v., để tạo ra các cụm chỉ số, cải thiện độ chính xác của tín hiệu.

  3. Tham gia chiến lược dừng lỗ để kiểm soát tổn thất đơn lẻ.

  4. Tối ưu hóa logic mở kho và hòa bình kho, ngăn chặn tín hiệu xung đột.

Tóm tắt

Chiến lược này sử dụng lợi thế của cả hai chỉ số RSI và MACD để tạo ra tín hiệu giao dịch. Nó đánh giá xu hướng và động lực đồng thời xem xét xu hướng và động lực của quá mua quá bán, có thể lọc hiệu quả tín hiệu giả, tín hiệu chất lượng cao. Bước tiếp theo là cải thiện chiến lược hơn nữa bằng các phương tiện như tối ưu hóa tham số, chiến lược dừng lỗ và thêm các chỉ số khác để làm cho tín hiệu của nó chính xác hơn và đáng tin cậy.

Mã nguồn chiến lược
/*backtest
start: 2022-12-18 00:00:00
end: 2023-12-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy(title = "MACD of RSI", overlay = false)
//////////////////////// RSI ///////////////////////////

src = close, len = input(14, minval=1, title="Length")

up = sma(max(change(src), 0), len)

down = sma(-min(change(src), 0), len)

rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

//////////////////////// RSI   //////////////////////////

//////////////// MACD  ////////////////////////////

sourcemacd = rsi

fastLength = input(12, minval=1), slowLength=input(26,minval=1)

signalLength=input(9,minval=1)


fastMA = ema(sourcemacd, fastLength)

slowMA = ema(sourcemacd, slowLength)

macd = fastMA - slowMA

signal = ema(macd, signalLength)

delta=macd-signal

swap1 = delta>0?green:red


plot(delta,color=swap1,style=columns,title='Histo',histbase=0,transp=20)

p1 = plot(macd,color=blue,title='MACD Line')

p2 = plot(signal,color=red,title='Signal')

fill(p1, p2, color=blue)

hline(0)

/////////////////////////MACD  //////////////////////////

// Conditions

longCond = na

sellCond = na

longCond :=  crossover(delta,0)

sellCond :=  crossunder(delta,0)

monthfrom =input(6)

monthuntil =input(12)

dayfrom=input(1)

dayuntil=input(31)

if (  longCond   )

    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY")

else

    strategy.cancel(id="BUY")

if ( sellCond   )

    strategy.close("BUY")