এই ট্রেডিং কৌশলটি ট্রেডিং সিগন্যাল তৈরির জন্য ডিরেকশনাল মুভমেন্ট ইনডেক্স (ডিএমআই) এবং স্টোকাস্টিক দোলককে একত্রিত করে। ডিএমআই, এর ডিআই +, ডিআই-লাইন এবং গড় দিকনির্দেশক সূচক (এডিএক্স) এর সাথে প্রবণতা শক্তি এবং দিকনির্দেশনা পরিমাপ করে। ডিআই + ডিআই + এর উপরে, এডিএক্স 25 এর উপরে এবং স্টোকাস্টিক % কে 20 এর নীচে (ওভারসোল্ড) হলে কৌশলটি দীর্ঘ (ক্রয়) যায়। ডিআই- ডিআই + এর উপরে, এডিএক্স 25 এর উপরে এবং স্টোকাস্টিক % কে 80 এর বেশি (ওভারসোল্ড) থাকলে এটি সংক্ষিপ্ত (বিক্রয়) যায়। সাম্প্রতিক সর্বোচ্চ এবং সর্বনিম্ন বন্ধের উপর ভিত্তি করে গতিশীল স্টপ-লস স্তরগুলি ঝুঁকি নিয়ন্ত্রণকে উন্নত করে।
কৌশলটি নিম্নলিখিত মূল উপাদানগুলির উপর ভিত্তি করেঃ
প্রবণতা সনাক্তকরণের জন্য ডিএমআই: ডিআই +, ডিআই- এবং এডিএক্স লাইনগুলি ডিএমআইয়ের বাজার প্রবণতার দিকনির্দেশ এবং শক্তি নির্ধারণ করে। ডিআই + এর উপরে ডিআই- একটি আপট্রেন্ডের সংকেত দেয় এবং ডিআই- এর উপরে ডিআই + একটি ডাউনট্রেন্ডের সংকেত দেয়। উচ্চতর এডিএক্স মানগুলি শক্তিশালী প্রবণতা নির্দেশ করে।
অতিরিক্ত ক্রয়/অতিরিক্ত বিক্রয়ের জন্য স্টোকাস্টিকস্টোক্যাস্টিকের %K রেখা সাম্প্রতিক সর্বোচ্চ এবং সর্বনিম্নের তুলনায় বর্তমান ঘনিষ্ঠতা দেখায়। ২০ এর নিচে মানগুলি oversold বোঝায় এবং ৮০ এর উপরে overbought বোঝায়।
সিগন্যাল লজিক:ডিএমআই এবং স্টোকাস্টিক একত্রিত করে, কৌশলটি দীর্ঘ হয় যখন ডিআই +> ডিআই- ((উপরে প্রবণতা), এডিএক্স> 25 (প্রবণতা শক্তি) এবং স্টোকাস্টিক % কে <20 (অভারসোল্ড) । এটি ছোট হয় যখন ডিআই-> ডিআই + (নীচ প্রবণতা), এডিএক্স> 25 এবং % কে> 80 (অভারক্রয়) ।
ডায়নামিক স্টপ লস: প্রবেশের পর সাম্প্রতিক সর্বোচ্চ এবং সর্বনিম্ন বন্ধগুলি গতিশীল স্টপ-লস স্তর হিসাবে ব্যবহৃত হয়, যা অভিযোজিত ঝুঁকি নিয়ন্ত্রণকে সক্ষম করে।
এই কৌশলটির প্রধান সুবিধাগুলো হল:
ডিএমআই (প্রবণতা) এবং স্টোকাস্টিক (অভারকোপেড/ওভারসোল্ড) থেকে দ্বৈত নিশ্চিতকরণ ব্যবহার করে উচ্চতর নির্ভরযোগ্যতা।
সাম্প্রতিক মূল্য পরিবর্তনের উপর ভিত্তি করে উদ্ভাবনী গতিশীল স্টপ লস ঝুঁকি নিয়ন্ত্রণকে আরও ভাল করে তোলে।
কম প্যারামিটার অপ্টিমাইজেশন এবং বাস্তবায়ন সহজ করে তোলে।
আর্থিক বাজার (স্টক, ফরেক্স, ক্রিপ্টো ইত্যাদি) এবং সময়সীমার মধ্যে ব্যাপক অভিযোজনযোগ্যতা।
পাইন স্ক্রিপ্ট ট্রেডিং প্ল্যাটফর্মে সরাসরি প্রয়োগের অনুমতি দেয়।
বিবেচনা করার জন্য কিছু ঝুঁকিঃ
এডিএক্স কম হলে ট্রেন্ডিং মার্কেটে সম্ভাব্য ভুল সংকেত।
স্টোকাস্টিক একটি পিছিয়ে থাকা সূচক। বাজার সিগন্যাল সময় বিপরীত হতে পারে। নেতৃস্থানীয় সূচক সঙ্গে একত্রিত।
ডায়নামিক স্টপগুলি বিশাল প্রবণতা ওঠানামা পুরোপুরি এড়াতে পারে না। যুক্তিসঙ্গত স্টপ দূরত্ব অপরিহার্য।
অপর্যাপ্ত প্যারামিটার টিউনিং কর্মক্ষমতা নেতিবাচকভাবে প্রভাবিত করে। সর্বোত্তম দৈর্ঘ্য সেট করা উচিত।
ব্ল্যাক সোয়ান ইভেন্টের জন্য অপ্রচলিত ক্ষতি রোধে কৌশল স্থগিত করা প্রয়োজন।
কৌশল উন্নত করার কিছু উপায়:
চলমান গড় এবং এমএসিডি এর মতো আরও সূচক সহ ফিল্টার যুক্ত করা সিগন্যালের নির্ভরযোগ্যতা বাড়ায়।
ব্যাকটেস্টিং এর মাধ্যমে প্যারামিটার অপ্টিমাইজেশান সর্বোত্তম সেটিংস আবিষ্কার করতে সাহায্য করে।
যন্ত্র এবং সময়সীমার উপর ভিত্তি করে পরামিতিগুলি কাস্টমাইজ করুন। দ্রুত যন্ত্রগুলি স্বল্প দৈর্ঘ্য ব্যবহার করতে পারে।
বিশ্লেষণ এবং পরিমার্জন সহজ করার জন্য getInfo ((() ব্যবহার করে বিস্তারিত লগ আউটপুট অন্তর্ভুক্ত করুন।
অতিরিক্ত তথ্যের জন্য চার্টে সিগন্যাল পয়েন্ট এবং স্টপ-লস লাইন প্লট করুন।
দ্রুত হস্তক্ষেপের জন্য সময়মত বিজ্ঞপ্তি গ্রহণের জন্য কাস্টম সতর্কতা তৈরি করুন।
এই কৌশলটি ট্রেড এন্ট্রিগুলির জন্য প্রবণতা দিক এবং অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় স্তরগুলি সনাক্ত করতে ডিএমআই এবং স্টোকাস্টিক দোলকের শক্তিকে একত্রিত করে। উদ্ভাবনী গতিশীল স্টপ লস প্রক্রিয়াটি আরও স্মার্ট ঝুঁকি নিয়ন্ত্রণের অনুমতি দেয়। নির্ভরযোগ্য সংকেত, বিস্তৃত প্রয়োগযোগ্যতা, ব্যবহারের সহজতা এবং কাস্টমাইজেশনের সাথে, এটি একটি দক্ষ অ্যালগরিদমিক ট্রেডিং কৌশল। আরও অপ্টিমাইজেশন উচ্চতর পারফরম্যান্সের দিকে পরিচালিত করতে পারে।
/*backtest start: 2022-12-19 00:00:00 end: 2023-12-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("DMI with Stochastic and Dynamic Stop-Loss", shorttitle="DMI_Stoch_SL", overlay=true) length = input(14, title="DMI Length") adxThreshold = input(25, title="ADX Threshold") stochKLength = input(14, title="Stochastic %K Length") stochDLength = input(3, title="Stochastic %D Length") [diPlus, diMinus, adx] = ta.dmi(length, length) stochKLine = ta.stoch(close, high, low, stochKLength) var float lowestClose = na var float highestClose = na lowestClose := na(lowestClose) ? close : math.min(lowestClose, close) highestClose := na(highestClose) ? close : math.max(highestClose, close) longCondition = (diPlus > diMinus) and (adx > adxThreshold) and (stochKLine < 20) shortCondition = (diMinus > diPlus) and (adx > adxThreshold) and (stochKLine > 80) if longCondition strategy.entry("Buy", strategy.long) strategy.exit("Exit Buy", "Buy", stop=lowestClose) if shortCondition strategy.entry("Sell", strategy.short) strategy.exit("Exit Sell", "Sell", stop=highestClose)