এটি এমন একটি কৌশল যা কাস্টমাইজড গাউসিয়ান ডিট্রেনড প্রাইস অ্যাসিললেটর (জিডিপিও) এর সাথে মসৃণ মূল্য চক্রের সাথে মিলিত হয়ে সম্ভাব্য মূল্য বিপরীতমুখীতা সনাক্ত করে। এটি গাউসিয়ান মসৃণতার সাথে বিপরীতমুখী দোলক ব্যবহার করে এবং বিপরীতমুখী সুযোগগুলি ক্যাপচার করার জন্য নির্দিষ্ট প্রবেশ এবং প্রস্থান নিয়ম সেট করে।
কৌশলটি প্রথমে স্বল্পমেয়াদী মূল্য চক্রগুলি সনাক্ত করতে নির্দিষ্ট সময়ের মধ্যে একটি এক্সপোনেনশিয়াল মুভিং এভারেজ (ইএমএ) এর সাথে বন্ধের দামের তুলনা করে ডিট্রেন্ডেড প্রাইস অ্যাসিললেটর (ডিপিও) গণনা করে। এরপরে গোলমাল ফিল্টার করার জন্য গাউসিয়ান মসৃণকরণ কৌশল সহ আরনো লেগুস মুভিং এভারেজ (এএলএমএ) ব্যবহার করে ডিপিও মানগুলি মসৃণ করা হয়।
প্রবেশ এবং প্রস্থান নিয়মগুলি মসৃণ জিডিপিও এবং এর বিলম্বিত সংস্করণের মধ্যে ক্রসওভার ইভেন্টগুলির উপর ভিত্তি করে সংজ্ঞায়িত করা হয়। যখন মসৃণ জিডিপিও বিলম্বের উপরে অতিক্রম করে এবং নেতিবাচক হয় তখন একটি দীর্ঘ অবস্থান প্রবেশ করা হয়। যখন মসৃণ জিডিপিও বিলম্ব বা শূন্য রেখার নীচে অতিক্রম করে তখন দীর্ঘ অবস্থানটি প্রস্থান করা হয়। যখন মসৃণ জিডিপিও বিলম্বের নীচে অতিক্রম করে এবং ইতিবাচক হয় তখন একটি শর্ট অবস্থান প্রবেশ করা হয়। যখন মসৃণ জিডিপিও বিলম্ব বা শূন্য রেখার উপরে অতিক্রম করে তখন শর্ট অবস্থানটি প্রস্থান করা হয়।
জিডিপিও এবং তার বিলম্বকে বিভিন্ন রঙে প্লট করা হয়। শূন্য রেখাটিও একটি রেফারেন্স হিসাবে প্রদর্শিত হয়। কৌশলটি একটি অবস্থানে প্রবেশ করার সময় চার্ট ব্যাকগ্রাউন্ডের রঙ পরিবর্তন হয়। ক্রস মার্কারগুলি ক্রসওভার পয়েন্টগুলিতে প্রস্থান সংকেত হিসাবে প্লট করা হয়।
এই কৌশলটি অন্যান্য দোলকের তুলনায় বিপরীতমুখী সুযোগগুলি আরও স্পষ্টভাবে সনাক্ত করতে ডিট্রেন্ডিং কৌশল এবং গাউসিয়ান মসৃণকরণকে একত্রিত করে। জিডিপিও ডিট্রেন্ডিংয়ের সাথে চক্র বিশ্লেষণকে অন্তর্ভুক্ত করে নির্ভুলতা উন্নত করে। আরও স্পষ্ট সংকেতের জন্য গাউসিয়ান মসৃণকরণ গোলমাল দূর করে। নির্দিষ্ট প্রবেশ এবং প্রস্থান নিয়মগুলি কার্যকরভাবে ক্ষতি নিয়ন্ত্রণ করে।
কৌশলটি সময়কালের দৈর্ঘ্য এবং মসৃণকরণ পরামিতিগুলির মতো প্যারামিটার টিউনিংয়ের জন্য সংবেদনশীল। সর্বোত্তম পরামিতিগুলি নির্ধারণের জন্য বিস্তৃত ব্যাকটেস্টিং প্রয়োজন, অন্যথায় অত্যধিক মিথ্যা সংকেত দেখা দিতে পারে। কৌশলটি ট্রেন্ডিং বাজারে ধারাবাহিক ক্ষতির সৃষ্টি করতে পারে। একক বাণিজ্য ক্ষতি নিয়ন্ত্রণ করতে স্টপ লস ব্যবহার করা উচিত। ব্যর্থ বিপরীতগুলিও একটি বড় ঝুঁকি। চার্ট প্যাটার্ন এবং প্রবণতার শক্তি ব্যবহার করে বিপরীত সম্ভাব্যতা নিশ্চিত করা উচিত।
অপ্টিমাইজেশানটি গতিশীলভাবে পরামিতিগুলি সামঞ্জস্য করে এবং দৃust়তা উন্নত করতে প্রবণতা সূচকগুলি অন্তর্ভুক্ত করে করা যেতে পারে। গতিশীল স্টপগুলি ঝুঁকিগুলিও নিয়ন্ত্রণ করতে পারে।
কৌশলটি বেশ কয়েকটি দিক থেকে অপ্টিমাইজ করা যেতে পারেঃ
প্রবণতা বৃদ্ধি এবং মিথ্যা সংকেত হ্রাস করার জন্য গতিশীলভাবে মসৃণতা পরামিতিগুলি সামঞ্জস্য করুন।
ট্রেন্ডিং মার্কেটে ক্ষতি এড়াতে ADX এর মতো ট্রেন্ড ইন্ডিকেটর অন্তর্ভুক্ত করুন।
ডায়নামিক বা ট্রেইলিং স্টপের মতো স্টপ লস মেকানিজম যুক্ত করুন।
উচ্চতর প্রবেশের নির্ভুলতার জন্য অতিরিক্ত সূচক বা নিদর্শন ব্যবহার করে প্রবেশের শর্তগুলি অনুকূল করুন।
বাজারের অবস্থার উপর ভিত্তি করে পজিশনের আকার এবং স্টপগুলি সামঞ্জস্য করে মূলধন ব্যবস্থাপনা অনুকূল করা।
দৈনিক বা সাপ্তাহিক তথ্যের মতো বিভিন্ন সময়সীমার মধ্যে কৌশলটি পরীক্ষা করুন।
গাউসিয়ান ডিট্রেন্ডেড রিভার্সন কৌশলটি জিডিপিও ব্যবহার করে স্বল্পমেয়াদী চক্রগুলি সনাক্ত করে এবং সংজ্ঞায়িত এন্ট্রি এবং আউটপুট নিয়মের অধীনে বিপরীতগুলি ক্যাপচার করার জন্য গাউসিয়ান ফিল্টারিংয়ের সাথে সংকেতগুলি বের করে। এটি কার্যকরভাবে বিপরীত ট্রেডিংয়ের ঝুঁকিগুলি নিয়ন্ত্রণ করে তবে প্যারামিটার অপ্টিমাইজেশন এবং প্রবণতা যাচাইয়ের প্রয়োজন। গতিশীল সামঞ্জস্য, সূচকগুলি নিশ্চিতকরণ এবং স্টপ লস কৌশলগুলির মাধ্যমে স্থিতিশীলতার আরও উন্নতি করা যেতে পারে।
/*backtest start: 2022-10-31 00:00:00 end: 2023-11-06 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 // © DraftVenture //@version=5 strategy(title="Gaussian Detrended Reversion Strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=15) //Detrended Price Oscillator for price cycles period_ = input.int(50, title="Price Length", minval=1) barsback = period_/2 + 1 ma = ta.ema(close, period_) dpo = close - ma[barsback] // Rounded ALMA Calculations for gaussian smoothing almaSource = dpo almaWindowSize = input(title="Smoothing Length", defval=50) lagLength = input(title="Lag Length", defval=25) almaSmoothed = ta.alma(almaSource, almaWindowSize, 0.85, 6) almaLag = almaSmoothed[lagLength] // Reversion entry conditions entryL = ta.crossover(almaSmoothed, almaLag) and almaSmoothed < 0 exitL = ta.crossunder(almaSmoothed, almaLag) or ta.crossunder(almaSmoothed, 0) entryS = ta.crossunder(almaSmoothed, almaLag) and almaSmoothed > 0 exitS = ta.crossover(almaSmoothed, almaLag) or ta.crossover(almaSmoothed, 0) // Long entry and exit if entryL strategy.entry("Long", strategy.long) if exitL strategy.close("Long") // Short entry and exit if entryS strategy.entry("Short", strategy.short) if exitS strategy.close("Short") // Plot the oscillator plot(almaSmoothed, title="GDPO", color=color.green) plot(almaLag, title="Lag", color=color.white) hline(0, title="Zero Line", color=color.white) bgcolor(entryL ? color.new(color.green, 40) : na) bgcolor(entryS ? color.new(color.red, 40) : na) plotshape(series=ta.crossunder(almaSmoothed, almaLag) or ta.crossunder(almaSmoothed, 0), style=shape.xcross, location=location.top, color=color.white, size=size.tiny) plotshape(series=ta.crossover(almaSmoothed, almaLag) or ta.crossover(almaSmoothed, 0), style=shape.xcross, location=location.bottom, color=color.white, size=size.tiny) //Strategy by KP