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

قیمتوں میں اتار چڑھاؤ کا پتہ لگانے کے لئے تین عوامل کا ماڈل

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

img

جائزہ

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

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

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

  1. تکنیکی اشارے جیسے تیز ایم اے، سست ایم اے، ایم اے سی ڈی اور سگنل لائن کا حساب لگائیں۔

  2. حجم تناسب، آر ایس آئی، ایم اے سی ڈی اور سگنل لائن سمیت متعدد عوامل کے حالات کا جائزہ لیں؛

  3. متعدد عوامل کے تجزیے کی بنیاد پر موجودہ قیمتوں میں اتار چڑھاؤ کے مرحلے اور خرید / فروخت کے مواقع کی تصدیق کریں۔

  4. LONG یا SHORT پوزیشن لیں اور سیٹ لے منافع اور سٹاپ نقصان؛

  5. جب قیمت منافع یا سٹاپ نقصان تک پہنچ جاتی ہے تو پوزیشن بند کریں۔

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

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

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

  1. متعدد عوامل درستگی کو بہتر بناتے ہیں اور جھوٹے سگنل سے بچتے ہیں۔
  2. قیمتوں میں اتار چڑھاؤ سے بڑے منافع کے ساتھ قلیل مدتی مواقع کو پکڑنا۔
  3. خطرہ کو کنٹرول کرنے کے لئے منافع لینے اور نقصان کو روکنے کے لئے خود کار طریقے سے مقرر کریں؛
  4. سادہ اور واضح منطق، لاگو کرنے میں آسان.

خطرے کا تجزیہ

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

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

مذکورہ بالا خطرات سے نمٹنے کے لئے ، مندرجہ ذیل میں اصلاحات کی جاسکتی ہیں۔

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

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

اصلاح کی اہم سمتیں:

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

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

  3. اسٹاپ نقصان کی حکمت عملی کو بہتر بنائیں۔ بہترین حل تلاش کرنے کے لئے اسٹاپ نقصان کی پیروی اور اسٹاپ نقصان کو منتقل کرنے کے مختلف مجموعوں کا تجربہ کیا جاسکتا ہے۔

  4. اعلی درجے کی تکنیکی اشارے شامل کریں۔ زیادہ اشارے جیسے اتار چڑھاؤ سوئنگ اور رفتار کے جھولے عوامل کو افزودہ کرسکتے ہیں۔

نتیجہ

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


/*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.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.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.0)
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.0)
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.0)
strategy.exit("TPS", "5P1", limit=strategy.position_avg_price - takeProfit, stop=strategy.position_avg_price + stopLoss)


مزید