SuperTrend를 기반으로 한 장기 거래 전략
개요
이 전략은 슈퍼트렌드 지표를 통해 긴 선 진입 기회를 식별한다. 그것은 평균 실제 범위 ATR 및 곱수를 사용하여 동적 지원 위치를 결정하고, 긴 위치에 진입한다. 이 전략은 긴 위치에 거래 기회를 중점으로 한다.
전략 원칙
-
ATR 주기 및 곱에 따라 계산된 오르락 내리락. 가격이 오르락 돌파할 때 상승, 하락 돌파할 때 하락.
-
현재 트렌드를 계산하기 위해, 1은 상승을 나타내고, -1은 하락을 나타냅니다. 가격이 궤도를 돌파 할 때, 트렌드는 하락으로 전환되어 구매 신호를 유발합니다. 궤도를 돌파 할 때, 트렌드는 하락으로 전환되어 판매 신호를 유발합니다.
-
이동 평균을 트렌드 필터로 사용하여 MA보다 높은 가격으로 구매를 요구하고 MA보다 낮은 가격으로 판매를 요구하여 가짜 브레이크를 피합니다.
-
비지니스 어시스트가 트렌드, 거래 신호 등을 시각적으로 표시하여 판단을 돕습니다.
우위 분석
이 전략은 다음과 같은 장점을 가지고 있습니다.
-
슈퍼트렌드 지표는 동적으로 가격 변화를 추적하고, 트렌드 전환을 적시에 반영할 수 있다.
-
ATR는 시장의 변동에 따라 스톱로스를 조정할 수 있으며, 이윤을 잠금하는 데 도움이 된다.
-
MA 제거 가짜 돌파구와 결합하여, 흔들리는 시장의 잡음 거래 신호를 효과적으로 필터링 할 수 있습니다.
-
비주얼 디자인은 거래 전략과 시장 상황을 직관적으로 보여주고, 조작이 간단하다.
-
트렌드 전환점만을 거래하는 것은 긴 라인 포지션에 매우 적합하다.
위험 분석
이 전략에는 다음과 같은 위험들이 있습니다.
-
수퍼트렌드 지표는 변수에 민감하며, 다중 공선 조정이 자주 이루어지며, 자주 거래가 발생할 수 있다.
-
진동이 발생했을 때, 정지선 (stop line) 이 자주 작동한다.
-
거래비용을 고려하지 않고도, 작은 자본은 거래비용에 더 큰 영향을 받는다.
-
하지만, 이 경우, 이 경우,
-
트렌드 파동이 일부 기회를 놓쳤을 수도 있습니다.
위험은 다음과 같은 방법으로 줄일 수 있습니다.
-
ATR 매개 변수를 최적화하여 다중 노선 조정 주파수를 줄인다.
-
동등한 K선 필터를 추가하여 고주파의 작은 파동에 의해 멈추지 않도록 한다.
-
손해를 막기 위해 스톱포드를 설정하고 이윤을 보호합니다.
-
이동 평균 주기를 적절히 조정하여 필터링 효과를 균형 잡는다.
-
거래 비용의 영향을 줄이기 위해 자금 관리를 최적화하십시오.
최적화 방향
이 전략은 다음과 같은 측면에서 최적화될 수 있습니다.
-
다른 가격 소스를 테스트합니다. 예를 들어, 종점 가격, 최고 가격 등
-
Chandelier Exit처럼 다른 동적 스톱로스 지표를 시도해보세요.
-
포지션 관리 모듈을 추가하고 자금 사용 효율을 최적화하십시오.
-
변동률 지표와 함께 refined 입점 시간.
-
스톱패스, 스톱<unk> 모듈을 추가하고, 위험을 제어한다.
-
다른 시장에 맞는 조정 파라미터.
-
기계 학습 알고리즘을 탐색하여 파라미터 최적화를 구현하십시오.
-
다른 지표와 결합하여 필터링 정확도를 향상시킵니다.
요약하다
이 전략은 SuperTrend을 사용하여 동적 스톱 로즈 판단 트렌드를 통합하고 MA를 보조하여 트렌드 필터링을 수행하여 긴 선을 구매할 때를 식별한다. 시각적 설계는 작업을 단순화한다. 최적화된 매개 변수 설정과 기능 확장을 통해 안정적이고 신뢰할 수있는 긴 선 거래 전략이 될 수 있다.
/*backtest
start: 2020-09-13 00:00:00
end: 2023-09-19 00:00:00
period: 3d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("SuperTrend Long Strategy", overlay=true, initial_capital=50000, currency=currency.USD, default_qty_type=strategy.cash, default_qty_value=50000)
Periods = input(title="ATR Period", type=input.integer, defval=10)- 1
