
Strategi ini memicu sinyal beli atau jual dengan membandingkan garis K saat ini dengan garis K sebelumnya.
Secara khusus, sinyal beli akan dipicu jika harga penutupan K-line saat ini lebih tinggi dari harga tertinggi K-line sebelumnya; sinyal jual akan dipicu jika harga penutupan K-line saat ini lebih rendah dari harga minimum K-line sebelumnya.
Ini adalah logika dasar dari strategi ini.
Strategi ini secara keseluruhan sederhana dan jelas, menggunakan K-line informasi harga closeout untuk menentukan arah tren, sekaligus mengatur risiko pengendalian stop loss, dapat digunakan sebagai strategi dasar untuk perdagangan saham, mata uang digital. Namun, hanya berdasarkan pada satu periode waktu K-line bentuk, mudah menghasilkan sinyal palsu, ruang optimasi masih besar, perlu dipertimbangkan lebih lanjut untuk menggabungkan lebih banyak faktor dan penyesuaian parameter, sehingga meningkatkan efektivitas strategi.
/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Buy/Sell on Candle Close", overlay=true)
var float prevLowest = na
var float prevHighest = na
var float slDistance = na
var float tpDistance = na
// Specify the desired timeframe here (e.g., "D" for daily, "H" for hourly, etc.)
timeframe = "D"
// Fetching historical data for the specified timeframe
pastLow = request.security(syminfo.tickerid, timeframe, low, lookahead=barmerge.lookahead_on)
pastHigh = request.security(syminfo.tickerid, timeframe, high, lookahead=barmerge.lookahead_on)
if bar_index > 0
prevLowest := pastLow[1]
prevHighest := pastHigh[1]
currentClose = close
if not na(prevLowest) and not na(prevHighest)
slDistance := prevHighest - prevLowest
tpDistance := 3 * slDistance // Adjusted for 1:3 risk-reward ratio
// Buy trigger when current close is higher than previous highest
if not na(prevLowest) and not na(prevHighest) and currentClose > prevHighest
strategy.entry("Buy", strategy.long)
strategy.exit("Buy TP/SL", "Buy", stop=prevLowest - slDistance, limit=prevHighest + tpDistance)
// Sell trigger when current close is lower than previous lowest
if not na(prevLowest) and not na(prevHighest) and currentClose < prevLowest
strategy.entry("Sell", strategy.short)
strategy.exit("Sell TP/SL", "Sell", stop=prevHighest + slDistance, limit=prevLowest - tpDistance)
plot(prevLowest, color=color.blue, title="Previous Lowest")
plot(prevHighest, color=color.red, title="Previous Highest")