
“MACD RSI cân bằng một lần” là một chiến lược giao dịch định lượng sử dụng MACD, RSI và chỉ số cân bằng một lần. Chiến lược này nhằm mục đích theo dõi xu hướng và nắm bắt thời điểm mua và bán bằng cách phân tích các tín hiệu của MACD, RSI và biểu đồ đám mây cân bằng một lần. Chiến lược cho phép cài đặt các tham số chỉ số và chu kỳ giao dịch linh hoạt, phù hợp với phong cách giao dịch và thị trường khác nhau.
Trung tâm của chiến lược này là sự kết hợp của MACD, RSI và chỉ số cân bằng:
MACD RSI First Balance Ichimoku Dynamic Trend Multi-headed Strategy là một chiến lược giao dịch định lượng mạnh mẽ, sử dụng MACD, RSI và chỉ số First Balance để cân nhắc toàn diện về xu hướng và động lực, thể hiện khả năng nắm bắt xu hướng tốt và kiểm soát nhịp điệu trong thị trường có định hướng. Với các biện pháp tối ưu hóa tham số và kiểm soát rủi ro, chiến lược này có thể trở thành một công cụ mạnh mẽ để nắm bắt cơ hội thị trường và kiếm được lợi nhuận ổn định.
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// @ Julien_Eche
//@version=5
strategy("MACD RSI Ichimoku Strategy", overlay=true)
string t1 = ("If checked, this strategy is suitable for those who buy and sell. If unchecked, it is suitable for those who only want to take long positions—buying and closing buys.")
start_date = input(timestamp("1975-01-01T00:00:00"), title="Start Date")
end_date = input(timestamp("2099-01-01T00:00:00"), title="End Date")
// Input settings for Ichimoku Cloud lengths
length1 = input.int(9, title="Tenkan-sen Length", minval=1)
length2 = input.int(26, title="Kijun-sen Length", minval=1)
length3 = input.int(52, title="Senkou Span Length", minval=1)
// Calculate Ichimoku Cloud components based on input lengths
tenkanSen = ta.sma(high + low, length1) / 2
kijunSen = ta.sma(high + low, length2) / 2
senkouSpanA = ((tenkanSen + kijunSen) / 2)[length2]
senkouSpanB = ta.sma(high + low, length3) / 2
// Input settings for MACD parameters
macdFastLength = input(12, title="MACD Fast Length")
macdSlowLength = input(26, title="MACD Slow Length")
macdSignalLength = input(9, title="MACD Signal Length")
// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalLength)
// Input settings for RSI length
rsiLength = input(14, title="RSI Length")
// Calculate RSI
rsiValue = ta.rsi(close, rsiLength)
// Determine Buy/Sell behavior based on input
buySell = input(false, title="Buy/Sell", tooltip=t1)
// More sensitive entry conditions (Buy Only)
canEnter = ta.crossover(tenkanSen, kijunSen) or (close > senkouSpanA and close > senkouSpanB and macdLine > signalLine and rsiValue < 70)
// Enter long position (Buy) with time condition
if (canEnter)
strategy.entry("Buy", strategy.long)
// More sensitive exit conditions (Close Buy) with time condition
canExit = ta.crossunder(tenkanSen, kijunSen) or (close < senkouSpanA and close < senkouSpanB)
// Determine exit behavior based on user input
if buySell
// Sell to close long position (Short) with time condition
if (canExit )
strategy.entry("Sell", strategy.short)
else
// Sell to exit long position (Buy/Sell) with time condition
if (canExit )
strategy.close("Buy", comment="Sell for exit")