এই কৌশলটি উচ্চ অস্থিরতার সাথে সিকিউরিটিজগুলির জন্য ডিজাইন করা একটি পুলব্যাক সিস্টেম, তাই স্বাভাবিকভাবেই বিটকয়েন এটির ব্যবসায়ের জন্য একটি দুর্দান্ত পছন্দ। এটি একটি দৈনিক চার্টে বা কম সময়সীমার উপর উভয়ই ব্যবহার করা যেতে পারে (আমি 3 ঘন্টা সময়সীমার উপর ভাল ফলাফল পেয়েছি তবে 1 ঘন্টার নিচে কোনও কিছুর উপর এটি পরীক্ষা করি নি) ।
কৌশলটি পূর্ববর্তী 2টি মোমবাতিগুলির বন্ধের দামের পরিবর্তনের তুলনা করে অস্থিরতা গণনা করে এবং চলমান গড় তৈরি করতে এই দামের পরিবর্তনটি ব্যবহার করে। অভ্যন্তরীণ ব্যান্ডের জন্য 1 এবং বাইরের ব্যান্ডের জন্য 2 এর মান বিচ্যুতি সহ চলমান গড়ের চারপাশে একটি ব্যান্ড মোড়ানো হয়। যদি দাম একটি পূর্বনির্ধারিত এমএ (চলমান গড়) ফিল্টারের উপরে থাকে তবে এটি নির্ধারিত হয় যে আমরা একটি আপট্রেন্ডে আছি তাই কৌশলটি একটি সংকেত জারি করবে যখন আমরা একটি আপট্রেন্ডে থাকি এবং একটি pullback থাকে যা নিম্ন অভ্যন্তরীণ বিচ্যুতি ব্যান্ডকে স্পাইক করে তোলে, তবে যদি দাম অব্যাহত থাকে এবং বাইরের বিচ্যুতি ব্যান্ডের মধ্য দিয়ে পড়ে তবে একটি ক্রয় সংকেত প্রকাশিত হবে না কারণ এই সমস্যাটি অস্থিরতা স্পাইকটি খুব বড়। আপনি একটি স্পাইক দেখতে পারেন
ব্যবহারকারী তারা পরীক্ষা করতে চান তারিখ পরিসীমা, অস্থিরতা ট্র্যাকিং এবং অভ্যন্তরীণ এবং বাইরের ব্যান্ড বিচ্যুতি জন্য চলমান গড় সময়কাল পরিবর্তন করতে পারেন। বিটিসিতে আমি অভ্যন্তরীণ বিচ্যুতি এবং বাইরের বিচ্যুতি ব্যান্ডগুলি স্ট্যান্ডার্ড সেটিংসে রেখেছি তবে 3 সময়ের অস্থিরতা ট্র্যাকিং 1 দিনের চার্ট ট্রেডিংয়ের জন্য ভাল এবং 5 সময়ের অস্থিরতা ট্র্যাকিং 3 ঘন্টা চার্টের জন্য ভাল বলে পেয়েছি। যেহেতু এটি একটি কিনুন এবং ধরে রাখার কৌশল নয়, তাই ট্রেডিংয়ের জন্য আপনি সম্ভবত সর্বাধিক তরল মুদ্রাগুলির সাথে আটকে থাকতে চান যাতে আপনি যে কোনও এক্সচেঞ্জে খুব দ্রুত প্রবেশ করতে এবং বেরিয়ে আসতে পারেন। আপনি যদি কম অস্থির বাজারে এটি ট্রে করতে চান তবে অভ্যন্তরীণ বিচ্যুতি ব্যান্ডটি ~ 0.75 এ পরিবর্তন করা বিভিন্ন সম্ভাব্য স্টক বাজারেও ঠিক কাজ করবে। লাভ এবং স্টপ লস স্তরগুলি গত 7 মোমবাতি ফিরে তাকিয়ে একাধিক ট্রেডিং পরিসরের উপর ভিত্তি করে।
ঝুঁকি কমানোর পদ্ধতিঃ
উপযুক্ত উদ্বায়ী অন্তর্নিহিত নির্বাচন করুন, নিয়ন্ত্রণ অবস্থান আকার।
অপ্রয়োজনীয় ট্রেড হ্রাস করার জন্য প্যারামিটার অপ্টিমাইজ করুন।
স্টপ লস ব্যবহার করুন এবং মুনাফা নিন, কঠোর অর্থ ব্যবস্থাপনা।
এক্সিকিউশন দক্ষতা উপর ফোকাস, তরল underlyings চয়ন.
বিভিন্ন অন্তর্নিহিত বৈশিষ্ট্য অনুসারে পরামিতিগুলি সামঞ্জস্য করুন।
কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
বিভিন্ন অন্তর্নিহিত সম্পদের অস্থিরতা আরও ভালভাবে ট্র্যাক করার জন্য চলমান গড় সময়ের অনুকূলিতকরণ।
ভোল্টেবিলিটি ব্যান্ড প্যারামিটারগুলিকে নির্দিষ্ট অন্তর্নিহিত ভোল্টেবিলিটি ব্যাপ্তির সাথে আরও ভালভাবে খাপ খাইয়ে নেওয়ার জন্য সামঞ্জস্য করুন।
সিগন্যালগুলোকে আরো ভালভাবে প্রমাণ করার জন্য ভলিউম স্পাইক এর মত অন্যান্য ফিল্টার যোগ করুন।
অভিযোজনযোগ্যতার জন্য প্যারামিটারগুলিকে গতিশীলভাবে অনুকূল করতে মেশিন লার্নিং কৌশল ব্যবহার করুন।
আরো বেশি ট্রেডিং সুযোগ ক্যাপচার করার জন্য উচ্চতর ফ্রিকোয়েন্সি সময়সীমার উপর পরীক্ষা।
মুনাফা আরও লক করার জন্য স্টপ লস/টেক লাভ ট্র্যাকিং যুক্ত করুন।
পরিমাণগত পোর্টফোলিও কৌশল তৈরি করতে অন্যান্য সূচক বা মডেলের সাথে একত্রিত করুন।
কৌশলটি সামগ্রিকভাবে মোটামুটি সহজ এবং স্বজ্ঞাত, বাজারের পালা পয়েন্টগুলি ক্যাপচার করার জন্য অস্থিরতা সূচকের মাধ্যমে বিপরীতমুখী চিহ্নিত করে। স্থিতিশীলতা এবং লাভজনকতা আরও বাড়ানোর জন্য পরামিতিগুলি সামঞ্জস্য করে এবং অন্যান্য প্রযুক্তিগত সূচকগুলি অন্তর্ভুক্ত করে অপ্টিমাইজেশনের জন্য একটি বড় জায়গা রয়েছে। তবে ব্যবসায়ীদের ওভারফিট এবং বক্ররেখা ফিটিংয়ের সমস্যা সম্পর্কে সচেতন হওয়া দরকার। এই কৌশলটি স্বল্পমেয়াদী ব্যবসায়ের জন্য আরও উপযুক্ত, ঝুঁকি নিয়ন্ত্রণের জন্য কঠোর অর্থ পরিচালনার প্রয়োজন। যদি সঠিকভাবে আয়ত্ত করা হয় তবে এটি উচ্চ অস্থিরতা ক্রিপ্টোকারেন্সির ব্যবসায়ের জন্য একটি শক্তিশালী সরঞ্জাম হয়ে উঠতে পারে।
/*backtest start: 2023-09-11 00:00:00 end: 2023-10-11 00:00:00 period: 4h basePeriod: 15m 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/ // © gary_trades //This script is designed to be used on volatile securities/tickers so is best suited for day charts on Crypto (particularly good for BTC). //It takes both long and short trades and the main indicator settings can be changed by the use so they can test for ideal settings for ticker of interest. //@version=4 strategy("BTC Volatility Band Strategy", shorttitle="Vol Band Strategy", overlay=false, margin_long=100, margin_short=100) //VOLATILTY CandleChange = ((close - close[1])/close)*100 //OR CandleChange = ((close[2] - close[1])/close)*100 plot(CandleChange, color=color.red, linewidth = 1) //VOLATILITY BANDS MAlen = input(7, minval=3, maxval=30, title=" MA Length") MAout = sma(CandleChange, MAlen) plot(MAout, color=color.black, display=display.none) InnerBand = input(1.0, minval=0.5, maxval=5, title="Inner Band") OuterBand = input(2.00, minval=0.5, maxval=10, title="Outer Band") devInner = InnerBand * stdev(CandleChange, MAlen) devOuter = OuterBand * stdev(CandleChange, MAlen) upper1 = MAout + devInner lower1 = MAout - devInner b1 = plot(upper1, "Upper Inner", color=color.gray) b2 = plot(lower1, "Lower Inner", color=color.gray) upper2 = MAout + devOuter lower2 = MAout - devOuter b3 = plot(upper2, "Upper Outer", color=color.gray) b4 = plot(lower2, "Lower Outer", color=color.gray) fill(b1, b3, color.rgb(250,145,175,70), title="Background") fill(b2, b4, color.rgb(250,145,175,70), title="Background") band1 = hline(25, "Upper Band", color=color.gray, linestyle=hline.style_dotted, linewidth=2) band0 = hline(-25, "Lower Band", color=color.gray, linestyle=hline.style_dotted, linewidth=2) //LONG FILTER VolFilterL = CandleChange <= lower1 and CandleChange > lower2 SMAFilterL = close[1] > sma(close[1], 50) PriceFilterL = close > lowest(close,7) LongFilter = VolFilterL and SMAFilterL and PriceFilterL bgcolor(LongFilter ? color.new(color.green, 80) : na) //SHORT FILTER VolFilterS = CandleChange >= upper1 and CandleChange < upper2 SMAFilterS = close[1] < sma(close[1], 50) PriceFilterS = close < highest(close,7) ShortFilter = VolFilterS and SMAFilterS and PriceFilterS bgcolor(ShortFilter ? color.new(color.red, 80) : na) //SETTING BACK TEST INPUTS fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) fromYear = input(defval = 2000, title = "From Year", minval = 1970) toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) toYear = input(defval = 2100, title = "To Year", minval = 1970) startDate = timestamp("America/New_York", fromYear, fromMonth, fromDay, 00, 00) finishDate = timestamp("America/New_York", toYear, toMonth, toDay, 00, 00) time_condition = time >= startDate and time <= finishDate //ORDER DETAILS Risk = (high[7] - low[7])/ 7 Profit = Risk*1.15 Loss = Risk*0.65 AlertMSG = "New stategy position" + tostring(strategy.position_size) if (time_condition) strategy.entry("Long", strategy.long, when = LongFilter, alert_message=AlertMSG) if (LongFilter) LongStop = strategy.position_avg_price - Loss LongProfit = strategy.position_avg_price + Profit strategy.exit("TP/SL", "Long", stop=LongStop, limit=LongProfit) if (time_condition) strategy.entry("Short", strategy.short, when = ShortFilter, alert_message=AlertMSG) if (ShortFilter) ShortStop = strategy.position_avg_price + Loss ShortProfit = strategy.position_avg_price - Profit strategy.exit("TP/SL", "Short", stop=ShortStop, limit=ShortProfit)