
이 전략의 핵심 아이디어는 빠른 이동 평균과 느린 이동 평균의 금 叉 死 叉를 사용하여 시장 추세를 판단하여 낮은 위험 거래를 구현하는 것입니다. 빠른 이동 평균 상에서 느린 이동 평균을 통과하면 시장이 상승 추세에 들어갈 수 있음을 나타냅니다. 이 때 더 많이; 빠른 이동 평균 아래에서 느린 이동 평균을 통과하면 시장이 하향 추세에 들어갈 수 있음을 나타냅니다.
이 전략은 가격의 지수 이동 평균을 사용합니다. 이동 평균은 가격 움직임을 판단하기 위해 가격 데이터를 평형화하는 트렌드 분석 지표입니다. 빠른 이동 평균의 변수가 작으면 가격 변화에 더 빨리 반응 할 수 있습니다. 느린 이동 평균의 변수가 크면 가격 변화에 대한 반응이 느립니다. 빠른 이동 평균 상에서 느린 이동 평균을 통과하면 다단계 시장에 진입 할 가능성이 있으며 다단계 위치를 설정해야합니다.
구체적으로, 이 전략은 두 개의 지수 이동 평균을 정의하고, 빠른 이동 평균의 주기는 21, 느린 이동 평균의 주기는 55. 전략은 두 개의 이동 평균의 금 포크를 판단하여 진출을 결정한다. 빠른 이동 평균에서 느린 이동 평균을 통과 할 때, 더 많은 것을하고, 빠른 이동 평균 아래에서 느린 이동 평균을 통과 할 때, 공백을 만든다.
또한, 이 전략은 ATR이라는 변동률 지표를 사용하여 중지 및 중지 설정합니다. ATR은 시장의 변동 정도를 효과적으로 평가합니다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
이 전략에는 몇 가지 위험도 있습니다.
위와 같은 위험 요소에 대해, 우리는 다음과 같은 몇 가지 측면에서 최적화할 수 있습니다.
이 전략은 다음과 같은 부분에서 더욱 개선될 수 있습니다.
기계 학습 방법을 사용하여 이동 평균 변수를 자동으로 최적화하여 전략을 더 적응시킬 수 있습니다.
기본 요소를 필터링 조건으로 추가하여 중요한 이익과 적자 소식이 도착했을 때 맹목적으로 더 많은 공백을 피하십시오. 예를 들어, 미국 연방제도 금리 결정, 중요한 거시 데이터 발표 등.
ATR이 너무 크거나 너무 작을 때 거래 중지하여 극한 시장 환경에서 손실을 피하기 위해 변동성의 상하 경계를 설정하십시오.
주식 기본 지표, PE 시장 상승률, 거래량 증대 효과 등과 결합하여 동적 스톱로스 상승幅을 설정하십시오.
포지션 관리 메커니즘을 늘리고, 수익률이 일정 수준에 도달하면 포지션을 점차적으로 줄이고, 큰 손실이 발생하면 거래를 일시 중단합니다.
이 전략의 전체적인 운영 아이디어는 명확하고 간단하며, 쌍 이동 평균을 교차하여 시장의 추세를 판단하는 것이 전형적인 트렌드 추적 전략에 속한다. 동시에, 전략은 위험을 잘 통제하고, ATR 지표를 사용하여 스톱 로드 위치를 동적으로 설정한다. 추가적인 최적화를 통해, 전략은 철회 제어 및 우세한 조작 측면에서 향상 될 수 있으며, 이로 인해 더 안정적인 투자 성과를 얻을 수 있다.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="No-Nonsense Strategy Template [WM]", overlay = true)
price = close
//
// ATR stuff
//
atrLength = input(14, "ATR Length")
slMultiplier = input(1.5, "SL")
tpMultiplier = input(1, "TP1")
atr = atr(atrLength)
//
// Strategy under test. MA crossover
//
fastInput = input(21)
slowInput = input(55)
fast = ema(price, fastInput)
slow = ema(price, slowInput)
plot(fast, color = red)
plot(slow, color = blue)
goLong = crossover(fast, slow)
goShort = crossunder(fast, slow)
if (goLong)
sl = price - atr * slMultiplier
tp = price + atr * tpMultiplier
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", "Long", stop = sl, limit = tp)
if (goShort)
sl = price + atr * slMultiplier
tp = price - atr * tpMultiplier
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", "Short", stop = sl, limit = tp)