বিপরীত গতির ব্রেকআউট কৌশল একটি পরিমাণগত ট্রেডিং কৌশল যা মূল্য বিপরীতমুখী এবং গতির সূচক ব্যবহার করে ট্রেডিং সংকেত তৈরি করে।
এই কৌশলটির মূল যুক্তি হ'ল নির্দিষ্ট ব্যাক-অফ উইন্ডোতে (উদাহরণস্বরূপ 20 দিন) সর্বোচ্চ এবং সর্বনিম্ন দাম গণনা করে বাজারের বিপরীত পয়েন্টগুলি সনাক্ত করা। নির্দিষ্ট যুক্তিটি হ'লঃ
গত ২০ দিনের মধ্যে সর্বোচ্চ মূল্য (window_high) এবং সর্বনিম্ন মূল্য (window_low) গণনা করুন।
যদি আজকের উচ্চতা গত ২০ দিনের সর্বোচ্চের চেয়ে বেশি হয় (একটি নতুন ২০ দিনের উচ্চতা), উচ্চ বিপরীত পর্যবেক্ষণ সময় প্রবেশ করান এবং কাউন্টারটি ৫ দিনে সেট করুন।
যদি কোন নতুন উচ্চতা না ঘটে, তাহলে কাউন্টারকে প্রতিদিন 1 দ্বারা বিয়োগ করুন। যখন কাউন্টারটি 0 এ পৌঁছে যায়, তখন উচ্চ বিপরীত পর্যবেক্ষণের সময় শেষ হয়।
সর্বনিম্ন মূল্যের জন্য বিচার যুক্তি অনুরূপ। যদি একটি নতুন সর্বনিম্ন ঘটে, নিম্ন বিপরীত পর্যবেক্ষণ সময় প্রবেশ করুন।
রিভার্সাল মনিটরিং পিরিয়ডের মধ্যে লং এবং শর্ট পজিশন নেওয়া হয়। মূল রিভার্সাল পয়েন্টের কাছাকাছি রিভার্সাল সিগন্যালগুলি বৃহত্তর পদক্ষেপগুলি ক্যাপচার করতে দেয়।
ঐতিহাসিক তথ্যের উপর সংকেত তৈরি করা এড়াতে কৌশলটি ট্রেডিং শুরু করার সময়ও নির্ধারণ করে।
বিপরীতমুখী ইম্পোমেন্টাম ব্রেকআউট কৌশল নিম্নলিখিত প্রধান সুবিধাগুলি রয়েছেঃ
বিপরীতমুখী প্রবণতার জন্য উপযুক্ত বিপরীতমুখী সুযোগগুলি ক্যাপচার করে। বাজারগুলি প্রায়শই একটি দীর্ঘস্থায়ী আপট্রেন্ড বা ডাউনট্রেন্ডের পরে কিছুটা বিপরীতমুখী দেখায়। এই কৌশলটির লক্ষ্য এই বাঁক পয়েন্টগুলি ক্যাপচার করা।
একটি উইন্ডোতে সর্বোচ্চ এবং সর্বনিম্ন দামগুলি ট্র্যাক করা মূল্য বিপরীতমুখী প্রবণতা এবং সময়কে সংবেদনশীলভাবে সনাক্ত করতে পারে।
বিপরীত পর্যবেক্ষণ সময়কাল মিথ্যা সংকেত এড়াতে। সংকেতগুলি শুধুমাত্র মূল বিপরীত পয়েন্টগুলির চারপাশে উত্পন্ন হয়, কিছু শব্দ ফিল্টার করে।
লং এবং শর্ট পজিশনের অনুমতি দেয়। বাজারের দিকনির্দেশ অনুসরণ করে লং এবং শর্ট পজিশনের মধ্যে অল্টারনেট করে।
তুলনামূলকভাবে সহজ লজিক, বাস্তবায়ন সহজ. মূলত মূল্য এবং সহজ গতির সূচক উপর নির্ভর করে, কোড করা সহজ.
এই কৌশলটির প্রধান ঝুঁকিগুলির মধ্যে রয়েছেঃ
ভুল বিপরীতমুখী পূর্বাভাস। বাজারের প্রবণতা দিকনির্দেশক হলে কৌশলটি ক্ষতিগ্রস্ত হতে পারে।
সামগ্রিক বাজার প্রবণতা বিবেচনা করা হয় না। পৃথক স্টক বিপরীততা বাজার বিপরীততা প্রতিনিধিত্ব করে না। বাজার বিশ্লেষণ একত্রিত করা উচিত।
সম্ভাব্যভাবে বড় পরিমাণে টানতে পারে। প্রকৃত প্রতিক্রিয়া ছাড়াই টান বাড়তে পারে।
ডেটা ফিটিং বায়াস। পারফরম্যান্স ব্যাকটেস্ট থেকে উল্লেখযোগ্যভাবে পৃথক হতে পারে।
প্যারামিটার সংবেদনশীলতা। উইন্ডো সময়কাল, কাউন্টার প্যারামিটার ইত্যাদি স্থিতিশীলতা প্রভাবিত করে।
সংশ্লিষ্ট ঝুঁকি নিয়ন্ত্রণ পদ্ধতিগুলির মধ্যে রয়েছে স্টপ লস অপ্টিমাইজ করা, বাজার কারণগুলি অন্তর্ভুক্ত করা, পরামিতি সংমিশ্রণগুলি সামঞ্জস্য করা এবং স্থিতিশীলতা যাচাই করা।
মূল অপ্টিমাইজেশান দিকগুলির মধ্যে রয়েছেঃ
বাজার সূচক অন্তর্ভুক্ত করুন। অনুকূল বড় ছবি পরিবেশ এড়াতে বাজার শক্তি মূল্যায়ন।
মাল্টি-ফ্যাক্টর স্টক নির্বাচন করুন। সুস্থ মৌলিক এবং overvaluation সঙ্গে স্টক নির্বাচন করুন।
প্যারামিটার অপ্টিমাইজেশান. অনুকূল প্যারামিটার সমন্বয় খুঁজে পেতে উইন্ডো সময়কাল এবং কাউন্টার প্যারামিটার সামঞ্জস্য করুন.
স্টপ লস কৌশল যোগ করুন যেমন ট্রেলিং স্টপ, ভোল্টেবিলিটি স্টপ সর্বোচ্চ ড্রাউনডাউন নিয়ন্ত্রণ করতে।
মেশিন লার্নিং মূল্য বিপরীতের পূর্বাভাস নির্ভুলতা বৃদ্ধি।
বিপরীত গতির ব্রেকআউট কৌশলটি মূল্য এবং গতির ট্র্যাকিং করে বিপরীতমুখী সুযোগগুলি সনাক্ত করে। এটি সংবেদনশীলভাবে প্রতিক্রিয়া জানায় এবং বিপরীতমুখী প্রবণতা এবং সময় নির্ধারণ করে। তবে এর ঝুঁকি রয়েছে যা সঠিক অপ্টিমাইজেশন এবং ঝুঁকি নিয়ন্ত্রণের প্রয়োজন। সামগ্রিকভাবে, যখন পুরোপুরি বোঝা এবং অনুকূলিত করা হয়, তখন এটি পরিমাণগত ট্রেডিং সিস্টেমের একটি কার্যকর উপাদান গঠন করতে পারে।
/*backtest start: 2023-02-16 00:00:00 end: 2024-02-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("New Highs and Lows Momentum Strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100) window = input.int(20, title="New Highs and Lows Window", minval=1) decay = input.int(5, title="Decay", minval=1) startDate = input(timestamp("1 Jan 2023"), title = "Start Date") allowShort = input.bool(false, title = "Allow shorting") var int highDecayCounter = 0 var bool isHighPeriod = false var int lowDecayCounter = 0 var bool isLowPeriod = false inTradeWindow = true window_high = ta.highest(close, window) window_low = ta.lowest(low, window) // Logic for Highs if window_high > ta.highest(close, window)[1] highDecayCounter := decay isHighPeriod := true else if highDecayCounter > 0 highDecayCounter := highDecayCounter - 1 else isHighPeriod := false // Logic for Lows if window_low < ta.lowest(low, window)[1] lowDecayCounter := decay isLowPeriod := true else if lowDecayCounter > 0 lowDecayCounter := lowDecayCounter - 1 else isLowPeriod := false // Strategy Execution if inTradeWindow if isHighPeriod and highDecayCounter == decay strategy.entry("Long", strategy.long) if isHighPeriod and highDecayCounter == 0 strategy.close("Long") if isLowPeriod and lowDecayCounter == decay and allowShort strategy.entry("Short", strategy.short) if isLowPeriod and lowDecayCounter == 0 and allowShort strategy.close("Short") // Plotting plot(window_high, color=color.green) plot(window_low, color=color.red)