
이 전략은 SAR 지표, CCI 지표, EMA 지표의 조합을 기반으로 한 금 M5 거래 전략이다. 그것은 중간 회귀를 제공 하는 거래 기회를 잡기 위해 금의 추세 방향과 과매매 상황을 식별 하기 위해 세 가지 다른 기술 지표를 종합적으로 사용합니다.
SAR 지표는 금의 트렌드 방향과 가능한 반전점을 판단하는 데 사용됩니다. SAR 지점이 하락하면 가격이 통과하면 다면 트렌드가 형성됩니다. SAR 지점이 상승하면 가격이 통과하면 허공 트렌드가 형성됩니다.
CCI 지표는 시장의 과매매 상황을 판단하는 데 사용됩니다. CCI 100 이상이면 다목적 추세가 강화되는 것을 나타냅니다. CCI 100 미만이면 공허 추세가 강화되는 것을 나타냅니다.
EMA 빠른 느린 라인 조합은 가격의 단기적 전환점을 판단하는 데 사용됩니다. 빠른 라인이 상승할 때 더 많은 것을 할 수 있고, 빠른 라인이 떨어질 때 더 적은 것을 할 수 있습니다.
구체적인 입시 규칙: SAR 지표가 5분 EMA 평균선을 상향으로 통과하면 CCI 지표가 100보다 큰 경우 더 많은 금을; SAR 지표가 5분 EMA 평균선을 상향으로 통과하면 CCI 지표가 100보다 작은 경우 금을 공백하십시오.
정지 EXIT 규칙: 정지점은 개시 가격에 7점 더하여 1분 EMA 평균선으로 정지한다.
이 전략은 세 가지 지표를 사용하여 트렌드 방향과 중요한 지원 저항을 식별하여 수익률을 높입니다.
CCI 지표는 일반적인 가짜 돌파구를 효과적으로 필터링 할 수 있습니다. SAR 반전점은 트렌드 방향 판단과 결합하여 흔들리는 시장에서 반복적으로 포지션을 열지 않도록합니다.
EMA 빠른 느린 라인 크로스 및 SAR 지표와 함께 사용하면, 가격의 단기 조정으로 제공되는 낮은 위험 거래 기회를 효과적으로 식별 할 수 있습니다.
전략 파라미터는 소액 계좌에도 적용될 수 있도록 최적화되어 있으며, 이는 금과 같은 높은 변동성 품종에 적합하다.
이 전략은 주로 기술 지표에 기반을 두고 있으며, 주요 블랙 스 사건이 발생하면 기술 지표가 실패할 가능성이 높다.
금과 같은 상품은 변동성이 높으며, EMA 평균으로 설정된 스톱로스는 스톱로스를 뚫고 계좌에 큰 단위 손실을 초래할 수 있다.
CCI 지표와 SAR 지표는 모두 잘못된 신호를 만들어 불필요한 손실을 초래할 수 있습니다.
급격한 상황에서는 거래시스템 플랫폼의 고장이 발생할 가능성이 높아지고, 이로 인해 막을 수 없는 손실이 발생할 수 있다.
다른 기량 조합을 테스트하여 CCI 지수 기량을 최적화하여 금의 특성에 더 적합하게 만들 수 있습니다.
K선 형태, 브린 띠 등과 같은 더 많은 지표가 결합되어 전략의 안정성을 향상시킬 수 있다.
기계 학습과 같은 방법을 통해 SAR 지표의 매개 변수를 동적으로 최적화하여 시장의 변화에 더 잘 적응 할 수 있습니다.
다양한 스톱을 테스트할 수 있습니다. 예를 들어, 스톱을 추적하고, 스톱이 통과되는 확률을 낮출 수 있습니다.
포지션 관리를 최적화 할 수 있습니다. 예를 들어 고정 주식, 동적 조정 단위 등으로 단위 손실을 제어 할 수 있습니다.
이 전략은 전체적으로 좀 더 안정적인 금 거래 전략이다. 금의 트렌드 방향을 식별하기 위해 여러 가지 지표를 결합하고, 중요한 지지 저항 레벨과 오버 바이 오버 셀 영역을 초과한다. 회수 과정에서 포지션을 열고, 금의 높은 변동률을 활용하여 이익을 얻는다. 동시에 전략의 매개 변수도 최적화되어 소액 계좌 상장 거래에 사용할 수 있다. 그러나 이 전략에는 약간의 위험이 있으며, 적절한 위험 관리가 권장된다.
/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Parabolic SAR and CCI Strategy with EMA Exit", overlay=true)
// Parameters
length = input(50, title="EMA Length")
length_21 = input(21, title="EMA Length 21")
acc = input(0.02, title="Acceleration Factor")
max_acc = input(0.2, title="Max Acceleration Factor")
takeProfitPoints = input(7, title="Take Profit Points")
// Variables
var float ep = 0.0
var float sar = 0.0
var float af = acc
// Calculating 5-minute EMA based on 1-minute data
var float sum_close = na
var float ema_5min = na
if (bar_index % 5 == 0)
sum_close := 0.0
for i = 0 to 4
sum_close := sum_close + close[i]
ema_5min := ema(sum_close / 5, length_21)
// Calculating 1-minute EMA
ema1 = ema(close, length)
cci = cci(close, 45)
// Custom Parabolic SAR Calculation
trendUp = close > ema1
trendDown = close < ema1
var float prev_sar = na
prev_sar := na(sar[1]) ? low[1] : sar[1]
if trendUp
ep := high > ep ? high : ep
af := min(af + acc, max_acc)
sar := min(prev_sar, prev_sar + af * (ep - prev_sar))
if trendDown
ep := low < ep ? low : ep
af := min(af + acc, max_acc)
sar := max(prev_sar, prev_sar + af * (ep - prev_sar))
// Entry Conditions
longCondition = sar > ema1 and ema1 > ema_5min and cci > 100
shortCondition = sar < ema1 and ema1 < ema_5min and cci < -100
// Exit Conditions
longTakeProfit = strategy.position_avg_price + takeProfitPoints * syminfo.mintick
longStopLoss = ema1
shortTakeProfit = strategy.position_avg_price - takeProfitPoints * syminfo.mintick
shortStopLoss = ema1
// Plotting Entry Points
plotshape(longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Strategy Execution
if longCondition
strategy.entry("Long", strategy.long)
if shortCondition
strategy.entry("Short", strategy.short)
if strategy.position_size > 0
strategy.exit("Take Profit/Stop Loss", "Long", limit=longTakeProfit, stop=longStopLoss)
if strategy.position_size < 0
strategy.exit("Take Profit/Stop Loss", "Short", limit=shortTakeProfit, stop=shortStopLoss)