스페이즈드 아웃 트레이딩 전략 (Spaced Out Trading Strategy) 은 이동 평균에 기반한 트렌드 추종 전략이다. 30일 지수 이동 평균 (EMA) 을 이용하여 가격 트렌드를 파악하고 가격이 EMA 위에/하에 돌파할 때 트레이드를 입력한다. 가격이 EMA 라인 아래/하에 다시 떨어질 때 트레이드를 종료한다. 이 전략은 30분에서 일일 시간 프레임에서 잘 작동한다.
핵심 논리는 가격과 30일 EMA 사이의 관계에 의존하여 엔트리 및 엑시트 신호를 생성합니다. 구체적으로:
트렌드 브레이크를 포착함으로써, 트렌드 다음의 기회와 동력 움직임을 활용하는 것을 목표로 합니다.
이 전략의 주요 장점은 다음과 같습니다.
주요 위험 중 일부는 다음과 같습니다.
이 전략이 개선될 수 있는 몇 가지 방법:
스페이스 아웃 트레이딩 전략은 EMA 레벨의 거래 가격 브레이크로 트렌드를 파악하는 것을 목표로 한다. 간단하고 실용적인 수치 전략이다. 사용자 정의 가능한 손실 제한과 신중한 최적화로, 중장기 보유 기간에 걸쳐 지속 가능한 수익을 제공하는 안정적인 전략이 될 수 있다.
/*backtest start: 2024-01-23 00:00:00 end: 2024-02-22 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Spaced Out Trading Strategy", overlay=true) // Define strategy parameters emaPeriod = input(30, title="EMA Period") // Longer EMA period for more spaced-out trades stopLossPct = input(2.0, title="Stop Loss Percentage") // Stop loss percentage takeProfitPct = input(3.0, title="Take Profit Percentage") // Take profit percentage // Calculate EMA emaValue = ta.ema(close, emaPeriod) // Define entry and exit conditions enterLong = ta.crossover(close, emaValue) exitLong = ta.crossunder(close, emaValue) // Place orders contractsQty = 5 // Number of contracts to buy var float lastTradePrice = na // Track the last trade price if enterLong and strategy.position_size == 0 strategy.entry("Buy Call", strategy.long, qty = contractsQty) lastTradePrice := close else if exitLong and strategy.position_size > 0 strategy.close("Buy Call") lastTradePrice := na // Calculate stop loss and take profit stopLossPrice = lastTradePrice * (1 - stopLossPct / 100) takeProfitPrice = lastTradePrice * (1 + takeProfitPct / 100) strategy.exit("Sell Call", "Buy Call", stop = stopLossPrice, limit = takeProfitPrice)