Strategi Last Candle adalah strategi trend following yang menentukan arah tren pasar berdasarkan hubungan antara harga penutupan dan harga pembukaan candlestick terakhir, dan menghasilkan sinyal perdagangan sesuai.
Logika inti dari strategi ini adalah:
Secara khusus, strategi meminta data harga pembukaan dan harga penutupan lilin terakhir, dan menentukan arah tren berdasarkan perbandingan harga. Jika itu adalah tren naik, pesanan pasar untuk membeli akan ditempatkan ketika lilin ditutup. Jika itu adalah tren turun, pesanan pasar untuk menjual akan ditempatkan.
Setelah itu, harga stop loss dan take profit ditetapkan. Untuk posisi panjang, harga stop loss adalah harga pembukaan lilin itu dikalikan dengan koefisien, dan harga take profit adalah harga penutupan saat ini. Untuk posisi pendek sebaliknya. Ketika harga memicu stop loss atau take profit, posisi yang sesuai akan ditutup.
Risiko dapat dikurangi dengan memasukkan indikator tren untuk konfirmasi, mengoptimalkan logika stop loss/take profit, memperluas periode backtest dan lingkungan pasar.
Strategi Last Candle adalah strategi yang sederhana mengikuti tren. Ini dengan cepat menilai arah tren menggunakan candlestick terakhir dan berdagang sesuai dengan itu. Logika sederhana dan mudah diterapkan, selaras dengan gagasan mengikuti tren. Stop loss dan take profit juga diatur untuk mengendalikan risiko. Namun, hanya mengandalkan candlestick terakhir dapat dengan mudah terjebak, sehingga harus digunakan bersama dengan indikator tren. Juga, masih ada ruang besar untuk meningkatkan strategi ini, dengan memperkenalkan lebih banyak indikator teknis atau model pembelajaran mesin.
/*backtest start: 2022-12-14 00:00:00 end: 2023-12-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Last Candle Strategy with Date Range", overlay=true) // Define the start and end dates for the backtest startDate = timestamp(2015, 01, 01, 00, 00) endDate = timestamp(2023, 11, 24, 23, 59) // Check if the current bar is within the specified date range withinDateRange = time >= startDate and time <= endDate // If outside the date range, skip the strategy logic if (not withinDateRange) strategy.close_all() // Calculate the opening and closing values for the last candle lastCandleOpen = request.security(syminfo.tickerid, "D", open[1], lookahead=barmerge.lookahead_on) lastCandleClose = request.security(syminfo.tickerid, "D", close[1], lookahead=barmerge.lookahead_on) // Determine the trade direction based on the last candle tradeDirection = lastCandleOpen < lastCandleClose ? 1 : -1 // 1 for buy, -1 for sell // Plot the last candle's opening and closing values on the chart plot(lastCandleOpen, color=color.blue, title="Last Candle Open") plot(lastCandleClose, color=color.red, title="Last Candle Close") // Execute strategy orders if (withinDateRange) if (tradeDirection == 1) strategy.entry("Buy", strategy.long) if (tradeDirection == -1) strategy.entry("Sell", strategy.short) // Set stop loss and take profit stopLoss = 0.01 * lastCandleOpen takeProfit = close // Exit strategy strategy.exit("StopLoss/Profit", from_entry="Buy", loss=stopLoss, profit=takeProfit) strategy.exit("StopLoss/Profit", from_entry="Sell", loss=stopLoss, profit=takeProfit)