3 حرکت پذیر اوسط سوئنگ وقفہ الٹ کی حکمت عملی

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

img

جائزہ

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

اس حکمت عملی کا مقصد مقامی اوور بکڈ یا اوور سیلڈ سطحوں سے قیمتوں میں تیزی سے الٹ پھیر کو پکڑنا ہے۔ یہ عام طور پر 15 ملین ٹائم فریم کا استعمال کرتے ہوئے 0DTE SPY آپشنز کے لئے اچھی کارکردگی کا مظاہرہ کرتا ہے۔

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

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

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

اسٹریٹیجی میں مجموعی طور پر تین اندراج کے سگنل مقرر کیے گئے ہیں:

  1. طویل جب خریدنے کے حجم فروخت کے حجم پر کوئی فائدہ نہیں ہے، RSI 41 سے کم جبکہ بڑھتی ہوئی، MACD سگنل کوئی اہم انحراف نہیں ہے؛

  2. طویل جب خریدنے کا حجم فروخت کے حجم سے زیادہ مضبوط ہو، آر ایس آئی 45-55 کی حد میں اور بڑھتی ہوئی، MACD اور سگنل لائن ایک ساتھ بڑھتی ہوئی؛

  3. مختصر جب MACD بڑھتے ہوئے حد سے اوپر ہوتا ہے۔

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

آؤٹ پٹ کو منافع (حد آرڈر) اور اسٹاپ نقصان کے طور پر مقرر کیا جاتا ہے ، تاکہ ڈراؤونگ کو کنٹرول کیا جاسکے اور منافع حاصل کیا جاسکے۔

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

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

خاص طور پر، فوائد میں شامل ہیں:

  1. ایم اے سی ڈی کے طور پر حجم وزن والے مومنٹوم اوسیلیٹر، آسان تکنیکی تجزیہ سے بچتا ہے؛

  2. حجم کے حالات داخلہ کی سزا میں اضافہ؛

  3. RSI ممکنہ الٹ کی نشاندہی میں مدد کرتا ہے۔

  4. سٹاپ نقصان اور منافع لے لو کنٹرولز زیادہ سے زیادہ ڈراؤونگ اور کچھ منافع میں تالے.

خطرے کا تجزیہ

جیت کی شرح کو بہتر بنانے کے لئے اشارے کو یکجا کرنے کے باوجود ، تمام حکمت عملیوں میں خطرات ہیں۔ اہم مسائل یہ ہیں:

  1. جھوٹے سگنلز کا امکان، جیسے ابتدائی الٹ جانے کے بعد جاری رہنا۔

  2. ناکافی سٹاپ نقصان اور منافع لینے کی ترتیبات سے زیادہ مقدار میں منافع نکلتا ہے اور منافع کو لاک کرنے میں ناکامی ہوتی ہے۔

  3. پیرامیٹر ٹوننگ جیسے ایم اے لمبائی، آر ایس آئی کی مدت، منافع لینے کے تناسب کو مزید اصلاح کی ضرورت ہوسکتی ہے.

ان خطرات کو اضافی اصلاح کے ذریعے کم کیا جاسکتا ہے۔ اگلے حصے میں مخصوص طریقوں پر کام کیا گیا ہے۔

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

مزید اصلاحات کی گنجائش باقی ہے، بنیادی طور پر:

  1. بہترین نتائج کے لیے مختلف ایم اے پیرامیٹرز کے مجموعوں کا تجربہ کریں۔

  2. زیادہ سے زیادہ خریدنے / زیادہ سے زیادہ فروخت کرنے والے جج کو تلاش کرنے کے لئے آر ایس آئی بیک بیک مدت کی جانچ کریں.

  3. منافع لینے اور نقصان کو روکنے کے تناسب کو بہتر بنانے کے لئے استعمال اور منافع کے قبضے کو متوازن کرنے کے لئے؛

  4. مشین لرننگ ماڈلز متعارف کروائیں، غلط فیصلوں کو کم کرنے اور جیت کی شرح کو بہتر بنانے کے لیے مزید ڈیٹا کا فائدہ اٹھائیں۔

یہ زیادہ منظم بیک ٹیسٹ کے ذریعے لاگو کیا جاسکتا ہے۔ جیسے جیسے پیرامیٹر کی جگہیں بڑھتی ہیں اور نمونہ سائز بڑھتے ہیں ، حکمت عملی کی جیت کی شرح اور منافع میں بھی بہتری آئے گی۔

نتیجہ

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


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

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

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")
plot(macdSlope, color=color.green, title="MACD Slope")
plot(signalSlope, color=color.red, title="Signal Slope")
intrabarRange = high - low
rsi = ta.rsi(close, 14)
rsiSlope = rsi - rsi[1]
plot(rsiSlope, color=color.black, title="RSI Slope")

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 )


// 202.30 Profit 55.29% 5m
if ( ( getVolBias(longLookBack) == false ) and rsi <= 41 and math.abs(rsi - rsi[shortLookBack]) > 1 and hasNoSignalBias and rsiSlope > 1.5 and close > open)
    strategy.entry("5C1", strategy.long, qty=1)
strategy.exit("TPS", "5C1", limit=strategy.position_avg_price + takeProfit, stop=strategy.position_avg_price - stopLoss)

// 171.70 Profit 50.22% 5m
if ( getVolBias(longLookBack) == true and rsi > 45 and rsi < 55 and macdSlope > 0 and signalSlope > 0)
    strategy.entry("5C2", strategy.long, qty=1)
strategy.exit("TPS", "5C2", limit=strategy.position_avg_price + takeProfit, stop=strategy.position_avg_price - stopLoss)

// 309.50 Profit 30.8% 5m 2 tp .7 sl 289 trades
if ( macd > macdBiasValue and macdSlope > 0)
    strategy.entry("5P1", strategy.short, qty=1)
strategy.exit("TPS", "5P1", limit=strategy.position_avg_price - takeProfit, stop=strategy.position_avg_price + stopLoss)


مزید