
이 전략은 매일의 최고 가격과 최저 가격을 계산하여 피보나치 리트랙 레벨과 결합하여 현재 거래일 동안의 파장을위한 거래 기회를 찾습니다. 가격이 상승하면 그날의 최고 가격을 돌파 할 때 포지션 전략을 취하고, 가격이 낮아지면 그날의 최저 가격을 돌파 할 때 파업 전략을 취합니다.
이 전략의 핵심 논리는 다음과 같습니다.
매일 상장할 때, 당일 최고 가격인 dayHigh와 최저 가격인 dayLow를 기록한다.
0.236과 0.786 두 개의 피보나치 회귀 수준을 계산합니다:
fib236High = dayLow + 0.236 * (dayHigh - dayLow)
fib786High = dayLow + 0.786 * (dayHigh - dayLow)
만약 종결 가격이 상승해서 DayHigh을 넘으면, 구매 신호를 생성한다. 만약 종결 가격이 하락해서 DayLow을 넘으면, 판매 신호를 생성한다.
구매 및 판매 신호에 따라 상향 또는 하향 전략을 수립하십시오.
이 전략은 가장 높은 가격, 가장 낮은 가격, 그리고 피보나치 레벨을 교묘하게 결합하여, 하루의 돌파구가 발생했을 때 거래 기회를 찾습니다. 이 전략은 중간에 발생하는 트렌드 반전을 잡을 수 있는 트렌드 추적 전략의 일종이다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
하루 중 거래 빈도가 높기 때문에 중간 디스크의 가격 돌파구를 잡을 수 있습니다.
피보나치 회수와 함께 기술 지표의 지지를 받습니다.
최고 가격과 최저 가격을 기준으로 하고, 약간의 지지력이 있다.
거래 논리는 간단하고 명확하며, 이해하기 쉬운 구현, 양적 거래에 적합하다.
시각 분석을 위해 최고 가격, 최저 가격 및 피보나치 수준을 표시할 수 있습니다.
이 전략에는 몇 가지 위험도 있습니다.
하루 중 거래가 자주 이루어지는 것은 거래 비용과 점유율의 위험을 증가시킬 수 있습니다.
일간 돌파는 가짜 돌파가 될 수 있으며, 여러 개의 공중이 잘못된 신호를 받을 위험이 있습니다.
이 경우, 손실이 증가할 위험이 있습니다.
기술적인 지표가 기본적 분석과 결합되지 않습니다.
대책:
위치 크기를 적절하게 조정하여 비용 영향을 줄일 수 있습니다.
더 많은 기술 지표와 함께 신호를 필터링하여 가짜 침입을 방지합니다.
이동적 손실을 줄이고 단편적 손실을 조절하는 전략이 추가되었습니다.
이 자료를 기초자료와 결합하면 역전되는 상황을 피할 수 있습니다.
이 전략의 주요 최적화 방향은 다음과 같습니다.
여러 기술 지표의 조합을 추가하여 신호의 신뢰성을 높여줍니다.
손실을 통제하기 위해 자동 중지 전략에 참여하십시오.
구매 및 판매 전략의 최적화, 포지션 관리의 조정.
높은 주파수 인자에 기초하여, 오동률, 양비 등과 결합된 필터 신호.
더 나은 변수 조합을 찾기 위해 기계 학습 방법을 사용합니다.
동적인 탈퇴 메커니즘을 구축하고, 단순히 최고 또는 최하위를 통과하는 것이 아닙니다.
이 일일 고저가 압축 피보나치 전략은 전반적으로 간단하며, 가격 단선의 돌파구를 포착하여 수익을 얻습니다. 전략 최적화 공간은 넓고, 지표 최적화, 스톱 손실 관리, 매개 변수 조정 등 여러 측면에서 개선할 수 있으며, 안정적으로 수익을 올리는 고주파일일일 전략으로 만들 수 있습니다.
/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Day High/Low Fibonacci Levels Strategy", shorttitle="DHL Fibonacci", overlay=true)
// Calculate the day's high and low
var float dayHigh = na
var float dayLow = na
if change(time("D"))
dayHigh := high
dayLow := low
// Define input for plotting lines
showLines = input(true, title="Show Day High/Low Lines")
showFibLevels = input(true, title="Show Fibonacci Levels")
// Plot the day's high and low as lines
plot(showLines ? dayHigh : na, color=color.green, style=plot.style_line, linewidth=1, title="Day High")
plot(showLines ? dayLow : na, color=color.red, style=plot.style_line, linewidth=1, title="Day Low")
// Calculate buy and sell conditions
buyCondition = crossover(close, dayHigh)
sellCondition = crossunder(close, dayLow)
// Plot buy and sell signals
plotshape(buyCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(sellCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")
// Calculate Fibonacci levels for the day's high and low
fib236High = dayLow + (0.236 * (dayHigh - dayLow))
fib786High = dayLow + (0.786 * (dayHigh - dayLow))
// Plot Fibonacci levels
plot(showFibLevels ? fib236High : na, color=color.blue, style=plot.style_line, linewidth=1, title="Fib 0.236 Day High")
plot(showFibLevels ? fib786High : na, color=color.purple, style=plot.style_line, linewidth=1, title="Fib 0.786 Day High")
// Strategy
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=sellCondition)