Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
|
|
| 1 |
import threading
|
| 2 |
import gym
|
| 3 |
import numpy as np
|
|
@@ -111,20 +112,30 @@ def run_model():
|
|
| 111 |
|
| 112 |
new_buy_signals = [(date, price, ema) for date, price, ema, action in zip(dates, prices, emas, actions) if action == 1 and date not in [signal[0] for signal in buy_signals]]
|
| 113 |
new_sell_signals = [(date, price, ema) for date, price, ema, action in zip(dates, prices, emas, actions) if action == 2 and date not in [signal[0] for signal in sell_signals]]
|
| 114 |
-
|
|
|
|
| 115 |
for signal in new_buy_signals:
|
| 116 |
-
if signal[0] not in [s[0] for s in buy_signals] and signal[0] not in [s[0] for s in sell_signals]:
|
| 117 |
buy_signals.append(signal)
|
| 118 |
|
| 119 |
|
| 120 |
for signal in new_sell_signals:
|
| 121 |
-
if signal[0] not in [s[0] for s in sell_signals] and signal[0] not in [s[0] for s in buy_signals]:
|
| 122 |
sell_signals.append(signal)
|
| 123 |
-
|
| 124 |
-
buy_signals_data = [{'timestamp': signal[0].strftime('%Y-%m-%d %H:%M:%S'), 'type': 'b', 'price': round(signal[1], 2), 'ema': round(signal[2],2)} for signal in buy_signals]
|
| 125 |
-
sell_signals_data = [{'timestamp': signal[0].strftime('%Y-%m-%d %H:%M:%S'), 'type': 's', 'price': round(signal[1], 2), 'ema': round(signal[2],2)} for signal in sell_signals]
|
| 126 |
|
| 127 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 128 |
|
| 129 |
ref.child('signals').child('data').set(all_signals_data)
|
| 130 |
time.sleep(3600)
|
|
|
|
| 1 |
+
import pytz
|
| 2 |
import threading
|
| 3 |
import gym
|
| 4 |
import numpy as np
|
|
|
|
| 112 |
|
| 113 |
new_buy_signals = [(date, price, ema) for date, price, ema, action in zip(dates, prices, emas, actions) if action == 1 and date not in [signal[0] for signal in buy_signals]]
|
| 114 |
new_sell_signals = [(date, price, ema) for date, price, ema, action in zip(dates, prices, emas, actions) if action == 2 and date not in [signal[0] for signal in sell_signals]]
|
| 115 |
+
new_hold_signals = [(date, price, ema) for date, price, ema, action in zip(dates, prices, emas, actions) if action == 0 and date not in [signal[0] for signal in hold_signals]]
|
| 116 |
+
|
| 117 |
for signal in new_buy_signals:
|
| 118 |
+
if signal[0] not in [s[0] for s in buy_signals] and signal[0] not in [s[0] for s in sell_signals] and signal[0] not in [s[0] for s in hold_signals]:
|
| 119 |
buy_signals.append(signal)
|
| 120 |
|
| 121 |
|
| 122 |
for signal in new_sell_signals:
|
| 123 |
+
if signal[0] not in [s[0] for s in sell_signals] and signal[0] not in [s[0] for s in buy_signals] and signal[0] not in [s[0] for s in hold_signals]:
|
| 124 |
sell_signals.append(signal)
|
|
|
|
|
|
|
|
|
|
| 125 |
|
| 126 |
+
for signal in new_hold_signals:
|
| 127 |
+
if signal[0] not in [s[0] for s in hold_signals] and signal[0] not in [s[0] for s in buy_signals] and signal[0] not in [s[0] for s in sell_signals]:
|
| 128 |
+
hold_signals.append(signal)
|
| 129 |
+
|
| 130 |
+
pkt = pytz.timezone('Asia/Karachi')
|
| 131 |
+
|
| 132 |
+
buy_signals_data = [{'timestamp': signal[0].astimezone(pkt).strftime('%Y-%m-%d %H:%M:%S'), 'type': 'b', 'price': round(signal[1], 2), 'ema': round(signal[2],2)} for signal in buy_signals]
|
| 133 |
+
sell_signals_data = [{'timestamp': signal[0].astimezone(pkt).strftime('%Y-%m-%d %H:%M:%S'), 'type': 's', 'price': round(signal[1], 2), 'ema': round(signal[2],2)} for signal in sell_signals]
|
| 134 |
+
hold_signals_data = [{'timestamp': signal[0].astimezone(pkt).strftime('%Y-%m-%d %H:%M:%S'), 'type': 'h', 'price': round(signal[1], 2), 'ema': round(signal[2],2)} for signal in hold_signals]
|
| 135 |
+
|
| 136 |
+
|
| 137 |
+
all_signals_data = buy_signals_data + sell_signals_data + hold_signals_data
|
| 138 |
+
all_signals_data.sort(key=lambda x: x['timestamp'], reverse=True)
|
| 139 |
|
| 140 |
ref.child('signals').child('data').set(all_signals_data)
|
| 141 |
time.sleep(3600)
|