
Strategi ini didasarkan pada pergerakan K-line berturut-turut, dengan membandingkan harga penutupan saat ini dengan harga penutupan tiga K-line sebelumnya untuk menentukan apakah posisi dibuka. Ketika tiga K-line berturut-turut naik, posisi dibuka secara berturut-turut, sebaliknya, posisi ditutup.
Strategi ini digunakan untuk membuat keputusan pembukaan posisi dengan menilai tren K-line secara berturut-turut, sekaligus mengontrol risiko dengan menggunakan metode stop loss yang dinamis. Logika strategi ini jelas, mudah dimengerti dan diimplementasikan, dan berlaku untuk berbagai pasar dan varietas. Namun, dalam penerapan praktis, perlu memperhatikan risiko non-tren di pasar dan mengoptimalkan parameter seperti persentase stop loss. Selain itu, pengenalan lebih banyak indikator teknis, manajemen posisi, dan metode lainnya dapat meningkatkan kinerja strategi lebih lanjut.
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("4 Candle Entry and Exit Strategy", overlay=true)
// Define the stop loss percentage
stopLossPercent = input.float(11, title="Stop Loss Percentage", minval=0.1) / 100
// Identify if the previous 3 candles are consecutively higher
longCondition = close[3] > close[4] and close[2] > close[3] and close[1] > close[2]
// Identify if the previous 3 candles are consecutively lower
exitCondition = close[3] < close[4] and close[2] < close[3] and close[1] < close[2]
// Initialize the entry price and stop loss variables
var float entryPrice = na
var float stopLoss = na
// Update the entry price and stop loss if the long condition is met
if (longCondition)
entryPrice := close[1]
stopLoss := entryPrice * (1 - stopLossPercent)
// Enter the long position at the open of the 4th candle
if (longCondition)
strategy.entry("Long", strategy.long, qty=1)
// Exit the position if exit condition is met or stop loss is hit
if (exitCondition or (strategy.position_size > 0 and low <= stopLoss))
strategy.close("Long")
// Optional: Plot the entry and exit signals on the chart
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(series=exitCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")