Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
242 lines (236 loc) · 21.6 KB
/
Copy pathindex.html
File metadata and controls
242 lines (236 loc) · 21.6 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
<!DOCTYPE HTML>
<html lang>
<head>
<!-- Generated by javadoc (25) -->
<title>Overview (QTSurfer Engine API 0.99.83)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="package index">
<meta name="generator" content="javadoc/PackageIndexWriter">
<link rel="stylesheet" type="text/css" href="resource-files/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="resource-files/stylesheet.css">
<script type="text/javascript" src="script-files/script.js"></script>
<script type="text/javascript" src="script-files/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="script-files/jquery-ui.min.js"></script>
</head>
<body class="package-index-page">
<script type="text/javascript">const pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="nav-content">
<div class="nav-menu-button"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span></button></div>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li class="nav-bar-cell1-rev">Overview</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="search.html">Search</a></li>
<li><a href="help-doc.html#overview">Help</a></li>
</ul>
</div>
</div>
<div class="sub-nav">
<div class="nav-content">
<ol class="sub-nav-list"></ol>
<div class="nav-list-search"><input type="text" id="search-input" disabled placeholder="Search documentation (type /)" aria-label="Search in documentation" autocomplete="off" spellcheck="false"><input type="reset" id="reset-search" disabled value="Reset"></div>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="main-grid">
<main role="main">
<div class="header">
<h1 class="title">QTSurfer Engine API 0.99.83</h1>
</div>
<div class="block"><p>
API reference for authors of QTSurfer trading strategies and for applications that
embed the engine as a library.
</p>
<p>
This site documents a curated subset of the engine: the types a strategy receives,
calls, extends or has to supply an instance of. Everything else — schedulers,
order routers, exchange adapters, the code generator, the backtest driver — is
implementation detail and is deliberately absent. Nothing outside this reference is
part of the compatibility promise, even where the underlying class happens to be
<code>public</code> in the jar.
</p>
<p><strong>Where to start</strong></p>
<dl>
<dt>Strategies — <code>com.wualabs.qtsurfer.engine.strategy</code></dt>
<dd>
A strategy extends one of the abstract bases —
<a href="com/wualabs/qtsurfer/engine/strategy/AbstractTickerStrategy.html" title="class in com.wualabs.qtsurfer.engine.strategy"><code>AbstractTickerStrategy</code></a>,
<a href="com/wualabs/qtsurfer/engine/strategy/AbstractKlineStrategy.html" title="class in com.wualabs.qtsurfer.engine.strategy"><code>AbstractKlineStrategy</code></a> or
<a href="com/wualabs/qtsurfer/engine/strategy/AbstractFundingRateStrategy.html" title="class in com.wualabs.qtsurfer.engine.strategy"><code>AbstractFundingRateStrategy</code></a> —
declares its tunables with
<a href="com/wualabs/qtsurfer/engine/strategy/StrategyProperty.html" title="annotation interface in com.wualabs.qtsurfer.engine.strategy"><code>StrategyProperty</code></a>, and emits
<a href="com/wualabs/qtsurfer/engine/strategy/event/signal/BuySignal.html" title="class in com.wualabs.qtsurfer.engine.strategy.event.signal"><code>BuySignal</code></a> and
<a href="com/wualabs/qtsurfer/engine/strategy/event/signal/SellSignal.html" title="class in com.wualabs.qtsurfer.engine.strategy.event.signal"><code>SellSignal</code></a>.
</dd>
<dt>Indicators — <code>com.wualabs.qtsurfer.engine.indicators</code></dt>
<dd>
Every indicator implements
<a href="com/wualabs/qtsurfer/engine/indicators/core/RTIndicator.html" title="interface in com.wualabs.qtsurfer.engine.indicators.core"><code>RTIndicator</code></a> and updates
incrementally from a <a href="com/wualabs/qtsurfer/engine/core/MarketSnapshot.html" title="interface in com.wualabs.qtsurfer.engine.core"><code>MarketSnapshot</code></a>. The
whole catalogue is public: moving averages, momentum, volatility, volume,
statistics and on-chain families, plus the TA-Lib and ta4j bridges.
</dd>
<dt>Market data — <code>com.wualabs.qtsurfer.engine.core</code></dt>
<dd>
<a href="com/wualabs/qtsurfer/engine/core/Ticker.html" title="class in com.wualabs.qtsurfer.engine.core"><code>Ticker</code></a>,
<a href="com/wualabs/qtsurfer/engine/core/Kline.html" title="class in com.wualabs.qtsurfer.engine.core"><code>Kline</code></a>,
<a href="com/wualabs/qtsurfer/engine/core/FundingRate.html" title="class in com.wualabs.qtsurfer.engine.core"><code>FundingRate</code></a> and the
<a href="com/wualabs/qtsurfer/engine/core/instrument/Instrument.html" title="interface in com.wualabs.qtsurfer.engine.core.instrument"><code>Instrument</code></a> model
(spot, perpetual, dated future).
</dd>
<dt>Backtesting — <code>com.wualabs.qtsurfer.engine.strategy.backtest.simulation</code></dt>
<dd>
The fee, slippage and fill models that decide how a simulated order is filled,
together with the ready-made implementations to plug into a backtest.
</dd>
</dl>
<p>
Types are documented at the level at which they are meant to be used. Where an
interface is something the caller supplies — a
<a href="com/wualabs/qtsurfer/engine/strategy/backtest/simulation/FeeModel.html" title="interface in com.wualabs.qtsurfer.engine.strategy.backtest.simulation"><code>FeeModel</code></a>, an
<a href="com/wualabs/qtsurfer/engine/strategy/execution/ExecutionCallback.html" title="interface in com.wualabs.qtsurfer.engine.strategy.execution"><code>ExecutionCallback</code></a>, a
<a href="com/wualabs/qtsurfer/engine/core/state/StateStore.html" title="interface in com.wualabs.qtsurfer.engine.core.state"><code>StateStore</code></a> — the shipped
implementations are documented alongside it. Where an interface is only ever handed
back by the engine, its implementations are not.
</p></div>
<div id="all-packages-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="all-packages-table-tab0" role="tab" aria-selected="true" aria-controls="all-packages-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('all-packages-table', 'all-packages-table', 2)" class="active-table-tab">All Packages</button><button id="all-packages-table-tab1" role="tab" aria-selected="false" aria-controls="all-packages-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-packages-table', 'all-packages-table-tab1', 2)" class="table-tab">Strategies</button><button id="all-packages-table-tab2" role="tab" aria-selected="false" aria-controls="all-packages-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-packages-table', 'all-packages-table-tab2', 2)" class="table-tab">Indicators</button><button id="all-packages-table-tab3" role="tab" aria-selected="false" aria-controls="all-packages-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-packages-table', 'all-packages-table-tab3', 2)" class="table-tab">Market data and instruments</button><button id="all-packages-table-tab4" role="tab" aria-selected="false" aria-controls="all-packages-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-packages-table', 'all-packages-table-tab4', 2)" class="table-tab">Backtesting</button><button id="all-packages-table-tab5" role="tab" aria-selected="false" aria-controls="all-packages-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-packages-table', 'all-packages-table-tab5', 2)" class="table-tab">Configuration</button><button id="all-packages-table-tab6" role="tab" aria-selected="false" aria-controls="all-packages-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-packages-table', 'all-packages-table-tab6', 2)" class="table-tab">Other Packages</button></div>
<div id="all-packages-table.tabpanel" role="tabpanel" aria-labelledby="all-packages-table-tab0">
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab5"><a href="com/wualabs/qtsurfer/common/config/package-summary.html">com.wualabs.qtsurfer.common.config</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab5"> </div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab5"><a href="com/wualabs/qtsurfer/common/util/package-summary.html">com.wualabs.qtsurfer.common.util</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab5"> </div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab6"><a href="com/wualabs/qtsurfer/engine/package-summary.html">com.wualabs.qtsurfer.engine</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab6"> </div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab3"><a href="com/wualabs/qtsurfer/engine/core/package-summary.html">com.wualabs.qtsurfer.engine.core</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab3"> </div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab3"><a href="com/wualabs/qtsurfer/engine/core/backtest/package-summary.html">com.wualabs.qtsurfer.engine.core.backtest</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab3"> </div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab3"><a href="com/wualabs/qtsurfer/engine/core/event/package-summary.html">com.wualabs.qtsurfer.engine.core.event</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab3"> </div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab3"><a href="com/wualabs/qtsurfer/engine/core/instrument/package-summary.html">com.wualabs.qtsurfer.engine.core.instrument</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab3"> </div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab3"><a href="com/wualabs/qtsurfer/engine/core/state/package-summary.html">com.wualabs.qtsurfer.engine.core.state</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab3">
<div class="block">State management and sliding-window data structures.</div>
</div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab3"><a href="com/wualabs/qtsurfer/engine/core/value/package-summary.html">com.wualabs.qtsurfer.engine.core.value</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab3"> </div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/averages/package-summary.html">com.wualabs.qtsurfer.engine.indicators.averages</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab2">
<div class="block">Moving average indicators.</div>
</div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/averages/pro/package-summary.html">com.wualabs.qtsurfer.engine.indicators.averages.pro</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab2">
<div class="block">Pro moving-average indicators (pro tier).</div>
</div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/bollinger/package-summary.html">com.wualabs.qtsurfer.engine.indicators.bollinger</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab2">
<div class="block">Bollinger Bands indicators.</div>
</div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/core/package-summary.html">com.wualabs.qtsurfer.engine.indicators.core</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab2">
<div class="block">Core interfaces and abstract base classes for the RTIndicator framework.</div>
</div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/distance/package-summary.html">com.wualabs.qtsurfer.engine.indicators.distance</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab2">
<div class="block">Distance / deviation indicators (free tier).</div>
</div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/helpers/package-summary.html">com.wualabs.qtsurfer.engine.indicators.helpers</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab2">
<div class="block">Utility and compositional indicators for building complex indicator pipelines.</div>
</div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/helpers/group/package-summary.html">com.wualabs.qtsurfer.engine.indicators.helpers.group</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab2">
<div class="block">Multi-indicator containers and builders for managing groups of indicators per instrument.</div>
</div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/momentum/package-summary.html">com.wualabs.qtsurfer.engine.indicators.momentum</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab2">
<div class="block">Momentum and oscillator indicators (free tier).</div>
</div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/momentum/pro/package-summary.html">com.wualabs.qtsurfer.engine.indicators.momentum.pro</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab2">
<div class="block">Pro momentum / oscillator indicators (pro tier).</div>
</div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/numeric/package-summary.html">com.wualabs.qtsurfer.engine.indicators.numeric</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab2">
<div class="block">Numeric and functional operator indicators.</div>
</div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/onchain/package-summary.html">com.wualabs.qtsurfer.engine.indicators.onchain</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab2"> </div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/onchain/model/package-summary.html">com.wualabs.qtsurfer.engine.indicators.onchain.model</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab2"> </div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/pro/package-summary.html">com.wualabs.qtsurfer.engine.indicators.pro</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab2"> </div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/statistics/package-summary.html">com.wualabs.qtsurfer.engine.indicators.statistics</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab2">
<div class="block">Statistical indicators and computations.</div>
</div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/statistics/pro/package-summary.html">com.wualabs.qtsurfer.engine.indicators.statistics.pro</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab2">
<div class="block">Pro statistical indicators.</div>
</div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/statistics/pro/ratios/package-summary.html">com.wualabs.qtsurfer.engine.indicators.statistics.pro.ratios</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab2">
<div class="block">Risk-adjusted performance ratios.</div>
</div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/statistics/pro/volatility/package-summary.html">com.wualabs.qtsurfer.engine.indicators.statistics.pro.volatility</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab2">
<div class="block">Volatility estimators.</div>
</div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/ta4j/package-summary.html">com.wualabs.qtsurfer.engine.indicators.ta4j</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab2"> </div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/talib/package-summary.html">com.wualabs.qtsurfer.engine.indicators.talib</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab2"> </div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/trend/pro/package-summary.html">com.wualabs.qtsurfer.engine.indicators.trend.pro</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab2">
<div class="block">Pro trend indicators (pro tier).</div>
</div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/volatility/pro/package-summary.html">com.wualabs.qtsurfer.engine.indicators.volatility.pro</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab2">
<div class="block">Pro volatility indicators (pro tier).</div>
</div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab2"><a href="com/wualabs/qtsurfer/engine/indicators/volume/pro/package-summary.html">com.wualabs.qtsurfer.engine.indicators.volume.pro</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab2">
<div class="block">Pro volume indicators (pro tier).</div>
</div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="com/wualabs/qtsurfer/engine/strategy/package-summary.html">com.wualabs.qtsurfer.engine.strategy</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab1"> </div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab4"><a href="com/wualabs/qtsurfer/engine/strategy/backtest/package-summary.html">com.wualabs.qtsurfer.engine.strategy.backtest</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab4"> </div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab4"><a href="com/wualabs/qtsurfer/engine/strategy/backtest/simulation/package-summary.html">com.wualabs.qtsurfer.engine.strategy.backtest.simulation</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab4"> </div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="com/wualabs/qtsurfer/engine/strategy/event/package-summary.html">com.wualabs.qtsurfer.engine.strategy.event</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab1"> </div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="com/wualabs/qtsurfer/engine/strategy/event/signal/package-summary.html">com.wualabs.qtsurfer.engine.strategy.event.signal</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab1"> </div>
<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="com/wualabs/qtsurfer/engine/strategy/event/yield/package-summary.html">com.wualabs.qtsurfer.engine.strategy.event.yield</a></div>
<div class="col-last even-row-color all-packages-table all-packages-table-tab1"> </div>
<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="com/wualabs/qtsurfer/engine/strategy/execution/package-summary.html">com.wualabs.qtsurfer.engine.strategy.execution</a></div>
<div class="col-last odd-row-color all-packages-table all-packages-table-tab1"> </div>
</div>
</div>
</div>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>QTSurfer Engine 0.99.83 — Copyright © Wualabs LTD</small></p>
</footer>
</main>
</div>
</body>
</html>