এই কৌশলটি সহজ চলমান গড় এবং ওজনযুক্ত চলমান গড়ের ক্রসওভারের উপর ভিত্তি করে ট্রেডিং সংকেত উত্পন্ন করে, স্টপ লস এবং লাভের সাথে পজিশন পরিচালনা করার জন্য একত্রিত হয়। কৌশলটি গতিশীল এবং স্ট্যাটিক উপাদানগুলির আন্তঃসংযুক্ত প্রভাব অর্জনের জন্য গতিশীল কারণগুলি (চলমান গড় ক্রসওভার) এবং স্ট্যাটিক কারণগুলি (স্থির স্টপ লস এবং লাভের অনুপাত) একীভূত করে।
মূল যুক্তি হ'ল বিভিন্ন সময়ের সাথে দুটি চলমান গড় গণনা করা, একটি হ'ল 9-দিনের সহজ চলমান গড় এবং অন্যটি 21-দিনের ওজনযুক্ত চলমান গড়। যখন স্বল্প-মেয়াদী 9-দিনের এসএমএ দীর্ঘ-মেয়াদী 21-দিনের ডাব্লুএমএর উপরে অতিক্রম করে, তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন স্বল্প-মেয়াদী লাইন দীর্ঘ-মেয়াদী লাইনের নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।
সিগন্যাল পাওয়ার পরে, অর্ডারগুলি সেট স্টপ লস এবং লাভের অনুপাত অনুসারে স্থাপন করা হয়। উদাহরণস্বরূপ, যদি স্টপ লস অনুপাত 5% এ সেট করা হয় তবে স্টপ লসের দাম প্রবেশ মূল্যের 95% এ সেট করা হবে। যদি লাভের অনুপাত 5% হয় তবে লাভের মূল্য প্রবেশ মূল্যের 105% এ সেট করা হবে। এটি গতিশীল কারণগুলির (প্রবেশ এবং প্রস্থান সময় নির্ধারণকারী চলমান গড় ক্রসওভার) এবং স্ট্যাটিক কারণগুলির (স্থির স্টপ লস এবং লাভের অনুপাত) সংমিশ্রণ উপলব্ধি করে।
কৌশলটি গতিশীল প্রযুক্তিগত সূচক এবং স্ট্যাটিক কৌশল পরামিতিগুলির সংমিশ্রণ করে, উভয় গতিশীল এবং স্ট্যাটিক সিস্টেমের সুবিধা রয়েছে। প্রযুক্তিগত সূচকগুলি গতিশীলভাবে বাজারের বৈশিষ্ট্যগুলি ক্যাপচার করতে পারে, যা প্রবণতা ধরার জন্য উপকারী। প্যারামিটার সেটিংস স্থিতিশীল ঝুঁকি এবং রিটার্ন নিয়ন্ত্রণ সরবরাহ করে, যা অবস্থান পরিচালনায় এলোমেলোতা হ্রাস করতে সহায়তা করে।
বিশুদ্ধ গতিশীল সিস্টেমের তুলনায়, এই কৌশলটি অবস্থান পরিচালনায় আরও শক্তিশালী, যা অযৌক্তিক সিদ্ধান্তের প্রভাব হ্রাস করে। বিশুদ্ধ স্ট্যাটিক সিস্টেমের তুলনায়, এই কৌশলটি প্রবেশের নির্বাচনে আরও নমনীয়, যা বাজারের পরিবর্তনের সাথে আরও ভালভাবে খাপ খায়। অতএব, এই কৌশলটির সামগ্রিক দৃঢ়তা এবং লাভজনকতা রয়েছে।
এই কৌশলটির ঝুঁকিগুলি মূলত দুটি দিক থেকে আসে। প্রথমত, চলমান গড় থেকে ভুল সংকেতগুলির সম্ভাবনা। যখন বাজারটি পরিসীমা-সীমাবদ্ধ হয়, চলমান গড়গুলি ঘন ঘন ক্রসওভার হতে পারে, যার ফলে কৌশলটি হুইপস হয়।
দ্বিতীয়ত, স্থির স্টপ লস এবং লাভ গ্রহণের ঝুঁকি চরম বাজারের অবস্থার সাথে মানিয়ে নিতে পারে না। যখন ব্ল্যাক সোয়ান ইভেন্টগুলি বিপুল বাজারের ওঠানামা সৃষ্টি করে, তখন পূর্বনির্ধারিত স্টপ লস এবং লাভ গ্রহণের স্তরগুলি প্রবেশ করতে পারে, কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করতে ব্যর্থ হয়।
প্রতিরোধমূলক ব্যবস্থাগুলি হ'লঃ প্রথমত, ভুল সংকেতগুলির সম্ভাবনা হ্রাস করার জন্য মূল সময় নোডগুলি এড়ানো; দ্বিতীয়ত, বাজারের অস্থিরতা এবং বিশেষ ইভেন্ট অনুসারে অভিযোজিত স্টপ লস অ্যালগরিদম সক্ষম করুন, স্টপ লস এবং লাভ গ্রহণ করুন বাজারের সাথে সামঞ্জস্য করুন।
এই কৌশল নিম্নলিখিত দিক থেকে অপ্টিমাইজ করা যেতে পারেঃ
সর্বোত্তম পরামিতি খুঁজে পেতে বিভিন্ন পরামিতি সংমিশ্রণ পরীক্ষা করুন;
অবৈধ সংকেত এড়ানোর জন্য ফিল্টারিং শর্ত যুক্ত করুন;
বাজারের সাথে চলার জন্য অভিযোজিত স্টপ লস অ্যালগরিদম প্রয়োগ করুন;
প্রবণতা শক্তি মূল্যায়ন করার জন্য অন্যান্য সূচক অন্তর্ভুক্ত করুন, পরিসীমা সীমাবদ্ধ বাজার এড়ানো;
স্বয়ংক্রিয়ভাবে পরামিতি অপ্টিমাইজ করার জন্য মেশিন লার্নিং পদ্ধতি ব্যবহার করুন।
পরীক্ষার পরামিতি, ফিল্টার যোগ করা, স্টপগুলি উন্নত করা, প্রবণতা মূল্যায়ন ইত্যাদির মাধ্যমে কৌশলটির স্থিতিশীলতা এবং লাভজনকতা আরও বাড়ানো যেতে পারে।
এই কৌশলটি সফলভাবে গতিশীল সূচক এবং স্ট্যাটিক পরামিতিগুলিকে একত্রিত করে, নমনীয়তা এবং দৃust়তা ভারসাম্য বজায় রাখে। খাঁটি গতিশীল এবং স্ট্যাটিক কৌশলগুলির তুলনায়, এই কৌশলটি সামগ্রিকভাবে আরও ভাল পারফর্ম করে। অবশ্যই, কৌশলটিকে আরও কার্যকর করার জন্য পরামিতিগুলি সামঞ্জস্য করে, ফিল্টারগুলি যুক্ত করে, অভিযোজনযোগ্য স্টপস, মেশিন লার্নিং ইত্যাদির মাধ্যমে অপ্টিমাইজেশনের জন্য এখনও জায়গা রয়েছে।
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("WMA vs MMA Crossover Strategy with SL/TP", shorttitle="WMA_MMA_Cross_SL_TP", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10) // Définition des périodes pour les moyennes mobiles wmaLength = input.int(9, title="WMA Length") mmaLength = input.int(21, title="MMA Length") // Paramètres de Stop Loss et Take Profit en pourcentage stopLossPercentage = input.float(5, title="Stop Loss (%)") / 100 takeProfitPercentage = input.float(5, title="Take Profit (%)") / 100 // Calcul des moyennes mobiles wmaValue = ta.wma(close, wmaLength) mmaValue = ta.sma(close, mmaLength) // Conditions pour les signaux d'achat et de vente buySignal = ta.crossover(wmaValue, mmaValue) sellSignal = ta.crossunder(wmaValue, mmaValue) // Génération des ordres en fonction des signaux if buySignal strategy.entry("Buy", strategy.long) strategy.exit("Exit Buy", "Buy", stop=strategy.position_avg_price * (1 - stopLossPercentage), limit=strategy.position_avg_price * (1 + takeProfitPercentage)) if sellSignal strategy.entry("Sell", strategy.short) strategy.exit("Exit Sell", "Sell", stop=strategy.position_avg_price * (1 + stopLossPercentage), limit=strategy.position_avg_price * (1 - takeProfitPercentage)) // Affichage des moyennes mobiles sur le graphique plot(wmaValue, color=color.blue, title="WMA") plot(mmaValue, color=color.red, title="MMA") // Affichage des signaux sur le graphique pour référence plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY") plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")