ডায়নামিক রি-এন্ট্রি-শুধুমাত্র ক্রয় কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-১২-১৯ 13:56:55
ট্যাগঃ

img

সারসংক্ষেপ

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

কৌশলটি গতিশীল পুনরায় প্রবেশের অনুমতি দেয়, যার অর্থ এটি নতুন লং পজিশন খুলতে পারে যদি দামটি প্রস্থান করার পরে তিনটি চলমান গড়ের উপরে যায়। তবে, কৌশলটি দীর্ঘ অবস্থান থেকে বেরিয়ে আসবে যদি দামটি তৃতীয় চলমান গড়ের নীচে বন্ধ হয়।

কৌশল নীতি

স্ক্রিপ্টটি ক্রয় সংকেত তৈরির শর্তাবলী সংজ্ঞায়িত করে। এটি একটি বৈধ ক্রয় সংকেতের জন্য দুটি শর্ত পরীক্ষা করেঃ

  • দ্রুত চলমান গড় ধীর চলমান গড়ের উপরে অতিক্রম করে
  • ব্যবহারকারী সাপ্তাহিক CCI বা সাপ্তাহিক ADX ব্যবহার করে ট্রেড ফিল্টার করতে পারেন

ডায়নামিক পুনরায় প্রবেশঃযদি কোনো সক্রিয় লং পজিশন না থাকে এবং দাম তিনটি চলমান গড়ের উপরে থাকে, তাহলে একটি নতুন লং পজিশন খোলা হয়।

প্রস্থান শর্তঃযদি বন্ধের মূল্য তৃতীয় চলমান গড়ের নিচে পড়ে, স্ক্রিপ্টটি লং পজিশনটি বন্ধ করে দেয়।

সুবিধা বিশ্লেষণ

এই কৌশলটির সুবিধাগুলির মধ্যে রয়েছেঃ

  1. সিগন্যাল ফিল্টার করার জন্য একাধিক প্রযুক্তিগত সূচক ব্যবহার করা মিথ্যা সংকেত হ্রাস করে
  2. ডায়নামিক রি-এন্ট্রি প্রক্রিয়া প্রবণতা ক্যাপচার সর্বাধিক করে তোলে
  3. শুধুমাত্র লং-ইন-লিংক হওয়ায় শর্ট-রাইজিংয়ের ঝুঁকি এড়ানো যায়

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

এই কৌশলের ঝুঁকিগুলির মধ্যে রয়েছেঃ

  1. কিছু ঝুঁকি আছে
  2. দীর্ঘ সময় ধরে রাখা খুব দীর্ঘ হতে পারে, যা স্টপ প্রয়োজন
  3. খারাপ প্যারামিটার সেটিং খুব ঘন ঘন ট্রেডিং হতে পারে

সমাধান:

  1. ফিল্টার করার জন্য আরও ভাল প্যারামিটার সমন্বয় এবং সূচক সমন্বয় ব্যবহার করুন
  2. যুক্তিসঙ্গত স্টপ লস সেট করুন
  3. স্থিতিশীলতা নিশ্চিত করার জন্য পরামিতিগুলি সামঞ্জস্য করুন

অপ্টিমাইজেশান নির্দেশাবলী

এই কৌশলটি নিম্নলিখিতগুলির মাধ্যমে অপ্টিমাইজ করা যেতে পারেঃ

  1. আরও ভাল প্রবেশের সময় নির্ধারণের জন্য আরও প্রযুক্তিগত সূচক সংমিশ্রণ পরীক্ষা করা
  2. সেরা প্যারামিটার সমন্বয় খুঁজে প্যারামিটার অপ্টিমাইজ করা
  3. একক ক্ষতি নিয়ন্ত্রণে স্টপ লস মেকানিজম যোগ করা
  4. বাজারের অবস্থার উপর ভিত্তি করে পজিশন বৃদ্ধি/হ্রাসের জন্য পজিশন সাইজিং যোগ করা

সংক্ষিপ্তসার

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


/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy Only Strategy with Dynamic Re-Entry and Exit", overlay=true)

// Input Parameters
fast_length = input(20, title="Fast Moving Average Length")
slow_length = input(30, title="Slow Moving Average Length")
third_ma_length = input(100, title="Third Moving Average Length")
cci_period = input(14, title="CCI Period for Weekly CCI")
use_cci = input(true, title="Use CCI for Entry")
use_adx = input(true, title="Use ADX for Entry")
adx_length = input(14, title="ADX Length")
adx_threshold = input(25, title="ADX Threshold")

// Calculate Moving Averages
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)
third_ma = ta.sma(close, third_ma_length)

// Weekly Commodity Channel Index (CCI) with user-defined period
weekly_cci = request.security(syminfo.tickerid, "W", ta.cci(close,  cci_period))

// Weekly Average Directional Index (ADX)
dirmov = hlc3
plus = ta.change(dirmov) > 0 ? ta.change(dirmov) : 0
minus = ta.change(dirmov) < 0 ? -ta.change(dirmov) : 0
trur = ta.rma(ta.tr, adx_length)
plusDI = ta.rma(plus, adx_length) / trur * 100
minusDI = ta.rma(minus, adx_length) / trur * 100
sum = plusDI + minusDI
DX = sum == 0 ? 0 : math.abs(plusDI - minusDI) / sum * 100
ADX = ta.rma(DX, adx_length)

// Entry Conditions (Buy Only and Weekly CCI > 100 and/or Weekly ADX > 25)
cci_condition = use_cci ? (weekly_cci > 100) : false
adx_condition = use_adx ? (ADX > adx_threshold) : false
long_condition = ta.crossover(fast_ma, slow_ma) and (cci_condition or adx_condition)

// Exit Condition and Dynamic Re-Entry
exit_condition = close < third_ma
re_entry_condition = close > fast_ma and close > slow_ma and close > third_ma and weekly_cci > 100

// Entry and Exit Signals
strategy.entry("Long", strategy.long, when=long_condition)
strategy.close("Long", when=exit_condition)

// Dynamic Re-Entry and Exit
if strategy.position_size == 0 and re_entry_condition
    strategy.entry("Long", strategy.long)

if strategy.position_size > 0 and close < third_ma
    strategy.close("Long")

// Plot Weekly CCI and ADX for reference
plot(weekly_cci, title="Weekly CCI", color=color.orange)
plot(ADX, title="Weekly ADX", color=color.blue)


আরো