add basic func to load paper_trades file

explicit_write_pps_on_exit
algorandpa 2023-01-13 01:14:47 +00:00 committed by jaredgoldman
parent 85a1b858b4
commit b67d020e23
2 changed files with 20 additions and 1 deletions

View File

@ -30,11 +30,12 @@ from typing import (
Callable,
)
import uuid
import os.path
from bidict import bidict
import pendulum
import trio
import tractor
import logging
from .. import data
from ..data._source import Symbol
@ -56,6 +57,7 @@ from ._messages import (
BrokerdError,
)
from ..config import load
log = get_logger(__name__)
@ -84,6 +86,17 @@ class PaperBoi(Struct):
last_ask: tuple[float, float] = (float('inf'), 0) # price, size
last_bid: tuple[float, float] = (0, 0)
def record_paper_trade(self):
try:
#create paper trades record
print('RECORDING PAPER TRADE')
config, path = load('paper_trades')
except Exception as Arguement:
logging.exception('ERROR RECORDING PAPER TRADE')
pass
async def submit_limit(
self,
oid: str, # XXX: see return value
@ -271,6 +284,7 @@ class PaperBoi(Struct):
dt=pendulum.from_timestamp(fill_time_s),
bsuid=key,
)
self.record_paper_trade()
pp.add_clear(t)
pp_msg = BrokerdPosition(

View File

@ -115,6 +115,7 @@ _conf_names: set[str] = {
'pps',
'trades',
'watchlists',
'paper_trades'
}
_watchlists_data_path = os.path.join(_config_dir, 'watchlists.json')
@ -212,6 +213,10 @@ def load(
# if one exists.
if os.path.isfile(template):
shutil.copyfile(template, path)
else:
# create an empty file
with open(path, 'x'):
pass
else:
with open(path, 'r'):
pass # touch it