BetaTrader
A HFT Eco-System
Loading...
Searching...
No Matches
App.h
Go to the documentation of this file.
1#pragma once
2
11#include "orderbook/OrderBook.h"
15#include <asio.hpp>
16
17#include <thread>
18#include <memory>
19
20namespace client_app {
21
26class App {
27public:
28 App();
29 ~App();
30
34 int run();
35
36private:
43
46
47 std::unique_ptr<orderbook::OrderBook> mOrderBook;
48 std::unique_ptr<ohlc::CandleAggregator> mAggregator;
49 std::unique_ptr<simulator::StochasticSimulator> mSimulator;
50 std::unique_ptr<data::MarketHistoryRepository> mHistoryRepo;
51
52 asio::io_context mIoCtx;
53
54 asio::executor_work_guard<asio::io_context::executor_type> mWork;
55 std::thread mNetworkThread;
56
57 std::shared_ptr<fix_client::FixClientSession> mFixSession;
58
59 bool mLogicInitialized = false;
62};
63
64} // namespace client_app
Manages the lifecycle of a local Exchange instance (TradingCore + FixServer).
Definition ExchangeManager.h:17
ImGui panel for controlling and monitoring the internal exchange state.
Definition ExchangePanel.h:13
Coordinates the lifecycle of the network and UI threads.
Definition App.h:26
void initLogic(trading_core::TradingCore &core)
Definition App.cpp:91
asio::io_context mIoCtx
Definition App.h:52
~App()
Definition App.cpp:17
bool mLogicInitialized
Definition App.h:59
App()
Definition App.cpp:7
client_ui::UIManager mUI
Definition App.h:37
asio::executor_work_guard< asio::io_context::executor_type > mWork
Definition App.h:54
admin::ExchangeManager mExchMgr
Definition App.h:44
std::unique_ptr< data::MarketHistoryRepository > mHistoryRepo
Definition App.h:50
std::thread mNetworkThread
Definition App.h:55
std::shared_ptr< fix_client::FixClientSession > mFixSession
Definition App.h:57
std::unique_ptr< ohlc::CandleAggregator > mAggregator
Definition App.h:48
client_ui::SimulatorPanel mSimPanel
Definition App.h:41
client_ui::OrderBookPanel mBookPanel
Definition App.h:42
int run()
Entry point that runs the application until closure.
Definition App.cpp:28
client_ui::ChartPanel mChartPanel
Definition App.h:40
client_ui::ConnectionPanel mConnPanel
Definition App.h:38
trading_core::TradingCore * mCurrentCore
Definition App.h:60
admin::ExchangePanel mExchPanel
Definition App.h:45
std::unique_ptr< orderbook::OrderBook > mOrderBook
Definition App.h:47
std::unique_ptr< simulator::StochasticSimulator > mSimulator
Definition App.h:49
client_ui::TradingPanel mTradingPanel
Definition App.h:39
Renders OHLC candlestick charts using ImPlot.
Definition ChartPanel.h:14
Provides a Dear ImGui interface for managing the FIX connection.
Definition ConnectionPanel.h:18
Visualizes the L2 market depth ladder.
Definition OrderBookPanel.h:12
Controls for the background stochastic bot simulator.
Definition SimulatorPanel.h:12
Definition TradingPanel.h:9
Manages the lifecycle of the GLFW window and ImGui context.
Definition UIManager.h:16
High-level manager for partitions and command dispatch.
Definition TradingCore.h:30
Definition App.cpp:5