ڈبل موونگ ایوریج ریورسل ٹریکنگ حکمت عملی پر مبنی


تخلیق کی تاریخ: 2024-02-20 17:08:43 آخر میں ترمیم کریں: 2024-02-20 17:08:43
کاپی: 1 کلکس کی تعداد: 527
1
پر توجہ دیں
1617
پیروکار

ڈبل موونگ ایوریج ریورسل ٹریکنگ حکمت عملی پر مبنی

جائزہ

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

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

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

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

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

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

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

خطرات اور حل

  • ڈبل مساوی کراسنگ کی وجہ سے whipsaw مسئلہ

    • میڈین لائن پیرامیٹرز کو ایڈجسٹ کریں اور Threshold کو بڑھا دیں
  • ٹرانزیکشنز کو مکمل طور پر فلٹر کرنے میں ناکامی

    • OBV جیسے ضمنی اشارے کے ساتھ مل کر اصل ٹرانزیکشن رجحانات کا تعین کریں
  • ذیلی سیکشن میں تبدیلی کی گہرائی اور شدت کا اندازہ نہیں لگایا جاسکتا

    • اسٹاپ نقصان میں اضافہ ، اہم معاونت کی تشخیص

اصلاح کی سمت

  • مشین لرننگ ماڈل کو قواعد کے فیصلے کے بجائے استعمال کرنا

    • حکمت عملی کو بہتر بنانا اور اوور فٹ کو کم کرنا
  • نقصانات کو روکنے کے لئے اضافی تکنیک

    • منافع میں سے کچھ کو محفوظ کریں اور خطرات کو کم کریں
  • جذبات کی پیمائش اور خبروں کا تجزیہ

    • ماڈل کی درستگی کو بہتر بنانا
  • دوسری نسلوں اور مارکیٹوں میں منتقل

    • حکمت عملی کی توسیع پذیری کی جانچ

خلاصہ کریں۔

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

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

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

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)

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(macdSlope, color=color.red, title="Total Volume")
//plot(signalSlope, color=color.green, title="Total Volume")
intrabarRange = high - low

getLookBackSlope(lookBack) => signal - signal[lookBack]
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
    float s = 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 - signalBiasValue )
            j += 1
    j

getSignalNoBias(lookBack) =>
    j = 0
    for i = 1 to lookBack
        if signal[i] < signalBiasValue and signal[i] > ( 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 and signalSlope[1] > 0
bool isNegativeMacdReversal = macdSlope < 0 and macdSlope[1] > 0

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

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

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

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

bool hasPositiveMACDBias = macd > macdBiasValue
bool hasNegativeMACDBias = macd < ( 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 )

// 7.48 Profit 52.5% 
if ( hasSignificantBuyerVolBias and getPriceRising(shortLookBack) == shortLookBack  and getBuyerVolBias(shortLookBack) == shortLookBack and hasPositiveMACDBias and hasBullInversion)
    strategy.entry("Short1", strategy.short)
strategy.exit("TPS", "Short1", limit=strategy.position_avg_price - 0.75, stop=strategy.position_avg_price + 0.5)

// 32.53 Profit 47.91%
if ( getPriceFalling(shortLookBack) and (getVolBias(shortLookBack) == false) and signalSlope < 0 and hasSignalSellerBias)
    strategy.entry("Long1", strategy.long)
strategy.exit("TPS", "Long1", limit=strategy.position_avg_price + 0.75, stop=strategy.position_avg_price - 0.5)