سیلیٹر پروفائل ریورسنگ حکمت عملی ملٹی ٹائم فریم پر مبنی ایم اے سی ڈی زیرو کراسنگ

مصنف:چاؤ ژانگ، تاریخ: 2024-02-18 15:27:21
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

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

خاص طور پر، حکمت عملی مندرجہ ذیل کے ذریعے قیمتوں میں تبدیلی کا فیصلہ کرتی ہے:

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

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

فوائد کا تجزیہ

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

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

خطرے کا تجزیہ

کچھ خطرات بھی ہیں:

  1. ایم اے سی ڈی غلط سگنل اور پھنسنے کا اعلی امکان
  2. متبادل رجحانات کے دوران سٹاپ نقصان کا زیادہ امکان
  3. پیرامیٹر کی غلط ترتیب سے ٹریڈنگ کی تعدد اور لاگت میں اضافہ ہوسکتا ہے

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

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

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

اسٹریٹیجی کو مزید بہتر بنانے کے لئے مندرجہ ذیل اقدامات کئے جاسکتے ہیں:

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

نتیجہ

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


/*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)

مزید