এই কৌশলটি LazyBear
এই কৌশলটি মূল্য চ্যানেলগুলি গণনা করতে বলিংজার ব্যান্ড এবং কেল্টনার চ্যানেল ব্যবহার করে। ব্রেকআউটগুলি উদ্বায়ীতা বাড়ানোর সংকেত দেয়। এটি লেজিবিয়ারের সংকোচন গতির সূচককে অন্তর্ভুক্ত করে যা মূল্য গতির দিক নির্ধারণের জন্য রৈখিক রিগ্রেশন ব্যবহার করে।
কৌশলটি গতি ফিল্টার যুক্ত করে, যখন নিখুঁত গতি একটি সীমা অতিক্রম করে তখনই ট্রেড করে। গতি ফিল্টারটি পাস হওয়ার সাথে সাথে অস্থিরতা সংকোচন (চ্যানেল টান) এ, এটি দীর্ঘ / সংক্ষিপ্ত ট্রেন্ডের দিক নির্ধারণ করে। এটি ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস, লাভ গ্রহণ এবং ট্রেলিং স্টপ সেট করে।
কৌশলটি বিস্তৃত বিচারের জন্য একাধিক সূচককে একীভূত করে। এটি ঝুঁকি পরিচালনার প্রক্রিয়াগুলির সাথে প্রতি বাণিজ্য ক্ষতির সীমা নির্ধারণ করে। এটি সময়মতো সংকোচনের পরে দামের প্রবণতা বিচার করতে পারে। কাস্টমাইজযোগ্য পরামিতিগুলি এটিকে অভিযোজিত করে তোলে।
প্রধান ঝুঁকিগুলির মধ্যে রয়েছেঃ ভুল বিচারের কারণে মিথ্যা ব্রেকআউট; অনুপযুক্ত প্যারামিটার সেটিংসের সাথে সময়মতো বিপরীত করার ব্যর্থতা; স্টপ লস লঙ্ঘন হ্রাস বাড়িয়ে তোলে। প্যারামিটারগুলি অনুকূলিতকরণ, ঝুঁকি পরিচালনার সেটিংস সামঞ্জস্য করা, উপযুক্ত পণ্য নির্বাচন এবং ট্রেডিং সেশনগুলি দ্বারা এগুলি হ্রাস করা যেতে পারে।
ভলিউমের মতো অন্যান্য সূচক ফিল্টারগুলি একত্রিত করার বিষয়টি বিবেচনা করুন; উচ্চতর নির্ভুলতার জন্য গতির থ্রেশহোল্ডটি সূক্ষ্ম-ট্যুন করুন; আরও কঠোর ঝুঁকি নিয়ন্ত্রণের জন্য ড্রাউডাউন স্টপ লস যুক্ত করুন; আরও পণ্য জুড়ে পরীক্ষার কার্যকারিতা। এই অপ্টিমাইজেশনগুলি কৌশলটিকে আরও শক্তিশালী এবং সাধারণীকরণ করতে পারে।
এই কৌশলটি মূল্যের প্রবণতা এবং অস্থিরতাকে তুলনামূলকভাবে ব্যাপকভাবে মূল্যায়ন করে, উচ্চতর একীকরণের ডিগ্রি এবং ঝুঁকি নিয়ন্ত্রণের ব্যবস্থা উন্নত করে। এটি সংকোচনের পরে দামের প্রাদুর্ভাব ধরার ক্ষেত্রে শক্তিশালী অভিযোজনযোগ্যতার জন্য অপ্টিমাইজেশান দিকগুলির মাধ্যমে আরও উন্নত করা যেতে পারে।
/*backtest start: 2024-01-05 00:00:00 end: 2024-02-04 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // @version=4 // Strategy based on LazyBear Squeeze Momentum Indicator // © Bitduke // All scripts: https://www.tradingview.com/u/Bitduke/#published-scripts strategy(shorttitle="SMS", title="Squeeze Momentum Strategy", overlay=false ) length = input(12, title="BB Length") mult = input(2.0, title="BB MultFactor") lengthKC = input(16, title="KC Length") mult_kc = input(1.5, title="KC MultFactor") //FILTERS useMomAverage = input(false, title="Filter for Momenutum value", type=input.bool) MomentumMin = input(20, title="Min for momentum") // Calculate BB src = ohlc4 ma_1 = sma(src, length) ma_2 = sma(src, lengthKC) range_ma = sma(high - low, lengthKC) dev = mult * stdev(src, length) upper_bb = ma_1 + dev lower_bb = ma_1 - dev upper_kc = ma_2 + range_ma * mult_kc lower_kc = ma_2 - range_ma * mult_kc sqz_on = lower_bb > lower_kc and upper_bb < upper_kc sqz_off = lower_bb < lower_kc and upper_bb > upper_kc no_sqz = sqz_on == false and sqz_off == false val = linreg(src - avg(avg(highest(hl2, lengthKC), lowest(low, lengthKC)), sma(hl2, lengthKC)), lengthKC, 0) bcolor = iff(val > 0, iff(val > nz(val[1]), color.lime, color.green), iff(val < nz(val[1]), color.red, color.maroon)) scolor = no_sqz ? color.blue : sqz_on ? color.black : color.aqua plot(val, color=bcolor, style=plot.style_histogram, linewidth=4) plot(0, color=scolor, style=plot.style_cross, linewidth=2) //LOGIC //momentum filter filterMom = useMomAverage ? abs(val) > MomentumMin / 100000 ? true : false : true //standard condition longCondition = scolor[1] != color.aqua and scolor == color.aqua and bcolor == color.lime and filterMom exitLongCondition = bcolor == color.green shortCondition = scolor[1] != color.aqua and scolor == color.aqua and bcolor == color.red and filterMom exitShortCondition = bcolor == color.maroon // Risk Management Sysyem stop_loss = input(defval = 600, title="Stop Loss", minval = 0) take_profit = input(defval = 1000, title="Take Profit", minval = 0) trailing_stop = input(defval = 20, title="Trailing Stop", minval = 0) // If the zero value is set for stop loss, take profit or trailing stop, then the function is disabled s_loss = stop_loss >= 1 ? stop_loss : na tk_profit = take_profit >= 1 ? take_profit : na tr_stop = trailing_stop >= 1 ? trailing_stop : na //STRATEGY strategy.entry("SQ_Long", strategy.long, when=longCondition) strategy.exit("Exit Long", from_entry = "SQ_Long", profit = take_profit, trail_points = trailing_stop, loss = s_loss) strategy.close("SQ_Long", exitLongCondition) strategy.entry("SQ_Short", strategy.short, when=shortCondition) strategy.exit("Exit Short", from_entry = "SQ_Short", profit = take_profit, trail_points = trailing_stop, loss = s_loss ) strategy.close("SQ_Short", when=exitShortCondition)