
La stratégie est un système de trading intelligent basé sur des signaux de baisse des prix, combinant des fonctionnalités de stop-loss et de suivi des pertes. La stratégie identifie les opportunités de vente potentielles en surveillant la baisse des prix, tout en utilisant un programme de stop-loss flexible et un mécanisme de suivi des pertes pour protéger les bénéfices. L’idée centrale de la stratégie est d’entrer en jeu en cas de baisse significative des prix et de maximiser les gains grâce à une gestion intelligente des positions.
Le mécanisme de fonctionnement de la stratégie comprend principalement trois parties principales: d’abord, l’identification d’un signal d’achat en définissant une marge de pourcentage de baisse des prix (par défaut -0,98%), puis le déclenchement d’un signal d’achat lorsque le prix le plus bas d’une ligne K est inférieur au prix d’ouverture multiplié par (par défaut + 1 pourcentage de baisse). Ensuite, l’utilisation d’un pourcentage fixe (par défaut 1,23%) comme profit cible pour définir un prix d’arrêt. Enfin, l’introduction d’un mécanisme de suivi des pertes (par défaut 0,6%), la protection des bénéfices déjà réalisés lorsque le prix recule.
La stratégie construit un système de négociation complet en combinant des mécanismes tels que l’identification des signaux de baisse des prix, les arrêts dynamiques et le suivi des arrêts. L’avantage de la stratégie réside dans l’exactitude de l’identification des signaux et la gestion des risques, mais il faut également prêter attention aux risques tels que les fausses percées et la sensibilité des paramètres. La stabilité et la rentabilité de la stratégie peuvent être encore améliorées en ajoutant des indicateurs auxiliaires et en optimisant les mécanismes d’ajustement 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)