
평평선 돌파 고정 이윤 목표 자율 적응 시간 주기 수량 거래 전략은 간단한 이동 평균 ((SMA) 돌파 신호에 기반한 단선 거래 전략으로, 고정 이윤 목표와 특정 시간 주간의 기간 제도를 결합한다. 이 전략의 핵심 논리는 가격과 이동 평균의 교차 관계를 사용하여 다공지 신호를 생성하는 것과 동시에 고정 점의 이윤 목표를 설정하여 수익을 잠금하고 지정된 시간 주기 내에서만 거래를 수행하는 것이다. 이러한 설계는 격렬한 변동이 있지만 특정 추세 특성이있는 시장 환경에서 단선 거래를 수행하는 데 특히 적합합니다.
이 전략은 다음과 같은 몇 가지 핵심 요소에 기반합니다.
이동 평균 계산: 전략은 간단한 이동 평균 ((SMA) 을 주요 지표로 사용하고, 기본 주기는 20이며, 사용자는 필요에 따라 조정할 수 있습니다. 이 이동 평균은 트렌드 판단의 기초이자 거래 신호의 촉발 조건으로 사용됩니다.
입학 조건:
출전 조건:
시간 주기 기한: 전략은 특정 시간 사이클에서만 실행되며, 1분, 3분, 5분 차트가 기본입니다. 현재 차트 시간 사이클이 지정된 범위 내에서는 전략은 모든 지분을 닫습니다.
시각 보조:
명확한 신호 시스템: 간단하고 효과적인 이동 평균 교차 신호를 사용하여 거래 의사 결정의 주관성을 줄이고 전략 실행을 더 객관적이고 규율적으로 만듭니다.
고정된 수익 목표이윤 목표를 미리 설정하는 것은 과도한 탐욕을 방지하고, 시장의 변동에 따라 수익을 고정시키고, 이윤 회귀를 피하는 데 도움이 됩니다.
시간주기 최적화: 전략이 특정 시간 동안만 실행되는 것을 제한함으로써, 짧은 라인 거래에 적합하지 않은 더 긴 시간 동안 잘못된 신호를 발생시키는 것을 피할 수 있으며, 전략의 적용성을 향상시킵니다.
시각적 피드백 시스템: 차트의 입출자 표시와 배경 색상의 변화는 직관적인 시각적 피드백을 제공하여 거래자가 전략 논리와 시장 상태를 이해하는 데 도움이됩니다.
변수 유연성이동 평균 길이, 수익 목표 및 적용 시간 주기와 같은 핵심 매개 변수는 다양한 시장 조건과 거래자의 선호도에 따라 조정될 수 있으며, 전략의 적응성을 강화합니다.
평균선 뒤떨어짐: 이동 평균은 본질적으로 지연 지표이며, 격렬한 변동 시장에서 신호 지연, 최적의 진입 지점을 놓치거나 잘못된 신호를 생성 할 수 있습니다. 해결 방법은 평균 선순환을 조정하거나 다른 선도 지표와 결합하여 보조 판단하는 것입니다.
고정 수익 목표의 한계: 예상된 고정 수익 목표가 강한 트렌드 상황에서 조기 출발하여 트렌드 움직임을 충분히 포착 할 수 없습니다. 동적 수익 목표 또는 부분 포지션 관리 전략을 적용하는 것이 고려 될 수 있습니다.
주일 기한제도의 기회비용: 특정 시간 주기에만 실행하면 다른 시간 주기에 대한 유효한 신호를 놓칠 수 있다. 해결책은 적용 가능한 시간 주기의 범위를 확장하거나 여러 시간 주기의 전략 포트폴리오를 구축하는 것이다.
무손실 메커니즘: 현재 전략에는 명확한 스톱 손실 메커니즘이 없으며, 시장이 급격하게 역전되면 큰 손실이 발생할 수 있습니다.
단일 지표 의존이동 평균에만 의존하는 것은 가로판 시장에서 빈번하게 잘못된 신호를 일으킬 수 있다. 추가 필터링 조건을 추가하거나 지표를 확인함으로써 신호 품질을 향상시킬 수 있다.
손해 방지 장치전략에 명확한 중지 조건을 추가합니다. 예를 들어, ATR에 기반한 동적 중지 또는 고정 점수 중지, 단일 거래의 최대 손실을 제한합니다.
신호 필터 추가: 추가적인 기술 지표인 RSI ((상대적 강점 지수), MACD ((이동 평균의 종결과 분산) 또는 거래량 지표가 트레이딩 신호의 확인 조건으로 도입되어 가짜 신호를 줄인다.
동적 수익 목표 구현: 시장의 변동성에 따라 자동으로 수익 목표를 조정합니다. 예를 들어, 높은 변동률의 시장에서 더 큰 수익 목표를 설정하고 낮은 변동률의 시장에서 더 작은 수익 목표를 설정합니다.
다중 시간 주기 분석: 더 높은 시기를 통한 트렌드 정보를 통합하고, 주요 트렌드 방향으로만 거래를 수행하고, 큰 트렌드의 반향을 피하여 단선 거래를 피한다.
포지션 관리를 최적화: 출 전략을 시행하여 수익의 일부를 트렌드에 따라 계속 운영할 수 있게 하고, 수익의 일부를 고정시켜서 위험과 수익을 균형을 맞추는 것.
시장 상태를 인식하는 것: 시장 상태를 자동으로 식별하는 기능 ((트렌드/스컬러) 을 추가하여 다른 시장 환경에서 다른 파라미터 또는 전략 변형을 적용한다.
평평선 돌파 고정 이윤 목표 자율 시간 주기 수량화 거래 전략은 간결하고 실용적인 단선 거래 시스템을 설계하여 이동 평균 교차 신호, 고정 이윤 목표 및 시간 주기 기한을 결합하여 거래자에게 단기 가격 변동을 포착 할 수 있는 규율 된 방법을 제공합니다. 전략은 설계에 있어서 비교적 간단하지만, 핵심 논리는 건전하며, 최적화 할 수있는 넓은 공간이 있습니다.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-03-06 00:00:00
period: 5h
basePeriod: 5h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("NDX Scalping Strategy", shorttitle="NDX Scalper", overlay=true)
// Input Parameters
maLength = input.int(20, "Moving Average Length", minval=1)
profitTarget = input.int(20, "Profit Target (points)", minval=1)
chartTimeframes = input.string("1,3,5", "Applicable Timeframes (min)")
// Moving Average CalculaƟon
ma = ta.sma(close, maLength)
// Calculate crossover condiƟons globally
longCrossover = ta.crossover(close, ma)
shortCrossunder = ta.crossunder(close, ma)
// Entry CondiƟons
longEntry = close > ma and longCrossover
shortEntry = close < ma and shortCrossunder
// Exit CondiƟons (Profit Target)
longExit = high >= (strategy.position_avg_price + profitTarget)
shortExit = low <= (strategy.position_avg_price - profitTarget)
// Ploƫng the Moving Average
plot(ma, color=color.blue, linewidth=2, title="Moving Average")
// Long Entry Signal
if longEntry
strategy.entry("Long", strategy.long)
label.new(bar_index, low, text="Long", color=color.green, textcolor=color.white, size=size.normal)
// Short Entry Signal
if shortEntry
strategy.entry("Short", strategy.short)
label.new(bar_index, high, text="Short", color=color.red, textcolor=color.white, size=size.normal)
// Exit Long PosiƟon
if longExit
strategy.close("Long")
label.new(bar_index, high, text="Exit Long", color=color.orange, textcolor=color.black,size=size.normal)
// Exit Short PosiƟon
if shortExit
strategy.close("Short")
label.new(bar_index, low, text="Exit Short", color=color.orange, textcolor=color.black,size=size.normal)
// Apply Timeframe RestricƟon
timeframeValid = str.contains(chartTimeframes, str.tostring(timeframe.period))
if not timeframeValid
strategy.close_all()
// Background Color for Trend
bgcolor(close > ma ? color.new(color.green, 85) : color.new(color.red, 85))