یہ حکمت عملی قیمت کو فٹ لائنوں کے ذریعے توڑنے پر تجارتی سگنل پیدا کرنے کے لئے بار کے اعلی / کم نکات پر ایک مربع منحنی خطوط کو فٹ کرتی ہے۔ یہ بریک آؤٹ ٹریڈنگ کے لئے ریاضیاتی طور پر اہم سپورٹ / مزاحمت کی سطح کی نشاندہی کرنے کی کوشش کرتا ہے۔
اہم اجزاء اور قواعد یہ ہیں:
مربع رجعت کا استعمال کرتے ہوئے اعلی / کم پوائنٹس پر وکر فٹنگ.
اوپر کی بینڈ کے اوپر قریبی وقفے جب خریدنے کے سگنل.
جب قریب کم بینڈ سے نیچے ٹوٹ جاتا ہے تو سگنل فروخت کریں.
غلط وقفے سے بچنے کے لئے N مدت کی تصدیق.
کوئی فکسڈ باہر نکلنے کے قوانین، بیک ٹیسٹنگ کے ذریعے باہر نکلنے کو بہتر بنائیں.
یہ حکمت عملی اہم قیمتوں کو ریاضیاتی طور پر شناخت کرنے کی کوشش کرتی ہے اور بریکآؤٹس کی تجارت کرتی ہے ، ایک عام بریکآؤٹ سسٹم۔
دیگر بریک آؤٹ سسٹم کے مقابلے میں، اہم فوائد یہ ہیں:
ریاضی کی فٹنگ ذہنی فیصلے سے زیادہ معروضی ہے۔
تکنیکی تجزیہ اور شماریاتی ماڈلز کو یکجا کرنے والا نیا نقطہ نظر۔
کثیر دورانیہ کی تصدیق سے جھوٹے وقفے سے بچنے کے لئے.
بیک ٹسٹنگ سے باہر نکلنے اور انتظار کی مدت کو بہتر بنایا جاسکتا ہے۔
لچکدار ایڈجسٹمنٹ کے ساتھ لاگو کرنے کے لئے آسان.
ماڈل دستی مداخلت کے بغیر خود کار طریقے سے اپ ڈیٹ کیا جاتا ہے.
مصنوعات اور ٹائم فریموں میں پیرامیٹر استحکام کی جانچ کرسکتا ہے۔
مشین لرننگ کے ساتھ مزید بہتر بنانے کی صلاحیت.
مجموعی طور پر نئی نقطہ نظر کے ساتھ تلاش کی قدر.
تاہم، خطرات یہ ہیں:
فٹنگ کی کارکردگی پیرامیٹر کی ترتیب پر منحصر ہے، اوور فٹنگ کا خطرہ.
منسلک لائنوں تاخیر، مکمل طور پر نقصانات سے بچنے کے لئے نہیں کر سکتے ہیں.
حجم کی تصدیق نہیں، پھنس جانے کا خطرہ ہے.
اعداد و شمار کی ثالثی مستقل الفا کے لئے ایک چیلنج ہے.
محدود بیک ٹیسٹ کی مدت، استحکام کی تصدیق کرنے کی ضرورت ہے.
کثیر مارکیٹ موافقت کو توثیق کی ضرورت ہے.
مقررہ سائز میں متحرک ایڈجسٹمنٹ کی کمی ہے۔
فائدہ/خطر کے تناسب کا سخت جائزہ لینے کی ضرورت ہے۔
تجزیہ کی بنیاد پر، بہتری میں شامل ہوسکتا ہے:
مارکیٹ کے نظام میں پیرامیٹرز کی مضبوطی کی جانچ کریں۔
حجم کی تصدیق کے اشارے شامل کریں.
اعلی معیار کے سگنل کے لئے انٹری / آؤٹ پٹ منطق کو بہتر بنائیں.
متحرک پوزیشن سائزنگ ماڈل بنائیں.
نقصانات کو محدود کرنے کے لئے رکاوٹوں کو شامل کریں.
خطرے کے انتظام کی حکمت عملی کو بہتر بنائیں.
رولنگ ونڈو بیک ٹیسٹ کی توثیق.
کثیر مارکیٹ کے استحکام کا اندازہ کریں.
ماڈل کی اصلاح کے لئے مشین لرننگ کا فائدہ اٹھائیں.
خلاصہ یہ ہے کہ اس حکمت عملی میں کچھ جدید قدر اور تجرباتی خوبی ہے۔ لیکن شماریاتی ثالثی کی طویل مدتی پائیداری ابھی تک ثابت نہیں ہوئی ہے۔ مضبوطی ، خطرہ / انعام پر جامع نمونہ ٹیسٹنگ ضرورت سے زیادہ فٹ ہونے اور موافقت کو برقرار رکھنے کی کلید ہے۔
/*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=4 // // ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ // strategy(title = " Strategy Quadratic Semaphore ", shorttitle = "SQS", overlay = true, precision = 8, calc_on_order_fills = true, calc_on_every_tick = true, backtest_fill_limits_assumption = 0, default_qty_type = strategy.fixed, default_qty_value = 2, initial_capital = 10000, pyramiding=5, currency = currency.USD, linktoseries = true) // // ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ // backTestSectionFrom = input(title = "═══════════════ From ═══════════════", defval = true, type = input.bool) FromMonth = input(defval = 1, title = "Month", minval = 1) FromDay = input(defval = 1, title = "Day", minval = 1) FromYear = input(defval = 2019, title = "Year", minval = 2014) backTestSectionTo = input(title = "════════════════ To ════════════════", defval = true, type = input.bool) ToMonth = input(defval = 31, title = "Month", minval = 1) ToDay = input(defval = 12, title = "Day", minval = 1) ToYear = input(defval = 9999, title = "Year", minval = 2014) Config = input(title = "══════════════ Config ══════════════", defval = true, type = input.bool) p = input(6) length = input(30) // backTestPeriod() => (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)) // // // ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ // x1 = bar_index x2 = sqrt(x1) y = high // S11 = sum(x2,length) - sqrt(sum(x1,length)) / length S12 = sum(x1*x2,length) - (sum(x1,length) * sum(x2,length)) / length S22 = sum(sqrt(x2),length) - sqrt(sum(x2,length)) / length Sy1 = sum (y*x1,length) - (sum(y,length) * sum(x1,length)) / length Sy2 = sum (y*x2,length) - (sum(y,length) * sum(x2,length)) / length // max1 = sma(x1,length) max2 = sma(x2,length) may = sma(y,length) b2 = ((Sy1 * S22) - (Sy2*S12))/(S22*S11 - sqrt(S12)) b3 = ((Sy2 * S11) - (Sy1 * S12))/(S22 * S11 - sqrt(S12)) b1 = may - b2*max1 - b3*max2 qr = b1 + b2*x1 + b3*x2 // yl = low // Sy1l = sum(yl*x1,length) - (sum(yl,length) * sum(x1,length)) / length Sy2l = sum(yl*x2,length) - (sum(yl,length) * sum(x2,length)) / length // mayl = sma(yl,length) b2l = ((Sy1l * S22) - (Sy2l*S12))/(S22*S11 - sqrt(S12)) b3l = ((Sy2l * S11) - (Sy1l * S12))/(S22 * S11 - sqrt(S12)) b1l = mayl - b2l*max1 - b3l*max2 qrl = b1l + b2l*x1 + b3l*x2 // period = round(p/2)+1 hh = qr[period] ll = qrl[period] countH = 0 countL = 0 buy=0 sell=0 // for i = 1 to period-1 if qr[i]<hh countH:=countH+1 if qrl[i]>ll countL:=countL+1 for i = period+1 to p+1 if qr[i]<hh countH:=countH+1 if qrl[i]>ll countL:=countL+1 if countH==p pivotH = high[period] buy := 1 if countL==p pivotL = low[period] sell := 1 // plotshape(buy == 1 , text='💣', style=shape.arrowup, location=location.belowbar, color=#32CD32, textcolor=color.white, offset=0, transp=0,size=size.auto) plotshape(sell == 1 , text='🔨', style=shape.arrowdown, location=location.abovebar, color=#FF0000, textcolor=color.white, offset=0, transp=0,size=size.auto) // if (backTestPeriod()) strategy.entry("long", true, 1, when = buy == 1) strategy.entry("short", false, 1, when = sell == 1)