-
Notifications
You must be signed in to change notification settings - Fork 69
Expand file tree
/
Copy pathscreener_context.hpp
More file actions
51 lines (39 loc) · 1.71 KB
/
Copy pathscreener_context.hpp
File metadata and controls
51 lines (39 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#pragma once
#include "async_result.hpp"
#include "callback.hpp"
#include "config.hpp"
#include <optional>
#include <string>
typedef struct lb_screener_context_t lb_screener_context_t;
namespace longbridge {
namespace screener {
/// Screener context — stock screener strategies, search, and indicators.
class ScreenerContext
{
public:
ScreenerContext();
explicit ScreenerContext(const lb_screener_context_t* ctx);
ScreenerContext(const ScreenerContext& ctx);
ScreenerContext(ScreenerContext&& ctx);
~ScreenerContext();
ScreenerContext& operator=(const ScreenerContext& ctx);
static ScreenerContext create(const Config& config);
/// Get recommended built-in screener strategies (raw JSON string)
void screener_recommend_strategies(AsyncCallback<ScreenerContext, std::string> callback) const;
/// Get the current user's saved screener strategies (raw JSON string)
void screener_user_strategies(AsyncCallback<ScreenerContext, std::string> callback) const;
/// Get detail for one screener strategy by ID (raw JSON string)
void screener_strategy(int64_t id, AsyncCallback<ScreenerContext, std::string> callback) const;
/// Search / screen securities using a strategy (raw JSON string)
void screener_search(const std::string& market,
std::optional<int64_t> strategy_id,
uint32_t page,
uint32_t size,
AsyncCallback<ScreenerContext, std::string> callback) const;
/// Get all available screener indicator definitions (raw JSON string)
void screener_indicators(AsyncCallback<ScreenerContext, std::string> callback) const;
private:
const lb_screener_context_t* ctx_;
};
} // namespace screener
} // namespace longbridge