골든포레스트 1분 돌파 전략


생성 날짜: 2024-02-19 10:56:07 마지막으로 수정됨: 2024-02-19 10:56:07
복사: 0 클릭수: 687
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

골든포레스트 1분 돌파 전략

개요

골드 포레스트 1분 브레이크 전략은 1분 시간 프레임 안에 가격의 브레이크 신호를 포착하여 빠른 수익을 달성하기 위해 노력하는 단선 양적 거래 전략이다. 이 전략은 평행선, ATR, RSI 등의 여러 지표를 결합하여 거래 신호를 형성하여 짧은 시간에 더 높은 손실을 달성하기 위해 노력한다.

전략 원칙

이 전략은 주로 다음과 같은 요소에 기반하여 거래 신호를 형성합니다.

  1. ATR 지표 - 가격의 평균 실제 변동 범위를 계산하여 가격 채널을 설정합니다.
  2. 평균선 지표 - 금포크 사다리 신호를 형성하기 위해 빠른 EMA와 느린 EMA를 계산합니다.
  3. RSI 지표 - RSI를 계산하여 과매매 지역을 판단합니다.
  4. 가격과 채널의 관계 - 가격이 상하 채널을 뚫을 때 거래 신호를 냅니다.

구체적으로, 전략은 ATR의 N주기 평균값과 빠른 EMA, 느린 EMA, 그리고 빠른 RSI를 계산합니다. 가격의 ATR 통로를 뚫고 EMA를 형성하고 RSI가 과매매 과매매 수준을 초과하는 세 가지 조건과 결합하면 전략은 구매 또는 판매 신호를 냅니다.

우위 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 가격의 단기적 추세를 포착하는 것.
  2. 빠른 반응, 고주파 거래에 적합합니다.
  3. 다양한 지표들을 활용하여 높은 신뢰도를 가진 파동을 필터링합니다.
  4. parametric, 사용자가 직접 최적화할 수 있는 매개 변수

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 단선거래는 위험성이 높고, 엄격한 손해배상 규제가 필요합니다.
  2. 변수 최적화가 잘못되어 오버패칭이 발생할 수 있습니다.
  3. 거래 빈도가 높고 거래 비용이 증가합니다.

위험을 통제하기 위해, 손실을 막는 전략을 취해야 하며, 파라미터를 최적화할 때 재검토를 잘하고, 과도한 맞춤을 피한다. 또한, 거래 주파수를 조정하고, 거래 비용을 통제한다.

최적화 방향

이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.

  1. 테스트 기간이 짧을 수 있는 파라미터 설정 (5분, 15분);

  2. 거래량 지표와 같은 더 많은 필터링 지표를 추가하여 신호 품질을 향상시킵니다.

  3. ATR 통로와 평균선 변수를 최적화하여 최적의 변수 조합을 찾습니다.

요약하다

금숲 1분 돌파 전략은 단기 가격 동향을 포착하는 데 중점을 두고, 다중 지표의 결합 필터링을 통해 신속한 반응, 수익 손실 비율이 높다는 특징이 있다. 이 전략은 사용자의 위험 선호에 따라, 파라미터 최적화를 통해 더 나은 성능을 얻을 수 있다. 그러나 사용자는 엄격한 중단 및 합리적인 거래 빈도 등 거래 위험을 제어하는 데 주의를 기울여야 한다.

전략 소스 코드
/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Gem Forest 1 Dakika Scalp", overlay=true)

source = close
atrlen = input.int(14, "ATR Period")
mult = input.float(1, "ATR Multi", step=0.1)
smoothing = input.string(title="ATR Smoothing", defval="WMA", options=["RMA", "SMA", "EMA", "WMA"])

ma_function(source, atrlen) => 
    if smoothing == "RMA"
        ta.rma(source, atrlen)
    else
        if smoothing == "SMA"
            ta.sma(source, atrlen)
        else
            if smoothing == "EMA"
                ta.ema(source, atrlen)
            else
                ta.wma(source, atrlen)

atr_slen = ma_function(ta.tr(true), atrlen)
upper_band = atr_slen * mult + close
lower_band = close - atr_slen * mult

ShortEMAlen = input.int(21, "Fast EMA")
LongEMAlen = input.int(65, "Slow EMA")
shortSMA = ta.ema(close, ShortEMAlen)
longSMA = ta.ema(close, LongEMAlen)
RSILen1 = input.int(25, "Fast RSI Length")
RSILen2 = input.int(100, "Slow RSI Length")
rsi1 = ta.rsi(close, RSILen1)
rsi2 = ta.rsi(close, RSILen2)
atr = ta.atr(atrlen)

RSILong = rsi1 > rsi2
RSIShort = rsi1 < rsi2

longCondition = open < lower_band
shortCondition = open > upper_band
GoldenLong = ta.crossover(shortSMA,longSMA)
Goldenshort = ta.crossover(longSMA,shortSMA)

plotshape(shortCondition, title="Sell Label", text="Sell", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.white)
plotshape(longCondition, title="Buy Label", text="Buy", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.white)
plotshape(Goldenshort, title="Golden Sell Label", text="Golden Crossover Short", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.new(color.blue, 0), textcolor=color.white)
plotshape(GoldenLong, title="Golden Buy Label", text="Golden Crossover Long", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.new(color.yellow, 0), textcolor=color.white)

if (longCondition)
    stopLoss = low - atr * 2
    takeProfit = high + atr * 5
    strategy.entry("long", strategy.long)

if (shortCondition)
    stopLoss = high + atr * 2
    takeProfit = low - atr * 5
    strategy.entry("short", strategy.short)

plot(upper_band)
plot(lower_band)
plot(shortSMA, color = color.red)
plot(longSMA, color = color.yellow)