From 012d194de9ea18381fa97cf219bc740ff2820be2 Mon Sep 17 00:00:00 2001 From: David Brazda Date: Tue, 29 Aug 2023 15:24:33 +0200 Subject: [PATCH] minor upravy --- v2realbot/ENTRY_ClassicSL_v01.py | 14 +++++++++++--- v2realbot/__pycache__/config.cpython-310.pyc | Bin 2952 -> 2952 bytes .../trade_offline_streamer.cpython-310.pyc | Bin 4969 -> 5030 bytes v2realbot/loader/trade_offline_streamer.py | 10 ++++++++-- v2realbot/main.py | 2 +- v2realbot/static/js/utils.js | 3 ++- 6 files changed, 22 insertions(+), 7 deletions(-) diff --git a/v2realbot/ENTRY_ClassicSL_v01.py b/v2realbot/ENTRY_ClassicSL_v01.py index 6e7cb54..21ca187 100644 --- a/v2realbot/ENTRY_ClassicSL_v01.py +++ b/v2realbot/ENTRY_ClassicSL_v01.py @@ -498,10 +498,18 @@ def next(data, state: StrategyState): lookbacktime = state.bars.time[-slope_lookback] else: #kdyz neni dostatek hodnot, pouzivame jako levy bod open hodnotu close[0] - #lookbackprice = state.bars.close[0] - + lookbackprice = state.bars.vwap[0] + + #pokud neni dostatek, bereme vzdy petinu ze stávajících barů + # cnt = len(state.bars.close) + # if cnt>5: + # sliced_to = int(cnt/5) + # lookbackprice= Average(state.bars.vwap[:sliced_to]) + + # else: + # lookbackprice = state.bars.vwap[0] #update -- lookback je pole z toho co mame - lookbackprice = Average(state.bars.vwap) + #lookbackprice = Average(state.bars.vwap) lookbacktime = state.bars.time[0] state.ilog(e=f"IND {name} slope - not enough data bereme left bod open", slope_lookback=slope_lookback) diff --git a/v2realbot/__pycache__/config.cpython-310.pyc b/v2realbot/__pycache__/config.cpython-310.pyc index 4bef1514995e4b9268223f655c8122538ab0161f..05413bb0d6ab931ad90d878116f7c65bbf1ad4a0 100644 GIT binary patch delta 20 acmeAW?-1wC=jG*M00OsHZ#Qz+asvP`c?CWI delta 20 ZcmeAW?-1wC=jG*M00IN|=Nq|exdAKh1b+Yk diff --git a/v2realbot/loader/__pycache__/trade_offline_streamer.cpython-310.pyc b/v2realbot/loader/__pycache__/trade_offline_streamer.cpython-310.pyc index 7660575331f25fecad4320d6ca4ecc0af427f38c..d443c48efbd5d559345dcc9c7bbf156032e62942 100644 GIT binary patch delta 989 zcmZ9LTWb?R6vyXmw#hcxY<9P4H|Z_C*V>EJ2gN&RwctZruqqX6iJeHBwp)`-TP(8# zS@5AyEv$$j%H~C1L@2?J;DaAPlz@*475xsL*-~5FVRp})IrBfiIWxQ0_qJbKjmM(| zpP^rW=%c<}Z7d?GvNs+14C`LIaw%r8MjE5)Hl&DmOUabqFhb)l04dyOORFrL&g(1SL>VbllPj(Son!4wnWp8ih|8teI>n?ge;Gaky+P?vp$rI zivl|uMznBE?3`LoV&9KZwxi>o)Wbt!{amN5V$DDP#~2Y0_&?cY!GD>nnEoYg!_f9L zSqB`wpqZni9VjdaJa)_y4qR-mxU6J=_hCQd@gAIb)NGD3Vo(N0kTgv1IJ7O>yMi$-WyP#2LTxN<=v<7gt< zeUJ#Fdqgy@{egC`u<;ADkAa&Yd5MA`rsM`0=&xRkt%1Im#6MsFYLS&idyVBvURC|t zwg>3EHoY0!$S$(E2dl-o!iCMq)Z~?`(`P%pckw4M;*DrqQZZHisGWg^2@Jmzp3f~W z&*fK~$X6<34 z2Mm!o@nkgHi+APX(Ref7yqJ)1GST$xKj51pLfpyhzW3(6?|k0uyc?+X+Z&b@CHQ>2 z_lr*Ty|<^r%1>3yhQB~TwCj^%Lr+&;F+vR=fRrAvCazE|LwulSim)cu%tOU^kg8(D zhZH#zO`M5ZDdL40;bE!5($r3&jWL~NiY-Aa*Q-$e!Qxz}F<*I+@FFZ5wDCw4yeK0T z>TumxfXop}G#tJP#MQ^i=Fv9F$uW=9onh_Aa1se;g2wk$&)}rk5p;6nSd1o4R;7xx zSy#|qB|#5stb#^VvP$-$9Fz5RtJ%GbTe}T-21!ZpX6u}d$Z6L(dwCQ||Hq4rqs->0 z_!LQ3$`iE7GhKx?dnU@HxcORnqew9xog#}*Jd5?Ah$WBJvoRyhZP_o)c(LO+X03P* zc4D%A?$8#Q`H$7bxK(HU;7Zi1+{6x^(pJpOX2|0TpzG7Nzi!>zhf+>Lv4LRlR8s!2 zD##5c2x7GJ7_|{aLr_u-OF#s%yf_;QhIu>~VduExLlp;Lx23n3pSei9m{dPi?XB}^ z2=N(3J7nKTsmLUpH}Fys+9_-!HTh4LcAd!LTDPpg%x`G-NE^REdl~qos8Eo2l-wsn zeFxOo0#P%+w_TszF}Cw7Z0X@fd8u?|Cwyn-+Vt$D&KlrV7f04J7!}msJ@{>3faFb# z^2nYeoJyRl#`Wn I;#PA04+Jma+W-In diff --git a/v2realbot/loader/trade_offline_streamer.py b/v2realbot/loader/trade_offline_streamer.py index 2155828..2bf6d80 100644 --- a/v2realbot/loader/trade_offline_streamer.py +++ b/v2realbot/loader/trade_offline_streamer.py @@ -106,6 +106,8 @@ class Trade_Offline_Streamer(Thread): print(day.close) #make it offset aware day.open = day.open.replace(tzinfo=zoneNY) + #add 20 minutes of premarket + day.open = day.open - timedelta(minutes=20) day.close = day.close.replace(tzinfo=zoneNY) ##pokud datum do je mensi day.open, tak tento den neresime @@ -155,7 +157,9 @@ class Trade_Offline_Streamer(Thread): #protze mi chodi data jen v main sessione, pak jediné, kdy nečekáme na Q, je když time_from je větší než day.open # (např. požadovaná start až od 10:00) - if self.time_from > day.open: + + #docasne disablujeme wait for queue, aby nam mohl jit i premarket + if self.time_from > day.open or 1==1: wait_for_q = False else: wait_for_q = True @@ -177,7 +181,9 @@ class Trade_Offline_Streamer(Thread): #pokud je start_time < trade < end_time #datetime.fromtimestamp(parse_alpaca_timestamp(t['t'])) ##ic(t['t']) - if self.time_from < to_datetime(t['t']) < self.time_to: + + #poustime i 20 minut premarketu pro presnejsi populaci slopu v prvnich minutech + if self.time_from - timedelta(minutes=20) < to_datetime(t['t']) < self.time_to: #poustime dal, jinak ne if wait_for_q: #cekame na Q nebo na O (nekterym dnum chybelo Q) diff --git a/v2realbot/main.py b/v2realbot/main.py index 669a4aa..9c51c97 100644 --- a/v2realbot/main.py +++ b/v2realbot/main.py @@ -93,7 +93,7 @@ async def get(username: Annotated[str, Depends(get_current_username)]): @app.websocket("/runners/{runner_id}/ws") async def websocket_endpoint( - *, + *, websocket: WebSocket, runner_id: str, api_key: Annotated[str, Depends(get_api_key)], diff --git a/v2realbot/static/js/utils.js b/v2realbot/static/js/utils.js index c06302b..32dab65 100644 --- a/v2realbot/static/js/utils.js +++ b/v2realbot/static/js/utils.js @@ -36,7 +36,8 @@ indConfig = [ {name: "ema", titlevisible: false, embed: true, display: true, pri {name: "slope30MA", titlevisible: true, embed: true, display: true, priceScaleId: "left", lastValueVisible: false}, {name: "slopeLP", titlevisible: true, embed: true, display: true, priceScaleId: "left", lastValueVisible: false}, {name: "slopeMA", titlevisible: true, embed: true, display: true, priceScaleId: "left", lastValueVisible: false}, - {name: "slopeLPMA", titlevisible: true, embed: true, display: true, priceScaleId: "left", lastValueVisible: false}, + {name: "slope720", titlevisible: true, embed: true, display: true, priceScaleId: "left", lastValueVisible: false}, + {name: "slope720MA", titlevisible: true, embed: true, display: true, priceScaleId: "left", lastValueVisible: false}, {name: "slow_slope", titlevisible: true, embed: true, display: false, priceScaleId: "left", lastValueVisible: false}, {name: "slow_slopeMA", titlevisible: true, embed: true, display: true, priceScaleId: "left", lastValueVisible: false}, {name: "emaSlow", titlevisible: true, embed: true, display: true, priceScaleId: "right", lastValueVisible: false},