
이 알고리즘은 금의 가격 동작을 기반으로 거래한다. 그것은 가격의 변동 범위를 판단하기 위해 가장 최근의 20 K 선의 최고 가격과 최저 가격을 계산한다. 가격이 가장 최근의 K 선의 최고 가격을 돌파 할 때, 더 많은 것을 할 것이다. 가격이 가장 최근의 K 선의 최저 가격을 넘어지면, 공백을 할 것이다.
이 알고리즘의 핵심 논리는 돌파 이론에 기반한다. 가격 변동의 범위를 판단하기 위해 최근 20 K 선의 최고 가격과 최저 가격을 기록한다. 가격이 이 범위를 초과하면 돌파가므로 거래가 가능하다. 구체적으로, 알고리즘 프로세스는 다음과 같다:
이 알고리즘의 거래 신호는 가격 돌파구를 판단하는 것으로 나타났으며, 핵심은 가격 돌파구가 일어날 때를 식별하는 것이다.
이 알고리즘은 다음과 같은 장점을 가지고 있다:
전체적으로, 이 알고리즘의 핵심 아이디어는 명확하고, 논리적으로 합리적이며, 구현하기 쉽고, 엔트리 타이밍을 쉽게 파악할 수 있으며, 단기 손실을 제어할 수 있으며, 실용성이 강한 양적 거래 전략이다.
이 알고리즘에는 몇 가지 위험도 있습니다.
이러한 위험들을 통제하고 최적화하기 위해 다음과 같은 조치를 취할 수 있습니다.
이 알고리즘은 다음과 같은 측면에서 최적화될 수 있다:
다른 지표와 함께이동 평균, 브린 라인 등의 지표가 도입될 수 있으며, 돌파구를 2차 확인하여 신호의 신뢰성을 높일 수 있다.
변수 최적화다양한 변수 조합을 테스트하여, 브레이크 판단의 주기 길이를 최적화하고, 거래 신호를 더 신뢰할 수 있는 변수 설정을 찾을 수 있다.
정지 손실 최적화│ 변동률과 같은 지표와 결합하여, 실시간으로 동적으로 정지 손실 거리를 조정할 수 있다.
포지션 관리 최적화│ 포지션 알고리즘을 최적화하여 단편 손실의 영향을 줄인다.
기계 학습│ 기계 학습 알고리즘을 사용하여 대량의 역사적 데이터를 학습하여 더 나은 파라미트 조합을 자동으로 찾습니다.
이러한 최적화를 통해 알고리즘의 안정성, 승률 및 수익성을 더욱 향상시킬 수 있다.
이 금 거래 알고리즘은 가격 동작 판단에 기반하여, 획기적인 이론을 사용하여 거래 신호를 생성한다. 아이디어는 간단하고 명확하며, 실행하기 쉽고, 실용성이 강하다. 동시에, 또한 일정 위험이 있으며, 안정성과 수익 수준을 높이기 위해 추가 최적화가 필요합니다. 전반적으로, 이 알고리즘은 금 거래에 적합하며, 효율적이고 실용적인 수치화 전략이다. 다른 지표, 변수 최적화, 스톱 로스 최적화 등의 수단과 추가 결합하여 더 나은 전략 효과를 얻을 수 있다.
/*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)