وسائل لوڈ ہو رہے ہیں... لوڈنگ...

انٹرا بار Volatility ٹریڈنگ کی حکمت عملی کے ساتھ رجحان کی تبدیلی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-26 17:15:54
ٹیگز:

img

جائزہ

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

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

اس حکمت عملی کا بنیادی منطق مندرجہ ذیل نکات پر مبنی ہے:

  1. مختلف ٹائم ونڈوز (مختصر اور طویل ونڈوز) میں ٹرانزیکشن حجم کے خریدنے کے دباؤ اور فروخت کے دباؤ کا حساب لگائیں۔ خریدنے اور فروخت کے دباؤ میں اختلافات کی بنیاد پر مستقبل کی رجحان کی سمت کا فیصلہ کریں۔

  2. لمبی اور مختصر حیثیت کا تعین کرنے کے لئے ایم اے سی ڈی (ایم اے سی ڈی لائن اور سگنل لائن کے درمیان فرق) کے فرق کی قیمت کا استعمال کریں۔ رجحان کی تبدیلیوں کی تصدیق کے لئے ٹرانزیکشن حجم میں خرید و فروخت کے دباؤ کے اشاروں کے ساتھ مل کر۔

  3. جب ٹرانزیکشن حجم کی خریداری کے دباؤ کی بے ضابطگی میں اضافہ ہوتا ہے اور ایم اے سی ڈی لائن کراس ہوتی ہے تو ، یہ طے کیا جاتا ہے کہ مارکیٹ میں فروخت سے خریدنے کے رجحان کی تبدیلی ہوسکتی ہے۔

  4. جب ٹرانزیکشن حجم کی فروخت کے دباؤ کی خرابی میں اضافہ ہوتا ہے اور ایم اے سی ڈی لائن کو عبور کرتا ہے تو ، یہ طے ہوتا ہے کہ مارکیٹ میں خریدنے سے فروخت کرنے کی رجحان کی تبدیلی ہوسکتی ہے۔

  5. ریورس سگنل داخل کرنے کے بعد، خطرات کو کنٹرول کرنے کے لیے منافع لینے اور نقصان روکنے کی حکمت عملی استعمال کریں۔

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

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

  1. ٹرینڈ ریورس پوائنٹس کا تعین کرنے کے لئے ٹرانزیکشن حجم میں طویل / مختصر اختلافات کا استعمال کرتے ہوئے ٹرانزیکشن حجم کے کردار کو نظرانداز کرتے ہوئے صرف رجحان کے تعین کے اشارے جیسے چلتے ہوئے اوسط پر انحصار کرنے سے بچتا ہے۔

  2. ریورسز کی تصدیق کے لیے ایم اے سی ڈی سگنلز کو یکجا کرنے سے فیصلے کی درستگی میں اضافہ ہو سکتا ہے۔

  3. ٹرانزیکشن حجم میں خرابیوں کا تعین کرنے کے لئے طویل اور مختصر وقت کی کھڑکیوں کا استعمال الٹ سگنل کو زیادہ قابل اعتماد بناتا ہے۔

  4. الٹ پلٹ کی حکمت عملیوں میں اوسط منافع کی شرح زیادہ ہوتی ہے۔

خطرے کا تجزیہ

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

  1. ٹرانزیکشن حجم اور ایم اے سی ڈی سگنل غلط سگنل دے سکتے ہیں ، جس سے واپسی پر غلط فیصلے ہوسکتے ہیں۔

  2. واپسی کے اشاروں کے شروع ہونے کے بعد، مارکیٹ دوبارہ ایڈجسٹ ہوسکتی ہے اور فوری طور پر براہ راست واپس نہیں آسکتی ہے۔

  3. غیر مناسب منافع اور سٹاپ نقصان کی ترتیب سے نقصانات میں اضافہ ہو سکتا ہے۔

  4. زیادہ ڈرائنگ، مستحکم واپسی کے حصول کے خواہاں سرمایہ کاروں کے لئے مناسب نہیں.

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

اس حکمت عملی کے لئے اصلاحات میں شامل ہیں:

  1. طویل اور مختصر وقت کی کھڑکیوں کو بہتر بنائیں تاکہ الٹ فیصلے زیادہ درست ہوں۔

  2. لمبی / مختصر درستگی کو بہتر بنانے کے لئے MACD پیرامیٹرز کو بہتر بنائیں.

  3. نقصان کے خطرات کو کم کرنے کے لئے منافع لینے اور نقصان کو روکنے کے الگورتھم کو بہتر بنائیں.

  4. تبدیلی کی کامیابی کی شرح کو بہتر بنانے کے لئے زیادہ غیر معمولی فیصلے کے اشارے شامل کریں.

  5. پوزیشن سائزنگ اور منی مینجمنٹ ماڈیولز شامل کریں.

نتیجہ

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


/*backtest
start: 2024-01-26 00:00:00
end: 2024-02-25 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("3 10 Oscillator Profile Flagging", shorttitle="3 10 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)
takeProfit = input( title="Take Profit", defval=0.75)
stopLoss = input( title="Stop Loss", defval=0.5)

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

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, qty=10)
strategy.exit("TPS", "Short1", limit=strategy.position_avg_price - takeProfit, stop=strategy.position_avg_price + stopLoss)

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

مزید