평평선 골드 크로스 전략은 비교적 흔한 양적 거래 전략이다. 이 전략은 두 가지 다른 변수의 지수 이동 평균을 이용한다. 단기 EMA 상에서 장기 EMA를 통과할 때, 더 많이 한다. 단기 EMA 아래에서 장기 EMA를 통과할 때, 평소한다. 이 전략은 단기 EMA가 가격 변화에 더 빨리 반응하고, 장기 EMA가 트렌드를 더 잘 반영할 수 있는 특징을 이용한다.
이 전략은 먼저 두 개의 EMA 평균선을 정의하고, EMA1의 길이는 10이고, EMA2의 길이는 21이다. 그리고 두 개의 평균선의 값을 산출한다. EMA1에서 EMA2를 통과하면, 가격이 상향으로 돌파되기 시작한다는 것을 나타냅니다.
가짜 돌파를 필터링하기 위해, 코드는 또한 한계값을 정의하고, 계산 공식은 다음과 같다:
threshold = ((ema1 - ema2)*100) / ((ema1 + ema2)/2)
이 값은 두 평균선 간격이 평균선 평균값에 차지하는 비율을 나타낸다. threshold이 0.15%보다 크면 더 많은 신호를, -0.006보다 작으면 평점 신호를 한다.
전체적으로, 이 전략의 거래 신호는 다음과 같습니다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
EMA 평균선을 사용하여 가격 데이터를 평형화하여 거래 신호를 생성하는 데 도움이됩니다.
이중 EMA는 반응 속도와 안정성에서 균형을 잡을 수 있는 다른 매개 변수를 설정한다.
임계값을 높여서 가짜 침입을 필터링하고, 불필요한 거래를 방지할 수 있다.
전략은 간단하고 명확하며, 이해하기 쉬운 구현이며, 양자 거래 초보자에게 적합합니다.
전략 효과를 최적화하기 위해 EMA 변수와 임계값을 유연하게 조정할 수 있다.
이 전략에는 몇 가지 위험도 있습니다.
EMA 평균선은 가격에 뒤쳐져 있고, 단선 거래 기회를 놓칠 수 있다.
“이런 상황이라면, 우리는 더 큰 손실을 입을 수 있다”.
threshold 값을 잘못 설정하면 유효한 신호를 필터링하거나 잘못된 신호를 발산할 수 있다.
EMA 매개 변수는 적절하지 않으며, 단기 및 장기 EMA는 명백한 특징 차이가 없으며, 잘못된 신호를 발생시킨다.
대장 변동은 스톱 손실로 이어질 수 있으며, 이를 뚫을 경우 합리적인 스톱 손실을 설정해야 한다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
EMA 매개 변수를 최적화하고, 다른 주기 매개 변수가 전략 효과에 미치는 영향을 테스트한다.
임계 값을 최적화하여, 가짜 신호를 필터링하고 유효 신호를 유지합니다.
MACD, KDJ 등과 같은 다른 기술 지표 판단을 추가하여 거래 신호를 종합적으로 판단한다.
손해 제도에 가입할 수 있으며, 이동적 손해 또는 상장적 손해 제도를 통해 단편적 손해를 통제할 수 있다.
단일 입점의 위험을 줄이기 위해, 분량 창고 구축 방법을 추가하는 것을 고려할 수 있습니다.
다른 포지션 기간을 테스트하여 더 적합한 포지션 기간을 찾습니다.
평행선 황금십자 전략 전체적인 아이디어는 명확하고 이해하기 쉽고, EMA 평행선의 특성을 이용하여 거래 신호를 판단한다. 이 전략에는 어느 정도의 장점이 있지만, 또한 몇 가지 잠재적인 위험을 주의해야 한다. 변수 최적화, 손해 방지 설정, 신호 필터링 등의 방법을 통해 더 나은 전략 효과를 얻을 수 있다. 이 전략은 협동량 거래의 입문 전략으로 학습하고 연습하기에 적합하다.
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
if high > ta.highest(high[1], 5)
strategy.entry("Enter Long", strategy.long)
else if low < ta.lowest(low[1], 5)
strategy.entry("Enter Short", strategy.short)//@version=3
strategy(title="ema10-21", shorttitle="10/21", overlay=true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 2500, commission_type = strategy.commission.percent, commission_value = 0.2)
len1 = input(10, minval=1, title="EMA #1 length")
src1 = input(close, title="EMA Source #1")
a = ta.ema(src1, len1)
plot(a, title="EMA #1", color=color.orange, linewidth=2, style=plot.style_line)
len2 = input(21, minval=1, title="EMA #2 length")
src2 = input(close, title="EMA Source #2")
b = ta.ema(src2, len2)
plot(b, title="EMA #2", color=color.blue, linewidth=2, style=plot.style_line)
threshold = ((a-b)*100)/((a+b)/2)
thresholdUp = threshold > 0.15
thresholdDown = threshold < -0.006
if (thresholdUp)
strategy.entry("Buy", strategy.long)
if (thresholdDown)
strategy.close("Buy", strategy.long)
//goLong() => (crossover(a, b)) and (threshold >= 0.0025)
//killLong() => (crossunder(a, b)) and (threshold <= -0.0025)
//strategy.entry("Buy", strategy.long, when = goLong())
//strategy.close("Buy", when = killLong())
//threshold = ((a-b)*100)/((a+b)/2)
//achat = out1 > out2
//vente = out1 < out2 //and threshold < -0.025
//strategy.entry("long", true, when = achat)
//strategy.exit("exit", "long", when = vente)