이 전략은
이 전략은 12~26~55주기 낮은 지연 TEMA를 포함한 세 개의 낮은 지연 이동 평균을 사용합니다. 이 세 가지 MA는 빠른, 중간 및 느린 MA를 나타냅니다. 빠른 MA가 중간 MA를 넘을 때 구매 신호가 생성됩니다. 빠른 MA가 중간 MA를 넘을 때 판매 신호가 생성됩니다. 시장 진입 및 출구 지점을 결정하기 위해 세 가지 MA의 크로스오버를 사용하여 고 주파수 거래를 달성 할 수 있습니다.
템플릿 함수 tema() 는 낮은 지연 TEMA를 계산하기 위해 코드에서 정의되어 있습니다. 계산 공식은: TEMA = 2 * EMA - EMA(EMA). 계산을 위해 이중 기하급수적인 이동 평균 EWMA를 사용합니다. 본질적으로 이중 매끄러운 EMA이며 지연 효과를 크게 줄이는 주요 장점입니다. 따라서 가격 변화에 더 빠르게 반응하고 거래 신호의 신속성을 향상시킬 수 있습니다.
구체적으로, 이 전략의 출입 규칙은: 빠른 MA가 중간 MA를 넘어서고 빠른 MA가 느린 MA보다 높을 때 구매 신호가 생성됩니다. 빠른 MA가 중간 MA를 넘어서고 빠른 MA가 느린 MA보다 낮을 때 판매 신호가 생성됩니다.
이 전략의 가장 큰 장점은 입구와 출구가 빠르고 정확하게 결정된다는 것입니다. 세 개의 MAs의 저지연 설계는 가격 변화에 신속하게 대응 할 수 있도록 지연 효과를 크게 줄여줍니다. 또한 신호를 결정하기 위해 세 개의 MAs의 크로스오버를 사용하면 잘못된 신호를 피할 수 있습니다.
또한 이 전략은 단기 가격 변동으로부터 이익을 얻기 위해 고주파 거래에 적합합니다. 빠른 입출입을 통해 높은 변동성 시장에서 이익을 얻을 수 있습니다.
가장 큰 위험은 초단기적 위프사우가 발생할 수 있다는 것입니다. 낮은 지연 디자인에서 가격 변화에 대한 높은 민감성으로 인해 일부 시장은 고주파 오스실레이션을 경험할 수 있습니다. 그러면 위프사우가 발생할 가능성이 높습니다.
또한, 높은 주파수 거래는 상대적으로 높은 수수료와 미끄러짐 비용을 지불해야합니다. 수익 능력이 충분하지 않으면 거래 비용으로 손실을 겪는 것이 쉽습니다.
또한 이 전략은 거래자가 실시간 모니터링 능력을 갖추고 있어 스톱 로스를 업데이트하고 적시에 이윤을 취득할 수 있어야 합니다.
전략은 다음 측면에서 최적화 될 수 있습니다:
세 가지 MA의 기간 매개 변수를 최적화하여 다른 시장 특성에 더 잘 맞게 합니다.
변동성 지표 또는 부피 지표를 추가하여 신호를 확인하고 다양한 시장에서 위프스를 피합니다.
더 많은 요소를 통합하여 동적 트레일링 정지 메커니즘을 설정합니다.
자금 관리 기술을 통해 단일 거래 위험을 제어하기 위해 포지션 크기를 최적화하십시오.
기계 학습 알고리즘을 통합하여 전략 매개 변수를 동적으로 최적화합니다.
이 전략은 낮은 지연의 트리플 이동 평균 빠른 거래 전략이다. 낮은 지연의 디자인을 통해 빠른 입점과 출구를 달성 할 수 있으며, 이는 단기 기회를 포착하기 위해 높은 주파수 거래에 적합합니다. 이 전략의 가장 큰 장점은 신호 결정이 빠르고 정확하다는 것입니다. 가장 큰 단점은 범위 시장에서 휘파람을 당하는 경향이 있다는 것입니다. 이 기사는 이 전략의 이성, 장점, 위험 및 최적화 방향에 대한 자세한 분석을 통해이 거래 전략을 포괄적으로 요약합니다.
[/trans]
/*backtest start: 2023-11-24 00:00:00 end: 2023-12-24 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("scalping low lag tema etal", shorttitle="Scalping tema",initial_capital=10000, overlay=true) mav = input(title="Moving Average Type", defval="temadelay", options=["nkclose", "ema", "emadelay", "fastema", "tema", "temadelay"]) lenb = 3 N = input(8) K = input(1.2) fracCap = input(1.0) in = close + K*mom(close,N) source = close length = 8 sigma = 12.0 offset = 0.9 p = 4 // length = 10 // sigma = 6.0 // offset = 0.85 tema(src,len) => fastemaOut = 2*ema(src, len) - ema(ema(src, len), len) a = 0.0 b = 0.0 c = 0.0 if mav == "nkclose" a := ema(in, 12) b := a[1] c := a[2] if mav == "ema" a := ema(close, 12) b := ema(close, 26) c := ema(close, 55) if mav == "emadelay" a := ema(close, 12) b := a[1] c := a[2] if mav == "fastema" a := ema(in, 12) b := ema(in, 26) c := ema(in, 55) if mav == "tema" a := tema(close, 12) b := tema(close, 26) c := tema(close, 55) if mav == "temadelay" a := tema(close, 12) b := a[1] c := a[2] TP = input(200) SL = input(130) TS = input(1) // TP = input(50) // SL = input(110) // TS = input(1) orderSize = floor((fracCap * strategy.equity) / close) long = cross(a, c) and a > b short = cross(a, c) and a < b plot(a, title="12", color=color.red, linewidth=1) plot(b, title="26", color=color.blue, linewidth=1) plot(c, title="55", color=color.green, linewidth=1) strategy.entry("Long", strategy.long, qty=orderSize, when=long) strategy.entry("Short", strategy.short, qty=orderSize, when=short) // strategy.entry("Long", strategy.long, 100.0, when=long) // strategy.entry("Short", strategy.short, 100.0, when=short) // strategy.entry("Long", strategy.long, 100.0, when=long) // strategy.entry("Short", strategy.short, 100.0, when=short) // strategy.entry("Long", strategy.long, 1.0, when=long) // strategy.entry("Short", strategy.short, 1.0, when=short) TPP = (TP > 0) ? TP : na SLP = (SL > 0) ? SL : na TSP = (TS > 0) ? TS : na // strategy.exit("Close Short", "Short", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP, when=long) // strategy.exit("Close Long", "Long", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP, when=short) // strategy.exit("Close Long", "Long", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP, when=long[1]) // strategy.exit("Close Short", "Short", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP, when=short[1]) strategy.exit("Close Long", "Long", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP) strategy.exit("Close Short", "Short", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP)