গোল্ডেন ক্রস ট্রেডিং কৌশল একটি মাঝারি থেকে দীর্ঘমেয়াদী প্রবণতা ট্র্যাকিং কৌশল। এটি এসআর সূচক এবং এসআর সংকেত সূচক গণনা করে স্টক মূল্যের প্রবণতা দিক চিহ্নিত করে এবং নিউরাল নেটওয়ার্ক অ্যালগরিদম ব্যবহার করে একটি প্রবণতা চ্যানেল আঁকিয়ে প্রবণতা ট্র্যাকিং অপারেশন বাস্তবায়ন করে। যখন এসআর সূচক এসআর সংকেতের উপর দিয়ে যায়, তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন এসআর সূচক এসআর সংকেতের নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। এই কৌশলটি চ্যানেল বক্ররেখা অনুকূলিত করতে একটি অভিযোজনশীল রৈখিক রিগ্রেশন ফিল্টার কৌশলও ব্যবহার করে, যা কার্যকরভাবে মিথ্যা সংকেতগুলি দমন করে।
এই কৌশলটির মূল সূচকগুলি হ'ল এসআর সূচক এবং এসআর সংকেত সূচক। এসআর সূচকটি ডাব্লুএমএ চলমান গড় এবং এসএমএ চলমান গড়ের একটি মাধ্যমিক সংশ্লেষণ যা 8 এর একটি সময়ের সাথে। এসআর সংকেত সূচকটি 20 এর একটি সময়ের সাথে গণনা করা এসআর সূচক। এসআর সূচক এবং এসআর সংকেতের সোনার ক্রস এবং মৃত্যু প্রবণতা দিক নির্ধারণের জন্য ব্যবহৃত হয়।
এই কৌশলটি স্টক মূল্যের উপরের এবং নীচের সীমা স্বয়ংক্রিয়ভাবে একটি অভিযোজিত চ্যানেল গঠনের জন্য একটি নিউরাল নেটওয়ার্ক অ্যালগরিদম ব্যবহার করে। উপরের সীমাটি ইনপুট হিসাবে এসআর সূচকের historicalতিহাসিক সর্বাধিক মান গ্রহণ করে, নিম্ন সীমাটি ইনপুট হিসাবে historicalতিহাসিক সর্বনিম্ন মান গ্রহণ করে এবং রিগ্রেশন বক্ররেখা যথাক্রমে চ্যানেলের উপরের এবং নীচের সীমা হিসাবে গণনা করা হয়। অভিযোজিত রৈখিক রিগ্রেশন ফিল্টারিংয়ের পরে চ্যানেল বক্ররেখা মসৃণ।
যখন এসআর সূচক এসআর সংকেতের উপরে অতিক্রম করে, তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন এসআর সূচক এসআর সংকেতের নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। দীর্ঘ এবং সংক্ষিপ্ত সংকেতগুলি প্রকাশিত হওয়ার পরে, স্টক মূল্য এবং চ্যানেলের উপরের এবং নীচের সীমাগুলির মধ্যে সম্পর্ক স্টপ লস এবং লাভের অবস্থানগুলি নির্ধারণ করে।
এই ট্রেন্ড ট্র্যাকিং কৌশলটির প্রধান ঝুঁকিগুলি হলঃ
ঝুঁকি নিয়ন্ত্রণের জন্য, একটি একক কৌশলের উপর নির্ভর করার পরিবর্তে অন্যান্য কৌশলগুলির সাথে একত্রিত করার পরামর্শ দেওয়া হয়; একই সাথে বিভিন্ন বাজারের পরিবেশের সাথে মানিয়ে নিতে প্যারামিটার সেটিংস অপ্টিমাইজ করুন।
এই কৌশলটি নিম্নলিখিত দিকগুলিতে অনুকূলিত করা যেতে পারেঃ
ক্রসওভার সিগন্যালের স্থিতিশীলতা উন্নত করার জন্য এসআর ইন্ডিকেটর এবং সিগন্যাল ইন্ডিকেটরের পরামিতিগুলি অপ্টিমাইজ করা;
চ্যানেলের বক্ররেখা মসৃণ করার জন্য অভিযোজনমূলক চ্যানেলের চক্রকালকে অনুকূল করা;
ভুল অপারেশন এড়াতে অন্যান্য ফিল্টার সূচক যোগ করুন, যেমন শক্তি সূচক, অস্থিরতা সূচক ইত্যাদি;
রিয়েল টাইমে চ্যানেল কার্ভগুলিকে অনুকূল করতে এবং অভিযোজনযোগ্যতা উন্নত করতে গভীর শেখার অ্যালগরিদমগুলি অন্তর্ভুক্ত করুন।
গোল্ডেন ক্রস ট্রেডিং কৌশল হল মাঝারি থেকে দীর্ঘমেয়াদী প্রবণতা ট্র্যাক করার জন্য একটি কার্যকর পরিমাণগত কৌশল। এটি প্রবণতা দিক এবং কম অপারেটিং ঝুঁকি সঠিকভাবে নির্ধারণের উচ্চ সম্ভাবনা রয়েছে। অ্যালগরিদম মডেলটি অপ্টিমাইজ করার জন্য বিশাল জায়গা সহ, এই কৌশলটির স্টক প্রবণতার পরিবর্তনগুলি ট্র্যাক করার জন্য একটি শক্তিশালী সরঞ্জাম হওয়ার সম্ভাবনা রয়েছে।
/*backtest start: 2023-11-15 00:00:00 end: 2023-11-22 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // // ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ // strategy(title = " Strategy PyramiCover", shorttitle = "S-PC", overlay = true, precision = 8, calc_on_order_fills = true, calc_on_every_tick = true, backtest_fill_limits_assumption = 0, default_qty_type = strategy.fixed, default_qty_value = 2, initial_capital = 10000, pyramiding=50, currency = currency.USD, linktoseries = true) // // ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ // backTestSectionFrom = input(title = "═══════════════ From ═══════════════", defval = true, type = input.bool) FromMonth = input(defval = 1, title = "Month", minval = 1) FromDay = input(defval = 1, title = "Day", minval = 1) FromYear = input(defval = 2014, title = "Year", minval = 2014) backTestSectionTo = input(title = "════════════════ To ════════════════", defval = true, type = input.bool) ToMonth = input(defval = 31, title = "Month", minval = 1) ToDay = input(defval = 12, title = "Day", minval = 1) ToYear = input(defval = 9999, title = "Year", minval = 2014) backTestPeriod() => (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)) // // ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ // per = input(14,title="🔹 Length") // up = 0.0 nup= 0.0 lowl = 0.0 nin = 0.0 // srl=wma(close,8) srr = sma(close,8) sr = 2*srl - srr // srsl=wma(close,20) srsr= sma(close,20) srsignal = 2*srsl - srsr // if sr>srsignal up := highest(sr,round(150)) nup :=highest(srsignal,round(20)) else up := highest(srsignal,round(150)) nup := highest(sr,round(20)) // if sr<srsignal lowl := lowest(sr,round(150)) nin := lowest(srsignal,round(20)) else lowl := lowest(sr,round(150)) nin := lowest(srsignal,round(20)) //reg alexgrover f_reg(src,length)=> x = bar_index y = src x_ = sma(x, length) y_ = sma(y, length) mx = stdev(x, length) my = stdev(y, length) c = correlation(x, y, length) slope = c * (my / mx) inter = y_ - slope * x_ reg = x * slope + inter reg // up_=f_reg(up,per) lowl_=f_reg(lowl,per) nup_=f_reg(nup,per) nin_=f_reg(nin,per) // plot(sr, title='SR', color=color.green, linewidth=2, style=plot.style_line,transp=0) plot(srsignal, title='SR-Signal', color=color.red, linewidth=2, style=plot.style_line,transp=0) plot(up_, title='Upper limit', color=color.blue, linewidth=3, style=plot.style_line,transp=0) plot(lowl_, title='Lower limit', color=color.blue, linewidth=3, style=plot.style_line,transp=0) a=plot(nup_, title='Neuronal Upper', color=color.gray, linewidth=1, style=plot.style_line,transp=0) b=plot(nin_, title='Neuronal Lower', color=color.gray, linewidth=1, style=plot.style_line,transp=0) fill(a, b, color=color.gray) plotshape(crossunder(sr,nup_)? sr+atr(20):na, title="Sell", text="🐻", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.black,transp=0) plotshape(crossover(sr,nin_)? sr-atr(20):na, title="Buy", text="🐂", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.black,transp=0) // // ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ // if backTestPeriod() strategy.entry("Buy", true, 1, when = crossover(sr,nin_)) strategy.entry("Short", false, 1, when = crossunder(sr,nup_))