다중 요인 반전 거래 컴보 전략

저자:차오장, 날짜: 2023-09-20 15:13:58
태그:

전반적인 설명

이 전략은 여러 회전 지표를 결합하여 가격 회전 신호가 나타날 때 반대 방향으로 위치를 잡습니다. 그것은 평균 회전 알고리즘 거래 전략에 속합니다.

전략 논리

  1. 첫째, 123 반전 시스템은 두 개의 연속 바와 스토카스틱 지표의 가격 동작에 기초한 가격 반전 신호를 식별하는 데 사용됩니다.

  2. 둘째로, 빠른 및 느린 커토시스 (FSK) 지표는 동력 가속도에 따라 정서 반전을 판단합니다.

  3. 123 반전 시스템과 FSK 반전 표시기가 콤보로 결합됩니다. 양쪽 모두 반전 신호를 생성 할 때 반방향 위치가 취됩니다.

  4. 리버스 트레이딩이 가능하며, 원래 신호가 길었을 때 단축하고, 그 반대의 경우도 가능합니다.

이점 분석

  1. 여러 가지 요인을 결합하면 신호의 정확성을 향상시키고 잘못된 신호를 피할 수 있습니다.

  2. 123 시스템과 FSK 지표는 시간 프레임에 걸쳐 반전을 감지하는 데 상호 보완적입니다.

  3. 리버스 트레이딩은 급격한 반전에서 이익을 얻을 수 있습니다.

  4. 복수의 반전 요인을 사용하면 전략의 안정성을 향상시킵니다.

  5. 이해하기 쉽고 구현하기 쉽고 양자 거래 초보자에게 적합합니다.

위험 분석

  1. 반전 신호는 잘못된 신호를 만들어 손실을 초래할 수 있습니다.

  2. 역행의 잘못된 타이밍은 최고와 하위까지 쫓아갈 수 있습니다.

  3. 반전 거래는 지속적인 트렌드에서 손실을 초래할 수 있습니다.

  4. 부적절한 매개 변수 최적화로 인해 오버 피팅이 발생합니다.

  5. 높은 거래 빈도는 더 많은 거래 비용을 초래할 수 있습니다.

최적화 방향

  1. 다른 역전 요인인 RSI, KD를 추가하여 복합을 풍부하게 테스트합니다.

  2. 더 나은 지표 감수성을 위해 매개 변수를 최적화합니다.

  3. 트렌드 필터를 추가하여 트렌드 반대 거래를 피합니다.

  4. 자본 효율을 최적화하기 위해 동적 위치 크기를 사용하십시오.

  5. 트레이드당 손실을 제한하기 위해 스톱 로스를 최적화합니다.

  6. 과도한 거래를 피하기 위해 거래 비용의 영향을 평가하십시오.

결론

이 전략은 123 반전 시스템과 FSK 지표를 결합하여 반대 방향으로 가격 반전을 거래합니다. 잘못된 신호를 필터링하고 정확도를 향상시킬 수 있습니다. 그러나 반전 전략은 불확실한 반전의 위험에 직면합니다. 지속적인 매개 변수 조정, 위치 사이징 및 거래 주파수 통제는 위험을 줄이고 안정성을 향상시키기 위해 필요합니다.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/10/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// This indicator plots the Fast & Slow Kurtosis. The Kurtosis is a market
// sentiment indicator. The Kurtosis is constructed from three different parts.
// The Kurtosis, the Fast Kurtosis(FK), and the Fast/Slow Kurtosis(FSK).
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

FSK(Triger) =>
    pos = 0.0
    xMOM_R = mom(mom(close, 3), 1)
    xMOM_RAvr = ema(xMOM_R, 65)
    xMOM_RWAvr = wma(xMOM_RAvr, 3)
    pos := iff(xMOM_RAvr > Triger and xMOM_RWAvr > Triger, 1,-1) 
    pos

strategy(title="Combo Backtest 123 Reversal & FSK (Fast and Slow Kurtosis)", shorttitle="Combo", overlay = true)
Length = input(15, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Triger = input(0, minval=0.001)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posFSK = FSK(Triger)
pos = iff(posReversal123 == 1 and posFSK == 1 , 1,
	   iff(posReversal123 == -1 and posFSK == -1, -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_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

더 많은