
Die Strategie ist ein intelligentes Handelssystem, das auf Preisrückgangsignalen basiert, kombiniert mit dynamischen Stop-Off- und Stop-Loss-Tracking-Funktionen. Die Strategie identifiziert potenzielle Kaufgelegenheiten durch die Überwachung des Preisrückgangs und schützt den Gewinn durch flexible Stop-Off- und Stop-Loss-Tracking-Mechanismen. Die Kernidee der Strategie ist es, bei einem deutlichen Preisrückgang einzutreten und durch intelligente Positionsmanagement die Erträge zu maximieren.
Die Funktionsweise der Strategie besteht aus drei Kernteilen: Erstens, die Identifizierung des Kaufsignals durch die Einstellung eines Preisrückgangs prozentualer Marginal (default -0,98%), das Auslösen des Kaufsignals, wenn der Mindestpreis einer K-Linie unter dem Eröffnungspreis multipliziert wird (default +1,98%). Zweitens, die Einführung eines festen Prozentsatzes (default 1,23%) als Zielgewinn, um den Stop-Preis zu setzen.
Die Strategie baut ein vollständiges Handelssystem auf, indem sie Mechanismen wie die Identifizierung von Preissenkungssignalen, dynamische Stopps und die Verfolgung von Stop-Losses kombiniert. Die Vorteile der Strategie liegen in der Genauigkeit der Signalerkennung und dem perfekten Risikomanagement, aber auch bei Risiken wie False Breakouts und Parameter-Sensitivität. Die Stabilität und Profitabilität der Strategie kann durch das Hinzufügen von Hilfsindikatoren und die Optimierung von Parameter-Anpassungsmechanismen weiter verbessert werden.
/*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)