
Strategi ini didasarkan pada indikator HalfTrend, untuk mengidentifikasi sinyal beli dengan menilai tren overhead. Ketika indikator HalfTrend lebih banyak berputar dari atas, membeli di bawah batas harga stop loss tunggal di posisi nilai HalfTrend dari tren overhead sebelumnya. Strategi ini menggunakan indikator AmplitudeTrend (ATR) untuk secara dinamis menyesuaikan parameter amplitudo penilaian tren.
Strategi membeli dengan menilai perubahan tren bullish dari indikator HalfTrend untuk memutuskan kapan harus membeli, menggunakan titik rendah dari tren bullish sebelumnya sebagai posisi untuk membeli, untuk melakukan lebih banyak masuk di level rendah yang relatif aman. Strategi ini mencakup elemen strategi yang sering digunakan seperti penilaian tren, harga batas, dan stop loss, yang dapat dioptimalkan lebih lanjut untuk meningkatkan rasio risiko-penghasilan.
/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("HalfTrend Stop-Limit Buy", overlay=true)
// HalfTrend indicator parameters
length = 1
amplitude = 2.0
// HalfTrend calculation
float ph = na
float pl = na
var float dir = na
var float trend = na
if na(trend)
trend := close
ph := high
pl := low
dir := na
else
if high > ph
ph := high
if low < pl
pl := low
if close > trend and na(dir)
dir := 1
trend := close
ph := high
pl := low
if close < trend and na(dir)
dir := -1
trend := close
ph := high
pl := low
if dir == 1 and close < trend - amplitude
dir := -1
trend := close
ph := high
pl := low
if dir == -1 and close > trend + amplitude
dir := 1
trend := close
ph := high
pl := low
// Buy signal based on HalfTrend
buySignal = dir == 1 and ta.valuewhen(dir == -1, trend, 0)
// Plot HalfTrend
plot(dir == 1 ? trend : na, color=color.blue, linewidth=2, title="HalfTrend Bullish")
plot(dir == -1 ? trend : na, color=color.red, linewidth=2, title="HalfTrend Bearish")
// Place a stop-limit buy order
if (buySignal)
stopPrice = ta.valuewhen(dir == -1, trend, 0)
strategy.entry("HalfTrend Buy", strategy.long, stop=stopPrice, comment="HalfTrend Buy")