Strategi ini adalah sistem perdagangan trend-mengikuti yang menggabungkan beberapa indikator teknis. Ini mengintegrasikan RSI (Relative Strength Index), MACD (Moving Average Convergence Divergence), dan SMA (Simple Moving Average) untuk mengeksekusi perdagangan ketika tren pasar didefinisikan dengan jelas. Strategi ini juga menggabungkan mengambil keuntungan, stop loss, dan trailing stop mekanisme untuk manajemen risiko yang lebih baik.
Strategi ini mengeksekusi perdagangan berdasarkan kondisi inti berikut:
Ketika semua kondisi ini terpenuhi secara bersamaan, sistem menghasilkan sinyal panjang. Selain itu, strategi menetapkan target keuntungan 5%, batas stop loss 3%, dan stop trailing 2% untuk melindungi keuntungan yang terkumpul. Pendekatan multi-layer untuk kondisi perdagangan ini membantu meningkatkan akurasi dan keamanan.
Strategi ini menetapkan sistem perdagangan yang komprehensif melalui kombinasi beberapa indikator teknis. Ini mencakup kedua logika mengikuti tren dan pertimbangan manajemen risiko. Meskipun ada bidang untuk optimasi, kerangka kerja keseluruhan memberikan skalabilitas dan kemampuan beradaptasi yang baik. Implementasi yang sukses mengharuskan pedagang untuk mengoptimalkan parameter dan meningkatkan strategi berdasarkan kondisi pasar yang sebenarnya.
/*backtest start: 2024-12-03 00:00:00 end: 2024-12-10 00:00:00 period: 45m basePeriod: 45m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Flexible Swing Trading Strategy with Trailing Stop and Date Range", overlay=true) // Input parameters rsiPeriod = input.int(14, title="RSI Period") macdFastLength = input.int(12, title="MACD Fast Length") macdSlowLength = input.int(26, title="MACD Slow Length") macdSignalSmoothing = input.int(9, title="MACD Signal Smoothing") smaShortPeriod = input.int(20, title="Short-term SMA Period") smaLongPeriod = input.int(50, title="Long-term SMA Period") takeProfitPercent = input.float(5.0, title="Take Profit Percentage") stopLossPercent = input.float(3.0, title="Stop Loss Percentage") trailingStopPercent = input.float(2.0, title="Trailing Stop Percentage") // Date range inputs startDate = input(timestamp("2023-01-01 00:00"), title="Start Date") endDate = input(timestamp("2023-12-31 23:59"), title="End Date") // Calculate RSI rsi = ta.rsi(close, rsiPeriod) // Calculate MACD [macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalSmoothing) // Calculate SMAs smaShort = ta.sma(close, smaShortPeriod) smaLong = ta.sma(close, smaLongPeriod) // Buy condition buyCondition = ta.crossover(macdLine, signalLine) and rsi < 70 and close > smaShort and smaShort > smaLong // Execute buy orders within the date range if (buyCondition ) strategy.entry("Buy", strategy.long) // Calculate take profit and stop loss levels takeProfitLevel = strategy.position_avg_price * (1 + takeProfitPercent / 100) stopLossLevel = strategy.position_avg_price * (1 - stopLossPercent / 100) // Set take profit, stop loss, and trailing stop strategy.exit("Take Profit", "Buy", limit=takeProfitLevel) strategy.exit("Stop Loss", "Buy", stop=stopLossLevel) strategy.exit("Trailing Stop", "Buy", trail_price=close * (1 - trailingStopPercent / 100), trail_offset=trailingStopPercent / 100) // Plot Buy signals plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") // Plot SMAs plot(smaShort, color=color.blue, title="20 SMA") plot(smaLong, color=color.red, title="50 SMA") // Plot MACD and Signal Line plot(macdLine, color=color.blue, title="MACD Line") plot(signalLine, color=color.orange, title="Signal Line") // Plot RSI hline(70, "Overbought", color=color.red) hline(30, "Oversold", color=color.green) plot(rsi, color=color.purple, title="RSI") // Debugging plots plotchar(buyCondition , char='B', location=location.belowbar, color=color.green, size=size.small) plotchar(strategy.opentrades > 0, char='T', location=location.abovebar, color=color.blue, size=size.small) plot(stopLossLevel, color=color.red, title="Stop Loss Level") plot(takeProfitLevel, color=color.green, title="Take Profit Level")