Add piker chart command
							parent
							
								
									b670af484c
								
							
						
					
					
						commit
						2ad3b6f080
					
				|  | @ -1,9 +1,11 @@ | |||
| """ | ||||
| Console interface to UI components. | ||||
| """ | ||||
| from datetime import datetime | ||||
| from functools import partial | ||||
| import os | ||||
| import click | ||||
| import trio | ||||
| import tractor | ||||
| 
 | ||||
| from ..cli import cli | ||||
|  | @ -103,3 +105,33 @@ def optschain(config, symbol, date, tl, rate, test): | |||
|         loglevel=loglevel if tl else None, | ||||
|         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) | ||||
|  |  | |||
|  | @ -0,0 +1,3 @@ | |||
| """ | ||||
| Super hawt Qt UI components | ||||
| """ | ||||
|  | @ -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. | ||||
| """ | ||||
| import traceback | ||||
| from datetime import datetime | ||||
| 
 | ||||
| import PyQt5  # noqa | ||||
| from pyqtgraph import QtGui | ||||
|  | @ -15,10 +14,6 @@ import qdarkstyle | |||
| import trio | ||||
| from outcome import Error | ||||
| 
 | ||||
| from _chart import QuotesTabWidget | ||||
| from quantdom.base import Symbol | ||||
| from quantdom.loaders import get_quotes | ||||
| 
 | ||||
| 
 | ||||
| # Taken from Quantdom | ||||
| class MainWindow(QtGui.QMainWindow): | ||||
|  | @ -98,20 +93,3 @@ def run_qtrio( | |||
|     window.setCentralWidget(instance) | ||||
|     window.show() | ||||
|     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) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue