
توسیع پذیر بریک ٹریڈنگ حکمت عملی ایک انتہائی لچکدار اور توسیع پذیر بریک ٹریڈنگ حکمت عملی ہے جو قیمت کے اہم معاونت اور مزاحمت والے علاقوں کی نشاندہی کرتی ہے ، اور جب قیمت ان علاقوں کو توڑ دیتی ہے تو اس کے لئے تجارتی سگنل تیار کرتی ہے۔ یہ حکمت عملی مختلف وقت کے ادوار پر پیرامیٹرز کو ایڈجسٹ کرکے لاگو کی جاسکتی ہے ، اور مختلف اضافی فلٹرنگ شرائط اور رسک مینجمنٹ میکانزم کو آسانی سے مربوط کیا جاسکتا ہے تاکہ مخصوص اثاثوں کے لئے اصلاح کی جاسکے۔
یہ حکمت عملی سب سے پہلےswings()اس فنکشن کی بنیاد پر ریٹرننگ مدت موجودہ قیمت کے اتار چڑھاؤ کے اعلی پوائنٹس اور اتار چڑھاؤ کے کم پوائنٹس کا حساب لگاتا ہے. ریٹرننگ مدت کے ذریعےswingLookbackپیرامیٹرز کی ترتیب ، 20 K لائنوں کو ڈیفالٹ کریں۔ اس کے بعد ، جب قیمت اتار چڑھاؤ کی اونچائی کو توڑتی ہے تو ، زیادہ کام کریں۔ جب قیمت اتار چڑھاؤ کی نچلی سطح سے نیچے آجاتی ہے تو ، خالی کرو۔
زیادہ سگنل کی مخصوص منطق یہ ہے کہ جب بند ہونے والی قیمت زیادہ سے زیادہ اتار چڑھاؤ کی قیمت کے برابر ہو۔ کم سگنل کی مخصوص منطق یہ ہے کہ جب بند ہونے والی قیمت کم سے کم اتار چڑھاؤ کی قیمت کے برابر ہو۔
اس کے علاوہ، اس حکمت عملی میں اسٹاپ نقصان کی حد بھی رکھی گئی ہے، جس کے ذریعےstopTargetPercentپیرامیٹرز کو روکنے کی حد مقرر کریں۔ مثال کے طور پر ، زیادہ سے زیادہ روکنے کی قیمت کو کم از کم قیمت کے 5٪ سے کم اور کم سے کم روکنے کی قیمت کو کم سے کم قیمت کے 5٪ سے زیادہ مقرر کریں۔
اس حکمت عملی کا فائدہ یہ ہے کہ واپسی کی مدت کو ایڈجسٹ کرکے تجارت کی تعدد کو کنٹرول کیا جاسکتا ہے۔ واپسی کی مدت جتنی مختصر ہوگی ، اس سے زیادہ حساس ہوگی ، اور تجارت کی کثرت زیادہ ہوگی۔ اس کے برعکس ، واپسی کی مدت بہت لمبی ہے ، تجارت کی کثرت کم ہوگی لیکن اس سے مواقع ضائع ہوسکتے ہیں۔ لہذا حکمت عملی کو بہتر بنانے کے لئے بہترین واپسی کی مدت تلاش کرنا ضروری ہے۔
ردعمل:
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
مختلف جائزہ لینے والے پیرامیٹرز کی جانچ پڑتال کریں اور بہترین پیرامیٹرز کا مجموعہ تلاش کریں؛
5 منٹ، 15 منٹ، 1 گھنٹہ، وغیرہ کے طور پر مختلف ٹریڈنگ سائیکلوں کی جانچ کرنا، بہترین سائیکل کا انتخاب کرنا؛
سٹاپ نقصان کی حد کو بہتر بنانا اور منافع کی گنجائش اور خطرے پر قابو پانے میں توازن پیدا کرنا۔
فلٹرنگ کی شرائط میں اضافہ کریں ، جیسے کہ حجم فلٹرنگ ، ٹرانزیکشن فلٹرنگ ، وغیرہ ، تاکہ ناقص معیار کے سگنل کو کم کیا جاسکے۔
زیادہ سے زیادہ خطرے کے انتظام کے طریقہ کار کو مربوط کرنا، جیسے کہ نقصانات کو روکنے اور منافع کو لاک کرنا؛
پیرامیٹرز کی اصلاح ، قدم بہ قدم اصلاح ، اور بے ترتیب تلاش کے ذریعے بہترین پیرامیٹرز تلاش کرنا۔
انٹیگریٹڈ مشین لرننگ ٹکنالوجی ، AI کا استعمال کرتے ہوئے پیرامیٹرز کو خودکار طور پر بہتر بنانا۔
توسیع پذیر بریک ٹریڈنگ حکمت عملی ایک بہت ہی عملی بریک سسٹم ہے۔ یہ سادہ اور استعمال میں آسان ہے ، اور اس کی تخصیص کی جاسکتی ہے ، اور مختلف اثاثوں کے ل for اس کو بہتر بنایا جاسکتا ہے ، جس میں نظر ثانی کی مدت کو ایڈجسٹ کیا جاسکتا ہے اور مختلف فلٹرنگ شرائط کو مربوط کیا جاسکتا ہے۔ اس کے علاوہ ، تجارت کے خطرے کو کنٹرول کرنے کے لئے مختلف قسم کے خطرے کے انتظام کے طریقہ کار کو آسانی سے مربوط کیا جاسکتا ہے۔ اس حکمت عملی کو پیرامیٹرز کی اصلاح اور مشین لرننگ جیسی ٹیکنالوجیز کی تعارف کے ذریعہ ، مارکیٹ میں تبدیلیوں کے مطابق ڈھالنے کے لئے مستقل طور پر اپ گریڈ کیا جاسکتا ہے۔
/*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")