
Ini adalah strategi untuk melakukan perdagangan frekuensi tinggi berdasarkan arah penutupan K 1 minit. Strategi ini menentukan pergerakan pasaran dengan menilai hubungan harga penutupan K dengan harga pembukaan, dan melakukan lebih banyak selepas pembentukan garis K bullish, dan membuat kosong selepas pembentukan garis K bearish. Strategi ini menggunakan masa pegangan tetap, melonggarkan posisi pada penutupan K seterusnya, dan membatasi jumlah perdagangan maksimum setiap hari untuk mengawal risiko.
Logik utama strategi ini adalah untuk menilai trend pasaran jangka pendek melalui arah penutupan K:
Strategi ini adalah sistem perdagangan frekuensi tinggi yang berasaskan arah penutupan K, untuk menangkap peluang pasaran jangka pendek melalui analisis tingkah laku harga yang mudah. Strategi ini mempunyai kelebihan logik yang mudah, jangka masa memegang yang pendek, risiko yang terkawal, tetapi juga menghadapi cabaran seperti kos dagangan yang tinggi, penembusan palsu. Dengan pengenalan lebih banyak petunjuk teknikal dan program pengoptimuman, kestabilan dan keuntungan strategi ini dijangka meningkat.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-12-10 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Candle Close Strategy", overlay=true)
// Define conditions for bullish and bearish candlesticks
isBullish = close > open
isBearish = close < open
// Track the number of bars since the trade was opened and the number of trades per day
var int barsSinceTrade = na
var int tradesToday = 0
// Define a fixed position size for testing
fixedPositionSize = 1
// Entry condition: buy after the close of a bullish candlestick
if (isBullish and tradesToday < 200) // Limit to 200 trades per day
strategy.entry("Buy", strategy.long, qty=fixedPositionSize)
barsSinceTrade := 0
tradesToday := tradesToday + 1
// Entry condition: sell after the close of a bearish candlestick
if (isBearish and tradesToday < 200) // Limit to 200 trades per day
strategy.entry("Sell", strategy.short, qty=fixedPositionSize)
barsSinceTrade := 0
tradesToday := tradesToday + 1
// Update barsSinceTrade if a trade is open
if (strategy.opentrades > 0)
barsSinceTrade := nz(barsSinceTrade) + 1
// Reset tradesToday at the start of a new day
if (dayofmonth != dayofmonth[1])
tradesToday := 0
// Exit condition: close the trade after the next candlestick closes
if (barsSinceTrade == 2)
strategy.close("Buy")
strategy.close("Sell")
// Plot bullish and bearish conditions
plotshape(series=isBullish, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=isBearish, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Plot the candlesticks
plotcandle(open, high, low, close, title="Candlesticks")