낮은 지연 세 배 이동 평균 빠른 거래 전략

저자:차오장, 날짜: 2023-12-25 14:24:38
태그:

이 전략은 Low Lag Triple Moving Average Fast Trading Strategy라고 불린다. 이 전략의 주요 아이디어는 다른 매개 변수와 낮은 지연 설계와 함께 3 개의 이동 평균의 황금 십자가와 죽음의 십자가를 기반으로 엔트리 및 출구를 결정하는 것입니다.

전략 원칙

이 전략은 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의 크로스오버를 사용하면 잘못된 신호를 피할 수 있습니다.

또한 이 전략은 단기 가격 변동으로부터 이익을 얻기 위해 고주파 거래에 적합합니다. 빠른 입출입을 통해 높은 변동성 시장에서 이익을 얻을 수 있습니다.

위험 분석

가장 큰 위험은 초단기적 위프사우가 발생할 수 있다는 것입니다. 낮은 지연 디자인에서 가격 변화에 대한 높은 민감성으로 인해 일부 시장은 고주파 오스실레이션을 경험할 수 있습니다. 그러면 위프사우가 발생할 가능성이 높습니다.

또한, 높은 주파수 거래는 상대적으로 높은 수수료와 미끄러짐 비용을 지불해야합니다. 수익 능력이 충분하지 않으면 거래 비용으로 손실을 겪는 것이 쉽습니다.

또한 이 전략은 거래자가 실시간 모니터링 능력을 갖추고 있어 스톱 로스를 업데이트하고 적시에 이윤을 취득할 수 있어야 합니다.

최적화 방향

전략은 다음 측면에서 최적화 될 수 있습니다:

  1. 세 가지 MA의 기간 매개 변수를 최적화하여 다른 시장 특성에 더 잘 맞게 합니다.

  2. 변동성 지표 또는 부피 지표를 추가하여 신호를 확인하고 다양한 시장에서 위프스를 피합니다.

  3. 더 많은 요소를 통합하여 동적 트레일링 정지 메커니즘을 설정합니다.

  4. 자금 관리 기술을 통해 단일 거래 위험을 제어하기 위해 포지션 크기를 최적화하십시오.

  5. 기계 학습 알고리즘을 통합하여 전략 매개 변수를 동적으로 최적화합니다.

결론

이 전략은 낮은 지연의 트리플 이동 평균 빠른 거래 전략이다. 낮은 지연의 디자인을 통해 빠른 입점과 출구를 달성 할 수 있으며, 이는 단기 기회를 포착하기 위해 높은 주파수 거래에 적합합니다. 이 전략의 가장 큰 장점은 신호 결정이 빠르고 정확하다는 것입니다. 가장 큰 단점은 범위 시장에서 휘파람을 당하는 경향이 있다는 것입니다. 이 기사는 이 전략의 이성, 장점, 위험 및 최적화 방향에 대한 자세한 분석을 통해이 거래 전략을 포괄적으로 요약합니다.
[/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)


더 많은