এই কৌশলটি বাজারের প্রবণতার দিকনির্দেশনা নির্ধারণের জন্য চলমান গড় মডেল ব্যবহার করে। যখন একটি উত্থান প্রবণতা চিহ্নিত করা হয়, এটি পর্যায়ক্রমে বাজারে গোল্ডেন ক্রস এর উত্থান প্রবণতা ট্র্যাক করার জন্য নির্দিষ্ট পরিমাণে দীর্ঘ অবস্থান খুলবে।
কৌশলটি মূলত নিম্নলিখিত প্রযুক্তিগত নীতিগুলির উপর ভিত্তি করেঃ
বাজারের প্রবণতার দিকনির্দেশনা নির্ধারণের জন্য ইএমএ লাইন ব্যবহার করুন। যখন দ্রুত ইএমএ লাইন ধীর ইএমএ লাইনের উপর দিয়ে অতিক্রম করে, এটি একটি উত্থান প্রবণতা হিসাবে বিচার করা হয় এবং দীর্ঘ অবস্থানে প্রবেশের প্রস্তুতি নেয়।
প্রবেশের সময় নির্ধারণের জন্য MACD সূচককে একত্রিত করুন। যখন MACD ইতিবাচক থেকে নেতিবাচক হয়ে যায়, তখন এটি নির্দেশ করে যে ক্রয় ক্ষমতা দুর্বল হতে শুরু করে, তাই এটি দীর্ঘ অবস্থানে প্রবেশের সময়।
প্রতি মাসে মাত্র একবার প্রবেশের সীমাবদ্ধতা, যাতে উচ্চতার পিছনে দৌড়ানো এড়ানো যায়। প্রতিটি সময় প্রবেশের পরিমাণ স্থির করা যায়।
ব্যাকটেস্টের সময়সীমা সীমাবদ্ধ করার জন্য একটি শুরু তারিখ এবং শেষ তারিখ সেট করার অনুমতি দিন। যখন ব্যাকটেস্ট শেষ হবে, কৌশলটি সমস্ত অবস্থান বন্ধ করবে।
বিশেষত, কৌশলটি প্রথমে দ্রুত ইএমএ লাইন এবং ধীর ইএমএ লাইন গণনা করে এবং বাজারের প্রবণতা নির্ধারণের জন্য তাদের মধ্যে সোনার ক্রস সনাক্ত করে। একই সাথে, এটি নির্দিষ্ট এন্ট্রি পয়েন্ট নির্ধারণের জন্য এমএসিডি সূচক গণনা করে। যখন উভয় মানদণ্ড পূরণ হয়, তখন একটি দীর্ঘ সংকেত উত্পন্ন হয়। মাসে একবার প্রবেশের নিয়ম অনুসারে, প্রকৃত এন্ট্রি অর্ডারগুলি নির্ধারিত হয়। প্রতিটি এন্ট্রি জন্য মূলধনের পরিমাণ পূর্বনির্ধারিত করা যেতে পারে। যখন ব্যাকটেস্ট শেষ হয়, কৌশলটি সক্রিয়ভাবে সমস্ত অবস্থান বন্ধ করবে।
এটি নিম্নলিখিত সুবিধাগুলির সাথে একটি সহজ এবং সরাসরি প্রবণতা অনুসরণকারী কৌশলঃ
প্রধান প্রবণতা নির্ধারণের জন্য ইএমএ লাইন ব্যবহার করা সহজ এবং ব্যবহারিক। ইএমএ মূল্য পরিবর্তনের উপর একটি মসৃণ প্রভাব ফেলে এবং বাজারের গোলমালকে কার্যকরভাবে ফিল্টার করতে পারে।
ম্যাকডি সূচকটি যখন ক্রয় ক্ষমতা দুর্বল হতে শুরু করে তখন পরিবর্তনের সময়টি তুলনামূলকভাবে সঠিকভাবে চিহ্নিত করতে পারে, যা এন্ট্রিগুলিকে আরও নিরাপদ করে তোলে।
প্রতি মাসে কেবলমাত্র একবারই আপট্রেন্ডের পিছনে দৌড়াতে সীমাবদ্ধ থাকা উচ্চতার পিছনে দৌড়ানো এবং একটি ষাঁড়ের বাজারে আপট্রেন্ডকে হত্যা করা এড়াতে পারে।
প্রতি মাসে এন্ট্রি পরিমাণ কাস্টমাইজ করার অনুমতি পজিশনের আকারের ক্ষেত্রে নমনীয়তা প্রদান করে।
ব্যাকটেস্ট একটি শুরু তারিখ এবং শেষ তারিখ নির্ধারণ করে কৌশল কর্মক্ষমতা মূল্যায়ন করতে ব্যবহার করা যেতে পারে।
ব্যাকটেস্ট শেষ হলে এটি স্বয়ংক্রিয়ভাবে সব পজিশন বন্ধ করে দেবে, অবশিষ্ট পজিশনের সমস্যা এড়াতে।
এই কৌশলটির কিছু সম্ভাব্য ঝুঁকি রয়েছেঃ
চলমান গড়ের মাধ্যমে প্রবণতা নির্ধারণ সাময়িক pullbacks সময় সুযোগ মিস বা প্রবণতা বিপরীত ধীরে ধীরে প্রতিক্রিয়া হতে পারে। সময়কাল সংক্ষিপ্ত করা যেতে পারে বা আরো সূচক যোগ করা যেতে পারে।
প্রতি মাসে শুধুমাত্র একবার প্রবেশ করলে আরও ভাল প্রবেশের সুযোগ হারাতে পারে। সাম্প্রতিক সর্বোচ্চ ভঙ্গ করার সময় ফ্রিকোয়েন্সি শিথিল করার বা অন্য একটি প্রবেশ যোগ করার কথা বিবেচনা করুন।
কার্ভ ফিটিংয়ের ঝুঁকি রয়েছে। প্যারামিটার টিউনিংয়ের জন্য আরও বেশি জায়গা দেওয়া উচিত এবং বাজারে এবং সময়কাল জুড়ে স্থিতিশীলতা পরীক্ষা করা উচিত।
মাসিক এন্ট্রি পরিমাণ নিয়ন্ত্রণ করা উচিত যাতে অতিরিক্ত পজিশন এড়ানো যায়।
এই পর্যায়ক্রমিক বিনিয়োগের প্রবণতা নিম্নলিখিত দিকগুলি থেকে আরও প্রসারিত এবং উন্নত করা যেতে পারেঃ
হ্রাসমুখী বিপরীতমুখী প্যাটার্ন দেখা দিলে সক্রিয়ভাবে ক্ষতি কমাতে স্টপ লস লজিক যুক্ত করুন।
যখন এমএসিডি হিস্টোগ্রামটি উত্থানমুখী বিচ্যুতি দেখায় তখন আরো বেশি এক্সপোজার পেতে আরেকটি কিনতে বিবেচনা করুন।
চলতি মাসের নতুন উচ্চতার তুলনা পূর্ববর্তী মাসের সাথে করুন গতির শক্তি মূল্যায়নের জন্য।
পজিশন সাইজিং লজিক যোগ করুন। মাসিক এন্ট্রি পরিমাণ স্থির মানের পরিবর্তে শতাংশের ভিত্তিতে অভিযোজিত করা যেতে পারে।
বিভিন্ন এমএ সংমিশ্রণ এবং এমএসিডি পরামিতিগুলির প্রভাব মূল্যায়ন করুন। সর্বোত্তম পরামিতি সেটটি সন্ধান করুন।
একটি স্টপ লস যুক্ত করুন যা নতুন উচ্চতায় পৌঁছানোর পরে একটি নির্দিষ্ট দূরত্বে মূল্য অনুসরণ করে, মুনাফা চালানোর অনুমতি দেয়।
এই কৌশলটি পর্যায়ক্রমিক বিনিয়োগ এবং চলমান গড় ব্যবহার করে একটি সহজ এবং পরিষ্কার প্রবণতা অনুসরণ পদ্ধতির প্রতিনিধিত্ব করে। এটি বোঝা এবং বাস্তবায়ন করা সহজ, অ্যালগরিদমিক ট্রেডিং শেখার জন্য একটি ভাল সূচনা পয়েন্ট হিসাবে কাজ করে। তবে লাইভ ট্রেডিংয়ে অবস্থানের আকারকে সাবধানে নিয়ন্ত্রণ করা দরকার। জটিল বাজারের অবস্থার সাথে খাপ খাইয়ে নেওয়ার জন্য কৌশলটি আরও উন্নত করা উচিত।
/*backtest start: 2023-01-01 00:00:00 end: 2023-10-30 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 at https://mozilla.org/MPL/2.0/ // © runescapeyttanic //@version=4 // strategy("Buy and Hold entry finder Strategy",pyramiding=10000, overlay=true,initial_capital=0,default_qty_type=strategy.cash,default_qty_value=1000,currency = currency.EUR,commission_type=strategy.commission.cash_per_order,commission_value=0) //INPUTS################################################################################################################## maxEmaDistance = input(title="Maximum EMA Distance", type=input.float, step=0.01, defval=50000) emalength = input(title="EMA Length", type=input.integer,defval=200) // Make input options that configure backtest date range startDate = input(title="Start Date", type=input.integer, defval=1, minval=1, maxval=31) startMonth = input(title="Start Month", type=input.integer, defval=1, minval=1, maxval=12) startYear = input(title="Start Year", type=input.integer, defval=2020, minval=1800, maxval=2100) endDate = input(title="End Date", type=input.integer, defval=12, minval=1, maxval=31) endMonth = input(title="End Month", type=input.integer, defval=02, minval=1, maxval=12) endYear = input(title="End Year", type=input.integer, defval=2021, minval=1800, maxval=2100) endDate1=endDate-1 //starttag //startmonat //MACD######################################################################################################################## fast_length=12 slow_length=26 src=close col_macd=#0094ff fast_ma = ema(src, fast_length) slow_ma = ema(src, slow_length) macd = fast_ma - slow_ma //EMA Distance CALC######################################################################################################## ma1 =ema(close,emalength) distFromMean = close - ma1 inDateRange = true longCondition = (distFromMean<=maxEmaDistance and distFromMean>=distFromMean[1] and macd<=0 and inDateRange) longnow=false if(longCondition and strategy.position_size == 0) strategy.entry("My Long Entry Id", strategy.long) longnow:=true if(longCondition and strategy.position_size > 0) longnow:=true if(longCondition and strategy.position_size > 0 and month>valuewhen(longnow, month ,1) or longCondition and strategy.position_size > 0 and year>valuewhen(longnow, year ,1) and inDateRange) strategy.entry("My Long Entry Id", strategy.long) plotchar(minute, "Minuten", "", location = location.top) plotchar(hour, "Stunden", "", location = location.top) plotchar(dayofmonth, "Tage", "", location = location.top) plotchar(month, "Monat", "", location = location.top) plotchar(year, "Jahr", "", location = location.top) plotchar(strategy.position_size, "Positionen", "", location = location.top) plotchar(longCondition, "Long Condition", "", location = location.top) if true strategy.close_all() //######################################################################################################################### plotArrow = if (distFromMean<=maxEmaDistance and distFromMean>=distFromMean[1] and macd<=0) 1 else 0 plotarrow(series=plotArrow)