ملٹی ٹائم پیریڈ MACD زیرو کراس ریورسل حکمت عملی


تخلیق کی تاریخ: 2024-02-18 15:27:21 آخر میں ترمیم کریں: 2024-02-18 15:27:21
کاپی: 0 کلکس کی تعداد: 548
1
پر توجہ دیں
1617
پیروکار

ملٹی ٹائم پیریڈ MACD زیرو کراس ریورسل حکمت عملی

جائزہ

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

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

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

اس حکمت عملی کے مطابق ، قیمتوں میں ردوبدل کا اندازہ لگانے کے لیے مندرجہ ذیل طریقوں کا استعمال کیا جاتا ہے۔

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

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

طاقت کا تجزیہ

اس حکمت عملی کے درج ذیل فوائد ہیں:

  1. کثیر پیمائش کے فیصلے ، ریورس سگنل کو زیادہ قابل اعتماد بناتے ہیں
  2. MACD زیرو محور کراسنگ کا استعمال کرتے ہوئے موڑ کی جگہ کا تعین کرنے کے لئے ، اعلی درستگی
  3. RSI اشارے اور ٹرانزیکشن حجم معاون فیصلے ، اعلی وشوسنییتا
  4. ٹرینڈ ٹریکنگ سٹاپ نقصان کے طریقوں، زیادہ سے زیادہ فنڈز کے استعمال کی کارکردگی کے حصول

خطرے کا تجزیہ

اس حکمت عملی کے کچھ خطرات بھی ہیں:

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

خطرے کو کم کرنے کے لئے مندرجہ ذیل اقدامات کیے جاسکتے ہیں:

  1. اسٹاپ نقصان کی حد کو مناسب طریقے سے کم کریں اور اس سے بچنے سے بچیں
  2. پیرامیٹرز کو بہتر بنانے اور ٹرانزیکشن کی تعدد کو کم کرنے کے لئے
  3. صرف اہم معاون مزاحمت کے قریب داخلے پر غور کریں

اصلاح کی سمت

اس حکمت عملی کو مزید بہتر بنانے کے لیے مندرجہ ذیل نکات پر غور کیا جا سکتا ہے:

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

خلاصہ کریں۔

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

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

//@version=5
strategy("3 10.0 Oscillator Profile Flagging", shorttitle="3 10.0 Oscillator Profile Flagging", overlay=false)

signalBiasValue = input(title="Signal Bias", defval=0.26)
macdBiasValue = input(title="MACD Bias", defval=0.8)
shortLookBack = input( title="Short LookBack", defval=3)
longLookBack = input( title="Long LookBack", defval=10.0)
takeProfit = input( title="Take Profit", defval=0.8)
stopLoss = input( title="Stop Loss", defval=0.75)

fast_ma = ta.sma(close, 3)
slow_ma = ta.sma(close, 10)
macd = fast_ma - slow_ma
signal = ta.sma(macd, 16)
hline(0, "Zero Line", color = color.black)

buyVolume = volume*((close-low)/(high-low))
sellVolume = volume*((high-close)/(high-low))
buyVolSlope = buyVolume - buyVolume[1]
sellVolSlope = sellVolume - sellVolume[1]
signalSlope = ( signal - signal[1] )
macdSlope = ( macd - macd[1] )
plot(macd, color=color.blue, title="Total Volume")
plot(signal, color=color.orange, title="Total Volume")
intrabarRange = high - low
rsi = ta.rsi(close, 14)
rsiSlope = rsi - rsi[1]

getRSISlopeChange(lookBack) =>
    j = 0
    for i = 0 to lookBack
        if ( rsi[i] - rsi[ i + 1 ] ) > -5
            j += 1
    j

getBuyerVolBias(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if buyVolume[i] > sellVolume[i]
            j += 1
    j

getSellerVolBias(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if sellVolume[i] > buyVolume[i]
            j += 1
    j

getVolBias(lookBack) =>
    float b = 0.0
    float s = 0.0
    for i = 1 to lookBack
        b += buyVolume[i]
        s += sellVolume[i]
    b > s

getSignalBuyerBias(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if signal[i] > signalBiasValue
            j += 1
    j

getSignalSellerBias(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if signal[i] < ( 0.0 - signalBiasValue )
            j += 1
    j

getSignalNoBias(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if signal[i] < signalBiasValue and signal[i] > ( 0.0 - signalBiasValue )
            j += 1
    j

getPriceRising(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if close[i] > close[i + 1]
            j += 1
    j


getPriceFalling(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if close[i] < close[i + 1] 
            j += 1
    j

getRangeNarrowing(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if intrabarRange[i] < intrabarRange[i + 1] 
            j+= 1
    j

getRangeBroadening(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if intrabarRange[i] > intrabarRange[i + 1] 
            j+= 1
    j

bool isNegativeSignalReversal = signalSlope < 0.0 and signalSlope[1] > 0.0
bool isNegativeMacdReversal = macdSlope < 0.0 and macdSlope[1] > 0.0

bool isPositiveSignalReversal = signalSlope > 0.0 and signalSlope[1] < 0.0
bool isPositiveMacdReversal = macdSlope > 0.0 and macdSlope[1] < 0.0

bool hasBearInversion = signalSlope > 0.0 and macdSlope < 0.0
bool hasBullInversion = signalSlope < 0.0 and macdSlope > 0.0

bool hasSignalBias = math.abs(signal) >= signalBiasValue
bool hasNoSignalBias = signal < signalBiasValue and signal > ( 0.0 - signalBiasValue )

bool hasSignalBuyerBias = hasSignalBias and signal > 0.0
bool hasSignalSellerBias = hasSignalBias and signal < 0.0

bool hasPositiveMACDBias = macd > macdBiasValue
bool hasNegativeMACDBias = macd < ( 0.0 - macdBiasValue )

bool hasBullAntiPattern = ta.crossunder(macd, signal)
bool hasBearAntiPattern = ta.crossover(macd, signal)

bool hasSignificantBuyerVolBias = buyVolume > ( sellVolume * 1.5 )
bool hasSignificantSellerVolBias = sellVolume > ( buyVolume * 1.5 )

// 393.60 Profit 52.26% 15m
if ( hasBullInversion and rsiSlope > 1.5 and volume > 300000.0 )
    strategy.entry("15C1", strategy.long, qty=10.0)
strategy.exit("TPS", "15C1", limit=strategy.position_avg_price + takeProfit, stop=strategy.position_avg_price - stopLoss)

// 356.10 Profit 51,45% 15m
if ( getVolBias(shortLookBack) == false and rsiSlope > 3.0 and signalSlope > 0)
    strategy.entry("15C2", strategy.long, qty=10.0)
strategy.exit("TPS", "15C2", limit=strategy.position_avg_price + takeProfit, stop=strategy.position_avg_price - stopLoss)

// 124 Profit 52% 15m
if ( rsiSlope < -11.25 and macdSlope < 0.0 and signalSlope < 0.0)
    strategy.entry("15P1", strategy.short, qty=10.0)
strategy.exit("TPS", "15P1", limit=strategy.position_avg_price - takeProfit, stop=strategy.position_avg_price + stopLoss)

// 455.40 Profit 49% 15m
if ( math.abs(math.abs(macd) - math.abs(signal)) < .1 and buyVolume > sellVolume and hasBullInversion)
    strategy.entry("15P2", strategy.short, qty=10.0)
strategy.exit("TPS", "15P2", limit=strategy.position_avg_price - takeProfit, stop=strategy.position_avg_price + stopLoss)