비트코인과 골드 5분 스윙 트레이딩 전략 2.0


생성 날짜: 2024-01-19 15:42:06 마지막으로 수정됨: 2024-01-19 15:42:06
복사: 1 클릭수: 1473
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

비트코인과 골드 5분 스윙 트레이딩 전략 2.0

개요

이 전략은 비트코인 및 금 시장의 단기 가격 변동을 포착하여 수익을 창출하기 위한 5분 흔들림 거래 전략이다. 이 전략은 EMA 평균선, 브린 밴드 지표 및 중지 손실 방법을 사용하여 입출력을 구현한다.

전략 원칙

이 전략은 빠른 EMA 지표와 느린 EMA 지표를 사용하여 트렌드 판단 시스템을 구축한다. 빠른 EMA 위쪽에서 느린 EMA를 통과하면 구매 신호를 생성하고 빠른 EMA 아래쪽에서 느린 EMA를 통과하면 판매 신호를 생성하여 단기 트렌드의 전환을 포착한다.

또한, 이 전략은 부린 띠 지표와 결합하여 가격 변동의 범위를 판단한다. 부린 띠의 궤도 또는 중간 궤도에 가까운 가격일 때만 거래 신호를 생성한다. 이것은 대부분의 가짜 신호를 필터링 할 수 있다.

입시 후, 이 전략은 ATR 지표를 사용하여 중지 손실을 계산한다. 그리고 입시 의 최저점으로 중지 손실을 설정하고 n배의 ATR을 빼어, 각 거래의 위험을 제어한다.

우위 분석

이 전략의 가장 큰 장점은 단기 스윙과 가격 변동성을 캡처하고, 작은 이익만 추구하지만 지속적인 수익을 얻는 것입니다. 빠른 EMA와 느린 EMA의 조합을 통해 단기 동향을 신속하게 판단 할 수 있습니다.

또한, 5분 주기 운영은 이 전략의 거래 빈도를 높여주고, 이득의 공간을 넓히기도 한다. 또한, 수동으로 모니터링하거나 최적화를 하는 것도 편리하다.

위험 분석

이 전략의 주요 위험은 whipsaws leading to multiple small losses로 인해 발생하는 작은 연속 손실이다. 가격이 한 범위에서 흔들릴 때, EMA 교차 신호가 자주 발생할 수 있으며, 불필요한 거래와 연속적인 작은 손실을 초래한다.

또한, 단기적인 흔들림 전략으로서, 높은 거래 주파수로 인한 거래 비용 위험에 직면해 있다. 거래 비용이 너무 높다면, 이익의 공간을 훼손할 수 있다.

최적화 방향

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

  1. RSI, Stochastics 등과 같은 보조 판단 지표로 다른 오실로터를 추가하여 흔들리는 시장에서 함축되는 것을 피하십시오.

  2. 트렌드 방향을 판단하는 기계학습 모형을 추가하여 입시의 정확도를 높일 수 있습니다.

  3. 유전 알고리즘, 무작위 숲 등의 방법을 사용하여 매개 변수를 자동으로 최적화하여 현재 시장 상황에 더 적합하게 만듭니다.

  4. 딥러닝과 결합하여 중요한 지지점과 중요한 압력점을 판단하여 더 나은 중단 위치를 설정합니다.

  5. 주식 지수, 외환, 암호화폐와 같은 다른 거래 품종을 테스트하고, 거래 효과에 가장 적합한 품종을 주요 거래 기준으로 선택하십시오.

요약하다

전체적으로, 이 전략은 단기간의 빈도 거래 전략으로서, 가격의 단기간의 흔들림과 트렌드 반전을 효과적으로 포착할 수 있으며, 빠른 EMA 판단, 부린 필터링 및 ATR 정지 등을 통해 위험을 제어하여 안정적인 수익을 얻을 수 있다. 추가적으로 최적화 및 개선하면 거래 빈도를 낮추는 동시에 수익성을 유지하는 것은 매우 잠재적인 양적 전략이 될 것이다.

전략 소스 코드
/*backtest
start: 2023-12-19 00:00:00
end: 2024-01-10 00:00:00
period: 1h
basePeriod: 15m
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/
// © singhak8757

//@version=5
strategy("Bitcoin and Gold 5min Scalping Strategy2.0", overlay=true)


// Input parameters
fastLength = input(5, title="Fast EMA Length")
slowLength = input(13, title="Slow EMA Length")
bollingerLength = input(20, title="Bollinger Band Length")
bollingerMultiplier = input(2, title="Bollinger Band Multiplier")
stopLossMultiplier = input(1, title="Stop Loss Multiplier")

// Calculate EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)

// Calculate Bollinger Bands
basis = ta.sma(close, bollingerLength)
upperBand = basis + bollingerMultiplier * ta.stdev(close, bollingerLength)
lowerBand = basis - bollingerMultiplier * ta.stdev(close, bollingerLength)

// Buy condition
buyCondition = ta.crossover(fastEMA, slowEMA) and (close <= upperBand or close <= basis)

// Sell condition
sellCondition = ta.crossunder(fastEMA, slowEMA) and (close >= lowerBand or close >= basis)

// Calculate stop loss level
stopLossLevel = ta.lowest(low, 2)[1] - stopLossMultiplier * ta.atr(14)

// Plot EMAs
plot(fastEMA, color=color.rgb(0, 156, 21), title="Fast EMA")
plot(slowEMA, color=color.rgb(255, 0, 0), title="Slow EMA")

// Plot Bollinger Bands
plot(upperBand, color=color.new(#000000, 0), title="Upper Bollinger Band")
plot(lowerBand, color=color.new(#1b007e, 0), title="Lower Bollinger Band")

// Plot Buy and Sell signals
plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)

// Plot Stop Loss level
plot(stopLossLevel, color=color.orange, title="Stop Loss Level")

// Strategy logic
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.exit("Stop Loss/Close", from_entry="Buy", loss=stopLossLevel)
strategy.close("Sell", when = sellCondition)