양방향 교차 제로 축 Qstick 표시기 역 테스트 전략

저자:차오장, 날짜: 2024-01-24 14:14:07
태그:

img

전반적인 설명

양방향 십자 축 Qstick 지표 백테스트 전략은 투샤르 찬데가 개발한 Qstick 기술 지표를 기반으로 트렌드 추적 및 신호 생성 전략이다. 이 전략은 시장에서 구매 및 판매 압력을 판단하기 위해 주식의 오픈 및 클로즈 가격 사이의 이동 평균 차이를 계산하고 이 차이 지표가 십자 축을 넘으면 거래 신호를 생성합니다.

전략 원칙

양방향 교차 제로축 Qstick 전략의 핵심 지표는 Qstick입니다. Qstick 지표는 특정 기간 동안 종료 가격과 개시 가격의 차이점의 이동 평균을 계산하여 얻습니다. Qstick가 0보다 크면 종료 가격이 일반적으로 이 기간 동안 개시 가격보다 높았고, 상승 힘이 지배되었음을 의미합니다. Qstick가 0 미만일 때, 개시 가격이 일반적으로 이 기간 동안 종료 가격보다 높았고, 하락 힘이 지배되었음을 의미합니다.

이 전략의 거래 신호는 Qstick 지표가 제로 축을 넘을 때 발생한다. Qstick 지표가 아래로부터 0을 넘을 때 구매 신호가 생성되며, 구매 압력이 판매 압력을 초과하기 시작하여 긴 포지션을 설정할 수 있음을 나타냅니다. 반대로, Qstick 지표가 위로부터 0을 넘을 때 판매 신호가 생성되며, 판매 압력이 증가하기 시작하여 기존 포지션이 종료되어야한다는 것을 나타냅니다. 또한, Qstick 값의 이동 평균은 신호 라인으로 그래프화 될 수 있으며, Qstick 지표가 이 신호 라인을 넘을 때 거래 신호도 생성 될 수 있습니다.

이 전략은 반전 거래를 허용합니다. 즉, 구매 신호가 원래 생성 될 것으로 생각되면 실제 판매 작전이 수행됩니다. 판매 신호가 원래 생성 될 것으로 생각되면 실제 구매 작전이 수행됩니다. 이것은 시장의 주류 투자자를 뒤집기 위해 사용될 수 있습니다.

이점 분석

양방향 교차 제로축 Qstick 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 간단하고 직관적인 지표를 사용하여 명확한 신호를 생성하여 시장 구매 및 판매 압력을 결정하십시오.
  2. 시장 소음을 효과적으로 필터링 할 수있는 이동 평균 차이 지표를 채택하십시오.
  3. 잘못된 신호 를 피하기 위해 신호 라인을 그릴 수 있다
  4. 주류 투자자를 추적하는 데 사용될 수 있는 반전 거래를 지원
  5. 사용자 정의 가능한 매개 변수는 다른 주식과 시장 환경에 적합합니다.

위험 분석

양방향의 제로 축을 가로지르는 Qstick 전략은 또한 몇 가지 위험을 가지고 있습니다.

  1. Qstick 지표는 전환점을 인식하는 데 지연이 있으며, 아마도 가장 좋은 입구 지점을 놓치고 있습니다.
  2. 빈번한 신호는 상대적으로 높은 거래 비용을 초래합니다.
  3. 리버스 트레이딩은 더 높은 위험을 초래하고 신중하게 사용해야 합니다.

다음과 같은 방법을 사용하여 위험을 줄일 수 있습니다.

  1. 지표 지연을 줄이기 위해 Qstick 사이클 매개 변수를 최적화
  2. 잘못된 신호를 줄이기 위해 신호 라인 사이클 매개 변수를 증가
  3. 특정 단계 동안 반전 거래를 채택하고 위치 크기를 제어하십시오.

최적화 방향

양방향 교차 제로 축 Qstick 전략은 다음 측면으로 최적화 될 수 있습니다:

  1. 부피 표시기, 변동성 표시기 등 다른 지표를 신호 필터로 통합하여 트렌드 아닌 환경에서 잘못된 신호를 생성하는 것을 피합니다.
  2. 손실이 특정 비율에 도달 할 때 손실을 중지하기 위해 손해를 막는 전략을 추가하십시오.
  3. Qstick 및 신호 라인 사이클 파라미터의 최적 조합을 결정하기 위한 추가 연구
  4. 기계 학습 방법을 사용하여 최적의 매개 변수를 자동으로 결정합니다.
  5. 특정 산업 또는 개별 주식에서 이 전략의 효과를 테스트하십시오.

결론

양방향 교차 제로축 Qstick 전략은 구매 및 판매 압력의 변화를 결정하기 위해 간단한 지표를 활용하고 Qstick 지표가 제로축을 통과하면 거래 신호를 생성하여 가격 트렌드를 효과적으로 파악할 수 있습니다. 이 전략은 직관적이고 이해하기 쉽고 초보자에게 적합하며 고급 거래자의 요구를 충족시키기 위해 여러 가지 방법으로 최적화 될 수 있습니다. 그러나이 전략에는 또한 특정 결함이 있으며 신중하게 사용해야합니다. 일반적으로 이것은 매우 실용적인 트렌드 추적 및 신호 생성 전략입니다.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/04/2018
// A technical indicator developed by Tushar Chande to numerically identify 
// trends in candlestick charting. It is calculated by taking an 'n' period 
// moving average of the difference between the open and closing prices. A 
// Qstick value greater than zero means that the majority of the last 'n' days 
// have been up, indicating that buying pressure has been increasing. 
//
// Transaction signals come from when the Qstick indicator crosses through the 
// zero line. Crossing above zero is used as the entry signal because it is indicating 
// that buying pressure is increasing, while sell signals come from the indicator 
// crossing down through zero. In addition, an 'n' period moving average of the Qstick 
// values can be drawn to act as a signal line. Transaction signals are then generated 
// when the Qstick value crosses through the trigger line.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Qstick Indicator Backtest")
Length = input(14, minval=1)
reverse = input(false, title="Trade reverse")
xR = close - open
xQstick = sma(xR, Length)
clr = iff(xQstick >= 0, green, red)
pos = iff(xQstick > 0, 1,
       iff(xQstick < 0, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
p1 = plot(0, color=black, title="0")
p2 = plot(xQstick, color=blue, title="Qstick")
fill(p1, p2, color=clr)

더 많은