ایک سے زیادہ موونگ ایوریج مومینٹم ٹرینڈ کے بعد حکمت عملی

SMA RSI MA
تخلیق کی تاریخ: 2024-11-12 15:05:09 آخر میں ترمیم کریں: 2024-11-12 15:05:09
کاپی: 0 کلکس کی تعداد: 476
1
پر توجہ دیں
1617
پیروکار

ایک سے زیادہ موونگ ایوریج مومینٹم ٹرینڈ کے بعد حکمت عملی

جائزہ

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

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

اس حکمت عملی کی بنیادی منطق میں درج ذیل اہم اجزاء شامل ہیں:

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

خریداری کی شرائط:

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

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

  • قیمت 150 دن کی اوسط سے نیچے
  • مسلسل کمی کا مظاہرہ
  • 50 دن کی اوسط 150 دن کی اوسط سے نیچے
  • حالیہ عرصے میں زچگی کی تعداد میں اضافہ ہوا ہے

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

  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")