이것은 암호화폐와 주식과 같은 트렌딩 시장에 설계된 전체 가격 액션 전략입니다. 그것은 순전히 2 개의 다른 길이, 더 빠르고 느린 것을 사용하여 가장 높은 최고와 가장 낮은 낮은 계산에 의해 만들어집니다.
이 전략은 입출을 결정하기 위해 가장 낮은 가격과 가장 높은 가격과 그 평균의 두 가지 다른 사이클 길이를 사용합니다. 구체적으로, 평균 최저 가격, 평균 최고 가격 및 각각 9 사이클 및 26 사이클의 이 두 평균의 평균을 계산합니다. 닫기 가격이 동시에 다른 사이클의 두 평균보다 높을 때 길고 닫기 가격이 동시에 다른 사이클의 두 평균보다 낮을 때 짧습니다.
롱의 구체적인 논리는: 닫기 가격은 9주기의 가장 높고 가장 낮은 가격의 평균보다 높고, 26주기의 평균보다 높고, 두 평균의 평균보다 높습니다. 세 가지 조건이 모두 충족되면, 그것은 길습니다.
단축의 구체적인 논리는 다음과 같습니다. 닫기 가격은 9주기의 가장 높고 가장 낮은 가격의 평균보다 낮고, 26주기의 평균보다 낮고, 두 평균의 평균보다 낮습니다. 세 가지 조건이 모두 충족되면 단축됩니다.
길든 짧든, 역 신호가 있을 때 손실을 줄이는 것을 선택하세요.
이 전략은 다음과 같은 주요 장점을 가지고 있습니다.
이중 시간 프레임 분석을 사용하면 추세를 더 잘 판단하고 정확도를 높일 수 있습니다.
가장 높은 가격과 가장 낮은 가격에 기반을 두면 효율적으로 유출을 포착할 수 있습니다.
필터링을 위해 여러 이동 평균을 사용하는 것은 신호 신뢰성을 높이고 노이즈 간섭을 피합니다.
트렌드 특성을 가진 대부분의 시장에 적용되는 순수한 가격 행동 전략입니다.
완전히 자동화된 거래는 인간의 오류의 가능성을 제거합니다.
이 전략은 또한 몇 가지 위험을 가지고 있습니다.
통합 스톱 로스 모듈이 없습니다. 손실의 확장이 위험합니다. 이동 스톱 로스 또는 퍼센트 스톱 로스는 단일 손실을 제어하기 위해 추가 될 수 있습니다.
범위에 묶인 시장에서 잘못된 신호를 생성하고 과잉 거래하는 것이 쉽습니다. 기간 매개 변수를 조정하거나 필터를 추가 할 수 있습니다.
개별 주식과 시장 사이의 관계의 영향은 고려되지 않으며 시스템적 위험이 여전히 존재합니다. 이러한 위험을 제어하기 위해 여러 요소 모델을 고려 할 수 있습니다.
백트테스트 데이터가 충분하지 않으면 과장 적합으로 이어질 수 있습니다. 견고성 테스트는 더 긴 시간 프레임과 더 많은 시장에서 수행되어야합니다.
이 전략에는 여전히 최적화의 여지가 있습니다.
주기 매개 변수들은 최상의 조합을 찾기 위해 테스트 최적화를 계속할 수 있습니다.
이동 스톱 손실을 추가하는 것을 고려하십시오. 단일 손실을 제어하기 위해 후속 스톱 손실을 추가하십시오.
다른 시장이나 심지어 다른 품종을 테스트하여 적용 가능성을 탐구 할 수 있습니다.
결정에 도움이 되는 기계 학습과 같은 특정 알고리즘 트레이딩 모듈을 추가할 수 있습니다.
여러 요소 모델은 판단에 더 많은 변수를 도입하고 안정성을 향상시키는 것을 고려할 수 있습니다.
요약하자면, 이 듀얼 타임 프레임 최고 최고 및 최저 낮은 평균 전략은 강력한 트렌드 추적 기능을 가지고 있으며 암호화폐와 같은 고 변동성 시장에 적합합니다. 신호 품질을 향상시키기 위해 여러 층의 필터링을 사용하여 출입 시기를 위해 효과적으로 브레이크아웃 판단을 사용합니다. 매개 변수 최적화, 스톱 손실 모듈 추가, 보조 알고리즘 및 기타 수단이 전략을 더욱 향상시키기 위해 사용될 수 있으며, 장기적으로 보유 가치가있는 효율적이고 안정적인 전략이됩니다.
/*backtest start: 2023-11-27 00:00:00 end: 2023-12-04 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © exlux99 //@version=4 strategy(title = "Avg HH/LL Crypto Swinger", overlay = true ) varLo = input(title="Fast Line", type=input.integer, defval=9, minval=1) varHi = input(title="Slow Line", type=input.integer, defval=26, minval=1) a = lowest(varLo) b = highest(varLo) c = (a + b ) / 2 d = lowest(varHi) e = highest(varHi) f = (d + e) / 2 g = ((c + f) / 2)[varHi] h = ((highest(varHi * 2) + lowest(varHi * 2)) / 2)[varHi] long=close > c and close > f and close >g and close > h short=close < c and close < f and close<g and close < h strategy.entry("long",1,when=long) strategy.entry('short',0,when=short)