وسائل لوڈ ہو رہے ہیں... لوڈنگ...

حکمت عملی کے بعد ملٹی حرکت پذیر اوسط رفتار کا رجحان

مصنف:چاؤ ژانگ، تاریخ: 2024-11-12 15:05:09
ٹیگز:ایس ایم اےآر ایس آئیایم اے

img

جائزہ

یہ حکمت عملی متعدد چلتی اوسط اور رفتار کے اشارے پر مبنی ایک رجحان کی پیروی کرنے والا تجارتی نظام ہے۔ یہ بنیادی طور پر 20 دن ، 50 دن ، 150 دن ، اور 200 دن کے سادہ چلتے ہوئے اوسط (ایس ایم اے) کے مابین متحرک تعلقات کا استعمال کرتا ہے ، جس میں حجم اور آر ایس آئی اشارے کے ساتھ مل کر روزانہ کے ٹائم فریم پر مضبوط اپ ٹرینڈز اور باہر نکلنے کی پوزیشنوں کو پکڑنے کے لئے جب رجحانات کمزور ہوجاتے ہیں۔ یہ حکمت عملی متعدد تکنیکی اشارے کے مربوط استعمال کے ذریعے غلط سگنلز کو مؤثر طریقے سے فلٹر کرتی ہے اور تجارتی درستگی کو بہتر بناتی ہے۔

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

بنیادی منطق میں مندرجہ ذیل اہم اجزاء شامل ہیں:

  1. چلتی اوسط سسٹم: ٹرینڈ فیصلے کا نظام بنانے کے لئے 20/50/150/200 دن کی چلتی اوسط کا استعمال کرتا ہے ، جس میں تیزی سے سیدھ کی ضرورت ہوتی ہے۔
  2. رفتار کی تصدیق: قیمت کی رفتار کا فیصلہ کرنے کے لئے آر ایس آئی اشارے اور اس کے چلتے ہوئے اوسط کا استعمال کرتا ہے ، جس میں آر ایس آئی 55 سے زیادہ یا آر ایس آئی ایس ایم اے 50 سے زیادہ اور بڑھتی ہوئی ضرورت ہوتی ہے۔
  3. حجم کی تصدیق: 20 دن کے حجم اوسط اور حالیہ حجم کا موازنہ کرکے سگنل کی صداقت کی تصدیق کرتا ہے۔
  4. رجحان کی مستقل مزاجی کی توثیق: چیک کرتا ہے کہ آیا 50 دن کی ایم اے 40 تجارتی دنوں میں سے کم از کم 25 دن تک اپ ٹرینڈ برقرار رکھتی ہے۔
  5. پوزیشن کی تصدیق: قیمت کو کم از کم 20 ٹریڈنگ دنوں کے لئے 150 دن کی ایم اے سے اوپر رہنا چاہئے۔

خریداری کے شرائط کا تقاضا ہے:

  • گزشتہ 10 دنوں میں 4 سے زیادہ تیزی کے دن اور کم از کم 1 دن زیادہ حجم
  • RSI اشارے کو رفتار کے حالات کو پورا کرنا
  • بڑھتی ہوئی اوسط نظام جو تیزی سے سیدھ اور مسلسل اضافے کو ظاہر کرتا ہے
  • قیمت 150 دن کے ایم اے سے زیادہ مستحکم

فروخت کی شرائط میں شامل ہیں:

  • 150 دن کی ایم اے سے نیچے کی قیمت توڑنا
  • مسلسل بڑے حجم میں کمی
  • 50 دن کی ایم اے 150 دن کی ایم اے سے کم
  • حالیہ bearish موم بتیاں جس میں حجم میں اضافہ ہوا ہے

حکمت عملی کے فوائد

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

حکمت عملی کے خطرات

  1. چلتی اوسط نظام میں تاخیر ہے، ابتدائی رجحان کے مراحل کو یاد کر سکتا ہے
  2. داخلے کی سخت شرائط سے تجارتی مواقع ضائع ہو سکتے ہیں
  3. غیر مستحکم مارکیٹوں میں اکثر غلط سگنل پیدا کر سکتا ہے
  4. مارکیٹ کی تبدیلیوں کی نشاندہی میں تاخیر
  5. استعمال کے لیے بڑے پیمانے پر سرمایہ کی ضرورت ہے

خطرے کے کنٹرول کے لیے تجاویز:

  • معقول سٹاپ نقصان کی پوزیشنیں مقرر کریں
  • پیسے کا محتاط انتظام
  • رجحان کی تصدیق کے اشارے شامل کرنے پر غور کریں
  • مارکیٹ کے ماحول کی بنیاد پر پیرامیٹرز کو ایڈجسٹ کریں

حکمت عملی کی اصلاح کی ہدایات

  1. موافقت پذیر پیرامیٹرز شامل کریں
  • مارکیٹ کی اتار چڑھاؤ کی بنیاد پر متحرک طور پر ایم اے کی مدت کو ایڈجسٹ کریں
  • آر ایس آئی کی حد کی ترتیبات کو بہتر بنائیں
  1. سٹاپ نقصان کے طریقہ کار کو بہتر بنائیں
  • ٹرائلنگ اسٹاپ شامل کریں
  • وقت پر مبنی رکاوٹیں مقرر کریں
  1. مارکیٹ کے ماحول کا تجزیہ متعارف کروانا
  • رجحان کی طاقت کے اشارے شامل کریں
  • اتار چڑھاؤ کے اشارے پر غور کریں
  1. تجارتی سائز کو بہتر بنائیں
  • ڈیزائن متحرک پوزیشن مینجمنٹ
  • سگنل کی طاقت کی بنیاد پر ایڈجسٹ کریں

خلاصہ

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


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Micho's 150 (1D Time Frame Only)", overlay=true)

// Define the length for the SMAs and RSI
sma20Length = 20
sma50Length = 50
sma150Length = 150
sma200Length = 200
volumeMaLength = 20
rsiLength = 14
rsiSmaLength = 14
smaCheckLength = 40  // Check the last month of trading days (~20 days)
requiredRisingDays = 25  // Require SMA to rise in at least 16 of the past 20 days
sma150AboveSma200CheckDays = 1  // Require SMA150 > SMA200 for the last 10 days

// Calculate the SMAs for price
sma20 = ta.sma(close, sma20Length)
sma50 = ta.sma(close, sma50Length)
sma150 = ta.sma(close, sma150Length)
sma200 = ta.sma(close, sma200Length)

// Calculate the 20-period moving average of volume
volumeMA20 = ta.sma(volume, volumeMaLength)

// Calculate the 14-period RSI
rsi = ta.rsi(close, rsiLength)

// Calculate the 14-period SMA of RSI
rsiSMA = ta.sma(rsi, rsiSmaLength)

// Check if most of the last 5 days are buyer days (close > open)
buyerDays = 0
for i = 0 to 9
    if close[i] > open[i]
        buyerDays := buyerDays + 1

// Check if at least 1 day has volume higher than the 20-period volume MA
highVolumeDays = 0
for i = 0 to 9
    if close[i] > open[i] and volume[i] > volumeMA20
        highVolumeDays := highVolumeDays + 1

// Define the new RSI condition
rsiCondition = (rsi >= 55) or (rsiSMA > 50 and rsi > rsi[1])

// Check if the 50-day SMA has been rising on at least 16 of the last 20 trading days
risingDays = 0
for i = 1 to smaCheckLength
    if sma50[i] > sma50[i + 1]
        risingDays := risingDays + 1

// Check if the SMA has risen on at least 16 of the last 20 days
sma50Rising = risingDays >= requiredRisingDays

// Check if the price has been above the SMA150 for the last 20 trading days
priceAboveSma150 = true
for i = 1 to smaCheckLength
    if close[i] < sma150[i]
        priceAboveSma150 := false

// Check if the SMA150 has been above the SMA200 for the last 10 days
sma150AboveSma200 = true
for i = 1 to sma150AboveSma200CheckDays
    if sma150[i] < sma200[i]
        sma150AboveSma200 := false

// Define the conditions for the 150-day and 200-day SMAs being rising
sma150Rising = sma150 > sma150[1]
sma200Rising = sma200 > sma200[1]

// Check if most of the last 5 days are seller days (close < open)
sellerDays = 0
for i = 0 to 9
    if close[i] < open[i]
        sellerDays := sellerDays + 1

// Check if at least 1 day has seller volume higher than the 20-period volume MA
highSellerVolumeDays = 0
for i = 0 to 9
    if close[i] < open[i] and volume[i] > volumeMA20
        highSellerVolumeDays := highSellerVolumeDays + 1

// Check in the last N days the price below 150
priceBelowSma150 = true
for i = 0 to 0
    if close[i] > sma150[i]
        priceBelowSma150 := false

// Restrict the strategy to 1D time frame
if timeframe.isdaily
    // Buy condition:
    // - Most of the last 5 days are buyer days (buyerDays > 2)
    // - At least 1 of those days has high buyer volume (highVolumeDays >= 1)
    // - RSI SMA (14-period) between 45 and 50 with RSI >= 55, or RSI SMA > 50 and RSI rising
    // - 50-day SMA > 150-day SMA and 150-day SMA > 200-day SMA
    // - 50-day SMA has been rising on at least 16 of the last 20 trading days
    // - The price hasn't been below the 150-day SMA in the last 20 days
    // - 150-day SMA has been above the 200-day SMA for the last 10 days
    // - 150-day and 200-day SMAs are rising
    buyCondition = (close > sma150 and buyerDays > 4 and highVolumeDays >= 1 and rsiCondition  and sma50 > sma150 and sma50Rising and sma150Rising and sma200Rising and priceAboveSma150)

    // Sell condition:
    // - Price crossing below SMA 150
    // - Seller volume (current volume > volume MA 20)
    // - 150-day SMA crosses below 200-day SMA
    // - Most of the last 5 days are seller days (sellerDays > 2) and at least 1 day of higher seller volume (highSellerVolumeDays >= 1)
    sellCondition = (priceBelowSma150 and (sma50 < sma150 or (sellerDays >5 and highSellerVolumeDays >= 5)))

    // Execute buy when all conditions are met
    if (buyCondition)
        strategy.entry("Buy", strategy.long)

    // Execute sell when all conditions are met
    if (sellCondition)
        strategy.close("Buy")


متعلقہ

مزید