이 전략은 이중 지수적 이동 평균 (EMA) 프레임워크를 기반으로 트렌드를 따르는 거래 시스템으로, EMA20 수준에서 리미트 구매 주문을 구현합니다. 상거래 당 계정 자본의 10%만을 활용하고 리스크 관리에 이익과 스톱 로스 수준을 통합하여 보수적 인 돈 관리 접근 방식을 사용합니다. 이 전략은 시장 추세를 결정하기 위해 두 개의 EMA 기간 (30 일 및 300 일) 을 사용하고 상승 트렌드 시장에서 진입 기회를 찾습니다.
전략의 핵심 논리는 몇 가지 핵심 요소에 기반합니다.
이 전략은 상대적으로 견고한 거래 시스템을 만들기 위해 이동 평균 시스템과 엄격한 위험 통제 규칙을 결합합니다. 그것의 핵심 강점은 트렌드를 따르는 특성 및 포괄적인 위험 관리 메커니즘에 있으며, 보수적인 돈 관리를 유지하면서 제한 주문을 통해 입시 가격을 최적화합니다. 전략이 다양한 시장에서 저성공 할 수 있지만 제안 된 최적화 방향은 안정성과 수익성을 더욱 향상시킬 수 있습니다. 안정적인 수익을 추구하는 투자자에게,이 양적 거래 전략은 가치가있는 고려 사항을 나타냅니다.
/*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)