Strategi ini adalah sistem perdagangan mengikut trend berdasarkan teori fraktal harga, yang mengenal pasti struktur fraktal pasaran dan menggabungkan keadaan pencetus titik tetap dengan tetapan mengambil keuntungan untuk perdagangan automatik.
Logik teras merangkumi langkah utama berikut: 1. Pengiktirafan fraktal: Mengiktiraf fraktal atas dan bawah dengan membandingkan tiga candlestick berturut-turut. Fraktal bawah terbentuk apabila candlestick tengah yang rendah lebih rendah daripada yang bersebelahan; fraktal atas terbentuk apabila candlestick tengah yang tinggi lebih tinggi daripada yang bersebelahan. 2. Syarat kemasukan: Set membeli harga pencetus 107 pip di atas fraktal bawah yang dikenal pasti; Set menjual harga pencetus 107 pip di bawah fraktal atas yang dikenal pasti. 3. Setup Take Profit: Menempatkan tahap mengambil keuntungan 107 pip dari harga kemasukan. 4. Pengurusan Kedudukan: Terus melacak kedudukan fraktal terkini dan mengemas kini harga pencetus kemasukan dengan sewajarnya.
Strategi ini menggabungkan teori fraktal dengan konsep momentum untuk membina sistem perdagangan yang lengkap. Kekuatannya terletak pada objektif dan automasi yang tinggi, walaupun ia menghadapi beberapa cabaran penyesuaian pasaran. Melalui langkah pengoptimuman seperti penyesuaian parameter dinamik dan pengiktirafan persekitaran pasaran, kestabilan dan keuntungan strategi dapat ditingkatkan lagi. Dalam perdagangan langsung, pelabur harus menyesuaikan parameter berdasarkan toleransi risiko dan saiz modal mereka.
/*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)