금 가격 행동 거래 알고리즘

저자:차오장, 날짜: 2023-12-13 16:08:12
태그:

img

전반적인 설명

이 알고리즘은 가격 동작에 따라 금을 거래합니다. 최근 20개의 촛불의 가장 높고 가장 낮은 가격을 계산하여 가격 변동 범위를 결정합니다. 가격이 최신 촛불의 가장 높은 가격을 깨고 가격이 최신 촛불의 가장 낮은 가격을 깨면 짧게됩니다. 긴 또는 짧은 포지션을 열면 수익을 취하고 손실을 중지합니다.

원칙

이 알고리즘의 핵심 논리는 브레이크아웃 이론에 기초한다. 가격 변동 범위를 결정하기 위해 가장 최근의 20 개의 촛불의 가장 높고 낮은 가격을 기록한다. 가격이 이 범위를 초과하면 브레이크아웃으로 간주되며 따라서 거래 신호가 발생한다. 구체적으로 알고리즘 흐름은:

  1. 가장 최근 20개의 촛불의 가장 높은 가격 (최고) 과 가장 낮은 가격 (최저) 을 계산합니다.
  2. 가격 변동 범위 (priceRange) 를 얻으십시오.
  3. 최신 촛불의 가장 높은 가격을 브레이크오웃 레벨로 기록합니다 (breakoutLevel)
  4. 최신 촛불의 최고가 브레이크오웃 레벨을 깨고 클로즈가 브레이크오웃 레벨을 깨면,
  5. 최신 촛불의 최저가 브레이크오웃 수준 아래로 떨어지고 클로즈도 브레이크오웃 수준 아래로 떨어지면, 단축
  6. 긴 포지션 또는 짧은 포지션을 열고 나서 수익을 취하고 손해를 멈추는 가격을 설정

보시다시피, 이 알고리즘의 거래 신호는 가격 파업 판단에서 나옵니다. 핵심은 가격 파업의 시기를 파악하는 것입니다.

이점 분석

이 알고리즘은 다음과 같은 장점을 가지고 있습니다.

  1. 간단하고 명확하고 이해하기 쉽고 실행하기 쉽습니다
  2. 다른 지표에 영향을 받지 않는 가격 행동
  3. 명확한 탈출 신호, 이해하기 쉬운 출입 시점
  4. 시장 소음을 크게 필터링하고 함락되는 것을 피할 수 있습니다.
  5. 단일 거래 손실을 통제하기 위해 수익과 손실을 중지하십시오.

일반적으로,이 알고리즘의 핵심 아이디어는 명확하고 논리적입니다. 그것은 구현하기 쉽고 입력 시기를 이해하기 쉽습니다. 그것은 또한 단일 거래 손실을 제어 할 수 있습니다. 따라서 강력한 실용성을 가진 양적 거래 전략입니다.

위험 분석

이 알고리즘은 또한 몇 가지 위험을 가지고 있습니다.

  1. 실패한 탈출의 확률이 높고, 손실이 발생할 위험이 있습니다.
  2. 부적절한 이해의 브레이크업 타이밍, 너무 일찍 또는 너무 늦게 입력 할 수 있습니다
  3. 상대적으로 큰 수요, 특정 심리적 견고함을 필요로
  4. 부적절한 수익을 취하고 손실을 중지 설정, 더 큰 이익을 놓칠 수 있습니다 또는 더 큰 손실을 취할 수 있습니다

이러한 위험을 통제하고 최적화하기 위해 다음과 같은 조치를 취할 수 있습니다.

  1. 신뢰성을 높이기 위해 다른 지표와 브레이크오웃을 확인합니다.
  2. 입력 시간 정확성을 향상시키기 위해 매개 변수를 최적화
  3. 단일 거래 손실 위험을 줄이기 위해 포지션 크기를 조정합니다.
  4. 동적으로 수익을 취하고 손실을 멈추는 가격을 조정합니다

최적화 방향

알고리즘은 다음과 같은 측면에서 최적화 될 수 있습니다.

  1. 다른 지표와 결합이동 평균, 볼링거 밴드 등은 브레이크 아웃 신호를 두 번 확인하고 신뢰성을 높이기 위해 도입 될 수 있습니다.

  2. 매개 변수 최적화. 다른 매개 변수 조합을 테스트하여 브레이크아웃 기간 길이를 최적화하고 더 신뢰할 수있는 매개 변수 설정을 찾을 수 있습니다.

  3. 수익을 취하고 손실을 중지 최적화. 동적으로 변동성 등을 기반으로 수익을 취하고 손실을 중지 거리를 조정합니다.

  4. 위치 크기 최적화. 단일 거래 손실 영향을 줄이기 위해 포지션 사이징 알고리즘을 최적화.

  5. 기계 학습. 더 나은 매개 변수 조합을 자동으로 찾기 위해 역사적인 데이터의 많은 양의 학습.

위의 최적화는 알고리즘의 안정성, 승률 및 수익성을 더욱 향상시킬 수 있습니다.

결론

금 거래 알고리즘은 가격 액션과 브레이크아웃 이론을 기반으로 거래 신호를 생성합니다. 아이디어는 간단하고 명확하고 구현하기 쉽고 매우 실용적입니다. 한편, 그것은 또한 몇 가지 위험을 가지고 있으며 안정성과 수익성을 향상시키기 위해 추가 최적화가 필요합니다. 전반적으로, 그것은 금 거래와 효율적인 양적 전략에 적합합니다. 다른 지표, 매개 변수 최적화, 수익 / 중지 손실 최적화 등을 결합하여 더 나은 전략 성능을 달성 할 수 있습니다.


/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("XAUUSD Price Action Strategy", overlay=true)

// Define input parameters
takeProfit = input(500, "Take Profit")
stopLoss = input(200, "Stop Loss")

// Calculate price action
highs = ta.highest(high, 20)
lows = ta.lowest(low, 20)
priceRange = highs - lows
breakoutLevel = highs[1]

// Define conditions for long and short trades
longCondition = high > breakoutLevel and close > highs[1]
shortCondition = low < breakoutLevel and close < lows[1]

// Execute long and short trades with take profit and stop loss
if longCondition
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", "Long", limit = close + takeProfit, stop = close - stopLoss)

if shortCondition
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", "Short", limit = close - takeProfit, stop = close + stopLoss)

// Plot breakout level
plot(breakoutLevel, color=color.blue, title="Breakout Level")

// Highlight long and short trade signals on the chart
bgcolor(longCondition ? color.green : na, transp=80)
bgcolor(shortCondition ? color.red : na, transp=80)

더 많은