From 902eee1d67a1ef39f326559f94775531eaf26338 Mon Sep 17 00:00:00 2001 From: David Brazda Date: Sun, 30 Apr 2023 20:39:46 +0200 Subject: [PATCH] upravy gui --- testy/archive/alpacaGetHistoryBars.py | 35 +-- v2realbot/__pycache__/config.cpython-310.pyc | Bin 2779 -> 2779 bytes .../common/__pycache__/model.cpython-310.pyc | Bin 4830 -> 5996 bytes v2realbot/common/model.py | 30 +++ v2realbot/config.py | 2 +- v2realbot/controller/services.py | 18 +- v2realbot/main.py | 12 +- v2realbot/static/index.html | 209 ++++++++------ v2realbot/static/js/archivechart.js | 254 ++++++++++++++---- v2realbot/static/js/archivetables.js | 10 +- v2realbot/static/js/mytables.js | 3 +- v2realbot/static/js/realtimechart.js | 27 +- v2realbot/static/js/utils.js | 34 +++ v2realbot/static/main.css | 50 +++- 14 files changed, 515 insertions(+), 169 deletions(-) diff --git a/testy/archive/alpacaGetHistoryBars.py b/testy/archive/alpacaGetHistoryBars.py index 6de3710..32700b0 100644 --- a/testy/archive/alpacaGetHistoryBars.py +++ b/testy/archive/alpacaGetHistoryBars.py @@ -7,35 +7,38 @@ import time from alpaca.data import Quote, Trade, Snapshot, Bar from alpaca.data.models import BarSet, QuoteSet, TradeSet from alpaca.data.timeframe import TimeFrame -import mplfinance as mpf +# import mplfinance as mpf import pandas as pd - +from v2realbot.utils.utils import zoneNY +from v2realbot.config import ACCOUNT1_PAPER_API_KEY, ACCOUNT1_PAPER_SECRET_KEY parametry = {} # no keys required #client = CryptoHistoricalDataClient() -client = StockHistoricalDataClient(API_KEY, SECRET_KEY, raw_data=False) +client = StockHistoricalDataClient(ACCOUNT1_PAPER_API_KEY, ACCOUNT1_PAPER_SECRET_KEY, raw_data=False) datetime_object_from = datetime.datetime(2023, 2, 27, 18, 51, 38, tzinfo=datetime.timezone.utc) datetime_object_to = datetime.datetime(2023, 2, 27, 21, 51, 39, tzinfo=datetime.timezone.utc) -bar_request = StockBarsRequest(symbol_or_symbols="BAC",timeframe=TimeFrame.Hour, start=datetime_object_from, end=datetime_object_to, feed=DataFeed.SIP) +bar_request = StockBarsRequest(symbol_or_symbols="BAC",timeframe=TimeFrame.Minute, start=datetime_object_from, end=datetime_object_to, feed=DataFeed.SIP) -bars = client.get_stock_bars(bar_request).df +# bars = client.get_stock_bars(bar_request).df + +bars = client.get_stock_bars(bar_request) #bars = bars.drop(['symbol']) #print(bars.df.close) -bars = bars.tz_convert('America/New_York') -print(bars) -print(bars.df.columns) +#bars = bars.tz_convert('America/New_York') +print(bars.data["BAC"]) +#print(bars.df.columns) #Index(['open', 'high', 'low', 'close', 'volume', 'trade_count', 'vwap'], dtype='object') -bars.df.set_index('timestamp', inplace=True) +# bars.df.set_index('timestamp', inplace=True) -mpf.plot(bars.df, # the dataframe containing the OHLC (Open, High, Low and Close) data - type='candle', # use candlesticks - volume=True, # also show the volume - mav=(3,6,9), # use three different moving averages - figratio=(3,1), # set the ratio of the figure - style='yahoo', # choose the yahoo style - title='Prvni chart'); +# mpf.plot(bars.df, # the dataframe containing the OHLC (Open, High, Low and Close) data +# type='candle', # use candlesticks +# volume=True, # also show the volume +# mav=(3,6,9), # use three different moving averages +# figratio=(3,1), # set the ratio of the figure +# style='yahoo', # choose the yahoo style +# title='Prvni chart'); # #vrací se list od dict # print(bars["BAC"]) diff --git a/v2realbot/__pycache__/config.cpython-310.pyc b/v2realbot/__pycache__/config.cpython-310.pyc index db8f7b6a8ea0939026597a7c73a26b02dd40e6cb..63e3332e72ae1e84d88591022babc78dc6c17ec6 100644 GIT binary patch delta 182 zcmW-bI}*WA07YNq5y8t>{QnADumT!m%uwAzbrUlhOHjxLvIUlq<)qbQ2TG6Aol~76 zDk61Lsv$J1-Ja)6C3g$XMX>%f;Kmm1hXKzPTfqjKsbKR_fv>GarA=uI=)@-7SSFGl z{Zt}kfHp%!Y@@>nU3So;L_apJ0}R>4h&_yTozTMcUuW!N&H)xRotKo^=g>Np6+Kq| O_BQ#^cvtha^)kP|nJUx( delta 183 zcmW-bI}*WA07c(R9wEGZCI0_SSOJw8MXEbvG&js>EJ48rY=I?YIcYW7fzso2=TxUm z%0yqZc7@@(-}3O#$E$*O5_Fyte(tbwlL(q(BiN*S7j$nHLSrqqjkS$M)VWPBS4Tyk z!CfI{hz=tpjFGZ~E)(>aqMyt207G^$Vh>|eCsdgJ>x_NOIl!WB@{;M}vumv@%ZydO Oy&{wEn#_uo^RmAxwJS*g diff --git a/v2realbot/common/__pycache__/model.cpython-310.pyc b/v2realbot/common/__pycache__/model.cpython-310.pyc index 65d45649b7ddce15d50277ef0f5a40a0b1167e72..3759e126cf012eeaf7397d9b865b2055aaae7b9c 100644 GIT binary patch delta 2067 zcmZ`)&2Jk;6!$vbc>T3rf5a)lNv8Rb5`jXcN+6mMiVI;(y(WiH$Ew-W0Mr*A1=tIDt9 z&*{URq*-9oEc;x7rEG00VP{MohKTtJlB-CT#Wz|-xh}rfE-uwUkxgid zq2M>7$l+U6_@+2k=as)jF>{C5Q4+aP5)g$h`OH=VgB1@l)s$o&W)=^k0Cfz|#9S(q zfX(VyHsm}e6wQ~UTpP>fIKhheH?v?|!T4W8@;Z`j@ld+}nQUcWRc0a8jcXNDUqNya z$z-Wae;IYxkX%Qy3nZNOns=EM@EfSvL-MA$q+YnZ1MF@1e6$>uC@PYna!JGT`ffnh4tjy(xwP|+EZTc< z)!cr!2`$6`@StF)Xh1v*I?0(m>DSKJGR-p*|k2F8K7^$PcgKFFFe(Oku~v6m~D1f>wm8taCU$@OH6kVeWtVhbhcp ze?7w&(7_@Sf?m>%hV5C6Mg$m3s4pUsSdm94SiK2y8$KWR&L&cdR@4A5M{gdGlHbIi z|8y_cRMbOQ^`Us2UseuLDfV(@kt+PCnBteh0q6?)(kg{DUrbygqM*AGu1J?u;>i>7 zxmpvS=*1yZ;qCw&u~ie`pQ#d05l1x81CD?`1A1)?&soqTmgHbW98t~ucpmQ<74D?b zdc0#)xRcWHom2o>Hw{(-TfAg+^KzM0KtRCO0l<+*u-4%=!bJ$wx>=L@3h*j`R#j{l z>nW_7c(-^%<+qUgq4@qAcY)z$BoeS+M(!0P_ke^c+W|oCpe(z9X3_oCMb1UyVP|Gq zz=(*JBc%Jp!00SQGL^%&Sw@mXm$jokkFiukVdWDen;W1~5? hk7Iv0dgsSrG%LO>7nK$9Q@NfqjH)qb=tiMh`wtVN__zQ7 delta 990 zcmZWn&1(};5Z|}#CT};{@9d_nNs~6MSgHjTEn?zFt8Fdy1BwO~O7pR+)q{aGo>l18 zgA5)7u@_I?q#&NWn~UHv2f>R6@qf^n7qcMl@_swNd2im%%x``zeVaFXhM`ONyxP4U zO*=2l605#ntguXUWLsJ&9k$pTm3@HUnLFz|G~!HbPD-&7X>}>$p@rNQTo>F)_j7`~ z>3$x$9D2yJ@H#uC;N2DsvYSxlx0w&0^d)%9Co6N9NOGB=MzBJ#N^phXDtzZN&J>!u z#F@=#A%d?RXFo8-6VTI+DfkZq4zyy~7-#lRRBW?@s zr`#cq1-Q`Ar{@}!*#&}21S0wW^4{0au>h+)eO?@&Nn=F8qSjG`w6Tsb%=9`B;%-0L zAkQ^|O{{(*SVMCg*P~g4aT_?ab5m>$o~h--fz@H^7H-CH(y6g6a>BrJVc+@4Zb8Gn ziN5FV?0l1Mp%sXmY?jA{a>Vg#v!qGUYybyp0Nk^lL`sMX#;WL>T9;yuvyj1lD4~Xa zF8o>a>*(kB&HbGfCCsP$G%E_u()c{hiV~X0EfG(%VuW_=U@U24gl_DiZPgcv6a*nr zjL;W{NDw0ogx^J*rptrRUI~7B8^$o#Pufwu+wDDm*oWmpYqf<1CoX|UaF$@1pp7t8 zqWjqQ4sjt&mn@-EL{?02m$dM9(0qz(tcA>F$ogfrBYM8#zsudD!v;Z RunArchiveDetail: else: raise HTTPException(status_code=404, detail=f"No runner with id: {runner_id} a {set}") +#get alpaca history bars +@app.get("/history_bars/", dependencies=[Depends(api_key_auth)]) +def _get_alpaca_history_bars(symbol: str, datetime_object_from: datetime, datetime_object_to: datetime, timeframe_amount: int, timeframe_unit: TimeFrameUnit) -> list[Bar]: + res, set =cs.get_alpaca_history_bars(symbol, datetime_object_from, datetime_object_to, TimeFrame(amount=timeframe_amount,unit=timeframe_unit)) + if res == 0: + return set + else: + raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail=f"No data found") + #join cekej na dokonceni vsech for i in cs.db.runners: diff --git a/v2realbot/static/index.html b/v2realbot/static/index.html index b9bc884..0fbd44d 100644 --- a/v2realbot/static/index.html +++ b/v2realbot/static/index.html @@ -1,37 +1,57 @@ - - + + + + + + V2realbot - - + + + + + + + + + + + + + + + -
+
- -
Status: Not connected
-