
Strategi ini menggunakan penembusan titik tinggi dan rendah pada bingkai masa yang dinamik untuk menghasilkan isyarat perdagangan. Ia memutuskan sama ada membeli atau menjual dengan membandingkan harga tertinggi dan terendah pada bingkai masa semasa dengan harga penutupan bingkai masa sebelumnya ditambah beberapa titik.
Strategi ini menggunakan titik-titik tinggi dan rendah dalam pelbagai jangka masa untuk menilai pergerakan harga. Pertama, berdasarkan jangka masa yang dipilih oleh pengguna, mendapatkan harga tertinggi, terendah dan harga penutupan yang sesuai. Kemudian, dengan membandingkan apakah harga tertinggi dalam jangka masa semasa lebih besar daripada harga penutupan pada jangka masa sebelumnya ditambah dengan beberapa titik untuk menentukan isyarat beli. Begitu juga, dengan membandingkan apakah harga terendah dalam jangka masa semasa lebih kecil daripada harga penutupan pada jangka masa sebelumnya dikurangkan untuk menentukan isyarat jual.
Strategi penembusan titik tinggi dan rendah pada bingkai masa dinamik menghasilkan isyarat perdagangan berdasarkan penembusan titik tinggi dan rendah pada data harga pada bingkai masa yang berbeza. Strategi ini logiknya jelas, mudah disesuaikan, mudah dilaksanakan dan dioptimumkan. Tetapi ada juga masalah seperti sensitif parameter, overfit dan risiko pasaran, yang memerlukan pengoptimuman dan penambahbaikan yang berterusan dalam aplikasi sebenar.
/*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(" NIFTY 65-15 ", overlay=true)
// Define input options for point settings and timeframe
points = input.int(60, title="Point Threshold", minval=1, step=1)
timeframe = input.timeframe("60", title="Timeframe", options=["1", "3", "5", "15", "30", "60", "240", "D", "W", "M"])
// Calculate high and low of the selected timeframe
high_timeframe = request.security(syminfo.tickerid, timeframe, high)
low_timeframe = request.security(syminfo.tickerid, timeframe, low)
close_timeframe = request.security(syminfo.tickerid, timeframe, close)
// Define conditions for Buy and Sell
buyCondition = high_timeframe > (close_timeframe[1] + points)
sellCondition = low_timeframe < (close_timeframe[1] - points)
// Entry and exit rules
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.entry("Sell", strategy.short)
// Close the positions based on the conditions
if (sellCondition)
strategy.close("Buy")
if (buyCondition)
strategy.close("Sell")
// Plot Buy and Sell signals on the chart
plotshape(series=buyCondition, title="Buy Entry", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Entry", color=color.red, style=shape.triangledown, location=location.abovebar)
// Plot the equity curve of the strategy
plot(strategy.equity, title="Equity", color=color.blue, linewidth=2)