다중 타임라인 협업 거래 전략


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

다중 타임라인 협업 거래 전략

개요

다중 시간축 연동 거래 전략 (MT-Coordination Trading Strategy) 은 고급 정량화 거래 전략이다. 이는 여러 가지 기술 지표를 통합하여 시장의 단기 거래 기회를 식별할 수 있다. 이 전략은 유명 거래자 I3ig_Trades에 의해 설계되었으며, 금융 시장의 고주파 거래에 특화되어 있다.

전략 원칙

이 전략은 3개의 다른 기간의 평평한 이동 평균 ((21일선, 50일선, 200일선), 상대적으로 강한 지수 ((14일 RSI) 와 윌리엄스 지수 ((2일) 를 결합한다. 구체적인 거래 논리는 다음과 같다:

다중 입점 신호: 종점 가격이 모든 세 개의 평균선보다 높고, RSI가 50보다 높으며, 현재 K 선의 최고 가격은 상위 K 선의 상향 삼각형보다 높습니다. 이 때 더 많은 포지션을 습니다.

공백 입시 신호: 닫기 가격이 세 개의 평균선보다 낮고, RSI가 50보다 낮으며, 현재 K선의 최저 가격이 상위 K선의 하향 삼각형보다 낮습니다. 이 때 포지션은 공백합니다.

포지션 크기는 선택된 비율과 레버리지 레벨의 동성에 따라 계산됩니다.

우위 분석

이 전략은 여러 지표가 가짜 신호를 필터링하여 높은 확률의 브레이크아웃 입점을 찾아 거래 위험을 크게 줄입니다. 동시에, 상점은 계정 적당금의 일정 비율에 따라 설정되어 단편 손실을 제어합니다.

이 장점은 다음과 같습니다:

  1. 다중 시간축 지표를 사용하여 확인하고, 조립되는 것을 피하십시오. 짧은, 중간, 그리고 긴 평행선은 다양한 수준의 추세를 식별 할 수 있습니다.

  2. RSI는 너무 뜨겁고 너무 차가운 지역에서 거래하는 것을 피한다. RSI가 50보다 높으면 더 많은 신호를 보며, 50보다 낮은 것은 공허 신호이다.

  3. 윌리엄 지표는 추가로 돌파구를 검증한다. 가격이 지표의 극한점을 돌파했을 때만 출입한다.

  4. 동적 지위는 계좌 금액의 비율로 계산되며, 단편적 손실을 엄격히 통제한다.

  5. 다양한 거래 스타일에 맞게 사용자 정의 가능한 매개 변수

위험 분석

이 전략의 주요 위험은 다음과 같습니다.

  1. 3개의 평행선이 이탈할 때 거래가 고정될 가능성이 있다.

  2. 트렌드 반전 전에 적시에 출전할 수 없습니다. 지표가 지연되어 반전을 예측할 수 없습니다.

  3. 손실의 위험. 극단적인 경우, 단독 손실이 예상보다 많을 수 있습니다.

대책:

  1. 평행선 조합을 최적화하여 최적의 변수를 찾습니다.
  2. 선 선 선 필터를 추가하여 가짜 돌파구를 추가적으로 방지하십시오.
  3. 지분율과 레버리지를 적절히 조정하십시오.

최적화 방향

이 전략은 다음과 같은 차원에서 최적화될 수 있습니다.

  1. 다른 평균선과 RSI 변수의 조합을 테스트하여 최적의 변수를 찾습니다.

  2. 트렌드 트레이더 잭의 신호를 더 식별하기 위해, BTC 폭과 같은 다른 필터링 지표를 추가하십시오.

  3. 손실이 일정 비율에 도달했을 때 손실을 멈추는 전략을 증가시킵니다.

  4. 딥러닝 모델과 결합하여 핵심 지지 저항을 판단한다.

  5. 포지션 크기를 더 합리적으로 만들기 위해 적응된 퍼센티지 포지션 관리 시스템을 사용하십시오.

요약하다

다중 시간 축 연동 거래 전략은 고 주파수 돌파 전략이다. 그것은 여러 지표를 결합하여 가짜 신호를 줄이고, 동적 입장은 단 하나 손실을 엄격하게 제어한다. 이 전략은 특정 규모의 자금을 가진 개인 펀드 및 전문 거래자가 사용할 수 있다. 매개 변수 및 모델을 지속적으로 최적화함으로써 장기적으로 안정적인 수익을 얻을 수 있다.

전략 소스 코드
/*backtest
start: 2024-01-17 00:00:00
end: 2024-01-24 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// Written by I3ig_Trades. Follow And Let Me Know Any Strategies You'd Like To See!
strategy("Best Scalping Strategy Period (TMA)", shorttitle="Best Scalping Strategy Period (TMA)", overlay=false,
         initial_capital=100000, 
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=100)

// Leverage Input
leverage = input.float(1, title="Leverage", minval=1, step=0.1)

// Calculate position size based on the percentage of the portfolio and leverage
percentOfPortfolio = input.float(100, title="Percent of Portfolio")

// Define input options
rsiLength = input.int(14, title="RSI Length", minval=1)
williamsLength = input.int(2, title="Williams Fractals Length", minval=1)
sma21Length = input.int(21, title="SMA 21 Length", minval=1)
sma50Length = input.int(50, title="SMA 50 Length", minval=1)
sma200Length = input.int(200, title="SMA 200 Length", minval=1)

// Smoothed Moving Averages
sma21 = ta.sma(close, sma21Length)
sma50 = ta.sma(close, sma50Length)
sma200 = ta.sma(close, sma200Length)

// RSI
rsiValue = ta.rsi(close, rsiLength)

// Williams Fractals
fractalUp = ta.highest(close, williamsLength)
fractalDown = ta.lowest(close, williamsLength)

// Conditions for Buy Entry
buyCondition = close > sma21 and close > sma50 and close > sma200 and rsiValue > 50 and high > fractalUp[1]

// Conditions for Sell Entry
sellCondition = close < sma21 and close < sma50 and close < sma200 and rsiValue < 50 and low < fractalDown[1]

positionSizePercent = percentOfPortfolio / 100 * leverage
positionSize = strategy.equity * positionSizePercent / close

// Executing strategy with dynamic position size
if buyCondition
    strategy.entry("Buy", strategy.long, qty=positionSize)

if sellCondition
    strategy.entry("Sell", strategy.short, qty=positionSize)

// Plotting the Smoothed Moving Averages
plot(sma21, color=color.white)
plot(sma50, color=color.green)
plot(sma200, color=color.red)

// Plotting RSI and Fractals for visual confirmation
hline(50, "RSI 50", color=color.yellow)
plot(rsiValue, color=color.blue, title="RSI")

// Input text boxes for trading actions
var buy_entry_params = input("", title="Buy Entry Parameters")
var buy_exit_params = input("", title="Buy Exit Parameters")
var sell_entry_params = input("", title="Sell Entry Parameters")
var sell_exit_params = input("", title="Sell Exit Parameters")