
이 전략은 부린 밴드와 지수 이동 평균 ((EMA) 의 두 가지 기술 지표를 결합하여 시장의 유행 기회를 잡기 위해 고안되었습니다. 전략의 주요 아이디어는 부린을 사용하여 가격이 상대적으로 높은 수준인지 낮은 수준인지 판단하고 EMA를 유행의 필터 조건으로 사용하여 최종적으로 특정 논리 규칙에 따라 거래 결정을 내리는 것입니다.
브린 밴드를 계산한다: 종전 가격의 간단한 이동 평균 ((SMA) 와 표준 차이를 계산하여 브린 밴드의 상반 및 하반을 얻는다. 상반은 SMA를 더한 일정 배수의 표준 차이를, 하반은 SMA를 빼한 일정 배수의 표준 차이를 갖는다.
계산 EMA: 설정된 EMA 주기에 따라 종식 가격의 지수 이동 평균을 계산한다.
ATR을 계산한다: 설정된 ATR 주기에 따라 평균 실제 변동폭을 계산한다.
매입 조건: 매입 신호가 동시 EMA와 브린을 넘어서면 매입 신호가 발동된다.
팔기 조건: 부린 반도 하향 또는 EMA를 넘어서는 경우, 팔기 신호를 발동한다.
거래 실행: 구매 및 판매 조건에 따라 해당하는 다목적 또는 공백 거래를 실행한다.
도표: 메인 도표에 EMA와 브린 대역을, 부도표에 ATR을 도표한다.
브린 띠는 가격의 변동 범위를 효과적으로 포착하여 가격이 상대적으로 높은 지점인지 낮은 지점인지 판단하는 데 도움이됩니다.
EMA는 가격의 추세 방향을 반영할 수 있으며, 布林带에서 생성되는 거래 신호를 필터링하여 거래의 정확성을 향상시킬 수 있다.
ATR은 시장의 변동성을 측정하고 거래 결정을 위한 참고 자료를 제공합니다.
전략의 논리는 명확하고, 이해하기 쉽고, 실행하기 쉽다.
브린 띠와 EMA의 매개 변수를 조정하여 다른 시장 환경과 거래 품종에 적응 할 수 있습니다.
위기 시장이나 트렌드 역전시, 이 전략은 더 많은 가짜 신호를 생성할 수 있으며, 이로 인해 거래와 손실이 자주 발생한다.
전략은 변수 선택에 민감하며, 다른 변수 설정은 다른 거래 결과를 초래할 수 있다.
전략은 거래 비용과 슬라이드 포인트를 고려하지 않고 실제 거래에서 전략의 수익에 영향을 미칠 수 있습니다.
전략은 위험 관리, 예를 들어, 손해 중지 및 포지션 제어 등이 부족합니다.
트렌드 확인 지표, MACD, DMI 등이 도입되어 트렌드의 신뢰성을 더욱 검증하고, 가짜 신호를 줄일 수 있다.
최적화 변수 선택, 역사 데이터를 통해 다양한 변수 조합을 테스트하여 최적의 변수 설정을 찾을 수 있다.
ATR 설정에 따라 동적 중단 또는 시장의 변동성에 따라 위치 크기를 조정하는 것과 같은 위험 관리 조치를 추가하십시오.
거래 비용과 슬라이드 포인트의 영향을 고려하여 재검토와 실적에서 고려하여 전략의 실용성을 향상시킵니다.
다른 기술적인 지표나 기본적 요소와 결합하여 보다 포괄적이고 안정적인 거래 전략을 수립한다.
브린 띠+EMA 트렌드 추적 전략은 브린 띠와 EMA 두 가지 기술 지표를 결합하여 시장의 트렌드 기회를 포착합니다. 이 전략의 장점은 논리적으로 명확하고 이해하기 쉽고 실행할 수 있으며, 변수를 조정하여 다른 시장 환경에 적응 할 수 있습니다. 그러나 전략에는 위험도 있습니다. 불안한 시장이나 추세 역전시에는 가짜 신호가 많이 발생할 수 있으며, 변수 선택에 민감하며, 위험 관리 조치의 부재 등이 있습니다. 전략을 더 최적화하기 위해 다른 트렌드 확인 지표를 도입하고, 변수 선택, 위험 관리 조치를 추가하고 거래 비용과 슬라이드 포인트의 영향을 고려하고, 다른 기술 지표 또는 기본 요소와 결합하여 전략을 추가하는 것이 고려 될 수 있습니다.
/*backtest
start: 2024-02-20 00:00:00
end: 2024-03-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Bollinger Bands + EMA Strategy", overlay=true)
// Bollinger Bands settings
bollinger_period = 50
bollinger_width = 2.0
// EMA settings
ema_period = 100
// ATR settings
atr_period = 14
atr_factor = 1.8
// Calculate Bollinger Bands
sma_source = sma(close, bollinger_period)
std_dev = stdev(close, bollinger_period)
upper_band = sma_source + bollinger_width * std_dev
lower_band = sma_source - bollinger_width * std_dev
// Calculate EMA
ema_value = ema(close, ema_period)
// Calculate ATR
atr_value = atr(atr_period)
// Buy condition
buy_condition = close > ema_value and close > upper_band
// Sell condition
sell_condition = crossunder(close, lower_band) or crossunder(close, ema_value)
// Plotting Bollinger Bands and EMA
plot(ema_value, color=color.blue, title="EMA")
plot(upper_band, color=color.green, title="Upper Bollinger Band")
plot(lower_band, color=color.red, title="Lower Bollinger Band")
// Execute orders based on conditions
if (buy_condition)
strategy.entry("Buy", strategy.long)
if (sell_condition)
strategy.entry("Sell", strategy.short)
// Plot ATR on separate pane
plot(atr_value, color=color.orange, title="ATR", style=plot.style_stepline, linewidth=1, transp=0)