ریورس بریک آؤٹ ٹریڈنگ حکمت عملی


تخلیق کی تاریخ: 2023-10-25 12:09:40 آخر میں ترمیم کریں: 2023-10-25 12:38:23
کاپی: 0 کلکس کی تعداد: 678
1
پر توجہ دیں
1617
پیروکار

ریورس بریک آؤٹ ٹریڈنگ حکمت عملی

جائزہ

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

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

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

  1. قیمتوں کے لگاتار اوپر اور نیچے آنے والی سائیکل کی لمبائی ، یعنی مسلسل بارس اپ اور مسلسل بارس ڈاؤن ، جو موجودہ سائیکل کی قیمتوں کے رجحان کی ترتیب کی لمبائی تک پہنچنے کے بعد ٹریڈنگ سگنل کو متحرک کرتی ہے۔

  2. موجودہ قیمتوں کے پچھلے دور کی قیمتوں کے مقابلے میں موجودہ قیمتوں میں اضافے اور کمی کا حساب لگائیں ، اور اس کی وجہ سے موجودہ مسلسل اضافے یا کمی کے دور کی لمبائی کا حساب لگائیں۔

  3. ٹائم_سیکنڈ کے ذریعے پالیسی کو محدود کرنے کے لئے ریٹرننگ کا ٹائم رینج ترتیب دیں جو صرف ریٹرننگ کے وقت کے اندر کام کرے گا۔

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

  5. جب قیمت میں مسلسل اضافے کا دورانیہ مقررہ لمبائی تک پہنچ جاتا ہے تو ، ایک سے زیادہ سگنل ، strategy.long کے ذریعے جاری کیا جاتا ہے۔ جب قیمت میں مسلسل کمی کا دورانیہ مقررہ لمبائی تک پہنچ جاتا ہے تو ، ایک مختصر سگنل ، strategy.short کے ذریعے جاری کیا جاتا ہے۔

  6. اسٹاپ نقصان اور اسٹاپ کی قیمتیں طے کی جاسکتی ہیں۔ جب زیادہ ہو تو قلیل مدتی اسٹاپ لگائیں ، جب خالی ہو تو طویل مدتی اسٹاپ لگائیں۔ جب زیادہ ہو تو طویل مدتی اسٹاپ لگائیں ، جب خالی ہو تو مختصر اسٹاپ لگائیں۔

  7. ٹریڈنگ سگنل بھیجنے پر آپ کو خبر کی اطلاع دی جاسکتی ہے۔

  8. مندرجہ بالا پیرامیٹرز اور قیمتوں کے مطابق ، جب قابل ہو تو ، زیادہ یا کم کرنے کا اشارہ کریں۔

طاقت کا تجزیہ

اس طرح کی ایک حکمت عملی کے کچھ فوائد ہیں:

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

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

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

  4. خودکار ٹریڈنگ کے لئے ٹریڈنگ اشارے کی تشکیل۔ خودکار ٹریڈنگ سسٹم کے استعمال کے ساتھ ، ٹریڈنگ سگنل بھیجنے کے وقت پیغام کی تشکیل کی جاسکتی ہے۔

  5. واپسی کے وقت کی حد مقرر کی جاسکتی ہے ، حکمت عملی کی جانچ آسان ہے۔ واپسی کے وقت کی حد کی ترتیبات شامل کی گئیں ، تاکہ مارکیٹ کے مختلف حالات میں حکمت عملی کے اثر کو آسانی سے دیکھا جاسکے۔

خطرے کا تجزیہ

اس حکمت عملی کے کچھ خطرات بھی ہیں جن کے بارے میں آگاہ ہونا ضروری ہے:

  1. اہم خبروں کے واقعات سے بچنے کی ضرورت ہے۔ اہم خبروں کی اشاعت کے وقت قیمت کی حرکت کا اندازہ نہیں لگایا جاسکتا ہے ، حکمت عملی ایک ہی وقت میں کئی مختصر سگنل جاری کرے گی ، جس سے نقصان ہوگا۔ اہم مالیاتی خبروں کی اشاعت کے وقت سے بچنے کی ضرورت ہے۔

  2. جب رجحان واضح نہیں ہوتا ہے تو ریورس آپریشن کا اثر کم ہوتا ہے ، احتیاط سے استعمال کرنے کی ضرورت ہے۔

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

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

  5. اسٹاپ نقصان کی روک تھام کی حکمت عملی کو مناسب طریقے سے بہتر بنایا جاسکتا ہے ، جس سے خطرے کو کم کیا جاسکتا ہے۔ موجودہ فکسڈ اسٹاپ نقصان کی روک تھام کو مزید بہتر بنایا جاسکتا ہے ، جیسے رجحانات کی پیروی کرنا۔

اصلاح کی سمت

اس حکمت عملی کو مزید بہتر بنانے کے لیے مندرجہ ذیل نکات پر غور کیا جا سکتا ہے۔

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

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

  3. شامل کرنے کی صلاحیت کے اشارے کا تعین کریں. تجارتی حجم میں تبدیلی جیسے اشارے کے ساتھ مل کر ، صرف K لائن کی شکل پر مبنی غلط سگنل سے بچیں۔

  4. کثیر نسل کا مجموعہ۔ حکمت عملی کو مختلف نسلوں پر لاگو کریں ، تاکہ ایک ہی نسل کا خطرہ پھیلائے۔

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-10-17 00:00:00
end: 2023-10-24 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

// Strategy
strategy("Up/Down Strategy - Contrarian", overlay=true, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash)

consecutiveBarsUp = input(1, title='Consecutive Bars Up')
consecutiveBarsDown = input(1, title='Consecutive Bars Down')

price = close

ups = 0.0
ups := price > price[1] ? nz(ups[1]) + 1 : 0

dns = 0.0
dns := price < price[1] ? nz(dns[1]) + 1 : 0

// Strategy Backtesting
startDate  = input(timestamp("2021-01-01T00:00:00"), type = input.time, title='Backtesting Start Date')
finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time, title='Backtesting End Date')

time_cond  = true

//Time Restriction Settings
startendtime = input("", title='Time Frame To Enter Trades')
enableclose = input(false, title='Enable Close Trade At End Of Time Frame')
timetobuy = true
timetoclose = true

// Stop Loss & Take Profit Tick Based
enablesltp = input(false, title='Enable Take Profit & Stop Loss')
stopTick = input(5.0, title='Stop Loss Ticks', type=input.float) / 100
takeTick = input(10.0, title='Take Profit Ticks', type=input.float) / 100

longStop = strategy.position_avg_price - stopTick
shortStop = strategy.position_avg_price + stopTick
shortTake = strategy.position_avg_price - takeTick
longTake = strategy.position_avg_price + takeTick

plot(strategy.position_size > 0 and enablesltp ? longStop : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Long Fixed SL")
plot(strategy.position_size < 0 and enablesltp ? shortStop : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Short Fixed SL")
plot(strategy.position_size > 0 and enablesltp ? longTake : na, style=plot.style_linebr, color=color.green, linewidth=1, title="Long Take Profit")
plot(strategy.position_size < 0 and enablesltp ? shortTake : na, style=plot.style_linebr, color=color.green, linewidth=1, title="Short Take Profit")

// Alert messages
message_enterlong  = input("", title="Long Entry message")
message_entershort = input("", title="Short Entry message")
message_closelong = input("", title="Close Long message")
message_closeshort = input("", title="Close Short message")

// Strategy Execution
if (dns >= consecutiveBarsDown) and time_cond and timetobuy
    strategy.entry("Long", strategy.long, stop = high + syminfo.mintick, alert_message = message_enterlong)
    
if (ups >= consecutiveBarsUp) and time_cond and timetobuy
    strategy.entry("Short", strategy.short, stop = low + syminfo.mintick, alert_message = message_entershort)
    
if strategy.position_size < 0 and timetoclose and enableclose
    strategy.close_all(alert_message = message_closelong)
if strategy.position_size > 0 and timetoclose and enableclose
    strategy.close_all(alert_message = message_closeshort)
    
if strategy.position_size < 0 and enablesltp and time_cond
    strategy.exit(id="Close Long", stop=longStop, limit=longTake, alert_message = message_closelong)
if strategy.position_size > 0 and enablesltp and time_cond
    strategy.exit(id="Close Short", stop=shortStop, limit=shortTake, alert_message = message_closeshort)