피보나치 평균 K-라인과 이동평균을 기반으로 한 양적 거래 전략


생성 날짜: 2024-01-19 14:36:45 마지막으로 수정됨: 2024-01-19 14:36:45
복사: 1 클릭수: 666
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

피보나치 평균 K-라인과 이동평균을 기반으로 한 양적 거래 전략

개요

이 전략은 피보나치 수열을 기반으로 계산된 평균 K선과 이동 평균을 구축하여, 여러 가지 가격 기술 지표 규칙과 결합하여, 단지 더하지 않고 더하지 않는 양적 거래를 구현한다. 초기 테스트는 이 전략이 큰 주기 그래프에서 더 잘 작동하는 것을 보여준다.

전략 원칙

이 전략은 주로 다음과 같은 단계를 통해 이루어집니다.

  1. 피보나치 수열에 따라, 최근 10 피보나치 주기의 평균 종료 가격, 최고 가격, 최저 가격 및 오픈 가격을 계산하여 평균 K 선을 구성한다.

  2. 평균 종식 가격에 대해 1,2,3,5,8,13,21,34,55주기의 지수 이동 평균 ((EMA) 을 계산하고, 이 9개의 EMA의 평균값을 계산하여 평균 EMA를 얻는다.

  3. 더 많은 평화 포지션 조건을 설정합니다: 평균 K 라인 형태가 다단계 신호를 표시 할 때 (양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양,

평균 K선 필러 파동의 가격 변동을 계산하고, 평행선 지표와 결합하여 거래 신호를 발산함으로써, 트렌드를 효과적으로 식별하고, 거래 위험을 제어할 수 있다.

전략적 이점

  1. 피보나치 수열을 기반으로 계산된 평균 K선으로, 임의의 가격 변동을 효과적으로 파헤쳐, 트렌드 신호를 식별할 수 있다.

  2. 여러 개의 EMA 평균값은 평균 EMA를 구성하여 저항 지점을 지원하는 안정성을 강화하고 신호 품질을 향상시킬 수 있다.

  3. 그냥 더 많이 하지 않는 것은 거래의 수를 줄이고 거래 비용과 슬라이포인트 영향을 줄일 수 있습니다.

  4. 대주기 운영에서 성능이 좋으며, 중·장선 운영에 적합하다.

전략적 위험

  1. 이 전략은 공시 시장에서 더 큰 손실을 입을 수 있습니다.

  2. EMA 평균선은 지연되기 쉽고, 최고의 진입 시점을 놓칠 수 있다.

  3. 하지만, 그 중에서도 가장 중요한 것은, 그 중에서도 가장 중요한 것은, 그 중에서도 가장 중요한 것은,

  4. 매개 변수 최적화 공간은 제한되어 있고, 실디 디스크의 성능은 매개 변수 최적화 피드백 결과보다 약할 수 있다.

최적화 방향

  1. 적당한 손실 전략을 추가하여 손실이 커질 때 손실을 막는 전략을 테스트 할 수 있습니다.

  2. ATR과 같은 변동률 지표와 함께 포지션 규모를 동적으로 조정할 수 있다.

  3. 하향 추세에서 적당히 개입하여 전략적 수익을 증가시키는 것을 테스트 할 수 있습니다.

  4. EMA의 주기 변수를 최적화하여 최적의 변수 조합을 찾을 수 있다.

요약하다

이 전략은 피보나치 평균 K선과 평행선 지표를 구축하여 트렌드 신호를 식별하여 거래량을 구현한다. 이 전략은 평균 K선 미끄러진 가격 계산의 장점이 있으며, 단지 여러 작업을 수행하는 거래 비용 절감의 장점이 있다. 동시에, 단지 많은 작업을 수행하는 시장 위험과 EMA 지연 문제가 있다.

전략 소스 코드
/*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"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SoftKill21

//@version=4
strategy("Fibonacci candle", overlay=false  )


//plot of our fibonacci candle
// Fibonacci 
// Fn = Fn-1 + Fn-2
// F10 = 55
// 0 1 2 3 5 8 13 21 34 55

avg_close = (close[0] + close[1] + close[2] + close[3] +close[5] + close[8] + close[13]+ close[21] + close[34] + close[55]) / 10
avg_high = (high[0] + high[1] + high[2] + high[3] +high[5] + high[8] + high[13]+ high[21] + high[34] + high[55]) / 10
avg_low = (low[0] + low[1] + low[2] + low[3] +low[5] + low[8] + low[13]+ low[21] + low[34] + low[55]) / 10
avg_open = (open[0] + open[1] + open[2] + open[3] +open[5] + open[8] + open[13]+ open[21] + open[34] + open[55]) / 10


src = avg_close//input(avg_close, title="Source")


out55 = ema(src, 55)
out1 = ema(src, 1)
out2 = ema(src, 2)
out3 = ema(src, 3)
out5 = ema(src, 5)
out8 = ema(src, 8)
out13 = ema(src, 13)
out21 = ema(src, 21)
out34 = ema(src, 34)

avg_ema = (out55 + out1 + out2 + out3+ out5 + out8 + out13 + out21 + out34)/9

plot(avg_ema)

plotcandle(avg_open, avg_high, avg_low, avg_close, title='Title', color = avg_open < avg_close ? color.green : color.red, wickcolor=color.white)

long = avg_open < avg_close and avg_close > avg_close[1] and avg_high > avg_high[1] and  avg_close[1] > avg_close[2] and avg_high[1] > avg_high[2]
short = avg_open > avg_close and avg_close < avg_close[1] and avg_low < avg_low[1] and avg_close[1] < avg_close[2] and avg_low[1] < avg_low[2]

strategy.entry("long",1,when=long and avg_close > avg_ema)
strategy.close('long',when=short and avg_close < avg_ema)