Chiến lược MACD + SMA 200

Tác giả:ChaoZhang, Ngày: 2022-05-07 17:13:32
Tags:MACD

Dưới đây là sự kết hợp của MACD cổ điển (dấu hiệu biến đổi biến đổi trung bình động) với SMA trung bình động chậm cổ điển với giai đoạn 200 cùng với nhau như một chiến lược.

Chiến lược này đi dài nếu biểu đồ MACD và động lực MACD đều trên 0 và trung bình di chuyển MACD nhanh trên trung bình di chuyển MACD chậm. Là bộ lọc dài bổ sung, giá gần đây phải trên SMA 200. Nếu logic ngược là đúng, chiến lược đi ngắn. Đối với trường hợp tồi tệ nhất, có lỗ cổ phần nội ngày tối đa 50% bộ lọc.

Tiết kiệm thêm 999 đô với chiến lược miễn phí của tôi.

Chiến lược này hoạt động trong backtest trên biểu đồ hàng ngày của Bitcoin, cũng như trên biểu đồ hàng ngày của S&P 500 và Dow Jones Industrial Average. Hiệu suất hiện tại vào ngày 30 tháng 11 năm 2015 trên SPX500 CFD hàng ngày là tỷ lệ lợi nhuận: 68% kể từ năm 1970 với tỷ lệ lợi nhuận 6,4. Hiệu suất hiện tại vào ngày 30 tháng 11 năm 2015 trên chỉ số DOWI hàng ngày là tỷ lệ lợi nhuận: 51% kể từ năm 1915 với tỷ lệ lợi nhuận 10,8.

Tất cả các giao dịch đều liên quan đến rủi ro cao; hiệu suất trong quá khứ không nhất thiết là chỉ báo về kết quả trong tương lai. Kết quả thực hiện giả thuyết hoặc mô phỏng có một số hạn chế vốn có. Không giống như một hồ sơ hiệu suất thực tế, kết quả mô phỏng không đại diện cho giao dịch thực tế. Ngoài ra, vì các giao dịch chưa thực hiện thực tế, kết quả có thể đã được bù đắp quá mức hoặc quá mức cho tác động của một số yếu tố thị trường, chẳng hạn như thiếu thanh khoản. Các chương trình giao dịch mô phỏng nói chung cũng phải tuân theo thực tế là chúng được thiết kế với lợi ích sau lưng. Không có đại diện nào được thực hiện rằng bất kỳ tài khoản nào sẽ hoặc có khả năng đạt được lợi nhuận hoặc lỗ tương tự như những tài khoản được hiển thị.

backtest

img


/*backtest
start: 2021-05-06 00:00:00
end: 2022-05-05 23:59:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("MACD + SMA 200 Strategy (by ChartArt)", shorttitle="CA_-_MACD_SMA_strategy", overlay=true)

// ChartArt's MACD + SMA 200 Strategy
//
// Version 1.0
// Idea by ChartArt on November 30, 2015.
//
// Here is a combination of the MACD with the
// slow moving average SMA 200 as a strategy.
//
// This strategy goes long if the MACD histogram
// and the MACD momentum are both above zero and
// the fast MACD moving average is above the
// slow MACD moving average. As additional long filter
// the recent price has to be above the SMA 200.
// If the inverse logic is true, the strategy
// goes short. For the worst case there is a
// max intraday equity loss of 50% filter.


// Input
source = input(close)
fastLength = input(12, minval=1, title="MACD fast moving average")
slowLength=input(26,minval=1, title="MACD slow moving average")
signalLength=input(9,minval=1, title="MACD signal line moving average")
veryslowLength=input(200,minval=1, title="Very slow moving average")
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Moving Averages?")
switch3=input(true, title="Enable Background Color?")

// Calculation
fastMA = ta.sma(source, fastLength)
slowMA = ta.sma(source, slowLength)
veryslowMA = ta.sma(source, veryslowLength)
macd = fastMA - slowMA
signal = ta.sma(macd, signalLength)
hist = macd - signal

// Colors
MAtrendcolor = change(veryslowMA) > 0 ? color.green : color.red
trendcolor = fastMA > slowMA and change(veryslowMA) > 0 and close > slowMA ? color.green : fastMA < slowMA and change(veryslowMA) < 0 and close < slowMA ? color.red : color.blue
bartrendcolor = close > fastMA and close > slowMA and close > veryslowMA and change(slowMA) > 0 ? color.green : close < fastMA and close < slowMA and close < veryslowMA and change(slowMA) < 0 ? color.red : color.blue
backgroundcolor = slowMA > veryslowMA and crossover(hist, 0) and macd > 0 and fastMA > slowMA and close[slowLength] > veryslowMA ? color.green : slowMA < veryslowMA and crossunder(hist, 0) and macd < 0 and fastMA < slowMA and close[slowLength] < veryslowMA ? color.red : na
//bgcolor(switch3?backgroundcolor:na,transp=80)
//barcolor(switch1?bartrendcolor:na)

// Output
F=plot(switch2?fastMA:na,color=trendcolor)
S=plot(switch2?slowMA:na,color=trendcolor,linewidth=2)
V=plot(switch2?veryslowMA:na,color=MAtrendcolor,linewidth=4)
//fill(F,V,color=gray)

// Strategy
buyprice = low
sellprice = high
cancelLong = slowMA < veryslowMA
cancelShort = slowMA > veryslowMA


if crossover(hist, 0) and macd > 0 and fastMA > slowMA and close[slowLength] > veryslowMA 
    strategy.entry("MACDLE", strategy.long, stop=buyprice, comment="Bullish")

else if crossunder(hist, 0) and macd < 0 and fastMA < slowMA and close[slowLength] < veryslowMA 
    strategy.entry("MACDSE", strategy.short, stop=sellprice, comment="Bearish")

//maxIdLossPcnt = input(50, "Max Intraday Loss(%)", type=float)
//strategy.risk.max_intraday_loss(maxIdLossPcnt, strategy.percent_of_equity)

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Có liên quan

Thêm nữa