추세 추종 전략에 기반


생성 날짜: 2023-11-06 10:09:02 마지막으로 수정됨: 2023-11-06 10:09:02
복사: 0 클릭수: 672
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

추세 추종 전략에 기반

개요

이 전략은 트렌드를 따르는 원칙에 기초하여, Parabolic SAR 지표를 사용하여 시장의 경향 방향을 판단하고, barcolor 지표와 결합하여 가격의 황소와 곰의 상태를 시각적으로 표시합니다. 시장의 경향으로 인한 이익을 포착하기 위해 추세가 상승하면 더 많이하고, 추세가 하락하면 공백합니다.

전략 원칙

이 전략은 주로 Parabolic SAR 지표를 통해 시장의 경향 방향을 판단한다. Parabolic SAR 또는 평행선 전환 지표는 두 개의 파라미터를 구성한다. Step는 SAR 지점의 이동 속도를 나타내고, Max은 SAR 지점의 최대 속도를 나타낸다. 시장이 트렌드 상태일 때, SAR 지점은 가격에 밀착하여 추세가 계속되면서 상향 또는 하향으로 이동한다.

구체적으로, SAR 포인트가 K선 최저 가격 아래에 있을 때, 즉 현재 상승 추세에 있을 때, 이 전략은 이 시간에 더 많이 한다; SAR 포인트가 K선 최고점을 넘어서 있을 때, 즉 추세가 반전될 때, 이 전략은 여러 번 평평해진다; 반대로, SAR 포인트가 K선 최고 가격 위에 있을 때, 즉 현재 하향 추세에 있을 때, 이 전략은 이 시간에 공백해진다; SAR 포인트가 K선 최저점을 넘어서 있을 때, 즉 추세가 반전될 때, 이 전략은 평평해진다.

더 직관적으로 현재의 트렌드 상태를 판단하기 위해, 이 전략은 또한 barcolor 지표를 사용하여 K 선에 색을 칠합니다. 종전 가격이 SAR 지점보다 높을 때, K 선은 녹색으로 표시되어 상승 추세를 나타냅니다. 종전 가격이 SAR 지점보다 낮을 때, K 선은 빨간색으로 표시되어 하향 추세를 나타냅니다.

전략적 강점 분석

이 전략의 가장 큰 장점은 시장의 흐름을 정확하게 포착하고, 트렌드를 따라 거래하고, 빈번한 시장 노이즈의 방해를 피하는 것입니다. 구체적인 장점은 다음과 같습니다:

  1. 패러볼릭 SAR 지표를 사용하여 트렌드를 판단하고, SAR 포인트는 매우 정교하게 설계되어 있으며, 트렌드 반전을 빠르고 정확하게 포착할 수 있다.

  2. 바르콜로르 지표는 현재 황소와 곰의 상태를 직관적으로 보여줍니다.

  3. 거래 신호는 트렌드 자체에서 비롯되는 것이지 다른 요소에서 비롯되는 것이 아니며, 단기 가격 변동에 의해 오도되지 않습니다.

  4. 트렌드 트래킹 스톱을 사용해서 너무 민감하지 않고 적시에 스톱을 해 놓습니다.

  5. 거래 방향이 일관되게 유지되고, 역으로 거래되지 않는 것이 불필요한 거래를 피하는 데 도움이 됩니다.

  6. 거래 규칙은 간단하고 명확하며, 이해하기 쉽고, 실행하기 쉽고, 초보자 학습에 적합하다.

전략적 위험 분석

이 전략의 가장 큰 위험은 다음과 같습니다.

  1. 트렌드 초기와 트렌드 후반의 기회를 놓칠 수 있습니다.

  2. 평형상황에서 거래를 중단하고 포지션을 보유하여 수익을 얻지 못하거나 손실을 막을 수 없으며, 피폐가 발생할 위험이 있습니다.

  3. 단 하나 거래의 수익률을 제한할 수 없으며, 단 하나 손실이 너무 커질 수 있습니다.

  4. 한방 거래만 하면, 다방면 거래와 공방면 거래는 둘 중 하나를 잡을 수 있습니다.

  5. 큰 차원의 추세 판단을 고려하지 않고, 큰 추세에 대한 헤지즈의 위험이 있습니다.

  6. parametric optimal solution is found.

위와 같은 위험을 해결하기 위해, 다음과 같은 측면에서 최적화할 수 있습니다.

  1. 다른 지표와 함께 진출과 출전의 구체적인 시간을 결정한다.

  2. 트렌드를 드러내는 지표에 가입하여 정리할 때 포지션을 열지 마십시오.

  3. 단독 손실을 제한하는 리스크 관리 규칙을 설정하십시오.

  4. 더 많은 거래 기회를 잡기 위해 더 많은 공백을 가진 전환 논리를 최적화하십시오.

  5. 다중 시간 프레임 분석에 참여하여 대차적 추세 방향을 판단하십시오.

전략 최적화 방향

이 전략은 다음의 몇 가지 측면에서 더욱 개선될 수 있습니다.

  1. Parabolic SAR 파라미터의 설정을 최적화하여 다양한 품종과 주기들에 더 잘 적응하도록 한다.

  2. 이동 평균과 같은 지표들을 필터링하여 출전 시간을 다.

  3. 브레이크 엔트리 전략에 참여하고, 트렌드가 시작되면 적시에 엔트리를 한다.

  4. 손실을 막는 전략을 최적화하여 너무 민감하거나 너무 느린 손실을 막는 것을 피하십시오.

  5. 수익이 일정 수준에 도달했을 때 적극적으로 중단하기 위해 중단 전략에 참여하십시오.

  6. 자금 관리 전략을 최적화하고, 전략의 리스크 조정 수익을 향상시킵니다.

  7. 다중 시간 프레임의 최적화, 대차 트렌드가 거래 방향과 일치하는 것을 보장한다.

  8. 기계 학습과 같은 기술을 도입하고, 동적 최적화 파라미터를 도입한다.

요약하다

이 전략은 Parabolic SAR 지표를 통해 트렌드 방향을 판단하고 트렌드가 시작되면 즉시 트렌드에 따라 거래한다. 전략의 장점은 거래 신호가 트렌드 자체에서 오는 것이므로 시장 소음에 방해받지 않는다는 것이다. 그러나 단일 거래 위험을 제한할 수 없는 문제도 있다.

전략 소스 코드
/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Trend Trader Strategy (Trend Code)", shorttitle="Trend Trader Strategy (Trend Code)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

//Inputs
TrendCode = input(5, title = "Trend Code")

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////

//Parabolic SAR
psar = sar(0.02, 0.02, TrendCode * 0.005)


//Plot PSAR
plot(psar, title="PSAR", color = color.teal , trackprice=true)

//Barcolor
barcolor(close > psar ? color.green : color.red, title = "Bar Color")

if (psar >= high and time_cond)
    strategy.entry("long", strategy.long, stop=psar, comment="long")
else
    strategy.cancel("long")

if (psar <= low and time_cond)
    strategy.entry("short", strategy.short, stop=psar, comment="short")
else
    strategy.cancel("short")
        
if (not time_cond)
    strategy.close_all()