Эта стратегия представляет собой интеллектуальную торговую систему, основанную на сигналах падения цены, сочетающую в себе динамические функции получения прибыли и отслеживания стоп-лосса. Стратегия определяет потенциальные возможности покупки путем мониторинга падения цен при использовании гибких схем получения прибыли и механизмов отслеживания стоп-лосса для защиты прибыли. Основная идея заключается в том, чтобы вводить позиции во время значительного падения цен и максимизировать доходность за счет интеллектуального управления позициями.
Стратегия работает с помощью трех основных компонентов: во-первых, она идентифицирует сигналы покупки, устанавливая порог процента падения цены (по умолчанию -0,98%), который активируется, когда низкая цена свечи падает ниже цены открытия, умноженной на (1 + процент падения). Во-вторых, она использует фиксированный процент (по умолчанию 1,23%) в качестве целевой прибыли для установки уровней получения прибыли. Наконец, она включает механизм остановки (по умолчанию 0,6%) для защиты прибыли во время снижения цены. Стратегия включает компоненты визуализации, отображающие сигналы покупки через различные формы маркеров.
Эта стратегия создает полную торговую систему, объединяя идентификацию сигналов падения цены, динамические механизмы получения прибыли и отслеживания стоп-лосса. Ее сильные стороны заключаются в точной идентификации сигналов и комплексном управлении рисками, хотя необходимо обращать внимание на ложные прорывы и риски чувствительности параметров. Стабильность и рентабельность стратегии могут быть еще больше повышены путем добавления вспомогательных индикаторов и оптимизации механизмов корректировки параметров.
/*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)