파업 을 가진 피보나치 순서

저자:차오장, 날짜: 2022-05-17 10:24:46
태그:ATR

이 지표는 가격이 중앙 수준에서 크게 벗어나는 지점을 강조합니다. 이 벗어난 거리는 사용자 설정 값 또는 기간 200 Atr의 배수를 사용하여 결정되며 피보나치 순서의 연속 값으로 곱됩니다.

설정

방법: 거리 방법, 옵션은 Manual 또는 Atr 크기: 선택된 방법이 Manual 또는 선택된 방법이 Atr인 경우 점으로 표시된 거리 시퀀스 길이: 허용되는 최대 의미있는 오차 수를 결정합니다.

사용

이 지표는 잠재적 인 반전 지점을 강조 할 수 있지만 중앙 수준을 사용하여 추세를 결정할 수도 있습니다. 중앙 수준이 이전 값보다 높으면 상승 추세를 감지하고 반대로 하락 추세를 나타냅니다.

상승 추세가 검출되고 가격이 크게 상승하는 경우 첫 번째 체크 마크가 곱셈자로 사용되는 피보나치 연속과 함께 강조됩니다. 가격이 하향 추세라면 십자가가 표시됩니다.

만약 가격이 중앙 레벨에서 벗어나서 계열의 길이가 사용자가 설정한 계열 길이를 초과하는 경우, 현재 종료 가격에 의해 결정된 값과 함께 새로운 중앙 레벨 옆에 브레이크 라벨이 표시되며, 피보나치 인수는 1로 재설정됩니다.

중앙 수준과 문격 거리에서 만들어진 상부와 하부 끝은 강조되어 지원 및 저항으로 사용될 수 있습니다.

백테스트

img


/*backtest
start: 2022-04-10 00:00:00
end: 2022-05-07 23:59:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/
// © LuxAlgo

//@version=5
indicator("Fibonacci Progression With Breaks [LUX]",overlay=1,max_labels_count=500,max_lines_count=500)
method = input.string('Atr',options=['Atr','Manual'],inline='inline1')
size   = input(1.,'',inline='inline1')
max    = input(3,'Sequence Length')
//----
var fib = array.from(1,1)
var dist = 0.,var avg = 0.,var fib_n = 1,var os = 0

src = close
n = bar_index

if barstate.isfirst
    for i = 1 to max
        array.push(fib,array.get(fib,i-1) + array.get(fib,i))
//----
if method == 'Atr'
    dist := ta.atr(200)*size*array.get(fib,fib_n)
else
    dist := size*array.get(fib,fib_n)

fib_n := math.abs(src-avg) > dist ? fib_n+1 : fib_n
avg := nz(fib_n > max+1 ? src : avg[1],src)
fib_n := fib_n > max+1 ? 1 : fib_n

buy = avg > avg[1]
sell = avg < avg[1]
os := buy ? 1 : sell ? 0 : os

tp = avg != avg[1] ? na : os == 1 ? avg + dist : avg - dist
sl = avg != avg[1] ? na : os == 0 ? avg + dist : avg - dist
//----
css = os == 1 ? #0cb51a : #ff1100
plot0 = plot(src,color=na)
plot1 = plot(avg,color=na)
fill(plot0,plot1,color.new(css,80))
//----
plotshape(buy ? low : na,"Buy Label",shape.labelup,location.absolute,#0cb51a,0,text="B",textcolor=color.white,size=size.tiny)
plotshape(sell ? high : na,"Sell Label",shape.labeldown,location.absolute,#ff1100,0,text="S",textcolor=color.white,size=size.tiny)

plot(tp,'Target',#0cb51a,1,plot.style_linebr)
plot(sl,'Stop',#ff1100,1,plot.style_linebr)


if buy
    strategy.entry("Enter Long", strategy.long)
else if sell
    strategy.entry("Enter Short", strategy.short)

관련

더 많은