جوکر آگے بڑھتا ہے منافع لینے کی حکمت عملی


تخلیق کی تاریخ: 2023-09-23 15:04:20 آخر میں ترمیم کریں: 2023-09-23 15:04:20
کاپی: 0 کلکس کی تعداد: 786
1
پر توجہ دیں
1617
پیروکار

جائزہ

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

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

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

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

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

طاقت کا تجزیہ

  • اہم رجحانات کی سمت کا تعین کرنے کے لئے منتقل اوسط کا استعمال کریں تاکہ مارکیٹ شور سے حکمت عملی میں بہت زیادہ مداخلت نہ ہو۔

  • موبائل اسٹاپ کو چالو کرنے کے بعد اسٹاپ پوزیشن کو مارکیٹ کی حرکت کے مطابق ایڈجسٹ کیا جاسکتا ہے ، اس بات کا یقین کرنے کے لئے کہ اسٹاپ پوزیشن ہمیشہ قیمت کے قریب رہتی ہے۔ یہ ایک مقررہ اسٹاپ قیمت طے کرنے سے کہیں زیادہ لچکدار اور موثر ہے۔

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

  • موبائل اسٹاپ نقصانات کو روکنے کے فوائد کو برقرار رکھتا ہے ، اور جب تجارت خراب ہوجاتی ہے تو اسے جلد سے جلد روک دیا جاسکتا ہے۔

خطرے کا تجزیہ

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

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

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

  • متحرک اسٹاپ صرف ایک طرفہ حرکت کو مدنظر رکھتا ہے ، پیچھے ہٹنے کو نہیں سمجھتا ہے۔ اس کا مطلب یہ ہے کہ قیمت ایک بار پھر پیچھے ہٹ جاتی ہے ، اور متحرک اسٹاپ نیچے نہیں جاتا ہے۔ اس سے اسٹاپ کی حتمی قیمت نفاذ نظریاتی قیمت سے ہٹ جاتی ہے۔ باہمی متحرک اسٹاپ میکانیزم کو بہتر بنانے کے لئے غور کیا جاسکتا ہے۔

اصلاح کی سمت

  • مارکیٹ کی اتار چڑھاؤ کی شرح کے مطابق متحرک طور پر منتقل اوسط پیرامیٹرز کو ایڈجسٹ کرنے پر غور کیا جاسکتا ہے ، جب اتار چڑھاؤ بڑھتا ہے تو اس میں اضافہ ہوتا ہے ، اور جب اتار چڑھاؤ کم ہوتا ہے تو اس میں کمی ہوتی ہے۔

  • مختلف قسموں اور مارکیٹوں کی خصوصیات کا مطالعہ کیا جاسکتا ہے ، اور مختلف ڈیفالٹ اسٹاپ تناسب کو ترتیب دیا جاسکتا ہے ، جس سے اسٹاپ کی غلطی کا خطرہ کم ہوجاتا ہے۔

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

  • رجحان کی طاقت کے اشارے کے ساتھ مل کر ، رجحان کی طاقت کم ہونے پر اسٹاپ تناسب کو کم کرنے اور رجحان کی طاقت مضبوط ہونے پر اسٹاپ تناسب کو بڑھانے پر غور کیا جاسکتا ہے۔

  • سٹاپ مارجن تناسب کو متحرک طور پر مقرر کرنے کے لئے ماڈل کی طرف سے پیش گوئی کی قیمت کی حد کا استعمال کرتے ہوئے مشین سیکھنے کے ماڈل کے ساتھ مل کر غور کیا جا سکتا ہے.

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-08-23 00:00:00
end: 2023-09-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title='Joker Trailing TP Bot', shorttitle='Joker TTP Bot', overlay=true, pyramiding=0, process_orders_on_close=false, close_entries_rule='ANY', calc_on_every_tick=false, calc_on_order_fills=false, commission_type=strategy.commission.percent, commission_value=0.07, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=1000, currency=currency.USD) //, max_labels_count=500)

fromDate = input(timestamp('01 Jan 2021 00:00 UTC'), 'From Date')
toDate = input(timestamp('31 Dec 2121 23:59 UTC'), 'To Date')
fastMALen = input.int(23, 'Fast SMA Length')
slowMALen = input.int(50, 'Slow SMA Length')
longTakeProfitPerc = input.float(0.5, 'Long Take Profit %', minval=0.05, step=0.05) * 0.01
shortTakeProfitPerc = input.float(0.5, 'Short Take Profit %', minval=0.05, step=0.05) * 0.01
enableTrailing = input.bool(true, 'Enable Trailing')
trailingTakeProfitPerc = input.float(0.01, 'Trailing Take Profit %', minval=0.01, maxval=100, step=0.01) * 0.01

float fastMA = ta.sma(close, fastMALen)
float slowMA = ta.sma(close, slowMALen)
bool isWithinPeriod = true
bool openLongPosition = isWithinPeriod and ta.crossover(fastMA, slowMA)
bool openShortPosition = isWithinPeriod and ta.crossunder(fastMA, slowMA)
bool longIsActive = openLongPosition or strategy.position_size > 0
bool shortIsActive = openShortPosition or strategy.position_size < 0

float longTakeProfitPrice = na
longTakeProfitPrice := if longIsActive
    if openLongPosition and not (strategy.position_size > 0)
        close * (1 + longTakeProfitPerc)
    else
        nz(longTakeProfitPrice[1], close * (1 + longTakeProfitPerc))
else
    na

float shortTakeProfitPrice = na
shortTakeProfitPrice := if shortIsActive
    if openShortPosition and not (strategy.position_size < 0)
        close * (1 - shortTakeProfitPerc)
    else
        nz(shortTakeProfitPrice[1], close * (1 - shortTakeProfitPrice))
else
    na

float longTrailingTakeProfitStepTicks = longTakeProfitPrice * trailingTakeProfitPerc / syminfo.mintick
float shortTrailingTakeProfitStepTicks = shortTakeProfitPrice * trailingTakeProfitPerc / syminfo.mintick

strategy.entry(id = 'Long Entry', direction = strategy.long, when = openLongPosition, alert_message = 'Long(' + syminfo.ticker + '): Started')
strategy.entry(id = 'Short Entry', direction = strategy.short, when = openShortPosition, alert_message = 'Short(' + syminfo.ticker + '): Started')
strategy.exit(id = 'Long Take Profit', from_entry = 'Long Entry', limit = enableTrailing ? na : longTakeProfitPrice, trail_price = enableTrailing ? longTakeProfitPrice : na, trail_offset = enableTrailing ? longTrailingTakeProfitStepTicks : na, when = longIsActive, alert_message = 'Long(' + syminfo.ticker + '): Take Profit activated')
strategy.exit(id = 'Short Take Profit', from_entry = 'Short Entry', limit = enableTrailing ? na : shortTakeProfitPrice, trail_price = enableTrailing ? shortTakeProfitPrice : na, trail_offset = enableTrailing ? shortTrailingTakeProfitStepTicks : na, when = shortIsActive, alert_message = 'Short(' + syminfo.ticker + '): Take Profit activated')

plot(series = fastMA, title='Fast SMA', color = color.blue, linewidth = 1, style = plot.style_line)
plot(series = slowMA, title='Slow SMA', color = color.orange, linewidth = 1, style = plot.style_line)
plot(series = longTakeProfitPrice, title='Long Take Profit', color = color.green, linewidth = 1, style = plot.style_cross, offset = 1)
plot(series = shortTakeProfitPrice, title='Short Take Profit', color = color.red, linewidth = 1, style = plot.style_cross, offset = 1)
plot(series = strategy.position_avg_price, title='Position', color = color.white, linewidth = 1, style = plot.style_linebr)