फिबोनाची चलती औसत इनपुट रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-01 16:42:41
टैगः

img

अवलोकन

फिबोनाची मूविंग एवरेज इनपुट रणनीति ट्रेडिंग सिग्नल उत्पन्न करने के लिए मूविंग एवरेज क्रॉसओवर या क्रॉसअंडर सिग्नल पर आधारित है। जब अल्पकालिक मूविंग एवरेज दीर्घकालिक मूविंग एवरेज से ऊपर जाता है, तो एक तेजी का गोल्डन क्रॉस सिग्नल उत्पन्न होता है। जब अल्पकालिक मूविंग एवरेज दीर्घकालिक मूविंग एवरेज से नीचे जाता है, तो एक मंदी का मृत्यु क्रॉस सिग्नल उत्पन्न होता है। आमतौर पर उपयोग किए जाने वाले मूविंग एवरेज 50-दिवसीय और 200-दिवसीय मूविंग एवरेज हैं।

फाइबोनैचि मूविंग एवरेज इनपुट (FibMAI) रणनीति आपको अपने तेजी या मंदी क्रॉस के लिए कोई भी मान चुनने की अनुमति देती है। दृश्य प्रदर्शन के लिए, मैंने मोमबत्तियों को छिपाते हुए 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987 सहित फाइबोनैचि मूविंग एवरेज प्लॉट किए हैं। लेकिन इस संकेतक का उपयोग करने के लिए, मैं केवल कुछ MA को सक्षम करता हूं कि क्या कोई उल्लेखनीय क्रॉसओवर या क्रॉसओवर पैटर्न है, फिर उन मूल्यों को फाइबोनैची रणनीति लॉन्ग या शॉर्ट सेटिंग्स इनपुट में बैकटेस्ट करें।

उदाहरण के लिए इस NQ1! दिन के चार्ट के लिए Long या Short सेटिंग्स इनपुट हैः

तेजी = FibEMA34 क्रॉसओवर FibEMA144

मंदी = FibEMA55 क्रॉसअंडर FibSMA144

जैसा कि आप देख सकते हैं, आप मिश्रण और मेल कर सकते हैं 4 अलग अलग एमए मान, या तो घातीय या सरल.

डिफ़ॉल्ट रंग सेटिंग्सः बढ़ता मूल्य = हरा रंग घटता मूल्य = लाल रंग

डिफ़ॉल्ट विजुअल FibMA सेटिंग्सः FibEMA 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181

डिफ़ॉल्ट विजुअल एमए सेटिंग्सः एसएमए 50, 100, 150, 200

डिफ़ॉल्ट लंबी या छोटी सेटिंग्सः तेजी = FibEMA34 क्रॉसओवर FibEMA144

मंदी = FibEMA55 क्रॉसअंडर FibSMA144

सिद्धांत

इस रणनीति का मूल तर्क दो चलती औसत के बीच क्रॉसओवर संकेतों पर आधारित है ताकि ट्रेडिंग संकेत उत्पन्न किए जा सकें।

मूविंग एवरेज बाजार के रुझानों का विश्लेषण करने के लिए उपयोग किए जाने वाले तकनीकी संकेतक हैं। वे एक निश्चित अवधि में औसत समापन मूल्य की गणना करते हैं और प्रभावी रूप से बाजार में उतार-चढ़ाव को फ़िल्टर कर सकते हैं। दो प्रकार के मूविंग एवरेज हैं - सरल मूविंग एवरेज (एसएमए) और घातीय मूविंग एवरेज (ईएमए) ।

एसएमए एक अवधि के दौरान बंद होने वाले मूल्य का सरल अंकगणितीय औसत है। ईएमए बंद होने वाले मूल्य पर घातीय चिकनाई लागू करता है, हाल की कीमतों को अधिक वजन देता है। ईएमए मूल्य परिवर्तनों पर अधिक तेजी से प्रतिक्रिया करता है।

जब अल्पकालिक चलती औसत दीर्घकालिक चलती औसत से ऊपर जाती है, तो यह एक तेजी की प्रवृत्ति परिवर्तन का संकेत देती है और एक खरीद संकेत उत्पन्न करती है। इसे गोल्डन क्रॉस कहा जाता है। इसके विपरीत, जब अल्पकालिक चलती औसत दीर्घकालिक चलती औसत से नीचे जाती है, तो यह एक मंदी की प्रवृत्ति परिवर्तन का संकेत देती है और एक बिक्री संकेत उत्पन्न करती है। इसे मृत्यु क्रॉस कहा जाता है।

इस रणनीति का लचीलापन 4 चलती औसत के लिए पैरामीटर को मैन्युअल रूप से सेट करने की क्षमता में निहित है। डिफ़ॉल्ट पैरामीटर तेजी संकेत के लिए 34-अवधि ईएमए क्रॉसिंग 144-अवधि ईएमए से ऊपर हैं, और मंदी संकेत के लिए 144-अवधि ईएमए से नीचे 55-अवधि एसएमए क्रॉसिंग हैं। इन पैरामीटरों को इनपुट बक्से में स्वतंत्र रूप से समायोजित किया जा सकता है।

इसके अलावा, रणनीति विभिन्न समय सीमाओं में कई फाइबोनैचि अनुक्रम चलती औसत को प्लॉट करती है। 50 दिन, 100 दिन, 150 दिन और 200 दिन जैसे सामान्य चलती औसत भी प्लॉट किए जाते हैं। ये संदर्भ के रूप में कार्य करते हैं, जबकि कुंजी लंबी / छोटी सेटिंग्स में दर्ज क्रॉसओवर चलती औसत है।

लाभ

इस चलती औसत क्रॉसओवर रणनीति के लाभों में शामिल हैंः

  1. चलती औसत का प्रयोग बाजार शोर को फ़िल्टर करता है और रुझान की दिशा की पहचान करता है

  2. क्रॉसओवर संकेतों में एक निश्चित स्तर की विश्वसनीयता होती है

  3. पैरामीटर अनुकूलन के लिए अनुकूलन योग्य लंबी और छोटी चलती औसत संयोजन

  4. रुझानों की पहचान करने के लिए कई समय सीमाओं को शामिल करता है

  5. साधन विशेषताओं के आधार पर ईएमए और एसएमए दोनों का उपयोग कर सकता है

  6. रंगीन चलती औसत क्रॉस के साथ दृश्य सहज

  7. समझने में आसान और शुरुआती लोगों के लिए उपयुक्त

  8. सार्वभौमिकता के साथ विभिन्न उपकरणों पर लचीलापन से लागू किया जाता है

जोखिम

इस रणनीति के कुछ जोखिम भी हैंः

  1. अस्थिर बाजारों के दौरान बहुत अधिक व्हिपसा संकेत, अत्यधिक व्यापार के लिए अग्रणी

  2. गलत संकेत यदि अनुपयुक्त चलती औसत संयोजनों का उपयोग किया जाता है

  3. चरम रुझान उलट के दौरान संकेतों में देरी, समय में मूल्य परिवर्तन को प्रतिबिंबित करने में असमर्थ

  4. चलती औसत क्रॉस पूरी तरह से नुकसान से बचने के लिए नहीं है, उचित स्टॉप हानि की जरूरत है

  5. अति-अनुकूलन के कारण वक्र फिटिंग पैरामीटर बाजार चक्रों में मजबूत होने की जरूरत है।

  6. विभिन्न उपकरणों के लिए मापदंडों को ठीक करने की आवश्यकता हो सकती है

अनुकूलन दिशाएँ

इस रणनीति को अनुकूलित करने के कुछ तरीकेः

  1. बैकटेस्टिंग का उपयोग करके इष्टतम मापदंडों को खोजने के लिए विभिन्न लंबी और छोटी चलती औसत संयोजनों का परीक्षण करें

  2. चलती औसत प्रकारों को समायोजित करने का प्रयास करें, एसएमए और ईएमए प्रदर्शन की तुलना करें। अधिक स्पष्ट रुझान वाले उपकरणों के लिए एसएमए और अधिक अस्थिर उपकरणों के लिए ईएमए का उपयोग करें।

  3. झूठे संकेतों को फ़िल्टर करने और गुणवत्ता में सुधार करने के लिए KDJ, MACD जैसे अन्य संकेतकों को शामिल करें

  4. एकल ट्रेडों पर हानि को नियंत्रित करने के लिए स्टॉप लॉस रणनीतियों को जोड़ें, जैसे कि ट्रेलिंग स्टॉप लॉस

  5. धन प्रबंधन रणनीतियों को अनुकूलित करें, जैसे कि ड्रॉडाउन के आधार पर स्थिति आकार को समायोजित करना

  6. स्थिरता का आकलन करने के लिए विभिन्न उपकरणों और समय सीमाओं में परीक्षण पैरामीटर स्थिरता

निष्कर्ष

कुल मिलाकर, फिबोनाची मूविंग एवरेज इनपुट रणनीति एक विश्वसनीय ट्रेंड फॉलोइंग सिस्टम है। यह ट्रेड सिग्नल के लिए सरल और सहज मूविंग एवरेज क्रॉस का उपयोग करता है, और पैरामीटर अनुकूलन के माध्यम से विभिन्न उपकरणों के अनुकूल किया जा सकता है। उचित स्टॉप लॉस और मनी मैनेजमेंट के साथ, जोखिमों को नियंत्रित किया जा सकता है। ओवर-ऑप्टिमाइजेशन और लेगिंग ट्रेंड रिवर्स सिग्नल से बचा जाना चाहिए। अच्छी तरह से चुने गए पैरामीटर और ट्रेडिंग अनुशासन के साथ, यह एक कुशल और स्थिर लाभ-उत्पादक रणनीति हो सकती है।


/*backtest
start: 2022-10-25 00:00:00
end: 2023-10-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Options360 : Fibonacci MAI (Moving Averages Input) beta 10/15/22
// © Options360 original public release = 2/25/23
// * This script uses altered pieces of code from my @Options360 "Fibonacci MA7" indicator*
// 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811
////
strategy(title="Fibonacci Moving Averages Input", shorttitle = "FibMAI", overlay=true)

src = input(ohlc4, 'source')
//
string  GRP = "Long or Short Settings"
exponential1 = input(true, title="long EMA or SMA", tooltip="EMA checked or SMA unchecked", group = GRP)
long = input.int(34, minval=1, title="long", tooltip="Signal Moving average long input")
long1 = exponential1 ? ta.ema(src, long) : ta.sma(src, long)

exponential2 = input(true, title="crossover EMA or SMA", tooltip="EMA checked or SMA unchecked")
longer = input.int(144, minval=1, title="crossover", tooltip="Crossed over Moving average long input")
long2 = exponential2 ? ta.ema(src, longer) : ta.sma(src, longer)

exponential3 = input(true, title="short EMA or SMA", tooltip="EMA checked or SMA unchecked")
short = input.int(55, minval=1, title="short", tooltip="Signal Moving average short input")
short1 = exponential3 ? ta.ema(src, short) : ta.sma(src, short)

exponential4 = input(false, title="crossunder EMA or SMA", tooltip="EMA checked or SMA unchecked")
shorter = input.int(144, minval=1, title="crossunder", tooltip="Crossed under Moving average short input")
short2 = exponential4 ? ta.ema(src, shorter) : ta.sma(src, shorter)
//
string  GRP2 = "Visual FibMA Settings"
exponential = input(true, title="Fib EMA or SMA", tooltip="EMA checked or SMA unchecked", group = GRP2)
//
smaplot11 = input (true, title="MA1")
len11 = input.int(1, minval=1, title="ma Length")
out11 = exponential ? ta.ema(src, len11) : ta.sma(src, len11)
up11 = out11 > out11[1]
down11 = out11 < out11[1]
mycolor11 = up11 ? #3cfe12 : down11 ? #ff0202 : #008eff
plot(out11 and smaplot11 ? out11 :na, title="1", color=mycolor11, linewidth=1)

smaplot18 = input (true, title="MA2")
len18 = input.int(2, minval=1, title="ma Length")
out18 = exponential ? ta.ema(src, len18) : ta.sma(src, len18)
up18 = out18 > out18[1]
down18 = out18 < out18[1]
mycolor18 = up18 ? #3cfe12 : down18 ? #ff0202 : #008eff
plot(out18 and smaplot18 ? out18 :na , title="2", color=mycolor18, linewidth=1)

smaplot13 = input (true, title="MA3")
len13 = input.int(3, minval=1, title="ma Length")
out13 = exponential ? ta.ema(src, len13) : ta.sma(src, len13)
up13 = out13 > out13[1]
down13 = out13 < out13[1]
mycolor13 = up13 ? #3cfe12 : down13 ? #ff0202 : #008eff
plot(out13 and smaplot13 ? out13 :na , title="3", color=mycolor11, linewidth=1)

smaplot9 = input (true, title="MA5")
len9 = input.int(5, minval=1, title="ma Length")
out9 = exponential ? ta.ema(src, len9) : ta.sma(src, len9)
up9 = out9 > out9[1]
down9 = out9 < out9[1]
mycolor9 = up9 ? #3cfe12 : down9 ? #ff0202 : #008eff
plot(out9 and smaplot9 ? out9 :na , title="5", color=mycolor9, linewidth=1)

smaplot8 = input (true, title="MA8")
len8 = input.int(8, minval=1, title="ma Length")
out8 = exponential ? ta.ema(src, len8) : ta.sma(src, len8)
up8 = out8 > out8[1]
down8 = out8 < out8[1]
mycolor8 = up8 ? #3cfe12 : down8 ? #ff0202 : #008eff
plot(out8 and smaplot8 ? out8 :na , title="8", color=mycolor8, linewidth=1)

smaplot7 = input (true, title="MA13")
len7 = input.int(13, minval=1, title="ma Length")
out7 = exponential ? ta.ema(src, len7) : ta.sma(src, len7)
up7 = out7 > out7[1]
down7 = out7 < out7[1]
mycolor7 = up7 ? #3cfe12 : down7 ? #ff0202 : #008eff
plot(out7 and smaplot7 ? out7 :na , title="13", color=mycolor7, linewidth=1)

smaplot = input (true, title="MA21")
len = input.int(21, minval=1, title="ma Length")
out = exponential ? ta.ema(src, len) : ta.sma(src, len)
up = out > out[1]
down = out < out[1]
mycolor = up ? #3cfe12 : down ? #ff0202 : #008eff
plot(out and smaplot ? out :na, title="21", color=mycolor, linewidth=1)

smaplot2 = input (true, title="MA34")
len2 = input.int(34, minval=1, title="ma Length")
out2 = exponential ? ta.ema(src, len2) : ta.sma(src, len2)
up2 = out2 > out2[1]
down2 = out2 < out2[1]
mycolor2 = up2 ? #3cfe12 : down2 ? #ff0202 : #008eff
plot(out2 and smaplot2 ? out2 :na , title="34", color=mycolor2, linewidth=1)

smaplot3 = input (true, title="MA55")
len3 = input.int(55, minval=1, title="ma Length")
out3 = exponential ? ta.ema(src, len3) : ta.sma(src, len3)
up3 = out3 > out3[1]
down3 = out3 < out3[1]
mycolor3 = up3 ? #3cfe12 : down3 ? #ff0202 : #008eff
plot(out3 and smaplot3 ? out3 :na, title="55", color=mycolor3, linewidth=1)

smaplot4 = input (true, title="MA89")
len4 = input.int(89, minval=1, title="ma Length")
out4 = exponential ? ta.ema(src, len4) : ta.sma(src, len4)
up4 = out4 > out4[1]
down4 = out4 < out4[1]
mycolor4 = up4 ? #3cfe12 : down4 ? #ff0202 : #008eff
plot(out4 and smaplot4 ? out4 :na , title="89", color=mycolor4, linewidth=1)

smaplot5 = input (true, title="MA144")
len5 = input.int(144, minval=1, title="ma Length")
out5 = exponential ? ta.ema(src, len5) : ta.sma(src, len5)
up5 = out5 > out5[1]
down5 = out5 < out5[1]
mycolor5 = up5 ? #3cfe12 : down5 ? #ff0202 : #008eff
plot(out5 and smaplot5 ? out5 :na, title="144", color=mycolor5, linewidth=1)

smaplot6 = input (true, title="MA233")
len6 = input.int(233, minval=1, title="ma Length")
out6 = exponential ? ta.ema(src, len6) : ta.sma(src, len6)
up6 = out6 > out6[1]
down6 = out6 < out6[1]
mycolor6 = up6 ? #3cfe12 : down6 ? #ff0202 : #008eff
plot(out6 and smaplot6 ? out6 :na , title="233", color=mycolor6, linewidth=1)

smaplot10 = input (true, title="MA377")
len10 = input.int(377, minval=1, title="ma Length")
out10 = exponential ? ta.ema(src, len10) : ta.sma(src, len10)
up10 = out10 > out10[1]
down10 = out10 < out10[1]
mycolor10 = up10 ? #3cfe12 : down10 ? #ff0202 : #008eff
plot(out10 and smaplot10 ? out10 :na , title="377", color=mycolor10, linewidth=1)

smaplot14 = input (true, title="MA610")
len14 = input.int(610, minval=1, title="ma Length")
out14 = exponential ? ta.ema(src, len14) : ta.sma(src, len14)
up14 = out14 > out14[1]
down14 = out14 < out14[1]
mycolor14 = up14 ? #3cfe12 : down14 ? #ff0202 : #008eff
plot(out14 and smaplot14 ? out14 :na , title="610", color=mycolor14, linewidth=1)

smaplot15 = input (true, title="MA987")
len15 = input.int(987, minval=1, title="ma Length")
out15 = exponential ? ta.ema(src, len15) : ta.sma(src, len15)
up15 = out15 > out15[1]
down15 = out15 < out15[1]
mycolor15 = up15 ? #3cfe12 : down15 ? #ff0202 : #008eff
plot(out15 and smaplot15 ? out15 :na , title="987", color=mycolor15, linewidth=1)

smaplot16 = input (true, title="MA1597")
len16 = input.int(1597, minval=1, title="ma Length")
out16 = exponential ? ta.ema(src, len16) : ta.sma(src, len16)
up16 = out16 > out16[1]
down16 = out16 < out16[1]
mycolor16 = up16 ? #3cfe12 : down16 ? #ff0202 : #008eff
plot(out16 and smaplot16 ? out16 :na , title="1597", color=mycolor16, linewidth=1)

smaplot17 = input (true, title="MA2584")
len17 = input.int(2584, minval=1, title="ma Length")
out17 = exponential ? ta.ema(src, len17) : ta.sma(src, len17)
up17 = out17 > out17[1]
down17 = out17 < out17[1]
mycolor17 = up17 ? #3cfe12 : down17 ? #ff0202 : #008eff
plot(out17 and smaplot17 ? out17 :na , title="2584", color=mycolor17, linewidth=1)

smaplot19 = input (true, title="MA4181")
len19 = input.int(4181, minval=1, title="ma Length")
out19 = exponential ? ta.ema(src, len19) : ta.sma(src, len19)
up19 = out19 > out19[1]
down19 = out19 < out19[1]
mycolor19 = up19 ? #3cfe12 : down19 ? #ff0202 : #008eff
plot(out19 and smaplot19 ? out19 :na , title="4181", color=mycolor19, linewidth=1)
//
string  GRP3 = "Visual MA Settings"
exponential5 = input(false, title="EMA or SMA", tooltip="EMA checked or SMA unchecked", group = GRP3)

smaplot50 = input (true, title="MA50")
len50 = input.int(50, minval=1, title="ma Length")
ma50 = exponential5 ? ta.ema(src, len50) : ta.sma(src, len50)
up50 = ma50 > ma50[1]
down50 = ma50 < ma50[1]
mycolor50 = up50 ? #3cfe12 : down50 ? #ff0202 : #008eff
plot(ma50 and smaplot50 ? ma50 :na , title="50", color=mycolor50, linewidth=1)

smaplot100 = input (true, title="MA100")
len100 = input.int(100, minval=1, title="ma Length")
ma100 = exponential5 ? ta.ema(src, len100) : ta.sma(src, len100)
up100 = ma100 > ma100[1]
down100 = ma100 < ma100[1]
mycolor100 = up100 ? #3cfe12 : down100 ? #ff0202 : #008eff
plot(ma100 and smaplot100 ? ma100 :na , title="100", color=mycolor100, linewidth=1)

smaplot150 = input (true, title="MA150")
len150 = input.int(150, minval=1, title="ma Length")
ma150 = exponential5 ? ta.ema(src, len150) : ta.sma(src, len150)
up150 = ma150 > ma150[1]
down150 = ma150 < ma150[1]
mycolor150 = up150 ? #3cfe12 : down150 ? #ff0202 : #008eff
plot(ma150 and smaplot150 ? ma150 :na , title="150", color=mycolor150, linewidth=1)

smaplot200 = input (true, title="MA200")
len200 = input.int(200, minval=1, title="ma Length")
ma200 = exponential5 ? ta.ema(src, len200) : ta.sma(src, len200)
up200 = ma200 > ma200[1]
down200 = ma200 < ma200[1]
mycolor200 = up200 ? #3cfe12 : down200 ? #ff0202 : #008eff
plot(ma200 and smaplot200 ? ma200 :na , title="200", color=mycolor200, linewidth=1)
//
if (ta.crossover(long1, long2))
	strategy.entry("maL", strategy.long, comment="maLong")
if (ta.crossunder(short1, short2))
	strategy.entry("maS", strategy.short, comment="maShort")
////

अधिक