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

متحرک گرڈ پوزیشن سائزنگ حکمت عملی کے بعد رجحان

مصنف:چاؤ ژانگ، تاریخ: 2024-12-12 11:19:17
ٹیگز:ٹی ٹی ایمای ایم اےگرڈDCAاے ٹی آرایس ایم اے

img

جائزہ

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

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

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

  1. ttmPeriod پیرامیٹر پر مبنی دو EMAs کا حساب لگائیں: کم (lowMA) اور زیادہ (highMA) کے EMA
  2. اعلی ایم اے اور کم ایم اے کے درمیان دو حد کی سطح کی وضاحت کریں:
    • کم تیسرا: 1/3 پوزیشن نیچے سے
    • highThird: 2/3 پوزیشن نیچے سے
  3. مندرجہ ذیل حدوں کے سلسلے میں بندش کی قیمت کی پوزیشن کی بنیاد پر ٹی ایم ایم کی حالت کا تعین کریں:
    • 1 (اعلی رجحان) واپس کرتا ہے جب بند اعلی سے اوپر ہے
    • 0 (بڑھتی ہوئی رجحان) واپس کرتا ہے جب بند کم سے کم ہےThird
    • -1 (غیر جانبدار حالت) لوٹاتا ہے جب قریب کم تیسرا اور اعلی تیسرا کے درمیان ہے

گرڈ ٹریڈنگ سسٹم TTM حالت کی بنیاد پر متحرک طور پر ایڈجسٹ کرتا ہے:

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

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

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

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

  1. رجحان کا پتہ لگانے میں تاخیر: ای ایم اے پر مبنی ٹی ٹی ایم اشارے میں فطری تاخیر ہے ، جس سے ممکنہ طور پر رجحان کے موڑ کے مقامات پر تاخیر سے سگنل پیدا ہوسکتے ہیں
  2. ضمنی مارکیٹ کا خطرہ: مختلف مارکیٹوں میں گرڈ کی سمت میں کثرت سے سوئچنگ سے اوور ٹریڈنگ اور زیادہ فیس ہوسکتی ہے
  3. سرمایہ کے انتظام کا دباؤ: متعدد نیٹ ورک کی سطحوں کو بیک وقت چلانے کے لئے کافی سرمایہ کی ضرورت ہوتی ہے ، جو ممکنہ طور پر حکمت عملی کے قابل عمل ہونے پر اثر انداز ہوسکتی ہے
  4. سلائپج اثر: ہائی فریکوئنسی نیٹ ورک ٹریڈنگ کو کم لیکویڈیٹی کے حالات میں اہم سلائپج کا سامنا کرنا پڑ سکتا ہے ، جو حکمت عملی کی کارکردگی کو متاثر کرتا ہے

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

  1. رجحان کا پتہ لگانے کی اصلاح:
    • رجحان کا پتہ لگانے کی درستگی کو بہتر بنانے کے لئے متعدد ٹائم فریم تجزیہ شامل کریں
    • رجحان کی تصدیق کے لئے دیگر تکنیکی اشارے جیسے آر ایس آئی، ایم اے سی ڈی کے ساتھ مل کر
  2. گرڈ پیرامیٹر کی اصلاح:
    • اتار چڑھاؤ کی بنیاد پر گرڈ اسپیسنگ کو متحرک طور پر ایڈجسٹ کریں
    • نیٹ ورک کی سطح پر ایڈجسٹمنٹ کا ایک انکولی میکانزم نافذ کریں
  3. سرمائے کے انتظام میں بہتری:
    • متحرک پوزیشن الاٹمنٹ کو نافذ کریں
    • رسک پیریٹی میکانزم کا اضافہ
  4. عملدرآمد کے طریقہ کار کو بہتر بنانا:
    • سٹاپ نقصان اور منافع لینے کے طریقہ کار کو شامل کریں
    • آرڈر پر عملدرآمد کے وقت کو بہتر بنائیں

خلاصہ

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


/*backtest
start: 2024-12-04 00:00:00
end: 2024-12-11 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("TTM Grid Strategy", overlay=true)

// Input parameters
int ttmPeriod = input.int(6, minval=1, title="TTM Period")
int gridLevels = input.int(5, minval=2, title="Grid Levels")
float gridSpacing = input.float(0.01, minval=0.0001, title="Grid Spacing (%)")

// Calculate TTM State
ttmState() =>
    lowMA = ta.ema(low, ttmPeriod)
    highMA = ta.ema(high, ttmPeriod)
    lowThird = (highMA - lowMA) / 3 + lowMA
    highThird = 2 * (highMA - lowMA) / 3 + lowMA

    if close > highThird
        1
    else if close < lowThird
        0
    else
        -1

// State tracking variables
var float gridBasePrice = 0.0
var int gridDirection = -1

// Determine grid state
updateGridState(float currentClose, int currentState) =>
    float newBasePrice = gridBasePrice
    int newDirection = gridDirection

    if currentState != -1 and currentState != gridDirection
        newBasePrice := currentClose
        newDirection := currentState
    
    [newBasePrice, newDirection]

// Calculate grid levels
calcGridLevels(float basePrice, int direction, int levels) =>
    float[] buyLevels = array.new_float(levels)
    float[] sellLevels = array.new_float(levels)

    for i = 1 to levels
        multiplier = i * gridSpacing
        if direction == 1  // Buy grid
            array.set(buyLevels, i-1, basePrice * (1 - multiplier))
            array.set(sellLevels, i-1, basePrice * (1 + multiplier))
        else  // Sell grid
            array.set(buyLevels, i-1, basePrice * (1 + multiplier))
            array.set(sellLevels, i-1, basePrice * (1 - multiplier))
    
    [buyLevels, sellLevels]

// Execute grid trades
executeGridTrades(float basePrice, int direction, int levels) =>
    [buyLevels, sellLevels] = calcGridLevels(basePrice, direction, levels)

    for i = 0 to levels - 1
        float buyLevel = array.get(buyLevels, i)
        float sellLevel = array.get(sellLevels, i)

        if direction == 1  // Buy grid
            if low <= buyLevel
                strategy.entry("GridBuy" + str.tostring(i), strategy.long, comment="Buy Level " + str.tostring(i))
            if high >= sellLevel
                strategy.entry("GridSell" + str.tostring(i), strategy.short, comment="Sell Level " + str.tostring(i))
        else  // Sell grid
            if high >= buyLevel
                strategy.entry("GridBuy" + str.tostring(i), strategy.long, comment="Buy Level " + str.tostring(i))
            if low <= sellLevel
                strategy.entry("GridSell" + str.tostring(i), strategy.short, comment="Sell Level " + str.tostring(i))

// Main strategy logic
currentState = ttmState()
[newGridBasePrice, newGridDirection] = updateGridState(close, currentState)

// Update global variables
if newGridBasePrice != gridBasePrice
    gridBasePrice := newGridBasePrice
if newGridDirection != gridDirection
    gridDirection := newGridDirection

// Execute grid trades
executeGridTrades(newGridBasePrice, newGridDirection, gridLevels)

// Visualization
plotColor = newGridDirection == 1 ? color.green : color.red
plot(newGridBasePrice, color=plotColor, style=plot.style_cross)

متعلقہ

مزید