Add piker chart command

its_happening
Tyler Goodlet 2020-06-10 13:56:09 -04:00
parent 489e8c226f
commit 0d06dbbefa
3 changed files with 35 additions and 22 deletions

View File

@ -1,9 +1,11 @@
""" """
Console interface to UI components. Console interface to UI components.
""" """
from datetime import datetime
from functools import partial from functools import partial
import os import os
import click import click
import trio
import tractor import tractor
from ..cli import cli from ..cli import cli
@ -102,3 +104,33 @@ def optschain(config, symbol, date, tl, rate, test):
loglevel=loglevel if tl else None, loglevel=loglevel if tl else None,
start_method='forkserver', start_method='forkserver',
) )
@cli.command()
@click.option('--tl', is_flag=True, help='Enable tractor logging')
@click.option('--date', '-d', help='Contracts expiry date')
@click.option('--test', '-t', help='Test quote stream file')
@click.option('--rate', '-r', default=1, help='Logging level')
@click.argument('symbol', required=True)
@click.pass_obj
def chart(config, symbol, date, tl, rate, test):
"""Start an option chain UI
"""
from .qt._exec import run_qtrio
from .qt._chart import QuotesTabWidget
from .qt.quantdom.base import Symbol
from .qt.quantdom.loaders import get_quotes
async def plot_symbol(widgets):
qtw = widgets['main']
s = Symbol(ticker=symbol, mode=Symbol.SHARES)
get_quotes(
symbol=s.ticker,
date_from=datetime(1900, 1, 1),
date_to=datetime(2030, 12, 31),
)
# spawn chart
qtw.update_chart(s)
await trio.sleep_forever()
run_qtrio(plot_symbol, (), QuotesTabWidget)

View File

@ -0,0 +1,3 @@
"""
Super hawt Qt UI components
"""

View File

@ -5,7 +5,6 @@ Run ``trio`` in guest mode on top of the Qt event loop.
All global Qt runtime settings are mostly defined here. All global Qt runtime settings are mostly defined here.
""" """
import traceback import traceback
from datetime import datetime
import PyQt5 # noqa import PyQt5 # noqa
from pyqtgraph import QtGui from pyqtgraph import QtGui
@ -15,10 +14,6 @@ import qdarkstyle
import trio import trio
from outcome import Error from outcome import Error
from _chart import QuotesTabWidget
from quantdom.base import Symbol
from quantdom.loaders import get_quotes
# Taken from Quantdom # Taken from Quantdom
class MainWindow(QtGui.QMainWindow): class MainWindow(QtGui.QMainWindow):
@ -98,20 +93,3 @@ def run_qtrio(
window.setCentralWidget(instance) window.setCentralWidget(instance)
window.show() window.show()
app.exec_() app.exec_()
async def plot_aapl(widgets):
qtw = widgets['main']
s = Symbol(ticker='AAPL', mode=Symbol.SHARES)
get_quotes(
symbol=s.ticker,
date_from=datetime(1900, 1, 1),
date_to=datetime(2030, 12, 31),
)
# spawn chart
qtw.update_chart(s)
await trio.sleep_forever()
if __name__ == '__main__':
run_qtrio(plot_aapl, (), QuotesTabWidget)