상대적 강점 전략 비교


생성 날짜: 2023-09-14 17:58:19 마지막으로 수정됨: 2023-09-14 17:58:19
복사: 0 클릭수: 652
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

전략 원칙

비교 강도 전략은 두 시장의 상대적 강점을 계산하여 거래 신호를 생성하는 것이다. 비교 시장이 기준 시장에 대해 강점을 표시할 때, 구매 신호로 볼 수 있고, 약점을 표시할 때, 판매 신호로 볼 수 있다.

거래 논리는 다음과 같습니다.

  1. 특정 주식과 같은 시장의 비교를 선택합니다.

  2. S&P 500과 같은 기준시장을 선택하세요.

  3. 비교되는 시장의 강점과 약점을 기준시장에 비해서 계산합니다.

  4. 이 비율이 오버 바이 라인보다 크면, 더 많이 해야 합니다.

  5. 비율이 초매 지역보다 작을 때, 코카이드는 비교 시장으로 간주됩니다.

  6. 반전 라인을 설정하고, 가격이 다시 떨어지면 평준화

이 전략은 두 시장의 상대적인 강점과 약점을 계산함으로써 과소평가되는 기회를 발견하고 과소평가되는 상황을 피할 수 있습니다.

전략적 이점

  • 비교적 강하고, 과소 평가된 기회를 인식하는

  • “이런 일이 벌어진다면, 우리는 더 이상 이 문제를 해결하지 못할 것입니다”.

  • 작동 규칙은 간단하고 명확합니다.

전략적 위험

  • 적절한 비교 기준시장을 선택해야 합니다.

  • 오버 바이 오버 세일 지역은 최적화된 판단을 필요로 합니다.

  • 이 시장에서 모든 시장의 기회를 얻을 수 있는 것은 오버 또는 오브소이징이 아닙니다.

요약하다

비교 강도 전략은 두 시장의 강점을 비교하여 중개 기회를 발견한다. 그러나 그것의 매개 변수 설정과 중지 손실 전략은 신중한 평가를 필요로 한다.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 10/03/2017
// Comparative Relative Strength Strategy for ES
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy("Comparative Relative Strength Strategy", shorttitle="CRS")
a = syminfo.tickerid 
b = input("BTC_USDT:swap") 
len = input(10) 
BuyBand = input(0.9988, step = 0.0001)
SellBand = input(0.9960, step = 0.0001)
CloseBand = input(0.9975, step = 0.0001)
reverse = input(false, title="Trade reverse")
hline(CloseBand, color=blue, linestyle=hline.style_dashed)
hline(SellBand, color=red, linestyle=hline.style_solid)
hline(BuyBand, color=green, linestyle=hline.style_solid)
as = security(a, timeframe.period, close) 
bs = security(b, timeframe.period, close) 
nRes = sma(as/bs, len)
pos = iff(nRes > BuyBand, 1,
	     iff(nRes < SellBand, -1,
	      iff(pos[1] == 1 and nRes < CloseBand, 0,
	       iff(pos[1] == -1 and nRes > CloseBand, 0, 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)	   	 
if (possig == 0)
    strategy.close("Long", when = possig == 0)	 
    strategy.close("Short", when = possig == 0)	 
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(as/bs, title="CRS", color=gray) 
plot(nRes, color=navy)