মালা অ্যাডাপ্টিভ মুভিং এভারেজ কৌশল হল জন এহলার্স দ্বারা বিকাশিত মেসা অ্যাডাপ্টিভ মুভিং এভারেজ সূচকের উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং কৌশল। কৌশলটি ট্রেডিং সিদ্ধান্ত গ্রহণ, সর্বনিম্ন কিনতে, সর্বোচ্চ বিক্রয় করতে সাইনস তরঙ্গ ব্যবহার করে। পরামিতিগুলির স্লাইডিং সমন্বয় দ্বারা, সাইনস তরঙ্গ নিজেকে বিভিন্ন পণ্য এবং বাজারের পরিবেশে মানিয়ে নিতে পারে।
মালা অ্যাডাপ্টিভ মুভিং এভারেজ কৌশলটি ট্রেডিং সংকেত উত্পাদন করতে একটি সিনস ওয়েভ জেনারেটর ব্যবহার করে। সিনস ওয়েভটি একটি ঘূর্ণনশীল ভেক্টর (ফ্যাসর নামে পরিচিত) দ্বারা উল্লম্ব অক্ষের উপর ছায়া ছড়িয়ে দেওয়া দ্বারা নির্ধারিত হয়। যখন ভেক্টরটি 360 ডিগ্রি ঘোরায়, তখন একটি চক্র সম্পন্ন হয়। ভেক্টরটি যখন একটি কোণ অতিক্রম করে তখন ক্রয় সংকেত উত্পন্ন হয় এবং যখন এটি অন্য কোণ অতিক্রম করে তখন বিক্রয় সংকেত উত্পন্ন হয়। সুতরাং, ট্রেডিং সিদ্ধান্তগুলি টাইম ডোমেইনে তরঙ্গের বৈশিষ্ট্যগুলির পরিবর্তে ফ্রিকোয়েন্সি ডোমেনে কোণগুলির ক্ষেত্রে সংজ্ঞায়িত করা হয়, যা কৌশলটিকে বিভিন্ন ফিউচার চুক্তি এবং বাজারের অবস্থার মধ্যে আরও শক্তিশালী করে তোলে।
বিশেষত, কৌশলটি প্রথমে মূল্যকে মসৃণ করে এবং বন্ধ করে দেয়, তারপরে সিনস তরঙ্গের দুটি উপাদান গণনা করেঃ ইন-ফেজ উপাদান I এবং স্কোয়ারচার উপাদান Q। এই দুটি উপাদান চূড়ান্ত Re এবং Im পেতে ফেজ শিফট দ্বারা ওভারল্যাপ এবং ফিল্টার করা হয়। Re এবং Im সিনস তরঙ্গের ফ্রিকোয়েন্সি তথ্য প্রতিফলিত করে। সময়কালের সময়কালটি atan ((Im / Re থেকে প্রাপ্ত করা যেতে পারে। প্রত্যাশিত সময়কালের পরিসরের উপর ভিত্তি করে একটি মসৃণ সময়কাল নির্ধারিত হয়। সময়কাল এবং ফেজ তথ্য MAMA এবং FAMA বক্ররেখা নির্ধারণ করে, যার ক্রসওভারগুলি ট্রেডিং সংকেত উত্পাদন করে। প্যারামিটার আলফা ডেল্টা পরিবর্তন হার এবং সময়ের উপর ভিত্তি করে একটি নির্দিষ্ট পরিসরের মধ্যে গতিশীলভাবে সামঞ্জস্য করা হয়, যা সূচককে বাজারের অবস্থার পরিবর্তনের সাথে নিজেকে খাপ খাইয়ে নিতে দেয়।
মালা অ্যাডাপ্টিভ মুভিং এভারেজ কৌশল নিম্নলিখিত সুবিধাগুলি রয়েছেঃ
ট্রেডিং সিগন্যাল হিসেবে সাইনস ওভেন এবং ফেজ ব্যবহার করা কৌশলটিকে আরও শক্তিশালী করে তোলে, সময় ডোমেনে তরঙ্গের বৈশিষ্ট্য দ্বারা প্রভাবিত হয় না।
সময়কাল এবং পরামিতিগুলির অভিযোজনযোগ্যতা বাজারের পরিবর্তনের জন্য শক্তিশালী অভিযোজনযোগ্যতা সক্ষম করে।
এমএএমএ এবং ফামা কার্ভগুলি কেবলমাত্র মূল্যের বৈশিষ্ট্যগুলির উপর নির্ভর করে, সময়মতো প্রবণতা বিপরীতকরণগুলি ক্যাপচার করে।
কৌশলটির সংবেদনশীলতা বিভিন্ন ট্রেডিং স্টাইলের জন্য প্যারামিটার টিউনিংয়ের মাধ্যমে সামঞ্জস্য করা যেতে পারে।
সুস্পষ্ট এবং সহজ যুক্তি গবেষণা এবং শিক্ষার জন্য বোঝা, পরিবর্তন এবং প্রয়োগ সহজ করে তোলে।
মালা অ্যাডাপ্টিভ মুভিং এভারেজ স্ট্র্যাটেজি নিম্নলিখিত ঝুঁকি বহন করেঃ
সাইন কার্ভের সময়কাল এবং পর্যায়ে নির্ভর করে, অস্বাভাবিক মূল্য বিকৃতি ভুল সংকেত তৈরি করতে পারে।
সময়কালের অনুমানে নির্ধারিত কঠোর সীমানা সময়কালের পরিবর্তনে অপর্যাপ্ত মসৃণতা সৃষ্টি করে।
মূল পয়েন্টগুলির চারপাশে ফেজ লকিং এবং পিরিয়ড লকিং কার্ভগুলির দোলনকে নেতৃত্ব দেয়, সম্ভাব্য অনুকূল প্রবেশ এবং প্রস্থানগুলি মিস করে।
বাজারের অস্থিরতা বাড়ার সময় প্যারামিটার এবং কার্ভের অভিযোজনযোগ্যতা কমে যায়।
একটি প্রযুক্তিগত সূচক হিসাবে, কৌশলটি গুরুত্বপূর্ণ প্রযুক্তিগত স্তরের আশেপাশে মিথ্যা ব্রেকআউট এবং ভুল সংকেত উত্পাদন করে।
এই ঝুঁকিগুলি আরও মসৃণ পরামিতি, অন্যান্য সূচকগুলির সাথে সংকেত ফিল্টারিং, অবস্থান আকারের সমন্বয় ইত্যাদির মাধ্যমে হ্রাস করা যেতে পারে।
নিম্নলিখিত দিকগুলিতে মালা অ্যাডাপ্টিভ মুভিং এভারেজ কৌশল উন্নত করা যেতে পারেঃ
আরও স্বাভাবিক মসৃণতা অর্জনের জন্য সময়কাল এবং পরামিতি গণনা উন্নত করা, উদাহরণস্বরূপ, মূল্য মডেলিংয়ের জন্য পরিসংখ্যানগত পদ্ধতি প্রবর্তন করা।
নির্ভুলতা বাড়াতে ভোল্টেবিলিটি, ভলিউম এবং মৌলিক সূচক দিয়ে সংকেত ফিল্টার করুন।
ট্রেডিং খরচ কমাতে এবং স্থিতিশীলতা উন্নত করতে প্যারামিটার সেটিং এবং স্লিপ নিয়ন্ত্রণকে অনুকূল করা।
গতিশীল পরামিতি অপ্টিমাইজেশনের জন্য মেশিন লার্নিং এবং জেনেটিক অ্যালগরিদম চালু করা।
লাভজনকতা বৃদ্ধির জন্য বিভিন্ন এন্ট্রি এবং আউটপুটের উপর ভিত্তি করে প্রবণতা এবং গড়-বিপরীত সিস্টেমের সাথে সমন্বয় বিকাশ করুন।
মালা অ্যাডাপ্টিভ মুভিং এভারেজ কৌশলটি ট্রেডিং সিগন্যাল তৈরির জন্য সিনস ওয়েভ বিশ্লেষণ ব্যবহার করে, গতিশীল পরামিতি টিউনিংয়ের মাধ্যমে স্বয়ংক্রিয়ভাবে বাজারের পরিবর্তনের সাথে নিজেকে খাপ খাইয়ে নেয়, এটি বেশ শক্তিশালী এবং ব্যাপকভাবে প্রয়োগযোগ্য করে তোলে। অন্যান্য অভিযোজিত চলমান গড় কৌশলগুলির তুলনায় এটি উচ্চতর ব্যবহারযোগ্যতা এবং স্থিতিশীলতা প্রদর্শন করে। তবে একটি প্রযুক্তিগত কৌশল হিসাবে, এটি গুরুত্বপূর্ণ প্রযুক্তিগত স্তরের চারপাশে ভুল সংকেতের সাপেক্ষে, যা সহায়ক সরঞ্জামগুলির সাথে ফিল্টারিং এবং অপ্টিমাইজেশনের প্রয়োজন। ক্রমাগত উন্নতির সাথে, এই কৌশলটির একটি প্রস্তাবিত অভিযোজিত ট্রেডিং সিস্টেম হওয়ার সম্ভাবনা রয়েছে।
/*backtest start: 2022-11-30 00:00:00 end: 2023-12-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 at https://mozilla.org/MPL/2.0/ // © dongyun //@version=4 strategy("自适应移动平均的MESA系统", overlay=true) fastlimit = input(0.5,'') slowlimit = input(0.05,'') smooth = 0.0 detrender = 0.0 I1 = 0.0 Q1 = 0.0 JI = 0.0 JQ = 0.0 I2 = 0.0 Q2 = 0.0 Re = 0.0 Im = 0.0 period = 0.0 smoothperiod = 0.0 phase = 0.0 deltaphase = 0.0 alpha = 0.0 MAMA = 0.0 FAMA = 0.0 price = 0.0 price := (high + low)/2 PI = 2 * asin(1) if (bar_index > 5) smooth := (4*price + 3*price[1] + 2*price[2] + price[3])/10 detrender := (.0962*smooth + .5769*nz(smooth[2]) - .5769*nz(smooth[4]) - .0962*nz(smooth[6]))*(.075*nz(period[1]) + .54) // compute InPhase and Quadrature components Q1 := (.0962*detrender + .5769*nz(detrender[2]) - .5769*nz(detrender[4]) - .0962*nz(detrender[6]))*(.075*nz(period[1]) + .54) I1 := nz(detrender[3]) // advance the pulse of i1 and q1 by 90 degrees JI := (.0962*I1 + .5769*nz(I1[2]) - .5769*nz(I1[4]) - .0962*nz(I1[6]))*(.075*nz(period[1]) + .54) JQ := (.0962*Q1 + .5769*nz(Q1[2]) - .5769*nz(Q1[4]) - .0962*nz(Q1[6]))*(.075*nz(period[1]) + .54) //phase addition for 3-bar averaging I2 := I1 - JQ Q2 := Q1 + JI //smooth the i and q components before applying I2 := .2*I2 + .8*nz(I2[1]) Q2 := .2*Q2 + .8*nz(Q2[1]) // hymodyne discriminator Re := I2*I2[1] + Q2*nz(Q2[1]) Im := I2*Q2[1] + Q2*nz(I2[1]) Re := .2*Re + .8*nz(Re[1]) Im := .2*Im + .8*nz(Im[1]) if (Im != 0 and Re != 0) period := 2 * PI/atan(Im/Re) if (period > 1.5 * nz(period[1])) period := 1.5*nz(period[1]) if (period < .67*nz(period[1])) period := .67*nz(period[1]) if (period < 6) period := 6 if (period > 50) period := 50 period := .2*period + .8*nz(period[1]) smoothperiod := .33*period + .67*nz(smoothperiod[1]) if (I1 != 0) phase := (180/PI) * atan(Q1/I1) deltaphase := nz(phase[1]) - phase if (deltaphase < 1) deltaphase := 1 alpha := fastlimit/deltaphase if(alpha < slowlimit) alpha := slowlimit MAMA := alpha*price + (1 - alpha)*nz(MAMA[1]) FAMA := .5*alpha*MAMA + (1 - .5*alpha)*nz(FAMA[1]) if (FAMA < MAMA) strategy.entry("Long", strategy.long) else if (FAMA > MAMA) strategy.entry("Short", strategy.short)