
Strategi ini adalah sistem perdagangan pengesanan trend berdasarkan teori penjenamaan harga, yang membolehkan perdagangan automatik dengan mengenal pasti struktur penjenamaan atas dan bawah di pasaran, digabungkan dengan keadaan pencetus dan tetapan berhenti yang tetap. Inti strategi ini adalah menetapkan banyak titik masuk di atas penjenamaan bawah, dan satu titik masuk kosong di bawah penjenamaan bawah, sambil mengawal risiko dengan titik berhenti yang sesuai.
Logik utama strategi ini merangkumi beberapa langkah penting:
Strategi ini membina sistem perdagangan yang lengkap dengan menggabungkan teori pemisahan dan pemikiran terobosan dinamik. Kelebihan strategi adalah tahap objektif dan automasi yang tinggi, tetapi terdapat juga masalah kesesuaian dengan keadaan pasaran. Dengan menambah langkah-langkah pengoptimuman seperti penyesuaian parameter dinamik dan pengenalan keadaan pasaran, kestabilan dan keuntungan strategi dapat ditingkatkan lebih lanjut. Dalam perdagangan saham, para pelabur disarankan untuk menyesuaikan parameter berdasarkan kebolehan risiko dan saiz wang mereka sendiri.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Fractal Buy/Sell Strategy with 107 Pips Target", overlay=true)
// 输入参数
trigger_pips = input.int(107, title="Entry Distance (Pips)") // 入场点距离底分型或顶分型的距离
take_profit_pips = input.int(107, title="Take Profit (Pips)") // 止盈点数
pip_value = syminfo.mintick * 10 // 点值(每点等于多少价格单位)
// 计算分型
is_bottom_fractal = low[1] < low[2] and low[1] < low[0] // 判断是否为底分型
is_top_fractal = high[1] > high[2] and high[1] > high[0] // 判断是否为顶分型
// 存储分型位置
var float last_bottom_fractal = na
var float last_top_fractal = na
// 更新分型值
if is_bottom_fractal
last_bottom_fractal := low[1]
if is_top_fractal
last_top_fractal := high[1]
// 计算开盘价格
bottom_trigger_price = na(last_bottom_fractal) ? na : last_bottom_fractal + trigger_pips * pip_value
top_trigger_price = na(last_top_fractal) ? na : last_top_fractal - trigger_pips * pip_value
// 交易逻辑:底分型多单和顶分型空单
if not na(last_bottom_fractal)
if close <= bottom_trigger_price
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit", from_entry="Buy", limit=bottom_trigger_price + take_profit_pips * pip_value)
if not na(last_top_fractal)
if close >= top_trigger_price
strategy.entry("Sell", strategy.short)
strategy.exit("Take Profit", from_entry="Sell", limit=top_trigger_price - take_profit_pips * pip_value)
// 绘制分型和触发价格
plotshape(series=is_bottom_fractal, style=shape.triangleup, location=location.belowbar, color=color.green, title="Bottom Fractal")
plotshape(series=is_top_fractal, style=shape.triangledown, location=location.abovebar, color=color.red, title="Top Fractal")
plot(bottom_trigger_price, title="Buy Trigger", color=color.green, linewidth=1)
plot(top_trigger_price, title="Sell Trigger", color=color.red, linewidth=1)