ফিবোনাচি মুভিং এভারেজ ইনপুট কৌশলটি ট্রেডিং সিগন্যাল তৈরির জন্য চলমান গড় ক্রসওভার বা ক্রসওন্ডার সংকেতগুলির উপর ভিত্তি করে। যখন স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের উপরে অতিক্রম করে, তখন একটি বুলিশ সোনার ক্রস সংকেত উত্পন্ন হয়। যখন স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের নীচে অতিক্রম করে, তখন একটি হ্রাসকারী মৃত্যু ক্রস সংকেত উত্পন্ন হয়। সাধারণভাবে ব্যবহৃত চলমান গড়গুলি হ'ল 50-দিনের এবং 200 দিনের চলমান গড়।
ফিবোনাচি মুভিং এভারেজ ইনপুট (FibMAI) কৌশল আপনাকে আপনার বুলিশ বা হ্রাসকারী ক্রসগুলির জন্য যে কোনও মান চয়ন করতে দেয়। ভিজ্যুয়াল প্রদর্শনের জন্য, আমি মোমবাতিগুলি লুকিয়ে রেখে 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987 সহ ফিবোনাচি মুভিং এভারেজগুলি প্লট করেছি। তবে এই সূচকটি ব্যবহার করার জন্য, আমি কেবলমাত্র কয়েকটি এমএ
উদাহরণস্বরূপ, এই NQ1! দিনের চার্টের জন্য দীর্ঘ বা সংক্ষিপ্ত সেটিংসের ইনপুটটি হলঃ
উর্ধ্বমুখী = FibEMA34 ক্রসওভার FibEMA144
নেতিবাচক = FibEMA55 ক্রসঅন্ডার FibSMA144
আপনি দেখতে পাচ্ছেন, আপনি 4 টি ভিন্ন MA মান মিশ্রণ এবং মেলে, হয় এক্সপোনেনশিয়াল বা সহজ.
ডিফল্ট রঙ সেটিংসঃ বৃদ্ধি মান = সবুজ রঙ হ্রাসমান মান = লাল রঙ
ডিফল্ট ভিসুয়াল FibMA সেটিংসঃ FibEMA 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181
ডিফল্ট ভিসুয়াল এমএ সেটিংসঃ এসএমএ ৫০, ১০০, ১৫০, ২০০
ডিফল্ট লং বা শর্ট সেটিংসঃ উর্ধ্বমুখী = FibEMA34 ক্রসওভার FibEMA144
নেতিবাচক = FibEMA55 ক্রসঅন্ডার FibSMA144
এই কৌশলটির মূল যুক্তি হল দুইটি চলমান গড়ের মধ্যে ক্রসওভার সংকেত ব্যবহার করে ট্রেডিং সংকেত তৈরি করা।
চলমান গড়গুলি বাজার প্রবণতা বিশ্লেষণের জন্য ব্যবহৃত প্রযুক্তিগত সূচক। তারা একটি নির্দিষ্ট সময়ের মধ্যে গড় বন্ধের মূল্য গণনা করে এবং কার্যকরভাবে বাজারের অস্থিরতা ফিল্টার করতে পারে। দুটি ধরণের চলমান গড় রয়েছে - সহজ চলমান গড় (এসএমএ) এবং এক্সপোনেনশিয়াল চলমান গড় (ইএমএ) ।
এসএমএ হ'ল একটি সময়ের মধ্যে বন্ধের দামের সহজ গাণিতিক গড়। ইএমএ বন্ধের দামগুলিতে এক্সপোনেনশিয়াল মসৃণতা প্রয়োগ করে, সাম্প্রতিক দামগুলিতে আরও ওজন দেয়। ইএমএ দামের পরিবর্তনে আরও দ্রুত প্রতিক্রিয়া জানায়।
যখন স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের উপরে অতিক্রম করে, এটি একটি উত্থান প্রবণতা পরিবর্তন এবং একটি ক্রয় সংকেত উত্পন্ন করে। এটিকে
এই কৌশলটির নমনীয়তা হ'ল 4 টি চলমান গড়ের জন্য প্যারামিটারগুলি ম্যানুয়ালি সেট করার ক্ষমতা। ডিফল্ট প্যারামিটারগুলি হ'ল বুলিশ সিগন্যালের জন্য 34-পেরিওড ইএমএ 144-পেরিওড ইএমএর উপরে অতিক্রম করা এবং হ্রাস সংকেতের জন্য 55-পেরিওড এসএমএ 144-পেরিওড ইএমএর নীচে অতিক্রম করা। এই প্যারামিটারগুলি ইনপুট বাক্সে অবাধে সামঞ্জস্য করা যেতে পারে।
এছাড়াও, কৌশলটি বিভিন্ন সময়সীমার মধ্যে একাধিক ফিবোনাচি ক্রম চলমান গড় প্লট করে। 50 দিনের, 100 দিনের, 150 দিনের এবং 200 দিনের মতো সাধারণ চলমান গড়গুলিও প্লট করা হয়। এগুলি রেফারেন্স হিসাবে কাজ করে, যখন কীটি লং / শর্ট সেটিংসে প্রবেশ করা ক্রসওভার চলমান গড়।
এই চলমান গড় ক্রসওভার কৌশলটির সুবিধাগুলির মধ্যে রয়েছেঃ
চলমান গড়ের ব্যবহার বাজার গোলমাল ফিল্টার করে এবং প্রবণতা দিক চিহ্নিত করে
ক্রসওভার সংকেতগুলির একটি নির্দিষ্ট স্তরের নির্ভরযোগ্যতা রয়েছে
পরামিতি অপ্টিমাইজেশান জন্য কাস্টমাইজযোগ্য দীর্ঘ এবং সংক্ষিপ্ত চলমান গড় সমন্বয়
প্রবণতা চিহ্নিত করার জন্য একাধিক সময়সীমা অন্তর্ভুক্ত করে
ইন্সট্রুমেন্ট বৈশিষ্ট্যগুলির উপর ভিত্তি করে EMA এবং SMA উভয়ই ব্যবহার করতে পারে
রঙিন চলমান গড় ক্রস সঙ্গে চাক্ষুষভাবে স্বজ্ঞাত
সহজেই বোঝা যায় এবং নতুনদের জন্য উপযুক্ত
সার্বজনীনতার সাথে বিভিন্ন যন্ত্রের মধ্যে নমনীয়ভাবে প্রয়োগ করা
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
অস্থির বাজারের সময় অনেক বেশি হুইপসো সংকেত, যা অত্যধিক ট্রেডিংয়ের দিকে পরিচালিত করে
অনুপযুক্ত চলমান গড় সংমিশ্রণ ব্যবহার করা হলে ভুল সংকেত
চরম প্রবণতা বিপরীত সময়ে সংকেত বিলম্ব, সময় মূল্য পরিবর্তন প্রতিফলিত করতে অক্ষম
মুভিং গড় ক্রস সম্পূর্ণরূপে ক্ষতি এড়াতে না, যুক্তিসঙ্গত স্টপ লস প্রয়োজন
অত্যধিক অপ্টিমাইজেশান বক্ররেখা ফিটিং কারণ. পরামিতি বাজারের চক্র জুড়ে শক্তিশালী হতে হবে.
বিভিন্ন যন্ত্রের জন্য পরামিতিগুলি সূক্ষ্ম-নিয়ন্ত্রণের প্রয়োজন হতে পারে
এই কৌশলটি অপ্টিমাইজ করার কিছু উপায়ঃ
ব্যাকটেস্টিং ব্যবহার করে সর্বোত্তম পরামিতিগুলি খুঁজে পেতে বিভিন্ন দীর্ঘ এবং সংক্ষিপ্ত চলমান গড় সংমিশ্রণ পরীক্ষা করুন
মুভিং এভারেজ টাইপগুলি সামঞ্জস্য করার চেষ্টা করুন, এসএমএ এবং ইএমএ পারফরম্যান্স তুলনা করুন। আরও স্পষ্ট প্রবণতা সহ সরঞ্জামগুলির জন্য এসএমএ এবং আরও অস্থির সরঞ্জামগুলির জন্য ইএমএ ব্যবহার করুন।
মিথ্যা সংকেত ফিল্টার এবং মান উন্নত করতে KDJ, MACD মত অন্যান্য সূচক অন্তর্ভুক্ত
স্টপ লস কৌশল যোগ করুন একক ট্রেডগুলিতে ক্ষতি নিয়ন্ত্রণ করতে, যেমন ট্রেলিং স্টপ লস
অর্থ পরিচালনার কৌশলগুলিকে অনুকূল করুন, যেমন ড্রাউনডাউনের উপর ভিত্তি করে অবস্থানের আকার সামঞ্জস্য করা
স্থিতিশীলতা মূল্যায়নের জন্য বিভিন্ন যন্ত্র এবং সময়সীমার মধ্যে পরীক্ষার পরামিতি স্থিতিশীলতা
সামগ্রিকভাবে, ফিবোনাচি মুভিং এভারেজ ইনপুট কৌশল একটি নির্ভরযোগ্য প্রবণতা অনুসরণকারী সিস্টেম। এটি বাণিজ্য সংকেতের জন্য সহজ এবং স্বজ্ঞাত চলমান গড় ক্রস ব্যবহার করে এবং প্যারামিটার অপ্টিমাইজেশনের মাধ্যমে বিভিন্ন যন্ত্রের সাথে খাপ খাইয়ে নেওয়া যায়। যথাযথ স্টপ লস এবং অর্থ পরিচালনার সাথে, ঝুঁকিগুলি নিয়ন্ত্রণ করা যায়। অতিরিক্ত অপ্টিমাইজেশন এবং পিছিয়ে থাকা প্রবণতা বিপরীত সংকেতগুলি এড়ানো উচিত। ভাল নির্বাচিত প্যারামিটার এবং ট্রেডিং শৃঙ্খলা সহ, এটি একটি দক্ষ এবং স্থিতিশীল মুনাফা-উত্পন্ন কৌশল হতে পারে।
/*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") ////