이 트렌드는 EMA 라인을 기반으로 하는 트렌드를 따르는 전략이다. 서로 다른 기간인 21과 55의 EMA 라인을 사용한다. 더 빠른 EMA 라인이 더 느린 EMA 라인의 위를 넘을 때 구매 신호가 생성된다. 더 빠른 EMA가 느린 EMA 아래를 넘을 때 판매 신호가 생성된다.
또한 이 전략은 역거래, ATR 스톱 로스 및 수익을 취하는 역거래를 포함하여 안정성과 수익성을 향상시킵니다.
21 및 55 기간 EMA 라인을 사용하십시오. 21 EMA는 단기 트렌드를 나타내고 55 EMA는 장기 트렌드를 나타냅니다.
21 EMA가 55 EMA를 넘으면 단기 트렌드가 상승하는 것을 나타내고 구매 신호를 생성합니다.
21 EMA가 55 EMA 아래를 넘으면 단기 트렌드가 하향으로 변하는 것을 나타내고 판매 신호를 생성합니다.
리버스 트레이딩: 가격이 오픈 가격보다 낮을 때만 구매하고, 오픈 가격보다 높을 때만 판매합니다. 이것은 단기적 인퇴로 구매하고 리바운드로 판매하는 것을 목표로합니다.
ATR 스톱 로스: N 곱하기 ATR을 사용하여 스톱 로스 가격을 설정합니다. 이것은 시장 변동성에 따라 스톱 로스를 동적으로 조정합니다.
이윤을 취하는 역전: 영업 가격 마이너스 N 곱하기 ATR을 수익 목표로 사용하십시오. 이것은 이전 지원-저항 영역을 다시 테스트하는 가격을 활용합니다.
이중 EMA를 사용하여 중장기 동향을 포착합니다.
리버스 트레이딩은 트렌드의 단기적 인 인회 트레이드에 적합합니다.
ATR 스톱은 시장 변동에 적응합니다.
이윤을 회수하는 것은 중요한 기술적 수준에 가깝고 더 높은 확률이 있습니다.
단순하고 명확한 논리, 이해하기 쉽고 수정하기 쉽습니다.
암호화폐와 같은 높은 변동성 시장에 적용됩니다.
이중 EMA는 잘못된 신호를 만들어 EMA 기간을 연장시킬 수 있습니다.
리버스 트레이드는 스톱 러스 경향이 있습니다.
가짜 탈출은 자주 발생합니다. 다른 필터를 추가합니다.
수익을 취하는 경우 위험도가 높습니다.
MACD, KD와 같은 지표를 추가하여 과잉 구매 / 과잉 판매 구역에서 신호를 필터합니다.
트렌드를 종합적으로 판단하기 위해 120기기 EMA 같은 EMA를 더 추가합니다.
더 나은 입시 가격에 롱과 쇼트를 위한 다른 미끄러짐을 설정합니다.
매우 변동적인 암호화 거래를 위해 ATR 스톱 로스를 느슨하게 합니다.
ATR 곱셈과 트레일링 스톱 메커니즘을 최적화하여 최대 수익과 최소 유출을 달성합니다.
결론적으로, 이것은 비교적 간단한 이중 EMA 추세 추후 전략이다. 그것의 강점은 깨끗한 논리, 유연한 매개 변수, 중장기 추세와 단기 역전에서 적용 가능성에 있다. 우리는 또한 미래의 개선에 대한 여러 권고와 함께 잠재적인 약점과 해결책을 분석했다. 전반적으로, 이 전략은 어느 정도 실용적이며 진화할 여지가 있지만, 그 매개 변수들은 다른 시장에 대한 조정이 필요하다.
/*backtest start: 2022-11-21 00:00:00 end: 2023-11-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © TheHulkTrading // Simple EMA strategy, based on ema55+ema21 and ATR(Average True Range) and it enters a deal from ema55 when the other entry conditions are met //@version=4 strategy("Simple Ema_ATR Strategy HulkTrading", overlay=true) atr_multiplier = input(2, minval=1, title="ATR Multiplier") // ATR Multiplier. Recommended values between 1..4 emaFast=ema(close,21) emaSlow=ema(close,55) //Basically long and short conditions //If long: // 1) close must be less than open (because we are searching for a pullback) // 2) emaFast(21) must be bigger than emaSlow(55) - for a trend detection // 3) Difference between emaFast and emaSlow must be greater than ATR(14) - for excluding flat longCond = close < open and emaFast > emaSlow and abs(emaSlow-emaFast) > atr(14) //For short conditions are opposite shortCond = close > open and emaFast < emaSlow and abs(emaSlow-emaFast) > atr(14) //Stop levels and take profits, based on ATR multiplier stop_level_long = strategy.position_avg_price - atr_multiplier*atr(14) take_level_long = strategy.position_avg_price + atr_multiplier*atr(14) stop_level_short = strategy.position_avg_price + atr_multiplier*atr(14) take_level_short = strategy.position_avg_price - atr_multiplier*atr(14) //Entries and exits strategy.entry("Long", strategy.long, when=longCond, limit = emaSlow) strategy.exit("Stop Loss/TP","Long", stop=stop_level_long, limit = take_level_long) strategy.entry("Short", strategy.short, when=shortCond, limit = emaSlow) strategy.exit("Stop Loss/TP","Short", stop=stop_level_short, limit = take_level_short)