백분율 변화에 따른 가치 막대 차트 백테스팅 전략


생성 날짜: 2023-11-15 15:41:20 마지막으로 수정됨: 2023-11-15 15:41:20
복사: 2 클릭수: 629
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

백분율 변화에 따른 가치 막대 차트 백테스팅 전략

개요

이 전략은 현재 K선 종료 가격과 N근 K선 이전 종료 가격의 변화 비율을 계산하고 다른 색의 기둥 모양의 그래프를 표시하여 트렌드에 대한 판단을 수행합니다. 전략은 트렌드 라인을 결합하여 구매 및 판매에 대한 판단을 수행합니다.

전략 원칙

  1. 입력을 통해 정책 파라미터를 설정합니다. 기둥 그래프의 너비, 가격 변화 또는 비율 변화, 루트 수를 다시보고, 매매 마이너스 등이 포함됩니다.

  2. 현재 K 라인 종료 가격과 N 루트 전 K 라인 종료 가격의 차이 또는 차이 비율을 계산한다.

  3. 매매와 매매가격 곡선을 설정한다.

  4. 가격 차이 비율에 따라 다른 색을 나타내는 기둥 모양의 도표

  5. 이차가율은 매출액이 적자보다 크면 다수명으로 설정하고 매출액이 적자보다 작으면 공명으로 설정한다.

  6. 포지션 방향에 따라 기둥 모양의 색상을 설정하십시오.

  7. 입점과 출퇴근은 포지션 방향에 따라 이루어집니다.

전략적 이점

  1. 가격 변화의 흐름을 직관적으로 표시하여 거래 판단을 도출하는 데 도움이 됩니다.

  2. 트렌드 판단 지표와 결합하여 입점과 출전 지점을 보다 명확하게 판단할 수 있다.

  3. 다양한 품종과 시간주기를 위한 최적화를 위해 파라미터를 조정할 수 있다.

  4. 운영 논리는 간단하고 명확하며, 이해하기 쉽고 수정하기 쉽습니다.

  5. 트렌드 방향에 대해 빠르게 판단할 수 있는 시각적 효과도 있습니다.

전략적 위험

  1. 잘못된 신호가 발생하기 쉽고, 출입점 선택이 잘못되면 손실이 발생할 수 있다.

  2. 높은 변동성 품종을 위해 파라미터를 조정해야 하며, 그렇지 않으면 손실 확률이 증가한다.

  3. “이런 일이 벌어질 때, 우리는 어떤 일이 일어날지 모릅니다.

  4. 회귀 주기가 짧기 때문에 매개 변수의 강도를 확인할 수 없다.

  5. “이런 일이 벌어진다면, 우리는 이 일을 할 수 있을 것이다.

파라미터를 최적화하고, 다른 지표와 결합하여 필터링 신호를 설정하고, 스톱로스를 설정하고, 재측정 주기를 확장하는 등의 방법으로 위험을 제어할 수 있다.

전략 최적화 방향

  1. 트렌드 지표, 변동률 지표 등과 같은 다른 지표와 결합하여 거래 신호를 확인하는 것이 고려될 수 있습니다.

  2. 매개 변수 설정을 최적화하기 위해 기계 학습 알고리즘을 도입할 수 있다.

  3. 동적 중지 손실을 설정하여 단독 손실을 제어 할 수 있습니다.

  4. 감정 지표, 뉴스페이지 등과 결합하여 갑작스러운 사건으로 인한 충격을 피할 수 있습니다.

  5. 거래 시간이나 특정 시간대에 대한 필터링 규칙을 추가할 수 있습니다.

  6. 테스트 사이클을 최적화하여 보다 긴 기간을 선택하여 검증할 수 있다.

요약하다

이 전략은 가격 변화의 비율을 계산하고 기둥 모양의 그래프로 실시간으로 표시하여 트렌드 라인을 통해 판단하여 보다 명확한 거래 신호를 형성한다. 전략 아이디어는 간단하고 작동하기 쉽다. 그러나 또한 일정 위험이 있으며, 매개 변수 최적화, 지표 필터링, 중지 등의 방법으로 제어 할 필요가 있다. 지속적으로 최적화 할 수 있다면, 이해하기 쉽고 실용적인 트렌드 추적 전략이 될 수 있다.

전략 소스 코드
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v3.0 27/07/2018
//
//  This histogram displays price or % change from previous bar. 
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Percent change bar chart Backtest", precision = 2)
input_barwidth = input(4, title="Bar Width")
input_percentorprice = input(false, title="Price Change")
input_barsback = input(1, title="Look Back")
SellZone = input(-0.33, minval=0.01, step = 0.01)
BuyZone = input(0.33, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(0, color=blue, linestyle=line)
hline(BuyZone, color=green, linestyle=line)
hline(SellZone, color=red, linestyle=line)
xPrice = close
xPrice1 = iff(input_percentorprice, xPrice - xPrice[input_barsback], ((xPrice - xPrice[input_barsback]) * 100)/ xPrice[input_barsback])
colorg = iff(xPrice1 < 0, red, green)
pos = iff(xPrice1 > BuyZone, 1,
       iff(xPrice1 < SellZone, -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 ) 
plot(xPrice1, color=colorg, style = histogram, linewidth = input_barwidth, title="Change")