Strategi ini adalah sistem perdagangan pintar berdasarkan isyarat penurunan harga, menggabungkan ciri-ciri mengambil keuntungan dinamik dan menghentikan kerugian. Strategi ini mengenal pasti peluang pembelian yang berpotensi dengan memantau penurunan harga sambil menggunakan skim mengambil keuntungan yang fleksibel dan mekanisme berhenti menarik untuk melindungi keuntungan. Idea terasnya adalah untuk memasuki kedudukan semasa penurunan harga yang ketara dan memaksimumkan pulangan melalui pengurusan kedudukan yang pintar.
Strategi ini beroperasi melalui tiga komponen utama: Pertama, ia mengenal pasti isyarat beli dengan menetapkan ambang peratusan penurunan harga (default -0.98%), yang mencetuskan apabila harga rendah lilin jatuh di bawah harga pembukaan dikalikan dengan (1 + peratusan penurunan). Kedua, ia menggunakan peratusan tetap (default 1.23%) sebagai keuntungan sasaran untuk menetapkan tahap mengambil keuntungan. Akhirnya, ia menggabungkan mekanisme hentian yang tertinggal (default 0.6%) untuk melindungi keuntungan semasa retracements harga. Strategi termasuk komponen visualisasi, memaparkan isyarat beli melalui pelbagai bentuk penanda.
Strategi ini membina sistem dagangan yang lengkap dengan menggabungkan pengenalan isyarat penurunan harga, mekanisme mengambil keuntungan dinamik, dan mekanisme berhenti rugi. Kekuatannya terletak pada pengenalan isyarat yang tepat dan pengurusan risiko yang komprehensif, walaupun perlu memberi perhatian kepada gangguan palsu dan risiko sensitiviti parameter. Kestabilan dan keuntungan strategi dapat ditingkatkan dengan menambah penunjuk tambahan dan mengoptimumkan mekanisme penyesuaian parameter. Ia menyediakan rangka kerja strategik yang berharga yang sesuai untuk penyelidikan dan pengoptimuman yang mendalam.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-26 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Price Drop Buy Signal Strategy", overlay=true) // 输入参数 percentDrop = input.float(defval=-0.98, title="Price Drop Percentage", minval=-100, step=0.01) / 100 plotShapeStyle = input.string("shape_triangle_up", "Shape", options=["shape_xcross", "shape_cross", "shape_triangle_up", "shape_triangle_down", "shape_flag", "shape_circle", "shape_arrow_up", "shape_arrow_down", "shape_label_up", "shape_label_down", "shape_square", "shape_diamond"], tooltip="Choose the shape of the buy signal marker") targetProfit = input.float(1.23, title="目标利润百分比", step=0.01) / 100 trailingStopPercent = input.float(0.6, title="Trailing Stop Percentage", step=0.01) / 100 // 计算每根K线的涨跌幅 priceDrop = open * (1.0 + percentDrop) isBuySignal = low <= priceDrop // 在当前K线下方标注买入信号(可选) plotshape(series=isBuySignal, location=location.belowbar, color=color.green, style=plotShapeStyle, size=size.small, title="Buy Signal", text="Buy") // 显示信息 if bar_index == na label.new(x=bar_index, y=na, text=str.tostring(percentDrop * 100, format.mintick) + "% Drop", xloc=xloc.bar_index, yloc=yloc.price, style=label.style_label_down, color=color.new(color.green, 0)) else label.delete(na) // 策略逻辑 if (isBuySignal) strategy.entry("买入", strategy.long) // 目标卖出价 if (strategy.position_size > 0) targetSellPrice = strategy.position_avg_price * (1 + targetProfit) strategy.exit("卖出", from_entry="买入", limit=targetSellPrice, trail_offset=strategy.position_avg_price * trailingStopPercent)