ब्रेक के साथ फिबोनाची प्रगति

लेखक:चाओझांग, दिनांकः 2022-05-17 10:24:46
टैगःएटीआर

यह सूचक उन बिंदुओं को उजागर करता है जहां मूल्य एक केंद्रीय स्तर से महत्वपूर्ण रूप से विचलित होता है। यह विचलन दूरी उपयोगकर्ता-सेट मान या अवधि 200 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)

संबंधित

अधिक