چگونه می توانم این پرس و جو postgresql را برای محاسبه "نشانگر aroon" بهبود ببخشم

ساخت وبلاگ

من در حال تلاش برای نوشتن یک پرس و جو postgresql برای محاسبه "شاخص آرون" داده های شمعدانی مالی هستم. تمام تلاشهای دیگر من در مورد سایر معیارهای تحلیل فنی در همان مجموعه داده ها به سرعت اجرا شده است ، اما این پرس و جو در 50 ثانیه اجرا می شود. من فکر می کنم باید برخی از کارآیی هایی که از دست داده ام وجود داشته باشد. به زبان انگلیسی ساده "نشانگر آرون" بر اساس مدت زمان محاسبه می شود زیرا یک امنیت یا شاخص خاص به بالاترین سطح اخیر رسیده است. "بنابراین برای یک دوره 25 روزه ، فرمول ((25 - (number_of_days_since_the_high_in_in_last_25 روز)) / 25) * 100. در اینجا پرس و جو است که من نوشتم که به نظر می رسد کار می کند ، اما کند است:

WITH crypto_w_row_num AS ( SELECT *, ROW_NUMBER() OVER(PARTITION BY symbol, granularity ORDER BY period DESC) as row_num FROM crypto ) SELECT c1.*, c2.price_high, ((25 - (c1.row_num - c2.row_num)) / 25.0) * 100 AS aroon_bullish, ((25 - (c1.row_num - c3.row_num)) / 25.0) * 100 AS aroon_bearish FROM crypto_w_row_num c1 LEFT JOIN LATERAL ( SELECT * FROM crypto_w_row_num WHERE row_num>c1. Row_num - 25 و row_num c1. Row_num - 25 و row_num

قبل از اینکه استراتژی های نمایه سازی را برای سرعت بخشیدن به این کار کشف کنم ، آیا روشی اساساً متفاوت وجود دارد که باید به این امر نزدیک شوم؟جدول DDL:

ایجاد جدول رمزنگاری (دوره زمانی دوره ای بدون منطقه زمانی ، شخصیت نماد متفاوت ، شخصیت دانه ای متفاوت ، عددی قیمت ، عددی Price_high ، عددی ، قیمت_پن ، عددی ، عددی ، عددی حجم ، محدودیت crypto_pkey کلید اصلی (دوره ، نماد ، دانه بندی)) ؛ 

مثال داده ها:

وارد "عمومی" شوید. "Crypto" ("دوره" ، "نماد" ، "گرانشی" ، "Price_low" ، "Price_High" ، "Price_open" ، "EE 09 11: 10: 00" ، E'Shib-USD " ، e'300 '، 0. 00001،0. 0000139999999999999999999999999993611248) ، (E'2021-09-09 11: 15: 00' ، E'shib- USD ، E'300 '، 0. 0000081،0. 0000003111. 0. 0000001. 000001. 00000005 09 11: 30: 00 ', e'Shib-USD', E'300 ', 0. 00000738, 0 Shib-USD ', E'300', 0. 00000725, 0 0. 0000074, 0. 00000732, 0 2021-09-09 11: 50: 00 '، E'Shib-USD' ، E'300 '، 0. 00000746،0. 0000155. 0. 00000. 000000123،5473938548) ، (E'2021-09-09 11:00 E'Shib-USD' ، E'300 '، 0. 00000999 ، 0. 0000155،0 0. 00001152،0. 0000579،0 E'2021-09-09 12: 10: 00 '، E'shib-USD ، E'300 ، 0. 000032،0005،0. 000035. 000035،0 ، E'Shib- USD '، E'300' ، 0. 000035،0. 0000429،0 ، 0. 0000206،0. 00003799. 0. 000035،0003499،54289742296) ، (E'2021-09-09 12: 25: 00 '، E'shib-USD ، E'30000 ، E'300 ، E'300 ، E'300 ، E'300 ، E'300 ، E'300 ، E'300 ', 0. 000027, 0 , (E'2021-09-09 12: 30: 00 ', E'Shib-USD', E'300 ', 0. 000025, 00000379999999. 00002701, 0 : 00 ', e'Shib-USD', E '300' ، 0. 00003442،0. 000045،0 '300' ، 0. 00003481،0. 00004512،0 62897590107) ، (E'2021-09-09 12: 50: 50: 50: 50: E'SHIB-USD '، E'300' ، 0. 00005. 0000578،0. 000055. 000047،49398283) ، (E'2021-09 12: 55: 00 '، E'Shib-USD' ، E'300 '، 0. 000041،0 ، E'300' ، 0. 000048،0. 006،000،000005880101 ، 4341455146) ، (E'2021-09-09 13: 05: 00 '، E'Shib-USD' ، E'300 '، 0. 00006985،86353267664) ، (E'2021-09-09-09 13:1010 : 00 '، 

E'shib-USD '، E'300' ، 0. 0000671،00085،0. 00006983،0 0. 00006455،0. 00008148،0 E'2021-09-09 13: 25: 00 '، E'shib-USD ، E'300' ، 0. 0000651444 ، 0 '، e'shib-USD' ، e'300 '، 0. 00005004،0. 000066،0. 00006541،0. 00005012،24877546170) ، (e'2021-09-09 13: 35: 00' ، e'shib-usd '' ، e e e'shib-usd '، e e. '300' ، 0. 00005،0. 00005808،0. 00005029،0. 00005807،20687029957) ؛

  • پیشاپیش Thaks!
  • پس از
خبرهای فارکس...
ما را در سایت خبرهای فارکس دنبال می کنید

برچسب : نویسنده : شهره لرستانی بازدید : 37 تاريخ : سه شنبه 24 مرداد 1402 ساعت: 8:31