이 전략은 트렌드 브레이크아웃 거래 시스템으로 이동 평균과 가격 브레이크아웃 개념을 결합합니다. 핵심 메커니즘은 이동 평균보다 높은 가격 폐쇄를 기반으로 거래 신호를 생성하며, 최근 최저 수준에 정해진 스톱-러스 수준과 위험 관리에 대한 2: 1 이익-손실 비율을 사용합니다. 전략은 단순한 이동 평균을 트렌드 지표로 사용하고 가격 라인 크로스오버를 통해 트렌드 변화를 식별합니다.
이 전략은 트렌드 지표로 20기 간 간단한 이동 평균 (SMA) 을 사용한다. 닫기 가격이 아래에서 이동 평균보다 높을 때 긴 신호가 생성된다. 엔트리 포인트에 너무 가깝게 배치되는 것을 피하기 위해 지난 7 개의 촛불의 가장 낮은 지점에 스톱-러스 레벨이 설정된다. 이윤 취득 수준은 고전적인 2: 1 리워드-리스크 비율을 사용하여 설정된다. 이윤 목표가 스톱-러스의 두 배의 거리를 의미합니다. 전략에는 트렌드 라인을 표시하는 시각화 구성 요소, 거래 신호 및 차트에서 스톱-러스/이익 취득 수준이 포함되어 있습니다.
이 전략은 명확한 논리를 가진 잘 구성된 트렌드를 따르는 전략이다. 이 전략은 합리적인 위험 관리 메커니즘과 결합하여 이동 평균 브레이크오웃을 통해 신호를 생성하여 실질적으로 적용될 수 있다. 내재적인 위험이 존재하지만 제안된 최적화 방향은 전략의 안정성과 수익성을 더욱 향상시킬 수 있다. 이 전략은 트렌딩 시장 조건에 적합하며, 거래자는 특정 시장 특성에 따라 매개 변수를 조정할 수 있다.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Trend Breakout with SL and TP", overlay=true) // Parametrlar length = input(25, title="Length for SL Calculation") trendLength = input(20, title="Trend Line Length") // Trend chizig'ini hisoblash trendLine = ta.sma(close, trendLength) // Yopilish narxi trend chizig'ini yorib o'tganda signal longSignal = close > trendLine and close[1] <= trendLine // Oxirgi 7 shamning minimumini hisoblash lowestLow = ta.lowest(low, 7) // Stop Loss darajasini belgilash longSL = lowestLow // SL oxirgi 7 shamning minimumiga teng // Take Profit darajasini SL ga nisbatan 2 baravar ko'p qilib belgilash longTP = longSL + (close - longSL) * 2 // TP 2:1 nisbatida // Savdo bajarish if longSignal strategy.entry("Long", strategy.long) strategy.exit("Take Profit", "Long", limit=longTP) strategy.exit("Stop Loss", "Long", stop=longSL) // Grafikda trend chizig'ini chizish plot(trendLine, title="Trend Line", color=color.blue, linewidth=2) // Signal chizish plotshape(longSignal, style=shape.labelup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") // SL va TP darajalarini ko'rsatish // if longSignal // // SL chizig'i // line.new(bar_index, longSL, bar_index + 1, longSL, color=color.red, width=2, style=line.style_dashed) // // TP chizig'i // line.new(bar_index, longTP, bar_index + 1, longTP, color=color.green, width=2, style=line.style_dashed) // // SL va TP label'larini ko'rsatish // label.new(bar_index, longSL, "SL: " + str.tostring(longSL), color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small) // label.new(bar_index, longTP, "TP: " + str.tostring(longTP), color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)