এই কৌশলটি অস্থিরতা কম এবং যখন এটি উচ্চ হয় তখন সম্পদ কেনার মধ্যে পার্থক্য অধ্যয়ন করার লক্ষ্য রাখে। এটি ব্যবহারকারীকে মোড ইনপুট ভেরিয়েবল পরিবর্তন করে কম বা উচ্চ অস্থিরতার সময়কালে কিনতে হবে কিনা তা চয়ন করতে দেয়।
এই কৌশলটি এটিআর এবং এর এসএমএ গণনা করে অস্থিরতা নির্ধারণ করে। বিশেষত, এটি এটিআর এর এসএমএ গণনা করে এবং তারপরে এটিআর এবং এর এসএমএর মধ্যে অনুপাত গণনা করে। যদি এই অনুপাত ব্যবহারকারীর দ্বারা সংজ্ঞায়িত থ্রেশহোল্ড অস্থিরতা টার্গেট রেশোর চেয়ে বেশি হয় তবে অস্থিরতা উচ্চ বলে মনে করা হয়। যদি থ্রেশহোল্ডের চেয়ে কম হয় তবে অস্থিরতা কম বলে মনে করা হয়।
ব্যবহারকারীর দ্বারা নির্বাচিত মোডের উপর নির্ভর করে, কৌশলটি উচ্চ বা কম অস্থিরতার সময় কিনতে সংকেত তৈরি করে। একবার কেনা হলে, কৌশলটি sellAfterNBarsLength দ্বারা সংজ্ঞায়িত কয়েকটি বার ধরে থাকবে এবং তারপরে অবস্থানটি বন্ধ করবে।
এই কৌশলটির প্রধান সুবিধাগুলো হল:
এই কৌশলটির প্রধান ঝুঁকিগুলি হলঃ
উপরের ঝুঁকিগুলি পরামিতিগুলি সামঞ্জস্য করে এবং বিভিন্ন অস্থিরতার স্তর থেকে ক্রয়গুলি একত্রিত করে হ্রাস করা যেতে পারে।
এই কৌশলটি নিম্নলিখিতগুলির দ্বারা আরও অনুকূলিত করা যেতে পারেঃ
এই কৌশলটি কার্যকরভাবে কম অস্থিরতা ক্রয় এবং উচ্চ অস্থিরতা ক্রয় কৌশলগুলির পারফরম্যান্স তুলনা করতে পারে। এটি এটিআর মসৃণ করতে এসএমএ ব্যবহার করে এবং অস্থিরতার স্তরের উপর ভিত্তি করে ট্রেডিং সংকেত উত্পন্ন করে। পরামিতি টিউনিং এবং অপ্টিমাইজেশান শর্তের মাধ্যমে কৌশলটি উন্নত করা যেতে পারে। সামগ্রিকভাবে, এই কৌশলটি অস্থিরতা ভিত্তিক কৌশলগুলি গবেষণা করার জন্য একটি কার্যকর সরঞ্জাম সরবরাহ করে।
/*backtest start: 2023-01-01 00:00:00 end: 2024-01-07 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/ // © I11L //@version=5 strategy("I11L - Better Buy Low Volatility or High Volatility?", overlay=false) mode = input.string("Buy low Volatility",options = ["Buy low Volatility","Buy high Volatility"]) volatilityTargetRatio = input.float(1,minval = 0, maxval = 100,step=0.1, tooltip="1 equals the average atr for the security, a lower value means that the volatility is lower") atrLength = input.int(14) atr = ta.atr(atrLength) / close avg_atr = ta.sma(atr,atrLength*5) ratio = atr / avg_atr sellAfterNBarsLength = input.int(5, step=5, minval=0) var holdingBarsCounter = 0 if(strategy.opentrades > 0) holdingBarsCounter := holdingBarsCounter + 1 isBuy = false if(mode == "Buy low Volatility") isBuy := ratio < volatilityTargetRatio else isBuy := ratio > volatilityTargetRatio isClose = holdingBarsCounter > sellAfterNBarsLength if(isBuy) strategy.entry("Buy",strategy.long) if(isClose) holdingBarsCounter := 0 strategy.exit("Close",limit=close) plot(ratio, color=isBuy[1] ? color.green : isClose[1] ? color.red : color.white) plot(1, color=color.white)