리소스 로딩... 로딩...

촛불 라인으로부터 귀중한 정보를 인내심을 가지고 채굴하기 위한 삼중 이동 평균 채널 전략

저자:차오장, 날짜: 2024-02-01 11:12:47
태그:

img

전반적인 설명

트리플 이동 평균 채널 전략은 여러 이동 평균 지표를 사용하여 촛불 차트를 깊이 분석하고 가격 변동의 숨겨진 규칙을 밝히고 저위험 중재 거래를 달성합니다.

원칙

이 전략은 여러 EMA 메트릭스를 볼링거 밴드 위에 쌓아 가격 채널을 구축하고 가격 변동의 패턴을 발견합니다. 구체적으로:

  1. BodyResistanceChannel 지표는 촛불 몸의 저항 수준을 그래프화하는 데 사용됩니다.
  2. 지원/저항 지표는 여러 일간 지원 및 저항 수준을 도출하기 위해 활용됩니다.
  3. 이중 EMA 시스템은 트렌드 방향을 결정하는데 도움이 됩니다.
  4. 헐 MA 지표가 가격 곡선을 부드럽게 합니다.

이 근거를 바탕으로 패터인 인식을 통해 변동 기회를 파악하여 중재 전략을 수립합니다.

장점

이 전략의 장점은 다음과 같습니다.

  1. 여러 EMAS로 가격 채널을 구축하는 것은 가격 추세를 명확하게 결정하는 데 도움이됩니다.
  2. 헐 MA 지표는 가격 파장을 효과적으로 완화시킵니다.
  3. 반전 패턴과 채널 지표를 결합하면 높은 확률과 낮은 위험 거래가 가능합니다.
  4. 다층 지표 시스템을 구축하면 안정적이고 신뢰할 수 있는 거래 신호가 보장됩니다.

위험 분석

이 전략의 잠재적인 위험도 있습니다.

  1. 가격 채널이 침해되면 엄청난 손실의 위험이 있습니다. 해결책은 거래 손실을 줄이기 위해 이동 스톱 손실을 채택하는 것입니다.
  2. 반전 패턴 인식이 잘못되면 잘못된 신호의 위험이 있습니다. 해결책은 패턴 정확성을 향상시키기 위해 매개 변수 최적화입니다.
  3. 표시기 매개 변수가 일치하지 않을 때 신호 품질이 악화 될 위험이 있습니다. 해결책은 여러 매개 변수 최적화 테스트입니다.

최적화 방향

주요 최적화 방향은 다음과 같습니다.

  1. EMA 기간 매개 변수 조합을 최적화하여 시장 조건에 더 잘 맞출 수 있습니다.
  2. 거래당 수익을 극대화하고 거래당 손실 위험을 최소화하기 위해 Stop Loss 레벨을 조정합니다.
  3. 유동성에 기반한 동적 위치 크기 모듈을 도입하여 위험을 효과적으로 관리합니다.
  4. 더 많은 가격 패턴을 발견하고 신호 품질을 향상시키기 위해 딥 러닝 기술을 활용합니다.

결론

삼중 이동 평균 채널 전략은 장기적인 적용과 지속적인 최적화에 가치가있는 안정성과 효율성을 갖춘 가격 움직임의 규칙성을 깊이 탐색합니다. 투자에는 합리성과 인내심이 필요합니다. 점진적 위치 확장은 성공의 열쇠입니다.


/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//╭╮╱╱╭╮╭╮╱╱╭╮
//┃╰╮╭╯┃┃┃╱╱┃┃
//╰╮┃┃╭┻╯┣╮╭┫╰━┳╮╭┳━━╮
//╱┃╰╯┃╭╮┃┃┃┃╭╮┃┃┃┃━━┫
//╱╰╮╭┫╰╯┃╰╯┃╰╯┃╰╯┣━━┃
//╱╱╰╯╰━━┻━━┻━━┻━━┻━━╯
//╭━━━┳╮╱╱╱╱╱╱╱╭╮
//┃╭━╮┃┃╱╱╱╱╱╱╱┃┃
//┃┃╱╰┫╰━┳━━┳━╮╭━╮╭━━┫┃
//┃┃╱╭┫╭╮┃╭╮┃╭╮┫╭╮┫┃━┫┃
//┃╰━╯┃┃┃┃╭╮┃┃┃┃┃┃┃┃━┫╰╮
//╰━━━┻╯╰┻╯╰┻╯╰┻╯╰┻━━┻━╯
//━╯
// http://www.vdubus.co.uk/
strategy(title='Vdub FX SniperVX3 / Strategy  v3', shorttitle='Vdub_FX_SniperVX3_Strategy', overlay=true, pyramiding=0, initial_capital=1000, currency=currency.USD)

//Candle body resistance Channel-----------------------------//
len = 34
src = input(close, title="Candle body resistance Channel")
out = sma(src, len)
last8h = highest(close, 13)
lastl8 = lowest(close, 13)
bearish = cross(close,out) == 1 and falling(close, 1)
bullish = cross(close,out) == 1 and rising(close, 1)
channel2=input(false, title="Bar Channel On/Off")
ul2=plot(channel2?last8h:last8h==nz(last8h[1])?last8h:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level top", offset=0)
ll2=plot(channel2?lastl8:lastl8==nz(lastl8[1])?lastl8:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level bottom", offset=0)
//fill(ul2, ll2, color=black, transp=95, title="Candle body resistance Channel")

//-----------------Support and Resistance 
RST = input(title='Support / Resistance length:', defval=10) 
RSTT = valuewhen(high >= highest(high, RST), high, 0)
RSTB = valuewhen(low <= lowest(low, RST), low, 0)
RT2 = plot(RSTT, color=RSTT != RSTT[1] ? na : red, linewidth=1, offset=+0)
RB2 = plot(RSTB, color=RSTB != RSTB[1] ? na : green, linewidth=1, offset=0)

//--------------------Trend colour ema------------------------------------------------// 
src0 = close, len0 = input(13, minval=1, title="EMA 1")
ema0 = ema(src0, len0)
direction = rising(ema0, 2) ? +1 : falling(ema0, 2) ? -1 : 0
plot_color = direction > 0  ? lime: direction < 0 ? red : na
plot(ema0, title="EMA", style=line, linewidth=1, color = plot_color)

//-------------------- ema 2------------------------------------------------//
src02 = close, len02 = input(21, minval=1, title="EMA 2")
ema02 = ema(src02, len02)
direction2 = rising(ema02, 2) ? +1 : falling(ema02, 2) ? -1 : 0
plot_color2 = direction2 > 0  ? lime: direction2 < 0 ? red : na
plot(ema02, title="EMA Signal 2", style=line, linewidth=1, color = plot_color2)

//=============Hull MA//
show_hma = input(false, title="Display Hull MA Set:")
hma_src = input(close, title="Hull MA's Source:")
hma_base_length = input(8, minval=1, title="Hull MA's Base Length:")
hma_length_scalar = input(5, minval=0, title="Hull MA's Length Scalar:")
hullma(src, length)=>wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
plot(not show_hma ? na : hullma(hma_src, hma_base_length+hma_length_scalar*6), color=black, linewidth=2, title="Hull MA")

//============ signal Generator ==================================//
Piriod=input('720')
ch1 = request.security(syminfo.tickerid, Piriod, open)
ch2 = request.security(syminfo.tickerid, Piriod, close)
longCondition = crossover(request.security(syminfo.tickerid, Piriod, close),request.security(syminfo.tickerid, Piriod, open))
if (longCondition)
    strategy.entry("BUY", strategy.long)
shortCondition = crossunder(request.security(syminfo.tickerid, Piriod, close),request.security(syminfo.tickerid, Piriod, open))
if (shortCondition)
    strategy.entry("SELL", strategy.short)

///////////////////////////////////////////////////////////////////////////////////////////

더 많은