Cette stratégie est un système de trading intelligent basé sur des signaux de baisse de prix, combinant des fonctionnalités dynamiques de prise de profit et de stop-loss. La stratégie identifie les opportunités d'achat potentielles en surveillant les baisses de prix tout en utilisant des schémas de prise de profit flexibles et des mécanismes de stop de suivi pour protéger les bénéfices.
La stratégie fonctionne à travers trois composants principaux: Premièrement, elle identifie les signaux d'achat en définissant un seuil de pourcentage de baisse de prix (défault -0,98%), déclenchant lorsqu'un prix bas d'une bougie tombe en dessous du prix d'ouverture multiplié par (1 + pourcentage de baisse). Deuxièmement, elle utilise un pourcentage fixe (défault 1,23%) comme profit cible pour définir les niveaux de profit. Enfin, elle intègre un mécanisme de trailing stop (défault 0,6%) pour protéger les bénéfices lors des retracements de prix.
Cette stratégie construit un système de négociation complet en combinant l'identification des signaux de baisse de prix, des mécanismes dynamiques de prise de profit et de stop-loss. Ses atouts résident dans l'identification précise des signaux et la gestion complète des risques, bien que l'attention soit portée aux fausses ruptures et aux risques de sensibilité des paramètres.
/*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)