
이 전략은 쌍평준 시스템 기반의 트렌드 추적 거래 전략으로, 기술 분석의 지수 이동 평균 ((EMA) 지표와 결합하여, EMA20 위치에서 제한 가격을 설정하여 구매한다. 전략은 보수적인 자금 관리 방법을 사용하며, 매번 계좌 이득의 10%만을 사용하여 거래하고, 위험을 제어하기 위해 스톱로스를 설정한다. 전략은 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)