এই কৌশলটি একটি সম্পূর্ণ ট্রেডিং সিস্টেম গঠনের জন্য চ্যান্ডেলিয়ার প্রস্থান নিয়ম, জিরো-ল্যাগ স্মুথড মুভিং এভারেজ (জেডএলএসএমএ) এবং আপেক্ষিক ভলিউম (আরভিওএল) স্পাইক সনাক্তকরণকে একত্রিত করে। চ্যান্ডেলিয়ার প্রস্থান নিয়ম গতিশীলভাবে গড় সত্য পরিসীমা (এটিআর) এর উপর ভিত্তি করে স্টপ-লস অবস্থান সামঞ্জস্য করে, এটিকে বাজারের পরিবর্তনের সাথে আরও ভালভাবে মানিয়ে নিতে দেয়। জেডএলএসএমএ সঠিকভাবে মূল্যের প্রবণতা ক্যাপচার করে, ট্রেডিংয়ের জন্য দিকনির্দেশনা সরবরাহ করে। আরভিওএল স্পাইক সনাক্তকরণ কৌশলটিকে কম অস্থিরতার একীকরণ বাজার এড়াতে সহায়তা করে, ট্রেডিংয়ের গুণমান উন্নত করে।
ভলিউম স্পাইক ডিটেকশন সহ জেডএলএসএমএ-উন্নত চ্যান্ডেলিয়ার প্রস্থান কৌশল একটি প্রবণতা অনুসরণকারী কৌশল যা গতিশীল স্টপ-লস, প্রবণতা রায় এবং ভলিউম স্পাইক সনাক্তকরণের মাধ্যমে প্রবণতার সুযোগগুলি ক্যাপচার করার সময় ট্রেডিং ঝুঁকি নিয়ন্ত্রণ করে। কৌশল যুক্তিটি পরিষ্কার এবং বোঝা এবং বাস্তবায়ন করা সহজ, তবে এটি এখনও বাস্তবে প্রয়োগের সময় নির্দিষ্ট বাজারের বৈশিষ্ট্য এবং ট্রেডিং সরঞ্জামগুলির উপর ভিত্তি করে অনুকূলিতকরণ এবং উন্নতি করতে হবে। আরও সংকেত নিশ্চিতকরণ সূচক প্রবর্তন করে, প্রস্থান শর্তগুলি অনুকূলিতকরণ করে, যুক্তিসঙ্গতভাবে পরামিতি সেট করে এবং কঠোর অবস্থান পরিচালনা এবং ঝুঁকি নিয়ন্ত্রণ বাস্তবায়ন করে, এই কৌশলটির একটি শক্তিশালী এবং দক্ষ ট্রেডিং সরঞ্জাম হওয়ার সম্ভাবনা রয়েছে।
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Chandelier Exit Strategy with ZLSMA and Volume Spike Detection", shorttitle="CES with ZLSMA and Volume", overlay=true, process_orders_on_close=true, calc_on_every_tick=false) // Chandelier Exit Inputs lengthAtr = input.int(title='ATR Period', defval=1) mult = input.float(title='ATR Multiplier', step=0.1, defval=2.0) useClose = input.bool(title='Use Close Price for Extremums', defval=true) // Calculate ATR atr = mult * ta.atr(lengthAtr) // Calculate Long and Short Stops longStop = (useClose ? ta.highest(close, lengthAtr) : ta.highest(high, lengthAtr)) - atr shortStop = (useClose ? ta.lowest(close, lengthAtr) : ta.lowest(low, lengthAtr)) + atr // Update stops based on previous values longStop := na(longStop[1]) ? longStop : close[1] > longStop[1] ? math.max(longStop, longStop[1]) : longStop shortStop := na(shortStop[1]) ? shortStop : close[1] < shortStop[1] ? math.min(shortStop, shortStop[1]) : shortStop // Determine Direction var int dir = na dir := na(dir[1]) ? (close > shortStop ? 1 : close < longStop ? -1 : na) : close > shortStop[1] ? 1 : close < longStop[1] ? -1 : dir[1] // ZLSMA Inputs lengthZLSMA = input.int(title="ZLSMA Length", defval=50) offsetZLSMA = input.int(title="ZLSMA Offset", defval=0) srcZLSMA = input.source(close, title="ZLSMA Source") // ZLSMA Calculation lsma = ta.linreg(srcZLSMA, lengthZLSMA, offsetZLSMA) lsma2 = ta.linreg(lsma, lengthZLSMA, offsetZLSMA) eq = lsma - lsma2 zlsma = lsma + eq // Plot ZLSMA plot(zlsma, title="ZLSMA", color=color.purple, linewidth=3) // Swing High/Low Calculation swingHigh = ta.highest(high, 5) swingLow = ta.lowest(low, 5) // Relative Volume (RVOL) Calculation rvolLength = input.int(20, title="RVOL Length") rvolThreshold = input.float(1.5, title="RVOL Threshold") avgVolume = ta.sma(volume, rvolLength) rvol = volume / avgVolume // Define buy and sell signals based on ZLSMA and Volume Spike buySignal = (dir == 1 and dir[1] == -1 and close > zlsma and rvol > rvolThreshold) sellSignal = (dir == -1 and dir[1] == 1 and close < zlsma and rvol > rvolThreshold) // Define exit conditions based on ZLSMA exitLongSignal = (close < zlsma) exitShortSignal = (close > zlsma) // Strategy Entries and Exits if (buySignal) strategy.entry("Long", strategy.long, stop=swingLow) if (sellSignal) strategy.entry("Short", strategy.short, stop=swingHigh) if (exitLongSignal) strategy.close("Long") if (exitShortSignal) strategy.close("Short") // Alerts alertcondition(buySignal, title='Alert: CE Buy', message='Chandelier Exit Buy!') alertcondition(sellSignal, title='Alert: CE Sell', message='Chandelier Exit Sell!')