brighter-trading/markdown/general_js.md

92 lines
1.9 KiB
Markdown

### User_Interface class
```plantuml
@startuml
class User_Interface {
-Exchanges exchanges
-Data data
-Controls controls
-Signals signals
-Alerts alerts
-Strategies strats
-Trade trade
-Users users
-Charts charts
-Indicators indicators
}
class Exchanges {}
class Data {}
class Controls {}
class Signals {}
class Alerts {}
class Strategies {}
class Trade {}
class Users {}
class Charts {}
class Indicators {}
User_Interface *-down- Exchanges : contains
User_Interface *-down- Data : contains
User_Interface *-down- Controls : contains
User_Interface *-down- Signals : contains
User_Interface *-down- Alerts : contains
User_Interface *-down- Strategies : contains
User_Interface *-down- Trade : contains
User_Interface *-down- Users : contains
User_Interface *-down- Charts : contains
User_Interface *-down- Indicators : contains
@enduml
```
### User interface sequence
```plantuml
@startuml
participant "User_Interface" as UI
participant "Exchanges" as E
participant "Data" as D
participant "Controls" as C
participant "Signals" as S
participant "Alerts" as A
participant "Strategies" as St
participant "Trade" as T
participant "Users" as U
participant "Charts" as Ch
participant "Indicators" as I
UI -> UI: new User_Interface()
create E
UI -> E: new Exchanges()
create D
UI -> D: new Data()
create C
UI -> C: new Controls()
create S
UI -> S: new Signals(D.indicators)
create A
UI -> A: new Alerts("alert_list")
create St
UI -> St: new Strategies("strats_display")
create T
UI -> T: new Trade()
create U
UI -> U: new Users()
note over UI: On window load
create Ch
UI -> Ch: new Charts(chart_init_data)
create I
UI -> I: new Indicators(Ch, ind_init_data)
UI -> D: set_i_updates(I.update)
UI -> S: request_signals()
UI -> A: set_target()
UI -> St: initialize()
UI -> C: init_TP_selector()
UI -> T: initialize()
UI -> E: initialize()
@enduml
```