کریپٹو کرنسی مارکیٹ میں قمری چکر پر مبنی رفتار مقداری تجارتی حکمت عملی

Lunar Calendar Cyclical Trading ETHUSDT Fixed Date Entry/Exit Quantitative Strategy
تخلیق کی تاریخ: 2025-08-11 09:09:22 آخر میں ترمیم کریں: 2025-08-11 09:09:22
کاپی: 0 کلکس کی تعداد: 182
2
پر توجہ دیں
319
پیروکار

کریپٹو کرنسی مارکیٹ میں قمری چکر پر مبنی رفتار مقداری تجارتی حکمت عملی کریپٹو کرنسی مارکیٹ میں قمری چکر پر مبنی رفتار مقداری تجارتی حکمت عملی

جائزہ

یہ حکمت عملی ایک کیلنڈر کی تاریخ پر مبنی کریپٹوکرنسی ٹریڈنگ کا طریقہ ہے جس میں کیلنڈر سائیکل کی مخصوص تاریخوں کا فائدہ اٹھاتے ہوئے خرید و فروخت کے آپریشن کیے جاتے ہیں۔ یہ حکمت عملی کیلنڈر کے نئے سال سے شروع ہوتی ہے اور اس سال کیلنڈر کے دسمبر کے اختتام تک جاری رہتی ہے ، اور اس میں ایک آسان اصول پر عمل کیا جاتا ہے: ہر کیلنڈر مہینے کے 5 ویں دن خریدیں اور ہر کیلنڈر مہینے کے 26 ویں دن فروخت کریں۔ یہ حکمت عملی مارکیٹ کے ممکنہ نمونوں کو پکڑنے کی کوشش کرتی ہے جو کیلنڈر سائیکل سے وابستہ ہوسکتی ہے ، اور تاجروں کو ایک منظم اور پیروی کرنے میں آسان تجارتی فریم ورک فراہم کرتی ہے۔ اس حکمت عملی میں کمیشن اور سلائڈنگ عوامل کو مدنظر رکھا گیا ہے ، اور 100٪ دستیاب فنڈز کی سرمایہ کاری کا استعمال کیا گیا ہے ، جو 2020 سے 2026 تک کی مدت کے لئے موزوں ہے۔

حکمت عملی کا اصول

اس حکمت عملی کا بنیادی اصول کریپٹوکرنسی مارکیٹ پر قمری دورانیے کے ممکنہ اثرات پر مبنی ہے۔ کوڈ اس تصور کو مندرجہ ذیل طریقوں سے پورا کرتا ہے:

  1. 2020 سے 2026 تک کے دورانیے میں ہر سال کے لئے نئے قمری سال کے آغاز کی تاریخ اور مہینے کے دن کی تعداد کی وضاحت کرنا۔
  2. موجودہ کیلنڈر مہینے اور تاریخ کا تعین موجودہ تاریخ اور قمری نئے سال کے درمیان دنوں کی تعداد کا حساب لگاکر کریں۔
  3. خریدنے کا اشارہ اس وقت شروع ہوتا ہے جب چاند کی تاریخ 5 ویں دن ہے اور اس وقت کوئی اسٹاک نہیں ہے۔
  4. جب آپ کی پوزیشن 26 ویں دن کیلنڈر کی تاریخ پر ہے تو ، آپ کو فروخت کا اشارہ ملتا ہے۔
  5. جب آپ کریپٹو کرنسیوں کی خریداری کرتے ہیں تو ، آپ کو سلائڈ پوائنٹس اور فیسوں کے اثرات کو مدنظر رکھتے ہوئے زیادہ سے زیادہ کریپٹو کرنسیوں کی خریداری کرنا چاہئے۔
  6. فروخت کے وقت تمام ہولڈنگز کو صاف کریں ، منافع یا نقصان کو روکیں۔

حکمت عملی کا استعمال کرتے ہوئے ایک درست تاریخ کے حساب کے طریقہ کار کو ذخیرہ کرنے کے لئے کیلنڈر کے ہر مہینے کے دنوں کی تعداد کی ایک صف کے ذریعے اور جمع کیلنڈر نئے سال سے شروع ہونے والے دنوں کی کل تعداد کا حساب لگانے کے لئے، اس طرح کے طور پر درست طریقے سے موجودہ کیلنڈر کی تاریخ کا تعین کرنے کے لئے. اس طریقہ کار کو یقینی بناتا ہے کہ ٹریڈنگ سگنل کی درست triggering.

اسٹریٹجک فوائد

اس حکمت عملی کے کوڈ کا تجزیہ کرتے ہوئے ، مندرجہ ذیل فوائد کا خلاصہ کیا جاسکتا ہے:

  1. سادہ اور واضح قواعد: فکسڈ خرید و فروخت کی تاریخ حکمت عملی کو انتہائی بدیہی ، آسانی سے سمجھنے اور اس پر عمل درآمد کرنے میں مدد دیتی ہے ، جس سے تاجروں کی ذات پات کا فیصلہ کم ہوجاتا ہے۔
  2. مارکیٹ میں کشیدگی کے عوامل پر غور کریںاس حکمت عملی میں 0.1 فیصد فیس اور سلائڈ پوائنٹس شامل ہیں ، جس سے ریٹرننگ کے نتائج کو حقیقی تجارت کے ماحول سے قریب تر بنایا گیا ہے۔
  3. فنڈز کا زیادہ موثر استعمالہر ٹرانزیکشن پر 100٪ دستیاب فنڈز کا استعمال کرتے ہوئے، ممکنہ منافع کو زیادہ سے زیادہ.
  4. قمری سائیکل کے منفرد پہلوؤں پر غوراس حکمت عملی میں ، روایتی تکنیکی تجزیہ کے برعکس ، کیلنڈر کے عوامل کو متعارف کرایا گیا ہے ، جو ایشیائی مارکیٹوں میں سرمایہ کاروں کے طرز عمل سے وابستہ منفرد نمونوں کو پکڑ سکتا ہے۔
  5. طویل مدتی افادیتیہ حکمت عملی 2020 سے 2026 تک کیلنڈر کے اعداد و شمار فراہم کرتی ہے ، جس سے تاجروں کو طویل مدتی کے لئے اس طریقہ کار کو اپنانے کی اجازت ملتی ہے۔
  6. بصری مدد: چارٹ پر کیلنڈر کی تاریخ کے ٹیگ دکھا کر تاجروں کو حکمت عملی پر عملدرآمد کو بصری طور پر ٹریک کرنے میں مدد کریں۔
  7. زیادہ تجارت سے بچیںاس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس طرح کے معاہدوں پر پابندی عائد کی گئی ہے ، لیکن اس کا مطلب یہ نہیں ہے کہ اس طرح کے معاہدوں پر پابندی عائد کی جائے۔

اسٹریٹجک رسک

اس حکمت عملی کے فوائد کے باوجود ، اس میں کچھ ممکنہ خطرات بھی ہیں:

  1. خطرے کے انتظام کا فقداناس حکمت عملی میں اسٹاپ نقصان کی کوئی حد مقرر نہیں کی گئی ہے۔ اگر مارکیٹ میں خریدنے کے بعد شدید کمی واقع ہو تو اس سے نمایاں نقصان ہوسکتا ہے۔
  2. مارکیٹ کے رجحانات اور حالات کو نظر انداز کرناحکمت عملی: مارکیٹ کے مجموعی رجحانات ، اتار چڑھاؤ یا دیگر تکنیکی اشارے کو مدنظر رکھتے ہوئے صرف تاریخوں پر تجارت کی جاتی ہے۔
  3. دورانیہ کا قانون فرضاس حکمت عملی میں یہ فرض کیا گیا ہے کہ قمری دورانیے کا کرپٹو کرنسی کی قیمتوں کے ساتھ کوئی تعلق ہے ، لیکن یہ تعلق غیر مستحکم یا غیر موجود ہوسکتا ہے۔
  4. مخصوص وقت کی حداگرچہ 2020-2026 کے اعداد و شمار فراہم کیے گئے ہیں ، لیکن آنے والے سالوں کے لئے کیلنڈر کے اعداد و شمار کو اپ ڈیٹ کرنے کی ضرورت ہے ، اور اس حکمت عملی کو اس سے باہر کام نہیں کرنا چاہئے۔
  5. لیکویڈیٹی کا خطرہ: مخصوص کیلنڈر کی تاریخوں میں مارکیٹ میں لیکویڈیٹی کے مسائل کا سامنا کرنا پڑ سکتا ہے ، خاص طور پر جب بڑے پیمانے پر فنڈز استعمال کیے جاتے ہیں۔
  6. تاریخ کے حساب میں غلطی کا امکان: قمری تاریخوں کے حساب میں کوئی بھی غلطی غلط ٹریڈنگ سگنل کا سبب بن سکتی ہے۔
  7. موافقت کا فقدان: مقررہ تجارت کی تاریخ مارکیٹ کے حالات میں تبدیلیوں کے مطابق نہیں رہ سکتی ہے اور خریدنے یا بیچنے کے بہتر مواقع سے محروم رہ سکتی ہے۔

ان خطرات کو کم کرنے کے لئے ، تاجر دوسرے تکنیکی اشارے کے ساتھ مل کر تجارت کی تصدیق کرنے پر غور کرسکتے ہیں ، یا ایک ہی تجارت میں ہونے والے نقصان کو محدود کرنے کے لئے ایک مقررہ اسٹاپ نقصان کی حد طے کرسکتے ہیں۔

حکمت عملی کی اصلاح کی سمت

کوڈ کا گہرائی سے تجزیہ کرنے کے بعد ، مندرجہ ذیل اصلاحات کی تجاویز پیش کی جاسکتی ہیں۔

  1. سٹاپ نقصان کا طریقہ کار متعارف کرایا جا رہا ہے۔: فیصد یا مطلق رقم کی روک تھام کی شرائط شامل کریں ، جب نقصانات کسی خاص حد تک پہنچ جائیں تو خود بخود صفائی کریں ، تاکہ بڑے پیمانے پر نقصان سے بچ سکیں۔ اصلاحی کوڈ میں اسی طرح کا اضافہ کیا جاسکتا ہےif strategy.position_size > 0 and close < entry_price * (1 - stop_loss_percent)شرائط و ضوابط

  2. انضمام تکنیکی اشارے کی تصدیق: رجحان کے اشارے ((جیسے کہ ایک چلتی اوسط) یا ایک متحرک اشارے ((جیسے کہ ایک نسبتاً کمزور اشارے RSI) کے ساتھ مل کر ایک معاون شرط کے طور پر ، صرف اس وقت کیلنڈر کی تاریخ کی تجارت پر عمل کریں جب تکنیکی اشارے ایک سازگار سگنل فراہم کریں۔ اس سے سگنل کی معیار کو بہتر بنایا جاسکتا ہے۔

  3. خرید و فروخت کی تاریخوں کو بہتر بنائیں: تاریخی اعداد و شمار کی بازیافت کے ذریعہ ، تجزیہ کریں کہ کون سے کیلنڈر کی تاریخوں میں جوڑے کو اصل میں خریدنے اور بیچنے کا بہترین وقت فراہم کیا گیا ہے ، اس کے بجائے کہ 5th اور 26th دن کا مستقل استعمال ہو۔ کچھ خاص تاریخوں کے جوڑے بہتر کارکردگی کا مظاہرہ کرسکتے ہیں۔

  4. کچھ پوزیشن مینجمنٹ: حکمت عملی میں ترمیم کریں تاکہ 100٪ فنڈز کے بجائے کچھ فنڈز کا استعمال کیا جاسکے ، یا مارکیٹ میں اتار چڑھاؤ کی نقل و حرکت کے مطابق پوزیشن کے سائز کو ایڈجسٹ کریں تاکہ خطرہ پھیلائے۔

  5. مارکیٹ کی حیثیت کا فلٹر شامل کریں: انتہائی مارکیٹ کے حالات میں حکمت عملی پر عملدرآمد کو روکیں (جیسے اعلی اتار چڑھاؤ یا ایک واضح ریچھ کا رجحان) ، غیر منفعتی ماحول میں تجارت سے گریز کریں۔

  6. وقت کی حد میں توسیع: مزید سالوں کے لئے کیلنڈر کے اعداد و شمار کو شامل کریں، یا کیلنڈر کی تاریخوں کو خود کار طریقے سے حساب کرنے کے لئے ایک فنکشن تیار کریں، تاکہ حکمت عملی کو لامحدود مدت تک چلایا جا سکے.

  7. کثیر اقسام کی تجارت میں اضافہ: حکمت عملی کو متعدد کریپٹو کرنسیوں یا دیگر اثاثوں کی کلاسوں تک بڑھانا ، اور مختلف بازاروں میں قمری دورانیے کی کارکردگی میں فرق دیکھنا۔

ان اصلاحات کے نفاذ سے حکمت عملی کی لچک اور موافقت میں نمایاں اضافہ ہوسکتا ہے ، جبکہ اس کی بنیادی سوچ کو سادہ اور بدیہی رکھا جاسکتا ہے۔

خلاصہ کریں۔

کیلنڈر سائیکل پر مبنی کریپٹوکرنسی ٹریڈنگ حکمت عملی ایک منفرد تجارتی نقطہ نظر پیش کرتی ہے ، جس میں مخصوص کیلنڈر کی تاریخوں پر خرید و فروخت کی کارروائی کا استعمال کیا جاتا ہے۔ اس حکمت عملی کی سب سے بڑی خوبی اس کے سادہ واضح قواعد اور آسانی سے لاگو ہونے کی خصوصیات میں ہے ، جو کیلنڈر سائیکل کے اس منفرد عنصر کے ساتھ مل کر مارکیٹ کے ایسے نمونوں کو پکڑ سکتی ہے جو روایتی تکنیکی تجزیہ میں نظر انداز ہوجاتے ہیں۔

تاہم ، اس حکمت عملی کو خطرے کے انتظام اور مارکیٹ میں موافقت کی کمی کے چیلنج کا بھی سامنا کرنا پڑتا ہے۔ حکمت عملی کی تاثیر کو بڑھانے کے ل improvements ، بہتر اقدامات جیسے نقصانات کو روکنے کے طریقہ کار ، تکنیکی اشارے کی تصدیق اور خرید و فروخت کی تاریخوں کو بہتر بنانا تجویز کیا گیا ہے۔ یہ اصلاحات نہ صرف ممکنہ خطرات کو کم کرسکتی ہیں بلکہ مختلف مارکیٹ کے حالات میں حکمت عملی کی موافقت کو بھی بڑھا سکتی ہیں۔

یہ بات قابل ذکر ہے کہ کسی بھی تجارتی حکمت عملی کو حقیقی مارکیٹ کے حالات میں اس کی کارکردگی کی توثیق کرنے کے لئے کافی حد تک پیچھے کی جانچ اور آگے کی جانچ کی ضرورت ہوتی ہے۔ اس حکمت عملی کو اپنانے میں ، تاجر کو اپنی خطرے کی برداشت اور سرمایہ کاری کے اہداف کے مطابق مناسب ایڈجسٹمنٹ کرنا چاہئے ، اور دیگر تجزیاتی طریقوں کے ساتھ مل کر زیادہ جامع تجارتی فیصلے کرنا چاہئے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-08-11 00:00:00
end: 2025-08-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Lunar ETHUSDT Trading 100% Invest with Fee & Slippage (2020~2026)", overlay=true, commission_type=strategy.commission.percent, commission_value=0.1)

// Fee and slippage settings
feePercent = 0.1    // 0.1%
slippageTicks = 3
tickSize = syminfo.mintick
slippage = slippageTicks * tickSize

// Function for lunar new year start date and monthly lengths by year
f_get_lunar_data() =>
    y = year(time)
    if y == 2020
        [timestamp("Asia/Seoul", 2020, 1, 25, 0, 0), array.from(29,30,29,30,29,30,29,30,29,30,30,29)]
    else if y == 2021
        [timestamp("Asia/Seoul", 2021, 2, 12, 0, 0), array.from(30,29,30,29,30,29,30,29,30,29,30,30)]
    else if y == 2022
        [timestamp("Asia/Seoul", 2022, 2, 1, 0, 0), array.from(29,30,29,30,29,30,29,30,30,29,30,29)]
    else if y == 2023
        [timestamp("Asia/Seoul", 2023, 1, 22, 0, 0), array.from(30,29,30,29,30,29,30,30,29,30,29,30)]
    else if y == 2024
        [timestamp("Asia/Seoul", 2024, 2, 10, 0, 0), array.from(30,29,30,29,30,29,30,29,30,29,30,30,29)]
    else if y == 2025
        [timestamp("Asia/Seoul", 2025, 1, 29, 0, 0), array.from(29,30,29,30,29,30,29,30,30,29,30,29)]
    else if y == 2026
        [timestamp("Asia/Seoul", 2026, 2, 17, 0, 0), array.from(30,29,30,29,30,29,30,30,29,30,29,30)]
    else
        [na, array.new_int()]

// Function to create cumulative monthly days array
f_get_lunar_md(days_arr) =>
    arr = array.new_int()
    sum = 0
    for i = 0 to array.size(days_arr) - 1
        sum += array.get(days_arr, i)
        array.push(arr, sum)
    arr

// Get lunar start date and monthly lengths
[ts_start, lunar_lengths] = f_get_lunar_data()
valid = not na(ts_start)
days_since = valid ? math.floor((time - ts_start) / 86400000) : na
cumulative = valid ? f_get_lunar_md(lunar_lengths) : na

// Declare lunar month, day, last day variables
var int lunar_month = na
var int lunar_day = na
var int lunar_last_day = na

// Calculate lunar date
if valid and not na(days_since) and days_since >= 0
    lunar_month := na
    lunar_day := na
    lunar_last_day := na
    for i = 0 to array.size(cumulative) - 1
        cum = array.get(cumulative, i)
        prev = i == 0 ? 0 : array.get(cumulative, i - 1)
        if days_since < cum
            lunar_month := i + 1
            lunar_day := days_since - prev + 1
            lunar_last_day := array.get(lunar_lengths, i)
            break
else
    lunar_month := na
    lunar_day := na
    lunar_last_day := na

// Buy condition: Lunar day 5 and no current position
buy_condition = not na(lunar_day) and lunar_day == 5 and strategy.position_size == 0

// Sell condition: Lunar day 26 and holding position
sell_condition = not na(lunar_day) and lunar_day == 26 and strategy.position_size > 0

// Buy/sell price adjusted for slippage and fee
price_buy = close + slippage
price_buy_with_fee = price_buy * (1 + feePercent * 0.01)

price_sell = close - slippage
price_sell_with_fee = price_sell * (1 - feePercent * 0.01)

// Calculate buy quantity using 100% of equity
qty = math.floor(strategy.equity / price_buy_with_fee)

// Buy order (limit)
if buy_condition and qty > 0
    strategy.entry("Lunar Buy", strategy.long, qty, limit=price_buy)

// Sell order (close all)
if sell_condition and strategy.position_size > 0
    strategy.close("Lunar Buy")

// True range variable (for label position adjustment)
tr = ta.tr(true)

// Date format creation
yr = year(time)
mo = month(time)
dy = dayofmonth(time)
mo_str = mo < 10 ? "0" + str.tostring(mo) : str.tostring(mo)
dy_str = dy < 10 ? "0" + str.tostring(dy) : str.tostring(dy)
solar_str = str.tostring(yr) + "-" + mo_str + "-" + dy_str

// Display solar and lunar date and position label (on bar close)
if barstate.islastconfirmedhistory and not na(lunar_day)
    label.new(bar_index, high - tr * 6,  "Solar: " + solar_str + "\nLunar: " + str.tostring(lunar_month) + "-" + str.tostring(lunar_day) ,
      style=label.style_label_up, size=size.normal, color=color.new(color.teal, 50), textcolor=color.white)

// Display "15" label at bottom on lunar day 15 (lowest of last 50 bars - 1 true range)
if not na(lunar_day) and lunar_day == 15
    low_offset = ta.lowest(low, 50) - tr
    label.new(bar_index, low_offset, "15", style=label.style_label_down, color=color.orange, textcolor=color.white, size=size.normal)