LazyBear কম্প্রেশন মোমেন্টাম ইন্ডিকেটরের উপর ভিত্তি করে পরিমাণগত ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2024-02-05 14:48:01 অবশেষে সংশোধন করুন: 2024-02-05 14:48:01
অনুলিপি: 0 ক্লিকের সংখ্যা: 1698
1
ফোকাস
1617
অনুসারী

LazyBear কম্প্রেশন মোমেন্টাম ইন্ডিকেটরের উপর ভিত্তি করে পরিমাণগত ট্রেডিং কৌশল

ওভারভিউ

এই কৌশলটি LazyBear এর কম্প্রেশন গতিশীলতার উপর ভিত্তি করে তৈরি করা হয়েছে, এতে একটি গতিশীলতা ফিল্টার যুক্ত করা হয়েছে, ডেটা উত্স পরিবর্তন করা হয়েছে, এবং একটি ঝুঁকি ব্যবস্থাপনা সিস্টেম যুক্ত করা হয়েছে, একটি কাস্টমাইজযোগ্য ব্যাকআপ সময়কাল, যা উদ্বায়ী কম্প্রেশনের পরে মূল্য বিস্ফোরণকে ধরার জন্য ডিজাইন করা হয়েছে।

কৌশল নীতি

এই কৌশলটি বুলিন-ব্যান্ড সূচক এবং কেল্টনার চ্যানেল সূচক ব্যবহার করে মূল্য চ্যানেল গণনা করে, যখন মূল্য চ্যানেলটি ভেঙে যায় তখন এটি একটি অস্থিরতা বৃদ্ধির সংকেত হিসাবে গণনা করা হয়। এটি ল্যাজি বিয়ারের কম্প্রেশনাল অ্যানিমেশন সূচককে সংযুক্ত করে, যা লাইনারি রিগ্রেশন পদ্ধতি ব্যবহার করে মূল্য অ্যানিমেশন দিক নির্ধারণ করে।

কৌশলটি একটি গতিশীল ফিল্টার যুক্ত করে, কেবলমাত্র গতিশীলতার পরম মানটি থ্রেশহোল্ডের চেয়ে বেশি হলেই ট্রেডিং সংকেত দেওয়া হয়। যখন ওলট-পালট সংকোচন ((চ্যানেলের অভ্যন্তরীণ কঠোরতা) এবং গতিশীলতা ফিল্টারটি পাস হয়, কৌশলটি ট্রেন্ডের দিকনির্দেশনা, অতিরিক্ত বা খালি করার সিদ্ধান্ত নেয়। একই সাথে স্টপ লস, স্টপ বক্স এবং ট্র্যাকিং স্টপস ঝুঁকি নিয়ন্ত্রণের জন্য।

সামর্থ্য বিশ্লেষণ

এই কৌশলটি একাধিক সূচক বিচারকে একীভূত করে, যা তুলনামূলকভাবে বিস্তৃত; ঝুঁকি ব্যবস্থাপনার ব্যবস্থা যোগ করে, যা একক ক্ষতি সীমাবদ্ধ করতে পারে; অস্থিরতা সংকোচনের পরে মূল্যের প্রবণতার দিকনির্দেশকে সময়মতো বিচার করতে পারে; প্যারামিটারগুলি কাস্টমাইজযোগ্য, দৃ strong়ভাবে অভিযোজিত।

ঝুঁকি বিশ্লেষণ

ঝুঁকি প্রধানত বিদ্যমানঃ মিথ্যা ব্রেকআউটের ফলে ভুল বিচার হয়; প্যারামিটারটি ভুলভাবে সেট করা হয়েছে, সময়মতো বিপরীতকরণ ব্যর্থ হয়েছে; স্টপ লসটি ব্রেকআউটের ফলে ক্ষতিতে প্রসারিত হয়েছে। প্যারামিটারগুলি অপ্টিমাইজ করা, ঝুঁকি ব্যবস্থাপনার প্যারামিটারগুলি সামঞ্জস্য করা, উপযুক্ত জাত এবং লেনদেনের সময় নির্বাচন করা এই ঝুঁকিগুলি হ্রাস করতে পারে।

অপ্টিমাইজেশান দিক

অন্যান্য সূচকগুলির সাথে সংমিশ্রণ বিবেচনা করা যেতে পারে, যেমন ট্রেডিং ভলিউম সূচক; গতিশীলতার থ্রেশহোল্ডকে আরও সুনির্দিষ্টভাবে সামঞ্জস্য করা; ঝুঁকি নিয়ন্ত্রণের জন্য ক্ষতির পুনরুদ্ধার বন্ধ করা; আরও জাতের ডেটা প্রভাব পরীক্ষা করা। এই অপ্টিমাইজেশনগুলি কৌশলকে আরও স্থিতিশীল এবং সাধারণ করতে পারে।

সারসংক্ষেপ

এই কৌশলটি দামের প্রবণতা এবং অস্থিরতার বিষয়ে আরও ব্যাপকভাবে বিচার করে, উচ্চতর সংহতকরণ, ঝুঁকি নিয়ন্ত্রণ ব্যবস্থাগুলি আরও ভাল, অপ্টিমাইজেশনের দিকনির্দেশের ভিত্তিতে আরও উন্নতি করা যেতে পারে এবং অস্থিরতা সংকোচনের পরে দামের বিস্ফোরণে দৃ strong়ভাবে অভিযোজিত হয়।

কৌশল সোর্স কোড
/*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)