اسکیل ایبل بریکآؤٹ ٹریڈنگ حکمت عملی تجارتی سگنل تیار کرتی ہے جب قیمت قیمت کے اتار چڑھاؤ کی نشاندہی کردہ کلیدی معاونت اور مزاحمت کی سطحوں سے گزر جاتی ہے۔ یہ ایک انتہائی لچکدار اور توسیع پذیر بریکآؤٹ حکمت عملی ہے۔ اس حکمت عملی کو پیرامیٹرز کو ایڈجسٹ کرکے مختلف ٹائم فریموں میں ڈھال لیا جاسکتا ہے اور اصلاح کے لئے اضافی فلٹرز اور رسک مینجمنٹ میکانزم کو آسانی سے مربوط کیا جاسکتا ہے۔
اسٹریٹیجی میں سب سے پہلےswings()
لوک بیک مدت کی بنیاد پر سوئنگ اونچائیوں اور اونچائیوں کا حساب لگانے کے لئے فنکشن۔swingLookback
پیرامیٹر ، ڈیفالٹ 20 بار پر۔ جب قیمت سوئنگ ہائی سے اوپر ٹوٹ جاتی ہے تو لانگ سگنل ٹرگر ہوتے ہیں ، اور جب قیمت سوئنگ لو سے نیچے ٹوٹ جاتی ہے تو شارٹ سگنل ٹرگر ہوتے ہیں۔
خاص طور پر ، جب بند ہونے والی قیمت سوئنگ ہائی قیمت سے زیادہ یا مساوی ہوتی ہے تو ایک طویل سگنل متحرک ہوتا ہے۔ جب بند ہونے والی قیمت سوئنگ کم قیمت سے کم یا مساوی ہوتی ہے تو ایک مختصر سگنل متحرک ہوتا ہے۔
اسٹریٹیجی میں اسٹیپ ٹارگٹ بھی طے کیا گیا ہے جوstopTargetPercent
اسٹاپ نقصان کی سطح کی وضاحت کرنے کے لئے پیرامیٹر۔ مثال کے طور پر ، لانگ اسٹاپ نقصان کو سوئنگ ہائی سے 5٪ نیچے اور مختصر اسٹاپ نقصان کو سوئنگ کم سے 5٪ اوپر مقرر کیا جاسکتا ہے۔
اس حکمت عملی کا فائدہ یہ ہے کہ تجارت کی تعدد کو کنٹرول کرنے کے لئے نظرثانی کی مدت کو ایڈجسٹ کرنے میں لچک ہے۔ ایک مختصر نظرثانی کی مدت اسے بریکآؤٹس کے لئے زیادہ حساس بناتی ہے اور تجارت کی تعدد میں اضافہ کرتی ہے۔ ایک طویل نظرثانی کی مدت حساسیت اور تجارت کی تعدد کو کم کرتی ہے لیکن مواقع سے محروم ہوسکتی ہے۔ حکمت عملی کو بہتر بنانے کے لئے زیادہ سے زیادہ نظرثانی کی مدت تلاش کرنا انتہائی ضروری ہے۔
تخفیف:
اس حکمت عملی کو کئی طریقوں سے بہتر بنایا جاسکتا ہے:
زیادہ سے زیادہ پیرامیٹرز تلاش کرنے کے لئے مختلف نظرثانی کی مدت کے اقدار کی جانچ کریں.
بہترین ٹائم فریم کا تعین کرنے کے لئے مختلف ٹائم فریم جیسے 5m، 15m، 1h کا تجربہ کریں۔
منافع کی صلاحیت اور خطرے کے انتظام کے درمیان توازن قائم کرنے کے لیے اسٹاپ نقصان کا فیصد بہتر بنائیں۔
کم سیٹ اپ کو کم کرنے کے لیے حجم، اتار چڑھاؤ جیسے فلٹرز شامل کریں۔
مزید رسک مینجمنٹ میکانزم شامل کریں جیسے ٹریلنگ اسٹاپ، منافع لینے.
پیرامیٹر کی اصلاح واک فارورڈ تجزیہ اور مشین لرننگ کے ذریعے۔
پیرامیٹرز کی خودکار اصلاح کے لئے اے آئی / مشین لرننگ متعارف کروانا۔
اسکیل ایبل بریکآؤٹ ٹریڈنگ حکمت عملی ایک مضبوط اور مرضی کے مطابق بریکآؤٹ سسٹم ہے۔ اس کا استعمال کرنا آسان ہے اور بیک بیک کو ایڈجسٹ کرکے اور فلٹرز شامل کرکے انتہائی موافقت پذیر ہے۔ یہ خطرہ کنٹرول کے ل risk آسانی سے رسک مینجمنٹ کو مربوط کرسکتا ہے۔ پیرامیٹر کی اصلاح اور مشین لرننگ انضمام کے ساتھ ، حکمت عملی وقت کے ساتھ ساتھ تیار ہوسکتی ہے تاکہ بدلتی ہوئی منڈیوں کو اپنانا ہو۔ مجموعی طور پر ، یہ ایک تجویز کردہ یونیورسل بریکآؤٹ حکمت عملی ہے۔
/*backtest start: 2023-09-29 00:00:00 end: 2023-10-29 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © deperp //@version=5 // strategy("Range Breaker", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent, commission_value=0.07, pyramiding=0) // Backtest Time Period useDateFilter = input.bool(true, title="Begin Backtest at Start Date", group="Backtest Time Period") backtestStartDate = input(timestamp("1 Jan 2020"), title="Start Date", group="Backtest Time Period", tooltip="This start date is in the time zone of the exchange " + "where the chart's instrument trades. It doesn't use the time " + "zone of the chart or of your computer.") inTradeWindow = true swingLookback = input.int(20, title="Swing Lookback", minval=3) stopTargetPercent = input.float(5, title="Stop Target Percentage", step=0.1) // Calculate lockback swings swings(len) => var highIndex = bar_index var lowIndex = bar_index var swingHigh = float(na) var swingLow = float(na) upper = ta.highest(len) lower = ta.lowest(len) if high[len] > upper highIndex := bar_index[len] swingHigh := high[len] if low[len] < lower lowIndex := bar_index[len] swingLow := low[len] [swingHigh, swingLow, highIndex, lowIndex] // Strategy logic [swingHigh, swingLow, highIndex, lowIndex] = swings(swingLookback) longCondition = inTradeWindow and (ta.crossover(close, swingHigh)) shortCondition = inTradeWindow and (ta.crossunder(close, swingLow)) if longCondition strategy.entry("Long", strategy.long) if shortCondition strategy.entry("Short", strategy.short) longStopTarget = close * (1 + stopTargetPercent / 100) shortStopTarget = close * (1 - stopTargetPercent / 100) strategy.exit("Long Stop Target", "Long", limit=longStopTarget) strategy.exit("Short Stop Target", "Short", limit=shortStopTarget) // Plot break lines // line.new(x1=highIndex, y1=swingHigh, x2=bar_index, y2=swingHigh, color=color.rgb(255, 82, 82, 48), width=3, xloc=xloc.bar_index, extend=extend.right) // line.new(x1=lowIndex, y1=swingLow, x2=bar_index, y2=swingLow, color=color.rgb(76, 175, 79, 47), width=3, xloc=xloc.bar_index, extend=extend.right) // Alert conditions for entry and exit longEntryCondition = inTradeWindow and (ta.crossover(close, swingHigh)) shortEntryCondition = inTradeWindow and (ta.crossunder(close, swingLow)) longExitCondition = close >= longStopTarget shortExitCondition = close <= shortStopTarget alertcondition(longEntryCondition, title="Long Entry Alert", message="Enter Long Position") alertcondition(shortEntryCondition, title="Short Entry Alert", message="Enter Short Position") alertcondition(longExitCondition, title="Long Exit Alert", message="Exit Long Position") alertcondition(shortExitCondition, title="Short Exit Alert", message="Exit Short Position")