
이 전략은 9주기 지수 이동 평균 ((9EMA) 을 트렌드 판단의 근거로 삼고, 거래일 개시 10분 이내에, 만약 연속적으로 5분 K 선의 종료 가격이 최고 가격에 매우 가깝고 (최고 가격의 99%보다 크다) 그리고 종료 가격이 9EMA 위에 있다면, 강력한 돌파 신호가 나타난 것으로 간주되며, 이 시점의 종료 가격으로 포지션 크기를 계산하고, 더 많은 포지션을 한다. 첫 번째 9EMA의 종료 가격의 5분 K 선의 평형 포지션이 깨지기 전까지 포지션을 보유한다.
이 전략은 다음과 같은 원칙에 기초하고 있습니다.
이 전략은 거래일 개시 단계의 강력한 돌파상황을 포착하여 동적 포지션 방식으로 참여하여 적은 위험으로 더 큰 수익을 얻으려고 노력한다. 또한, 이 전략은 엄격한 중지 조건을 채택하고 있으며, 트렌드가 역전되면 평점 포지션을 중단하고, 통제 철회한다.
위와 같은 위험에 대해, 다음과 같은 측면에서 최적화 및 개선을 고려할 수 있습니다.
위와 같은 최적화를 통해 전략은 트렌드를 잡는 동시에 위험을 더 잘 제어하고 전략 수익의 안정성과 지속성을 향상시킬 수 있습니다. 물론 모든 최적화는 엄격한 피드백을 통해 효과성을 검증하고 실제 상황에 따라 동적으로 조정해야합니다.
이 전략은 9EMA를 중심으로, 연속적으로 5분 K선 종점 가격 강점을 9EMA를 돌파하는 방식으로, 거래일 개시 10분 이내에 강세를 보이며, 고정자금 동적으로 포지션을 조정하는 방식으로 거래한다. 이 전략의 논리는 간단하고 이해하기 쉽고 실행이 용이하며, 대부분의 거래자가 사용할 수 있다. 동시에, 이 전략에는 일정 한계와 위험이 있습니다. 예를 들어, 지진 상황과 하향 추세 상황의 적응력이 부족하고, 포지션을 열고 나서 급격한 역전 위험이 있습니다. 이러한 문제에 대해, 추세를 판단하고, 포지션 위치를 제어하고, 손실을 막고, 최적화하고, 필터링 조건을 개선하고 최적화하여, 전략이 시장 기회를 더 잘 파악하고, 위험을 제어 할 수 있습니다.
/*backtest
start: 2023-03-13 00:00:00
end: 2024-03-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Two 5min Closes Above 9EMA Strategy with Dynamic Position Size", overlay=true)
// Define the fixed amount for position sizing
fixedAmount = 1000
// Calculate the 9-period EMA
ema9 = ta.ema(close, 9)
// Define time constraints (9:30 AM to 9:40 AM EST, adjust for your timezone)
sessionStart = 0930
sessionEnd = 0940
timeCondition = (hour * 100 + minute) >= sessionStart and (hour * 100 + minute) < sessionEnd
// Detect two consecutive 5-min bars where close is near 0.99 times the high and above 9 EMA
closeNearHighAndAboveEMA = close >= high * 0.99 and close > ema9
twoConsecutiveBars = closeNearHighAndAboveEMA and closeNearHighAndAboveEMA[1]
// Entry condition: Within the first 10 minutes of the day and two consecutive bars match criteria
entryCondition = twoConsecutiveBars
// Exit condition: First 5-min close below 9 EMA after entry
exitCondition = close < ema9
// Plot EMA for visualization
plot(ema9, color=color.blue, linewidth=2, title="9 EMA")
// Calculate position size
positionSize = fixedAmount / close
// Strategy execution
if (entryCondition)
strategy.entry("Buy", strategy.long, qty=positionSize)
if (exitCondition)
strategy.close("Buy")