이 전략은 이중 지수적 이동 평균 (EMA) 프레임워크를 기반으로 트렌드를 따르는 거래 시스템으로, EMA20 수준에서 리미트 구매 주문을 구현합니다. 상거래 당 계정 자본의 10%만을 활용하고 리스크 관리에 이익과 스톱 로스 수준을 통합하여 보수적 인 돈 관리 접근 방식을 사용합니다. 이 전략은 시장 추세를 결정하기 위해 두 개의 EMA 기간 (30 일 및 300 일) 을 사용하고 상승 트렌드 시장에서 진입 기회를 찾습니다.
전략의 핵심 논리는 몇 가지 핵심 요소에 기반합니다. 1. EMA300을 트렌드 필터로 사용하며, 가격이 EMA300 이상일 때만 긴 포지션을 고려하여 거래 방향이 주요 트렌드와 일치하는지 확인합니다. 2. 트렌드 조건이 충족되면 EMA20 수준에서 구매 주문을 제한하고, 이동 평균 지원에 대한 인하 기간 동안 상대적으로 낮은 가격으로 입장을 허용합니다. 3. 수익 목표의 경우 10%와 손실 중지 목표의 경우 5%로 채무불이행을 하여, 위험/이익 비율을 2:1 이상으로 유지하며, 고정된 비율에 기반한 영업이익 및 영업손실 중지 수준을 시행한다. 4. 계좌 자본의 10%로 위치 사이징을 사용하며 보수적인 돈 관리로 거래 당 위험 노출을 효과적으로 줄입니다.
이 전략은 상대적으로 견고한 거래 시스템을 만들기 위해 이동 평균 시스템과 엄격한 위험 통제 규칙을 결합합니다. 그것의 핵심 강점은 트렌드를 따르는 특성 및 포괄적인 위험 관리 메커니즘에 있으며, 보수적인 돈 관리를 유지하면서 제한 주문을 통해 입시 가격을 최적화합니다. 전략이 다양한 시장에서 저성공 할 수 있지만 제안 된 최적화 방향은 안정성과 수익성을 더욱 향상시킬 수 있습니다. 안정적인 수익을 추구하는 투자자에게,이 양적 거래 전략은 가치가있는 고려 사항을 나타냅니다.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-09 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Limit Buy at EMA20 (Last 30 Days)", overlay=true) // Inputs for EMAs ema20Length = input.int(30, title="EMA 20 Length") ema300Length = input.int(300, title="EMA 300 Length") tpPercentage = input.float(10.0, title="Take Profit (%)", step=0.1) / 100 slPercentage = input.float(5.0, title="Stop Loss (%)", step=0.1) / 100 // Stop loss at 15% // Calculate EMAs ema20 = ta.ema(close, ema20Length) ema300 = ta.ema(close, ema300Length) // Plot EMAs plot(ema20, color=color.blue, title="EMA 20") plot(ema300, color=color.red, title="EMA 300") // Limit backtesting to the last 30 days startTime = timestamp(year(timenow), month(timenow), dayofmonth(timenow) - 30, 0, 0) if (time < startTime) strategy.close_all() strategy.cancel_all() // Entry Condition: Price above EMA300 longCondition = close > ema300 and time >= startTime // Calculate position size (10% of equity) positionSize = strategy.equity * 0.10 / ema20 // Use EMA20 as the limit price // Place a limit buy order at EMA20 if (longCondition) strategy.order("Limit Buy", strategy.long, qty=positionSize, limit=ema20) // Calculate TP and SL levels tpPrice = ema20 * (1 + tpPercentage) slPrice = ema20 * (1 - slPercentage) // Set take profit and stop loss if (strategy.position_size > 0) strategy.exit("Take Profit/Stop Loss", "Limit Buy", stop=slPrice, limit=tpPrice)