
Chiến lược giao dịch này kết hợp hai chỉ số kỹ thuật MACD và biểu đồ cân bằng một mắt nhằm nắm bắt xu hướng và thay đổi động lực trong thời gian trung bình. Chỉ số MACD bao gồm các đường nhanh, chậm và tín hiệu, sử dụng các thiết lập tham số 12, 26 và 9 để nhận biết chuyển động động và đảo ngược xu hướng.
Chiến lược này sử dụng chỉ số MACD và đám mây biểu đồ cân bằng đầu tiên để tạo ra tín hiệu mua và bán. Khi giá vượt qua đám mây cân bằng đầu tiên và MACD vượt qua đường tín hiệu trên đường, nó sẽ kích hoạt tín hiệu mua, cho thấy xu hướng giảm giá. Khi giá vượt qua đám mây cân bằng đầu tiên và MACD vượt qua đường tín hiệu dưới đường, nó sẽ kích hoạt tín hiệu bán, cho thấy xu hướng giảm giá.
Chiến lược giao dịch MACD động và biểu đồ cân bằng đầu tiên cung cấp một phương pháp mạnh mẽ, kết hợp hai chỉ số kỹ thuật phổ biến để xác định xu hướng và động lực thay đổi trong thời gian trung bình. Với tiêu chuẩn mua và bán được xác định rõ ràng, và hướng dẫn quản lý rủi ro, chiến lược này nhằm giúp các nhà giao dịch đưa ra quyết định thông minh, kiểm soát rủi ro và tối đa hóa lợi nhuận. Tuy nhiên, các nhà giao dịch nên tối ưu hóa và tùy chỉnh chiến lược theo phong cách giao dịch và đặc điểm thị trường của họ và liên tục giám sát hiệu suất của nó. Với sự điều chỉnh và rủi ro thích hợp, chiến lược này có thể trở thành một bổ sung quý giá cho hộp công cụ của các nhà giao dịch.
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MACD and Ichimoku Cloud Strategy", overlay=true)
// MACD Components
fastLength = 12
slowLength = 26
signalLength = 9
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength)
// Ichimoku Cloud Components
tenkanLength = 9
kijunLength = 26
senkouLength = 52
displacement = 26
tenkanSen = (ta.highest(high, tenkanLength) + ta.lowest(low, tenkanLength)) / 2
kijunSen = (ta.highest(high, kijunLength) + ta.lowest(low, kijunLength)) / 2
senkouSpanA = (tenkanSen + kijunSen) / 2
senkouSpanB = (ta.highest(high, senkouLength) + ta.lowest(low, senkouLength)) / 2
chikouSpan = close[displacement]
// Plot Ichimoku Cloud
plot(tenkanSen, color=color.red, title="Tenkan-sen")
plot(kijunSen, color=color.blue, title="Kijun-sen")
p1 = plot(senkouSpanA, color=color.green, title="Senkou Span A", offset=displacement)
p2 = plot(senkouSpanB, color=color.orange, title="Senkou Span B", offset=displacement)
fill(p1, p2, color=senkouSpanA > senkouSpanB ? color.new(color.green, 90) : color.new(color.red, 90))
// Define Buy and Sell Conditions
macdBuy = ta.crossover(macdLine, signalLine)
ichimokuBuy = (close > senkouSpanA) and (close > senkouSpanB) and (tenkanSen > kijunSen)
buySignal = macdBuy and ichimokuBuy
macdSell = ta.crossunder(macdLine, signalLine)
ichimokuSell = (close < senkouSpanA) and (close < senkouSpanB) and (tenkanSen < kijunSen) and (tenkanSen[displacement] < math.min(senkouSpanA, senkouSpanB))
sellSignal = macdSell and ichimokuSell
// Execute Buy or Sell orders
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.entry("Sell", strategy.short)
// Setting up the stop loss and take profit
stopLossPerc = 5.0
takeProfitPerc = 10.0
strategy.exit("Exit Buy", "Buy", loss=stopLossPerc, profit=takeProfitPerc)
strategy.exit("Exit Sell", "Sell", loss=stopLossPerc, profit=takeProfitPerc)
// Plot Buy and Sell Signals
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")