گاوسی ایرر فنکشن پر مبنی مقداری تجارتی حکمت عملی


تخلیق کی تاریخ: 2024-01-19 14:28:03 آخر میں ترمیم کریں: 2024-01-19 14:28:03
کاپی: 1 کلکس کی تعداد: 647
1
پر توجہ دیں
1617
پیروکار

گاوسی ایرر فنکشن پر مبنی مقداری تجارتی حکمت عملی

جائزہ

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

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

اس حکمت عملی کا بنیادی اشارے پی سگنل ہے۔ پی سگنل کا حساب کتاب مندرجہ ذیل ہے:

fPSignal(ser, int) => 
    nStDev = stdev(ser, int)
    nSma = sma(ser, int)
    fErf(nStDev > 0 ? nSma/nStDev/sqrt(2) : 1.0)

یہاں ser قیمتوں کی ترتیب کی نمائندگی کرتا ہے، int پیرامیٹرز nPoints کی نمائندگی کرتا ہے، یعنی یہ دیکھنا ہے کہ کتنے روٹ K لائن ہیں۔ یہ فارمولا تین حصوں پر مشتمل ہے:

  1. nStDev قیمت کا معیاری فرق ہے؛
  2. nSma قیمتوں کی ایک سادہ منتقل اوسط ہے؛
  3. fErf Gaussian غلطی کی تقریب ہے۔

اس پورے فارمولے کا مطلب یہ ہے کہ قیمتوں کے متحرک اوسط کو قیمتوں کے معیاری فرق سے تقسیم کیا جائے ، پھر اس کو اسکوائرٹ ((2) سے تقسیم کیا جائے ، اور پھر اس کی نقشہ سازی کی جائے گیس کی خرابی کے فنکشن کے ذریعہ ((-1 ، 1) کی حد تک۔ یعنی اگر قیمتوں میں اتار چڑھاؤ اوسط سے زیادہ ہے تو ، پی سگنل قریب ہے۔ اگر قیمتوں میں اتار چڑھاؤ اوسط سے کم ہے تو ، پی سگنل قریب ہے۔

حکمت عملی P-Signal کی تعداد اور اس کی تبدیلیوں کے نشانات کو استعمال کرتی ہے تاکہ داخلہ اور باہر نکلنے کا فیصلہ کیا جاسکے:

strategy.entry("long", strategy.long, 1, when = nPSignal < 0 and ndPSignal > 0)  

strategy.close("long", when = nPSignal > 0 and ndPSignal < 0)

جب P-Signal 0 سے کم ہو اور مثبت ہو تو زیادہ کام کریں۔ جب P-Signal 0 سے زیادہ ہو اور منفی ہو تو فلیٹ پوزیشن

اسٹریٹجک فوائد

یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:

  1. Gaussian Error Function کا استعمال کرتے ہوئے قیمت کی تقسیم کو فٹ کریں۔ Gaussian Error Function ایک اچھی طرح سے عام تقسیم کو فٹ کرتی ہے ، جو زیادہ تر مالیاتی ٹائم سیریز کی تقسیم کی خصوصیات کے مطابق ہے۔
  2. قیمتوں کے معیاری فرق کا استعمال کرتے ہوئے پیرامیٹرز کو خود بخود ایڈجسٹ کریں۔ اس سے حکمت عملی کے پیرامیٹرز کی ایک وسیع رینج ہوتی ہے اور مارکیٹ میں تبدیلیوں کے ل more زیادہ ہوشیار ہوتی ہے۔
  3. پی سگنل اشارے میں رجحانات اور الٹ ٹریڈ کے فوائد شامل ہیں۔ اس میں قیمتوں میں اتار چڑھاؤ کے رجحانات اور قیمتوں میں الٹ پوائنٹس دونوں پر توجہ دی جاتی ہے ، جو رجحانات کی تجارت اور الٹ ٹریڈنگ کے مواقع کو پکڑنے میں مددگار ثابت ہوتا ہے۔

خطرے کا تجزیہ

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

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

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

اصلاح کی سمت

اس حکمت عملی میں مزید اصلاحات کی گنجائش موجود ہے۔

  1. فلٹرنگ کی شرائط کو شامل کریں تاکہ غلط سگنلوں سے بچا جاسکے۔ مثال کے طور پر ، دوسرے اشارے کے ساتھ مل کر ، AND یا OR شرائط کریں ، تاکہ شور کا کچھ حصہ فلٹر کیا جاسکے۔
  2. پیرامیٹرز کے مجموعے کو بہتر بنائیں۔ مختلف اقسام اور ادوار میں nPoints کے سائز کو ایڈجسٹ کریں ، حکمت عملی کی استحکام کو بہتر بنائیں۔
  3. متحرک پیرامیٹرز پر غور کریں۔ nPoints پیرامیٹرز کو مارکیٹ میں اتار چڑھاؤ کی حد کے مطابق خود کو ایڈجسٹ کرنے دیں ، جس سے حکمت عملی کی لچک کو بہتر بنایا جاسکے۔
  4. مشین لرننگ کے ساتھ مل کر۔ AI الگورتھم کا استعمال کرتے ہوئے پیرامیٹرز ، فلٹرنگ کی شرائط اور کثیر قسم کے انتخاب کو بہتر بنائیں۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-01-12 00:00:00
end: 2024-01-18 00:00:00
period: 1d
basePeriod: 1h
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/
// P-Signal Strategy © Kharevsky
// @version=4
// **********************************************************************************************************
strategy("P-Signal Strategy", precision = 3)
// Parameters and const of P-Signal.
nPoints = input(title = "Number of Bars", type = input.integer, defval = 9, minval = 4, maxval = 100, group = "Parameters of observation.")
int nIntr = nPoints - 1
// Horner's method for the error (Gauss) & P-Signal functions.
fErf(x) =>
    nT = 1.0/(1.0 + 0.5*abs(x))
    nAns = 1.0 - nT*exp(-x*x - 1.26551223 + 
     nT*( 1.00002368 + nT*( 0.37409196 + nT*( 0.09678418 + 
     nT*(-0.18628806 + nT*( 0.27886807 + nT*(-1.13520398 + 
     nT*( 1.48851587 + nT*(-0.82215223 + nT*( 0.17087277 ))))))))))
    x >= 0 ? nAns : -nAns
fPSignal(ser, int) => 
    nStDev = stdev(ser, int)
    nSma = sma(ser, int)
    fErf(nStDev > 0 ? nSma/nStDev/sqrt(2) : 1.0)
// Strat.
float nPSignal = sma(fPSignal(change(ohlc4), nIntr), nIntr)
float ndPSignal = sign(nPSignal[0] - nPSignal[1])
strategy.entry("long", strategy.long, 1, when = nPSignal < 0 and ndPSignal > 0)
strategy.close("long", when = nPSignal > 0 and ndPSignal < 0)
// Plotting. 
hline(+1.0, color = color.new(color.orange,70), linestyle = hline.style_dotted)
hline(-1.0, color = color.new(color.orange,70), linestyle = hline.style_dotted)
plot(nPSignal, color = color.blue, style = plot.style_line)
plot(strategy.position_size, color = color.white, style = plot.style_cross)
// Alerts.
if(strategy.position_size[0] > strategy.position_size[1])
    alert("P-Signal strategy opened the long position: " + syminfo.tickerid + " " + timeframe.period, alert.freq_once_per_bar)
if(strategy.position_size[0] < strategy.position_size[1])
    alert("P-Signal strategy closed the long position: " + syminfo.tickerid + " " + timeframe.period, alert.freq_once_per_bar)
// The end.