এই কৌশলটি মূলত একটি চলমান গড় ক্রস কৌশল। দামের চলমান গড় গণনা করে এবং কিছু স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী চলমান গড় নির্ধারণ করে, যখন স্বল্পমেয়াদী চলমান গড়টি নীচে থেকে দীর্ঘমেয়াদী চলমান গড়ের উপরে অতিক্রম করে তখন দীর্ঘমেয়াদী চলমান গড়ের নীচে অতিক্রম করে; যখন স্বল্পমেয়াদী চলমান গড়টি উপরে থেকে দীর্ঘমেয়াদী চলমান গড়ের নীচে অতিক্রম করে তখন সংক্ষিপ্ত যান।
মূল্যের চলমান গড় ক্রস কৌশলটির মূল ধারণাটি হ'লঃ দামের চলমান গড় কার্যকরভাবে মূল্য পরিবর্তনের প্রবণতা প্রতিফলিত করতে পারে। কৌশলটি বিভিন্ন চক্রের দুটি চলমান গড় এবং নির্দিষ্ট ট্রেডিং লজিক স্থাপন করে ট্রেডিং সিগন্যাল তৈরির মাধ্যমে বাজারের প্রবণতার পরিবর্তনকে বিচার করে।
কৌশলটি একটি দীর্ঘমেয়াদী চলমান গড় এবং একটি স্বল্পমেয়াদী গণনা করে। দীর্ঘ লাইনটি মূলত প্রধান প্রবণতা বিচার করে এবং শর্ট লাইনটি প্রধান প্রবণতার সময় মাঝারি মেয়াদী ওঠানামা ক্যাপচার করতে ব্যবহৃত হয়। কৌশলটির ট্রেডিং সংকেতগুলি মূলত দীর্ঘ লাইনের উপর সংক্ষিপ্ত লাইনের ক্রস থেকে আসেঃ দীর্ঘ লাইনটি যখন দীর্ঘ লাইনের উপরে অতিক্রম করে তখন দীর্ঘ সংকেত এবং সংক্ষিপ্ত সংকেত যখন সংক্ষিপ্ত লাইনটি নীচে অতিক্রম করে। এছাড়াও, কৌশলটি মিথ্যা সংকেত এড়ানোর জন্য সংকেতগুলি ফিল্টার করে।
বিশেষত, কৌশলটি এসএমএ, ইএমএ, ভিডাব্লুএমএ ইত্যাদি সহ 7 টি বিভিন্ন ধরণের চলমান গড় ব্যবহার করে। ব্যবহারকারীরা চলমান গড়ের ধরণটি নির্বাচন করতে পারেন। চলমান গড়ের দৈর্ঘ্যও নমনীয়ভাবে সেট করা যেতে পারে। এছাড়াও, কৌশলটি নির্দিষ্ট ট্রেডিং সময়কাল এবং অবস্থান পরিচালনার প্রক্রিয়াগুলিতে সীমাবদ্ধতা সরবরাহ করে। এই সেটিংগুলির মাধ্যমে, ব্যবহারকারীরা বিভিন্ন জাত এবং বাজারের পরিবেশের সাথে খাপ খাইয়ে নেওয়ার জন্য কৌশলটির পরামিতিগুলি নমনীয়ভাবে সামঞ্জস্য করতে পারে।
মূল্যের চলমান গড় ক্রস কৌশলটির প্রধান সুবিধাগুলি নিম্নরূপঃ
কৌশল যুক্তি স্পষ্ট এবং সহজ, সহজেই বোঝা এবং বাস্তবায়ন, শিক্ষানবিশদের জন্য উপযুক্ত।
কৌশল নীতিটি শক্তিশালী, যাচাইকৃত চলমান গড় ব্যবসায়ের নিয়মের উপর ভিত্তি করে এবং বাজারে ব্যবহারিকভাবে পরীক্ষা করা হয়েছে।
কৌশলটির পরামিতিগুলি নমনীয় এবং সামঞ্জস্যযোগ্য। ব্যবহারকারীরা তাদের নিজস্ব বিচার এবং বাজারের পছন্দ অনুযায়ী উপযুক্ত পরামিতিগুলি চয়ন করতে পারেন।
এই কৌশলটিতে হারানো অর্ডারের হোল্ডিং সময় কমাতে এবং অপ্রয়োজনীয় রিভার্স পজিশন প্রতিরোধের জন্য কিছু ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা রয়েছে।
কৌশলটিতে একাধিক ধরণের চলমান গড় রয়েছে। ব্যবহারকারীরা তাদের ট্রেডিং বৈচিত্র্যের জন্য সবচেয়ে উপযুক্ত চলমান গড় টাইপ নির্বাচন করতে পারেন।
কৌশলটি বড় ছুটির বাজারে অস্বাভাবিক ওঠানামা এড়াতে নির্দিষ্ট সময়কালের মধ্যে ট্রেডিং লজিক সক্ষম করতে সহায়তা করে।
যদিও মূল্যের চলমান গড় ক্রস কৌশলটির অনেক সুবিধা রয়েছে, তবুও প্রকৃত ট্রেডিংয়ে কিছু ঝুঁকি রয়েছে, যা মূলত নিম্নলিখিত দুটি দিক থেকে প্রতিফলিত হয়ঃ
বেশিরভাগ চলমান গড়ের বিলম্বের কারণে, মূল্য বিপরীতের পরে পরবর্তী পর্যায়ে ক্রস সংকেতগুলি উপস্থিত হতে পারে, যা ফাঁদে পড়া সহজ।
অনুপযুক্ত প্যারামিটার সেটিংয়ের ক্ষেত্রে, ক্রস সংকেতগুলি খুব ঘন ঘন হতে পারে, যার ফলে খুব বেশি ট্রেডিং ক্রিয়াকলাপ এবং আরও বেশি ট্রেডিং ব্যয় হতে পারে।
উপরের ঝুঁকিগুলির প্রতিক্রিয়া হিসাবে, নিয়ন্ত্রণ এবং মোকাবেলা পদ্ধতিগুলি নিম্নলিখিত উপায়ে পরিচালিত হয়ঃ
যথাযথ স্টপ লস রেঞ্জ নির্ধারণ করে একক ক্ষতির ঝুঁকি নিয়ন্ত্রণ করা।
ফিল্টার শর্তাবলী যোগ করে ট্রেডিং ফ্রিকোয়েন্সি হ্রাস করুন এবং ওভার-ট্রেডিং প্রতিরোধ করুন। উদাহরণস্বরূপ, মূল্য চ্যানেল বা দামের ওঠানামা ব্যাপ্তি শর্তাবলী সেট আপ করুন।
আপনার নিজের ট্রেডিং বৈচিত্র এবং চক্রের জন্য পরামিতিগুলির সবচেয়ে উপযুক্ত সমন্বয় নির্বাচন করতে চলমান গড়ের পরামিতিগুলি অনুকূল করুন। বিভিন্ন বাজারের অবস্থার অধীনে কৌশলটির স্থিতিশীলতা পরীক্ষা করুন।
এই মূল্যের চলমান গড় ক্রসওভার কৌশলটির আরও অপ্টিমাইজেশনের সুযোগ রয়েছে। এটি নিম্নলিখিত দিকগুলিতে করা যেতে পারেঃ
চরম বাজারের অবস্থার অধীনে সুরক্ষা ব্যবস্থা বাড়ানো। উদাহরণস্বরূপ, অস্বাভাবিক বাজারের পরিস্থিতি এড়ানোর জন্য প্রবল দামের ওঠানামা চলাকালীন সাময়িকভাবে বাণিজ্য স্থগিত করা।
সিগন্যালের গুণমান এবং স্থিতিশীলতা উন্নত করতে আরও ফিল্টার শর্ত এবং সমন্বিত ট্রেডিং সংকেত বৃদ্ধি করুন। উদাহরণস্বরূপ, অন্যান্য প্রযুক্তিগত সূচকগুলির সাথে মিলিত ট্রেন্ডিং ক্রসওভারগুলি সনাক্ত করুন।
গতিশীল প্যারামিটার সিস্টেম গ্রহণ করুন। বাজার পরিস্থিতি এবং জাতের বৈশিষ্ট্য অনুসারে, স্থির মান ব্যবহারের পরিবর্তে স্বয়ংক্রিয়ভাবে মূল প্যারামিটারগুলি যেমন চলমান গড় দৈর্ঘ্য, ট্রেডিং সুইচ ইত্যাদি সামঞ্জস্য করুন।
এই চলমান গড় ক্রসওভার সংকেতটি কম্পোজিট বৈচিত্র্য আরবিট্রেজের মতো উন্নত কৌশলগুলিতে প্রয়োগ করুন। গভীর কৌশল অপ্টিমাইজেশনের জন্য এটি অন্যান্য তথ্যের সাথে একত্রিত করুন।
উপরের পরামর্শগুলি এই কৌশলটির প্রযোজ্য পরিবেশ এবং কার্যকারিতা প্রসারিত করতে পারে এবং আরও ভাল ঝুঁকি-প্রতিফলন ব্যবধান অর্জন করতে পারে।
এই নিবন্ধটি সহজ চলমান গড় ক্রসওভার কৌশল - নোরো'স ক্রসএমএর বিশদ কোড বিশ্লেষণ এবং ব্যাখ্যা করে। আমরা এর কৌশল ধারণা, নীতিগত কাঠামো, প্রধান সুবিধা এবং সম্ভাব্য উন্নতির দিকগুলি বিশ্লেষণ করি। সামগ্রিকভাবে, এই কৌশলটির সুস্পষ্ট যুক্তি রয়েছে এবং এটি সহজ এবং ব্যবহারিক। নমনীয় পরামিতি সামঞ্জস্য অনেক ট্রেডিং পরিবেশে অভিযোজিত হতে পারে। আমরা কৌশলটিতে বিদ্যমান সমস্যা এবং ঝুঁকিগুলিও বিভাজন করি এবং লক্ষ্যবস্তু পরামর্শ দিই। বিশ্বাস করা হয় যে এই বিস্তৃত বিশ্লেষণ এবং আলোচনার মাধ্যমে ব্যবসায়ীরা এই ধরণের কৌশলগুলি আরও ভালভাবে বুঝতে পারে এবং তাদের বাস্তব ট্রেডিং সিস্টেমগুলিকে ক্রমাগত অনুকূল করতে সহায়তা করতে পারে।
/*backtest start: 2022-11-20 00:00:00 end: 2023-11-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2019 //@version=4 strategy(title = "Noro's CrossMA", shorttitle = "CrossMA", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0, commission_value = 0.1) needlong = input(true, "long") needshort = input(true, "short") lotsize = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %") type = input(defval = "SMA", options = ["SMA", "EMA", "VWMA", "DEMA", "TEMA", "KAMA", "PCMA"], title = "MA type") src = input(close, defval = close, title = "MA Source") len = input(30, defval = 30, minval = 1, title = "MA length") off = input(00, defval = 00, minval = 0, title = "MA offset") anti = input(true, defval = true, title = "Anti-saw filter") showma = input(true, defval = true, title = "Show MA") showbg = input(false, defval = false, title = "Show background") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //DEMA dema = 2 * ema(src, len) - ema(ema(close, len), len) //TEMA xPrice = close xEMA1 = ema(src, len) xEMA2 = ema(xEMA1, len) xEMA3 = ema(xEMA2, len) tema = 3 * xEMA1 - 3 * xEMA2 + xEMA3 //KAMA xvnoise = abs(src - src[1]) nfastend = 0.20 nslowend = 0.05 nsignal = abs(src - src[len]) nnoise = sum(xvnoise, len) nefratio = iff(nnoise != 0, nsignal / nnoise, 0) nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) kama = 0.0 kama := nz(kama[1]) + nsmooth * (src - nz(kama[1])) //PriceChannel lasthigh = highest(src, len) lastlow = lowest(src, len) center = (lasthigh + lastlow) / 2 sma_1 = sma(src, len) ema_1 = ema(src, len) vwma_1 = vwma(src, len) ma2 = type == "SMA" ? sma_1 : type == "EMA" ? ema_1 : type == "VWMA" ? vwma_1 : type == "DEMA" ? dema : type == "TEMA" ? tema : type == "KAMA" ? kama : type == "PCMA" ? center : 0 ma = ma2[off] macol = showma ? color.blue : na plot(ma, color = macol, linewidth = 3, transp = 0) //Background trend = 0 trend := anti == false and close > ma ? 1 : anti == false and close < ma ? -1 : low > ma ? 1 : high < ma ? -1 : trend[1] bgcol = showbg ? trend == 1 ? color.lime : trend == -1 ? color.red : na : na bgcolor(bgcol, transp = 70) //Trading size = strategy.position_size truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59) lot = 0.0 lot := size != size[1] ? strategy.equity / close * lotsize / 100 : lot[1] if trend == 1 and trend[1] == -1 strategy.entry("Long", strategy.long, lot, when = needlong and truetime) if trend == -1 and trend[1] == 1 strategy.entry("Short", strategy.short, lot, when = needshort and truetime) if size > 0 and needshort == false and trend == -1 strategy.close_all() if size < 0 and needlong == false and trend == 1 strategy.close_all() if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all() strategy.cancel("Long") strategy.cancel("Short")