
이 전략은 피보나치 수열을 기반으로 계산된 평균 K선과 이동 평균을 구축하여, 여러 가지 가격 기술 지표 규칙과 결합하여, 단지 더하지 않고 더하지 않는 양적 거래를 구현한다. 초기 테스트는 이 전략이 큰 주기 그래프에서 더 잘 작동하는 것을 보여준다.
이 전략은 주로 다음과 같은 단계를 통해 이루어집니다.
피보나치 수열에 따라, 최근 10 피보나치 주기의 평균 종료 가격, 최고 가격, 최저 가격 및 오픈 가격을 계산하여 평균 K 선을 구성한다.
평균 종식 가격에 대해 1,2,3,5,8,13,21,34,55주기의 지수 이동 평균 ((EMA) 을 계산하고, 이 9개의 EMA의 평균값을 계산하여 평균 EMA를 얻는다.
더 많은 평화 포지션 조건을 설정합니다: 평균 K 라인 형태가 다단계 신호를 표시 할 때 (양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양, 양,
평균 K선 필러 파동의 가격 변동을 계산하고, 평행선 지표와 결합하여 거래 신호를 발산함으로써, 트렌드를 효과적으로 식별하고, 거래 위험을 제어할 수 있다.
피보나치 수열을 기반으로 계산된 평균 K선으로, 임의의 가격 변동을 효과적으로 파헤쳐, 트렌드 신호를 식별할 수 있다.
여러 개의 EMA 평균값은 평균 EMA를 구성하여 저항 지점을 지원하는 안정성을 강화하고 신호 품질을 향상시킬 수 있다.
그냥 더 많이 하지 않는 것은 거래의 수를 줄이고 거래 비용과 슬라이포인트 영향을 줄일 수 있습니다.
대주기 운영에서 성능이 좋으며, 중·장선 운영에 적합하다.
이 전략은 공시 시장에서 더 큰 손실을 입을 수 있습니다.
EMA 평균선은 지연되기 쉽고, 최고의 진입 시점을 놓칠 수 있다.
하지만, 그 중에서도 가장 중요한 것은, 그 중에서도 가장 중요한 것은, 그 중에서도 가장 중요한 것은,
매개 변수 최적화 공간은 제한되어 있고, 실디 디스크의 성능은 매개 변수 최적화 피드백 결과보다 약할 수 있다.
적당한 손실 전략을 추가하여 손실이 커질 때 손실을 막는 전략을 테스트 할 수 있습니다.
ATR과 같은 변동률 지표와 함께 포지션 규모를 동적으로 조정할 수 있다.
하향 추세에서 적당히 개입하여 전략적 수익을 증가시키는 것을 테스트 할 수 있습니다.
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)