
이 전략은 가격 하락 신호에 기반한 지능형 거래 시스템으로, 동적 스톱과 스톱 손실 추적 기능을 결합한다. 전략은 가격 하락의 속도를 모니터링하여 잠재적인 구매 기회를 식별하고, 유연한 스톱 프로그램과 스톱 손실 추적 장치를 사용하여 수익을 보호한다. 전략의 핵심 아이디어는 가격이 눈에 띄는 하락이 발생했을 때 진입하고, 지능적인 포지션 관리를 통해 수익을 극대화한다.
전략의 작동 메커니즘은 크게 세 가지 핵심 부분으로 구성되어 있다: 첫째, 가격 하락의 백분율 마이너스를 설정하여 구매 신호를 식별하고, 특정 K 선의 최저 가격이 오픈 가격보다 낮은 경우 구매 신호를 트리거한다. 다음으로, 고정 백분율을 채택하여 목표 수익으로 스톱 가격을 설정한다. 마지막으로, 트래킹 스톱 손실 메커니즘을 도입하고, 가격 회수 때 이미 얻은 수익을 보호한다. 전략에는 시각적 구성 요소가 포함되어 있으며, 다양한 모양의 표시 표시를 표시하여 구매 신호를 제공합니다.
이 전략은 가격 하락 신호 식별, 동적 정지 및 추적 중지 등의 메커니즘을 결합하여 완전한 거래 시스템을 구축한다. 전략의 장점은 신호 식별 정확성과 위험 관리의 완성도이지만, 가짜 돌파구 및 변수 감수성 등의 위험에 주의를 기울여야 한다. 보조 지표를 추가하고 변수 조정 메커니즘을 최적화함으로써 전략의 안정성과 수익성을 더욱 향상시킬 수 있다.
/*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)