
Strategi ini adalah sistem perdagangan pintar berdasarkan isyarat penurunan harga, yang menggabungkan fungsi hentian dinamik dan penjejakan hentian. Strategi ini mengenal pasti peluang pembelian yang berpotensi dengan memantau kadar penurunan harga, sambil menggunakan skema hentian yang fleksibel dan mekanisme hentian untuk melindungi keuntungan. Idea teras strategi ini adalah untuk masuk ketika harga mengalami penurunan yang ketara dan memaksimumkan keuntungan melalui pengurusan kedudukan pintar.
Mekanisme operasi strategi ini terdiri daripada tiga bahagian utama: pertama, untuk mengenal pasti isyarat beli dengan menetapkan harga turun ke bawah peratusan nilai rendah (default -0.98%), untuk mencetuskan isyarat beli apabila harga terendah pada satu garis K adalah lebih rendah daripada harga bukaan berganda (peratusan penurunan 1 +). Kedua, menggunakan peratusan tetap (default 1.23%) sebagai keuntungan sasaran untuk menetapkan harga berhenti.
Strategi ini membina sistem perdagangan yang lengkap dengan menggabungkan mekanisme seperti pengenalan isyarat penurunan harga, hentian dinamik dan pengesanan hentian. Kelebihan strategi adalah keakuratannya dalam pengenalan isyarat, pengurusan risiko yang sempurna, tetapi juga perlu berhati-hati terhadap risiko seperti penembusan palsu dan sensitiviti parameter. Dengan menambah petunjuk tambahan, optimum mekanisme penyesuaian parameter, dan sebagainya, anda dapat meningkatkan kestabilan dan keuntungan strategi. Ini adalah rangka strategi yang mempunyai nilai amalan yang baik, 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)