MT 조정 거래 전략

저자:차오장, 날짜: 2024-01-25 15:06:04
태그:

img

전반적인 설명

MT-조정 거래 전략은 금융 시장에서 단기 거래 기회를 식별하기 위해 여러 기술적 지표를 통합하는 고급 수치 거래 전략입니다. 유명한 거래자 I3ig_Trades에 의해 설계되었으며 고주파 거래에 특화되었습니다.

전략 논리

이 전략은 다른 시간 프레임 (21, 50, 200) 의 세 개의 매끄러운 이동 평균 (SMA), 14 일 상대 강도 지표 (RSI) 및 윌리엄스 프랙탈 (2 일) 을 통합합니다. 구체적인 입시 논리는 다음과 같이 정의됩니다.

긴 신호: 세 개의 SMA 이상, RSI가 50 이상, 현재의 최고가 이전 프랙탈보다 높을 때 시작됩니다.

단기 신호: 세 개의 SMA보다 낮고, RSI는 50보다 낮고, 현재 낮은 것은 이전 프랙탈 아래보다 작을 때 활성화됩니다.

포지션 크기는 선택된 자기자본의 비율과 레버리지 수준에 따라 동적으로 계산됩니다.

이점 분석

이 전략은 여러 지표를 결합하여 잘못된 신호를 필터링하고 높은 확률의 브레이크아웃 수준을 식별하여 거래 위험을 크게 줄여줍니다. 한편, 포지션 크기는 계좌 자본의 비율에 따라 설정되어 단일 손실을 제어합니다.

특히 강점은 다음과 같습니다.

  1. 걸림돌을 피하기 위해 확인을 위해 다중 시간 프레임 지표를 사용합니다. SMA는 단기, 중기 및 장기간에 걸쳐 동향을 인식합니다.

  2. RSI는 과잉 구매 및 과잉 판매 구역을 피합니다. 50 이상의 값은 상승률, 50 이하의 값은 하락률을 나타냅니다.

  3. 윌리엄스 프랙탈은 더 나아가서 절단점의 침투에서만 침투하여 탈출을 확인합니다.

  4. 계정 잔액의 비율에 기반한 동적 위치 크기는 하락세를 엄격히 관리합니다.

  5. 커스터마이징 가능한 매개 변수는 다른 거래 스타일에 적합합니다.

위험 분석

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

  1. SMA가 분산할 때 윙사브를 완전히 피하지 않는 경우

  2. 추세 반전 전에 적시에 빠져나갈 수 없는 것

  3. 손실이 미리 설정된 것을 초과할 때 극한 움직임에서 전체 위치를 잃을 위험이 있습니다.

해결책:

  1. 가장 좋은 매개 변수를 찾기 위해 SMA 조합을 최적화합니다.

  2. 가짜 유출을 더 피하기 위해 촛불 필터를 추가합니다.

  3. 비율과 레버리지를 적절히 줄여라.

최적화 방향

이 전략은 다음과 같이 더욱 강화될 수 있습니다.

  1. 최적의 매개 변수를 위해 SMA와 RSI의 다양한 조합을 테스트합니다.

  2. 볼링거 밴드 너비, 트레이더 잭 신호 등과 같은 추가 필터를 포함합니다.

  3. 미리 정의된 수준에서 손실을 줄이기 위해 스톱 로스 메커니즘을 추가합니다.

  4. 지원 및 저항 검출을 위한 딥 러닝 모델을 통합하는 것

  5. 합리적인 위치 스케일링을 위해 적응적인 위치 사이징 스키마를 구현합니다.

결론

MT-조정 거래 전략은 여러 시간 프레임을 활용하는 성숙한 브레이크아웃 시스템입니다. 신호를 필터하기 위해 지표를 결합하고 역동적으로 포지션 사이징을 관리함으로써 지속적인 매개 변수 조정 및 모델 최적화를 통해 자본화 된 펀드와 전문 거래자에게 일관된 이익을 얻을 수 있습니다.


/*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")


더 많은