quantwave 0.1.14__py3-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- quantwave/__init__.py +4 -0
- quantwave/quantwave_python/__init__.py +1 -0
- quantwave/quantwave_python/quantwave_python.dll +0 -0
- quantwave/quantwave_python/quantwave_python.py +4038 -0
- quantwave-0.1.14.dist-info/METADATA +124 -0
- quantwave-0.1.14.dist-info/RECORD +9 -0
- quantwave-0.1.14.dist-info/WHEEL +4 -0
- quantwave-0.1.14.dist-info/licenses/LICENSE +21 -0
- quantwave-0.1.14.dist-info/sboms/quantwave-python.cyclonedx.json +4317 -0
|
@@ -0,0 +1,4038 @@
|
|
|
1
|
+
# This file was autogenerated by some hot garbage in the `uniffi` crate.
|
|
2
|
+
# Trust me, you don't want to mess with it!
|
|
3
|
+
|
|
4
|
+
# Common helper code.
|
|
5
|
+
#
|
|
6
|
+
# Ideally this would live in a separate .py file where it can be unittested etc
|
|
7
|
+
# in isolation, and perhaps even published as a re-useable package.
|
|
8
|
+
#
|
|
9
|
+
# However, it's important that the details of how this helper code works (e.g. the
|
|
10
|
+
# way that different builtin types are passed across the FFI) exactly match what's
|
|
11
|
+
# expected by the rust code on the other side of the interface. In practice right
|
|
12
|
+
# now that means coming from the exact some version of `uniffi` that was used to
|
|
13
|
+
# compile the rust component. The easiest way to ensure this is to bundle the Python
|
|
14
|
+
# helpers directly inline like we're doing here.
|
|
15
|
+
|
|
16
|
+
from __future__ import annotations
|
|
17
|
+
import os
|
|
18
|
+
import sys
|
|
19
|
+
import ctypes
|
|
20
|
+
from dataclasses import dataclass
|
|
21
|
+
import enum
|
|
22
|
+
import struct
|
|
23
|
+
import contextlib
|
|
24
|
+
import datetime
|
|
25
|
+
import threading
|
|
26
|
+
import itertools
|
|
27
|
+
import traceback
|
|
28
|
+
import typing
|
|
29
|
+
import platform
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
# Used for default argument values
|
|
33
|
+
_DEFAULT = object() # type: typing.Any
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class _UniffiRustBuffer(ctypes.Structure):
|
|
37
|
+
_fields_ = [
|
|
38
|
+
("capacity", ctypes.c_uint64),
|
|
39
|
+
("len", ctypes.c_uint64),
|
|
40
|
+
("data", ctypes.POINTER(ctypes.c_char)),
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
@staticmethod
|
|
44
|
+
def default():
|
|
45
|
+
return _UniffiRustBuffer(0, 0, None)
|
|
46
|
+
|
|
47
|
+
@staticmethod
|
|
48
|
+
def alloc(size):
|
|
49
|
+
return _uniffi_rust_call(_UniffiLib.ffi_quantwave_python_rustbuffer_alloc, size)
|
|
50
|
+
|
|
51
|
+
@staticmethod
|
|
52
|
+
def reserve(rbuf, additional):
|
|
53
|
+
return _uniffi_rust_call(_UniffiLib.ffi_quantwave_python_rustbuffer_reserve, rbuf, additional)
|
|
54
|
+
|
|
55
|
+
def free(self):
|
|
56
|
+
return _uniffi_rust_call(_UniffiLib.ffi_quantwave_python_rustbuffer_free, self)
|
|
57
|
+
|
|
58
|
+
def __str__(self):
|
|
59
|
+
return "_UniffiRustBuffer(capacity={}, len={}, data={})".format(
|
|
60
|
+
self.capacity,
|
|
61
|
+
self.len,
|
|
62
|
+
self.data[0:self.len]
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
@contextlib.contextmanager
|
|
66
|
+
def alloc_with_builder(*args):
|
|
67
|
+
"""Context-manger to allocate a buffer using a _UniffiRustBufferBuilder.
|
|
68
|
+
|
|
69
|
+
The allocated buffer will be automatically freed if an error occurs, ensuring that
|
|
70
|
+
we don't accidentally leak it.
|
|
71
|
+
"""
|
|
72
|
+
builder = _UniffiRustBufferBuilder()
|
|
73
|
+
try:
|
|
74
|
+
yield builder
|
|
75
|
+
except:
|
|
76
|
+
builder.discard()
|
|
77
|
+
raise
|
|
78
|
+
|
|
79
|
+
@contextlib.contextmanager
|
|
80
|
+
def consume_with_stream(self):
|
|
81
|
+
"""Context-manager to consume a buffer using a _UniffiRustBufferStream.
|
|
82
|
+
|
|
83
|
+
The _UniffiRustBuffer will be freed once the context-manager exits, ensuring that we don't
|
|
84
|
+
leak it even if an error occurs.
|
|
85
|
+
"""
|
|
86
|
+
try:
|
|
87
|
+
s = _UniffiRustBufferStream.from_rust_buffer(self)
|
|
88
|
+
yield s
|
|
89
|
+
if s.remaining() != 0:
|
|
90
|
+
raise RuntimeError(f"junk data left in buffer at end of consume_with_stream {s.remaining()}")
|
|
91
|
+
finally:
|
|
92
|
+
self.free()
|
|
93
|
+
|
|
94
|
+
@contextlib.contextmanager
|
|
95
|
+
def read_with_stream(self):
|
|
96
|
+
"""Context-manager to read a buffer using a _UniffiRustBufferStream.
|
|
97
|
+
|
|
98
|
+
This is like consume_with_stream, but doesn't free the buffer afterwards.
|
|
99
|
+
It should only be used with borrowed `_UniffiRustBuffer` data.
|
|
100
|
+
"""
|
|
101
|
+
s = _UniffiRustBufferStream.from_rust_buffer(self)
|
|
102
|
+
yield s
|
|
103
|
+
if s.remaining() != 0:
|
|
104
|
+
raise RuntimeError(f"junk data left in buffer at end of read_with_stream {s.remaining()}")
|
|
105
|
+
|
|
106
|
+
class _UniffiForeignBytes(ctypes.Structure):
|
|
107
|
+
_fields_ = [
|
|
108
|
+
("len", ctypes.c_int32),
|
|
109
|
+
("data", ctypes.POINTER(ctypes.c_char)),
|
|
110
|
+
]
|
|
111
|
+
|
|
112
|
+
def __str__(self):
|
|
113
|
+
return "_UniffiForeignBytes(len={}, data={})".format(self.len, self.data[0:self.len])
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
class _UniffiRustBufferStream:
|
|
117
|
+
"""
|
|
118
|
+
Helper for structured reading of bytes from a _UniffiRustBuffer
|
|
119
|
+
"""
|
|
120
|
+
|
|
121
|
+
def __init__(self, data, len):
|
|
122
|
+
self.data = data
|
|
123
|
+
self.len = len
|
|
124
|
+
self.offset = 0
|
|
125
|
+
|
|
126
|
+
@classmethod
|
|
127
|
+
def from_rust_buffer(cls, buf):
|
|
128
|
+
return cls(buf.data, buf.len)
|
|
129
|
+
|
|
130
|
+
def remaining(self):
|
|
131
|
+
return self.len - self.offset
|
|
132
|
+
|
|
133
|
+
def _unpack_from(self, size, format):
|
|
134
|
+
if self.offset + size > self.len:
|
|
135
|
+
raise InternalError("read past end of rust buffer")
|
|
136
|
+
value = struct.unpack(format, self.data[self.offset:self.offset+size])[0]
|
|
137
|
+
self.offset += size
|
|
138
|
+
return value
|
|
139
|
+
|
|
140
|
+
def read(self, size):
|
|
141
|
+
if self.offset + size > self.len:
|
|
142
|
+
raise InternalError("read past end of rust buffer")
|
|
143
|
+
data = self.data[self.offset:self.offset+size]
|
|
144
|
+
self.offset += size
|
|
145
|
+
return data
|
|
146
|
+
|
|
147
|
+
def read_i8(self):
|
|
148
|
+
return self._unpack_from(1, ">b")
|
|
149
|
+
|
|
150
|
+
def read_u8(self):
|
|
151
|
+
return self._unpack_from(1, ">B")
|
|
152
|
+
|
|
153
|
+
def read_i16(self):
|
|
154
|
+
return self._unpack_from(2, ">h")
|
|
155
|
+
|
|
156
|
+
def read_u16(self):
|
|
157
|
+
return self._unpack_from(2, ">H")
|
|
158
|
+
|
|
159
|
+
def read_i32(self):
|
|
160
|
+
return self._unpack_from(4, ">i")
|
|
161
|
+
|
|
162
|
+
def read_u32(self):
|
|
163
|
+
return self._unpack_from(4, ">I")
|
|
164
|
+
|
|
165
|
+
def read_i64(self):
|
|
166
|
+
return self._unpack_from(8, ">q")
|
|
167
|
+
|
|
168
|
+
def read_u64(self):
|
|
169
|
+
return self._unpack_from(8, ">Q")
|
|
170
|
+
|
|
171
|
+
def read_float(self):
|
|
172
|
+
v = self._unpack_from(4, ">f")
|
|
173
|
+
return v
|
|
174
|
+
|
|
175
|
+
def read_double(self):
|
|
176
|
+
return self._unpack_from(8, ">d")
|
|
177
|
+
|
|
178
|
+
class _UniffiRustBufferBuilder:
|
|
179
|
+
"""
|
|
180
|
+
Helper for structured writing of bytes into a _UniffiRustBuffer.
|
|
181
|
+
"""
|
|
182
|
+
|
|
183
|
+
def __init__(self):
|
|
184
|
+
self.rbuf = _UniffiRustBuffer.alloc(16)
|
|
185
|
+
self.rbuf.len = 0
|
|
186
|
+
|
|
187
|
+
def finalize(self):
|
|
188
|
+
rbuf = self.rbuf
|
|
189
|
+
self.rbuf = None
|
|
190
|
+
return rbuf
|
|
191
|
+
|
|
192
|
+
def discard(self):
|
|
193
|
+
if self.rbuf is not None:
|
|
194
|
+
rbuf = self.finalize()
|
|
195
|
+
rbuf.free()
|
|
196
|
+
|
|
197
|
+
@contextlib.contextmanager
|
|
198
|
+
def _reserve(self, num_bytes):
|
|
199
|
+
if self.rbuf.len + num_bytes > self.rbuf.capacity:
|
|
200
|
+
self.rbuf = _UniffiRustBuffer.reserve(self.rbuf, num_bytes)
|
|
201
|
+
yield None
|
|
202
|
+
self.rbuf.len += num_bytes
|
|
203
|
+
|
|
204
|
+
def _pack_into(self, size, format, value):
|
|
205
|
+
with self._reserve(size):
|
|
206
|
+
# XXX TODO: I feel like I should be able to use `struct.pack_into` here but can't figure it out.
|
|
207
|
+
for i, byte in enumerate(struct.pack(format, value)):
|
|
208
|
+
self.rbuf.data[self.rbuf.len + i] = byte
|
|
209
|
+
|
|
210
|
+
def write(self, value):
|
|
211
|
+
with self._reserve(len(value)):
|
|
212
|
+
for i, byte in enumerate(value):
|
|
213
|
+
self.rbuf.data[self.rbuf.len + i] = byte
|
|
214
|
+
|
|
215
|
+
def write_i8(self, v):
|
|
216
|
+
self._pack_into(1, ">b", v)
|
|
217
|
+
|
|
218
|
+
def write_u8(self, v):
|
|
219
|
+
self._pack_into(1, ">B", v)
|
|
220
|
+
|
|
221
|
+
def write_i16(self, v):
|
|
222
|
+
self._pack_into(2, ">h", v)
|
|
223
|
+
|
|
224
|
+
def write_u16(self, v):
|
|
225
|
+
self._pack_into(2, ">H", v)
|
|
226
|
+
|
|
227
|
+
def write_i32(self, v):
|
|
228
|
+
self._pack_into(4, ">i", v)
|
|
229
|
+
|
|
230
|
+
def write_u32(self, v):
|
|
231
|
+
self._pack_into(4, ">I", v)
|
|
232
|
+
|
|
233
|
+
def write_i64(self, v):
|
|
234
|
+
self._pack_into(8, ">q", v)
|
|
235
|
+
|
|
236
|
+
def write_u64(self, v):
|
|
237
|
+
self._pack_into(8, ">Q", v)
|
|
238
|
+
|
|
239
|
+
def write_float(self, v):
|
|
240
|
+
self._pack_into(4, ">f", v)
|
|
241
|
+
|
|
242
|
+
def write_double(self, v):
|
|
243
|
+
self._pack_into(8, ">d", v)
|
|
244
|
+
|
|
245
|
+
def write_c_size_t(self, v):
|
|
246
|
+
self._pack_into(ctypes.sizeof(ctypes.c_size_t) , "@N", v)
|
|
247
|
+
# A handful of classes and functions to support the generated data structures.
|
|
248
|
+
# This would be a good candidate for isolating in its own ffi-support lib.
|
|
249
|
+
|
|
250
|
+
class InternalError(Exception):
|
|
251
|
+
pass
|
|
252
|
+
|
|
253
|
+
class _UniffiRustCallStatus(ctypes.Structure):
|
|
254
|
+
"""
|
|
255
|
+
Error runtime.
|
|
256
|
+
"""
|
|
257
|
+
_fields_ = [
|
|
258
|
+
("code", ctypes.c_int8),
|
|
259
|
+
("error_buf", _UniffiRustBuffer),
|
|
260
|
+
]
|
|
261
|
+
|
|
262
|
+
# These match the values from the uniffi::rustcalls module
|
|
263
|
+
CALL_SUCCESS = 0
|
|
264
|
+
CALL_ERROR = 1
|
|
265
|
+
CALL_UNEXPECTED_ERROR = 2
|
|
266
|
+
|
|
267
|
+
@staticmethod
|
|
268
|
+
def default():
|
|
269
|
+
return _UniffiRustCallStatus(code=_UniffiRustCallStatus.CALL_SUCCESS, error_buf=_UniffiRustBuffer.default())
|
|
270
|
+
|
|
271
|
+
def __str__(self):
|
|
272
|
+
if self.code == _UniffiRustCallStatus.CALL_SUCCESS:
|
|
273
|
+
return "_UniffiRustCallStatus(CALL_SUCCESS)"
|
|
274
|
+
elif self.code == _UniffiRustCallStatus.CALL_ERROR:
|
|
275
|
+
return "_UniffiRustCallStatus(CALL_ERROR)"
|
|
276
|
+
elif self.code == _UniffiRustCallStatus.CALL_UNEXPECTED_ERROR:
|
|
277
|
+
return "_UniffiRustCallStatus(CALL_UNEXPECTED_ERROR)"
|
|
278
|
+
else:
|
|
279
|
+
return "_UniffiRustCallStatus(<invalid code>)"
|
|
280
|
+
|
|
281
|
+
def _uniffi_rust_call(fn, *args):
|
|
282
|
+
# Call a rust function
|
|
283
|
+
return _uniffi_rust_call_with_error(None, fn, *args)
|
|
284
|
+
|
|
285
|
+
def _uniffi_rust_call_with_error(error_ffi_converter, fn, *args):
|
|
286
|
+
# Call a rust function and handle any errors
|
|
287
|
+
#
|
|
288
|
+
# This function is used for rust calls that return Result<> and therefore can set the CALL_ERROR status code.
|
|
289
|
+
# error_ffi_converter must be set to the _UniffiConverter for the error class that corresponds to the result.
|
|
290
|
+
call_status = _UniffiRustCallStatus.default()
|
|
291
|
+
|
|
292
|
+
args_with_error = args + (ctypes.byref(call_status),)
|
|
293
|
+
result = fn(*args_with_error)
|
|
294
|
+
_uniffi_check_call_status(error_ffi_converter, call_status)
|
|
295
|
+
return result
|
|
296
|
+
|
|
297
|
+
def _uniffi_check_call_status(error_ffi_converter, call_status):
|
|
298
|
+
if call_status.code == _UniffiRustCallStatus.CALL_SUCCESS:
|
|
299
|
+
pass
|
|
300
|
+
elif call_status.code == _UniffiRustCallStatus.CALL_ERROR:
|
|
301
|
+
if error_ffi_converter is None:
|
|
302
|
+
call_status.error_buf.free()
|
|
303
|
+
raise InternalError("_uniffi_rust_call_with_error: CALL_ERROR, but error_ffi_converter is None")
|
|
304
|
+
else:
|
|
305
|
+
raise error_ffi_converter.lift(call_status.error_buf)
|
|
306
|
+
elif call_status.code == _UniffiRustCallStatus.CALL_UNEXPECTED_ERROR:
|
|
307
|
+
# When the rust code sees a panic, it tries to construct a _UniffiRustBuffer
|
|
308
|
+
# with the message. But if that code panics, then it just sends back
|
|
309
|
+
# an empty buffer.
|
|
310
|
+
if call_status.error_buf.len > 0:
|
|
311
|
+
msg = _UniffiFfiConverterString.lift(call_status.error_buf)
|
|
312
|
+
else:
|
|
313
|
+
msg = "Unknown rust panic"
|
|
314
|
+
raise InternalError(msg)
|
|
315
|
+
else:
|
|
316
|
+
raise InternalError("Invalid _UniffiRustCallStatus code: {}".format(
|
|
317
|
+
call_status.code))
|
|
318
|
+
|
|
319
|
+
def _uniffi_trait_interface_call(call_status, make_call, write_return_value):
|
|
320
|
+
try:
|
|
321
|
+
return write_return_value(make_call())
|
|
322
|
+
except Exception as e:
|
|
323
|
+
call_status.code = _UniffiRustCallStatus.CALL_UNEXPECTED_ERROR
|
|
324
|
+
call_status.error_buf = _UniffiFfiConverterString.lower(repr(e))
|
|
325
|
+
|
|
326
|
+
def _uniffi_trait_interface_call_with_error(call_status, make_call, write_return_value, error_type, lower_error):
|
|
327
|
+
try:
|
|
328
|
+
try:
|
|
329
|
+
return write_return_value(make_call())
|
|
330
|
+
except error_type as e:
|
|
331
|
+
call_status.code = _UniffiRustCallStatus.CALL_ERROR
|
|
332
|
+
call_status.error_buf = lower_error(e)
|
|
333
|
+
except Exception as e:
|
|
334
|
+
call_status.code = _UniffiRustCallStatus.CALL_UNEXPECTED_ERROR
|
|
335
|
+
call_status.error_buf = _UniffiFfiConverterString.lower(repr(e))
|
|
336
|
+
# Initial value and increment amount for handles.
|
|
337
|
+
# These ensure that Python-generated handles always have the lowest bit set
|
|
338
|
+
_UNIFFI_HANDLEMAP_INITIAL = 1
|
|
339
|
+
_UNIFFI_HANDLEMAP_DELTA = 2
|
|
340
|
+
|
|
341
|
+
class _UniffiHandleMap:
|
|
342
|
+
"""
|
|
343
|
+
A map where inserting, getting and removing data is synchronized with a lock.
|
|
344
|
+
"""
|
|
345
|
+
|
|
346
|
+
def __init__(self):
|
|
347
|
+
# type Handle = int
|
|
348
|
+
self._map = {} # type: Dict[Handle, Any]
|
|
349
|
+
self._lock = threading.Lock()
|
|
350
|
+
self._counter = _UNIFFI_HANDLEMAP_INITIAL
|
|
351
|
+
|
|
352
|
+
def insert(self, obj):
|
|
353
|
+
with self._lock:
|
|
354
|
+
return self._insert(obj)
|
|
355
|
+
|
|
356
|
+
"""Low-level insert, this assumes `self._lock` is held."""
|
|
357
|
+
def _insert(self, obj):
|
|
358
|
+
handle = self._counter
|
|
359
|
+
self._counter += _UNIFFI_HANDLEMAP_DELTA
|
|
360
|
+
self._map[handle] = obj
|
|
361
|
+
return handle
|
|
362
|
+
|
|
363
|
+
def get(self, handle):
|
|
364
|
+
try:
|
|
365
|
+
with self._lock:
|
|
366
|
+
return self._map[handle]
|
|
367
|
+
except KeyError:
|
|
368
|
+
raise InternalError(f"_UniffiHandleMap.get: Invalid handle {handle}")
|
|
369
|
+
|
|
370
|
+
def clone(self, handle):
|
|
371
|
+
try:
|
|
372
|
+
with self._lock:
|
|
373
|
+
obj = self._map[handle]
|
|
374
|
+
return self._insert(obj)
|
|
375
|
+
except KeyError:
|
|
376
|
+
raise InternalError(f"_UniffiHandleMap.clone: Invalid handle {handle}")
|
|
377
|
+
|
|
378
|
+
def remove(self, handle):
|
|
379
|
+
try:
|
|
380
|
+
with self._lock:
|
|
381
|
+
return self._map.pop(handle)
|
|
382
|
+
except KeyError:
|
|
383
|
+
raise InternalError(f"_UniffiHandleMap.remove: Invalid handle: {handle}")
|
|
384
|
+
|
|
385
|
+
def __len__(self):
|
|
386
|
+
return len(self._map)
|
|
387
|
+
# Types conforming to `_UniffiConverterPrimitive` pass themselves directly over the FFI.
|
|
388
|
+
class _UniffiConverterPrimitive:
|
|
389
|
+
@classmethod
|
|
390
|
+
def lift(cls, value):
|
|
391
|
+
return value
|
|
392
|
+
|
|
393
|
+
@classmethod
|
|
394
|
+
def lower(cls, value):
|
|
395
|
+
return value
|
|
396
|
+
|
|
397
|
+
class _UniffiConverterPrimitiveInt(_UniffiConverterPrimitive):
|
|
398
|
+
@classmethod
|
|
399
|
+
def check_lower(cls, value):
|
|
400
|
+
try:
|
|
401
|
+
value = value.__index__()
|
|
402
|
+
except Exception:
|
|
403
|
+
raise TypeError("'{}' object cannot be interpreted as an integer".format(type(value).__name__))
|
|
404
|
+
if not isinstance(value, int):
|
|
405
|
+
raise TypeError("__index__ returned non-int (type {})".format(type(value).__name__))
|
|
406
|
+
if not cls.VALUE_MIN <= value < cls.VALUE_MAX:
|
|
407
|
+
raise ValueError("{} requires {} <= value < {}".format(cls.CLASS_NAME, cls.VALUE_MIN, cls.VALUE_MAX))
|
|
408
|
+
|
|
409
|
+
class _UniffiConverterPrimitiveFloat(_UniffiConverterPrimitive):
|
|
410
|
+
@classmethod
|
|
411
|
+
def check_lower(cls, value):
|
|
412
|
+
try:
|
|
413
|
+
value = value.__float__()
|
|
414
|
+
except Exception:
|
|
415
|
+
raise TypeError("must be real number, not {}".format(type(value).__name__))
|
|
416
|
+
if not isinstance(value, float):
|
|
417
|
+
raise TypeError("__float__ returned non-float (type {})".format(type(value).__name__))
|
|
418
|
+
|
|
419
|
+
# Helper class for wrapper types that will always go through a _UniffiRustBuffer.
|
|
420
|
+
# Classes should inherit from this and implement the `read` and `write` static methods.
|
|
421
|
+
class _UniffiConverterRustBuffer:
|
|
422
|
+
@classmethod
|
|
423
|
+
def lift(cls, rbuf):
|
|
424
|
+
with rbuf.consume_with_stream() as stream:
|
|
425
|
+
return cls.read(stream)
|
|
426
|
+
|
|
427
|
+
@classmethod
|
|
428
|
+
def lower(cls, value):
|
|
429
|
+
with _UniffiRustBuffer.alloc_with_builder() as builder:
|
|
430
|
+
cls.write(value, builder)
|
|
431
|
+
return builder.finalize()
|
|
432
|
+
|
|
433
|
+
# Contains loading, initialization code, and the FFI Function declarations.
|
|
434
|
+
# Define some ctypes FFI types that we use in the library
|
|
435
|
+
|
|
436
|
+
"""
|
|
437
|
+
Function pointer for a Rust task, which a callback function that takes a opaque pointer
|
|
438
|
+
"""
|
|
439
|
+
_UNIFFI_RUST_TASK = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_int8)
|
|
440
|
+
|
|
441
|
+
def _uniffi_future_callback_t(return_type):
|
|
442
|
+
"""
|
|
443
|
+
Factory function to create callback function types for async functions
|
|
444
|
+
"""
|
|
445
|
+
return ctypes.CFUNCTYPE(None, ctypes.c_uint64, return_type, _UniffiRustCallStatus)
|
|
446
|
+
|
|
447
|
+
def _uniffi_load_indirect():
|
|
448
|
+
"""
|
|
449
|
+
This is how we find and load the dynamic library provided by the component.
|
|
450
|
+
For now we just look it up by name.
|
|
451
|
+
"""
|
|
452
|
+
if sys.platform == "darwin":
|
|
453
|
+
libname = "lib{}.dylib"
|
|
454
|
+
elif sys.platform.startswith("win"):
|
|
455
|
+
# As of python3.8, ctypes does not seem to search $PATH when loading DLLs.
|
|
456
|
+
# We could use `os.add_dll_directory` to configure the search path, but
|
|
457
|
+
# it doesn't feel right to mess with application-wide settings. Let's
|
|
458
|
+
# assume that the `.dll` is next to the `.py` file and load by full path.
|
|
459
|
+
libname = os.path.join(
|
|
460
|
+
os.path.dirname(__file__),
|
|
461
|
+
"{}.dll",
|
|
462
|
+
)
|
|
463
|
+
else:
|
|
464
|
+
# Anything else must be an ELF platform - Linux, *BSD, Solaris/illumos
|
|
465
|
+
libname = "lib{}.so"
|
|
466
|
+
|
|
467
|
+
libname = libname.format("quantwave_python")
|
|
468
|
+
path = os.path.join(os.path.dirname(__file__), libname)
|
|
469
|
+
lib = ctypes.cdll.LoadLibrary(path)
|
|
470
|
+
return lib
|
|
471
|
+
|
|
472
|
+
def _uniffi_check_contract_api_version(lib):
|
|
473
|
+
# Get the bindings contract version from our ComponentInterface
|
|
474
|
+
bindings_contract_version = 30
|
|
475
|
+
# Get the scaffolding contract version by calling the into the dylib
|
|
476
|
+
scaffolding_contract_version = lib.ffi_quantwave_python_uniffi_contract_version()
|
|
477
|
+
if bindings_contract_version != scaffolding_contract_version:
|
|
478
|
+
raise InternalError("UniFFI contract version mismatch: try cleaning and rebuilding your project")
|
|
479
|
+
|
|
480
|
+
def _uniffi_check_api_checksums(lib):
|
|
481
|
+
if lib.uniffi_quantwave_python_checksum_func_adx() != 29272:
|
|
482
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
483
|
+
if lib.uniffi_quantwave_python_checksum_func_aroon() != 19580:
|
|
484
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
485
|
+
if lib.uniffi_quantwave_python_checksum_func_atr() != 51556:
|
|
486
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
487
|
+
if lib.uniffi_quantwave_python_checksum_func_bbands() != 8036:
|
|
488
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
489
|
+
if lib.uniffi_quantwave_python_checksum_func_cci() != 3494:
|
|
490
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
491
|
+
if lib.uniffi_quantwave_python_checksum_func_dema() != 26054:
|
|
492
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
493
|
+
if lib.uniffi_quantwave_python_checksum_func_ema() != 37217:
|
|
494
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
495
|
+
if lib.uniffi_quantwave_python_checksum_func_ichimoku_batch() != 60138:
|
|
496
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
497
|
+
if lib.uniffi_quantwave_python_checksum_func_kama() != 56018:
|
|
498
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
499
|
+
if lib.uniffi_quantwave_python_checksum_func_macd() != 813:
|
|
500
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
501
|
+
if lib.uniffi_quantwave_python_checksum_func_mama() != 14526:
|
|
502
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
503
|
+
if lib.uniffi_quantwave_python_checksum_func_mom() != 9823:
|
|
504
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
505
|
+
if lib.uniffi_quantwave_python_checksum_func_roc() != 52035:
|
|
506
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
507
|
+
if lib.uniffi_quantwave_python_checksum_func_rsi() != 17470:
|
|
508
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
509
|
+
if lib.uniffi_quantwave_python_checksum_func_sar() != 1260:
|
|
510
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
511
|
+
if lib.uniffi_quantwave_python_checksum_func_sma() != 65417:
|
|
512
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
513
|
+
if lib.uniffi_quantwave_python_checksum_func_stoch() != 29426:
|
|
514
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
515
|
+
if lib.uniffi_quantwave_python_checksum_func_supertrend_batch() != 13144:
|
|
516
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
517
|
+
if lib.uniffi_quantwave_python_checksum_func_t3() != 2991:
|
|
518
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
519
|
+
if lib.uniffi_quantwave_python_checksum_func_tema() != 19791:
|
|
520
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
521
|
+
if lib.uniffi_quantwave_python_checksum_func_willr() != 6232:
|
|
522
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
523
|
+
if lib.uniffi_quantwave_python_checksum_func_wma() != 54822:
|
|
524
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
525
|
+
if lib.uniffi_quantwave_python_checksum_constructor_adx_new() != 24369:
|
|
526
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
527
|
+
if lib.uniffi_quantwave_python_checksum_method_adx_next() != 13949:
|
|
528
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
529
|
+
if lib.uniffi_quantwave_python_checksum_constructor_atr_new() != 9842:
|
|
530
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
531
|
+
if lib.uniffi_quantwave_python_checksum_method_atr_next() != 5508:
|
|
532
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
533
|
+
if lib.uniffi_quantwave_python_checksum_constructor_bbands_new() != 19772:
|
|
534
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
535
|
+
if lib.uniffi_quantwave_python_checksum_method_bbands_next() != 18423:
|
|
536
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
537
|
+
if lib.uniffi_quantwave_python_checksum_constructor_cci_new() != 61766:
|
|
538
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
539
|
+
if lib.uniffi_quantwave_python_checksum_method_cci_next() != 6750:
|
|
540
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
541
|
+
if lib.uniffi_quantwave_python_checksum_constructor_ema_new() != 52537:
|
|
542
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
543
|
+
if lib.uniffi_quantwave_python_checksum_method_ema_next() != 21608:
|
|
544
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
545
|
+
if lib.uniffi_quantwave_python_checksum_constructor_ichimoku_new() != 17155:
|
|
546
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
547
|
+
if lib.uniffi_quantwave_python_checksum_method_ichimoku_next() != 34652:
|
|
548
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
549
|
+
if lib.uniffi_quantwave_python_checksum_constructor_kama_new() != 13791:
|
|
550
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
551
|
+
if lib.uniffi_quantwave_python_checksum_method_kama_next() != 1941:
|
|
552
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
553
|
+
if lib.uniffi_quantwave_python_checksum_constructor_macd_new() != 64226:
|
|
554
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
555
|
+
if lib.uniffi_quantwave_python_checksum_method_macd_next() != 60380:
|
|
556
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
557
|
+
if lib.uniffi_quantwave_python_checksum_constructor_mama_new() != 3570:
|
|
558
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
559
|
+
if lib.uniffi_quantwave_python_checksum_method_mama_next() != 56773:
|
|
560
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
561
|
+
if lib.uniffi_quantwave_python_checksum_constructor_rsi_new() != 54433:
|
|
562
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
563
|
+
if lib.uniffi_quantwave_python_checksum_method_rsi_next() != 36470:
|
|
564
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
565
|
+
if lib.uniffi_quantwave_python_checksum_constructor_sar_new() != 55036:
|
|
566
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
567
|
+
if lib.uniffi_quantwave_python_checksum_method_sar_next() != 13494:
|
|
568
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
569
|
+
if lib.uniffi_quantwave_python_checksum_constructor_sma_new() != 549:
|
|
570
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
571
|
+
if lib.uniffi_quantwave_python_checksum_method_sma_next() != 43956:
|
|
572
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
573
|
+
if lib.uniffi_quantwave_python_checksum_constructor_stoch_new() != 16954:
|
|
574
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
575
|
+
if lib.uniffi_quantwave_python_checksum_method_stoch_next() != 16298:
|
|
576
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
577
|
+
if lib.uniffi_quantwave_python_checksum_constructor_supertrend_new() != 33689:
|
|
578
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
579
|
+
if lib.uniffi_quantwave_python_checksum_method_supertrend_next() != 16495:
|
|
580
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
581
|
+
if lib.uniffi_quantwave_python_checksum_constructor_t3_new() != 16265:
|
|
582
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
583
|
+
if lib.uniffi_quantwave_python_checksum_method_t3_next() != 4066:
|
|
584
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
585
|
+
if lib.uniffi_quantwave_python_checksum_constructor_wma_new() != 20766:
|
|
586
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
587
|
+
if lib.uniffi_quantwave_python_checksum_method_wma_next() != 17686:
|
|
588
|
+
raise InternalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
|
|
589
|
+
|
|
590
|
+
# A ctypes library to expose the extern-C FFI definitions.
|
|
591
|
+
# This is an implementation detail which will be called internally by the public API.
|
|
592
|
+
|
|
593
|
+
_UniffiLib = _uniffi_load_indirect()
|
|
594
|
+
_UniffiLib.ffi_quantwave_python_rustbuffer_alloc.argtypes = (
|
|
595
|
+
ctypes.c_uint64,
|
|
596
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
597
|
+
)
|
|
598
|
+
_UniffiLib.ffi_quantwave_python_rustbuffer_alloc.restype = _UniffiRustBuffer
|
|
599
|
+
_UniffiLib.ffi_quantwave_python_rustbuffer_from_bytes.argtypes = (
|
|
600
|
+
_UniffiForeignBytes,
|
|
601
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
602
|
+
)
|
|
603
|
+
_UniffiLib.ffi_quantwave_python_rustbuffer_from_bytes.restype = _UniffiRustBuffer
|
|
604
|
+
_UniffiLib.ffi_quantwave_python_rustbuffer_free.argtypes = (
|
|
605
|
+
_UniffiRustBuffer,
|
|
606
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
607
|
+
)
|
|
608
|
+
_UniffiLib.ffi_quantwave_python_rustbuffer_free.restype = None
|
|
609
|
+
_UniffiLib.ffi_quantwave_python_rustbuffer_reserve.argtypes = (
|
|
610
|
+
_UniffiRustBuffer,
|
|
611
|
+
ctypes.c_uint64,
|
|
612
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
613
|
+
)
|
|
614
|
+
_UniffiLib.ffi_quantwave_python_rustbuffer_reserve.restype = _UniffiRustBuffer
|
|
615
|
+
_UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK = ctypes.CFUNCTYPE(None,ctypes.c_uint64,ctypes.c_int8,
|
|
616
|
+
)
|
|
617
|
+
_UNIFFI_FOREIGN_FUTURE_DROPPED_CALLBACK = ctypes.CFUNCTYPE(None,ctypes.c_uint64,
|
|
618
|
+
)
|
|
619
|
+
class _UniffiForeignFutureDroppedCallbackStruct(ctypes.Structure):
|
|
620
|
+
_fields_ = [
|
|
621
|
+
("handle", ctypes.c_uint64),
|
|
622
|
+
("free", _UNIFFI_FOREIGN_FUTURE_DROPPED_CALLBACK),
|
|
623
|
+
]
|
|
624
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_u8.argtypes = (
|
|
625
|
+
ctypes.c_uint64,
|
|
626
|
+
_UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK,
|
|
627
|
+
ctypes.c_uint64,
|
|
628
|
+
)
|
|
629
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_u8.restype = None
|
|
630
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_u8.argtypes = (
|
|
631
|
+
ctypes.c_uint64,
|
|
632
|
+
)
|
|
633
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_u8.restype = None
|
|
634
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_u8.argtypes = (
|
|
635
|
+
ctypes.c_uint64,
|
|
636
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
637
|
+
)
|
|
638
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_u8.restype = ctypes.c_uint8
|
|
639
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_u8.argtypes = (
|
|
640
|
+
ctypes.c_uint64,
|
|
641
|
+
)
|
|
642
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_u8.restype = None
|
|
643
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_i8.argtypes = (
|
|
644
|
+
ctypes.c_uint64,
|
|
645
|
+
_UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK,
|
|
646
|
+
ctypes.c_uint64,
|
|
647
|
+
)
|
|
648
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_i8.restype = None
|
|
649
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_i8.argtypes = (
|
|
650
|
+
ctypes.c_uint64,
|
|
651
|
+
)
|
|
652
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_i8.restype = None
|
|
653
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_i8.argtypes = (
|
|
654
|
+
ctypes.c_uint64,
|
|
655
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
656
|
+
)
|
|
657
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_i8.restype = ctypes.c_int8
|
|
658
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_i8.argtypes = (
|
|
659
|
+
ctypes.c_uint64,
|
|
660
|
+
)
|
|
661
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_i8.restype = None
|
|
662
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_u16.argtypes = (
|
|
663
|
+
ctypes.c_uint64,
|
|
664
|
+
_UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK,
|
|
665
|
+
ctypes.c_uint64,
|
|
666
|
+
)
|
|
667
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_u16.restype = None
|
|
668
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_u16.argtypes = (
|
|
669
|
+
ctypes.c_uint64,
|
|
670
|
+
)
|
|
671
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_u16.restype = None
|
|
672
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_u16.argtypes = (
|
|
673
|
+
ctypes.c_uint64,
|
|
674
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
675
|
+
)
|
|
676
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_u16.restype = ctypes.c_uint16
|
|
677
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_u16.argtypes = (
|
|
678
|
+
ctypes.c_uint64,
|
|
679
|
+
)
|
|
680
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_u16.restype = None
|
|
681
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_i16.argtypes = (
|
|
682
|
+
ctypes.c_uint64,
|
|
683
|
+
_UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK,
|
|
684
|
+
ctypes.c_uint64,
|
|
685
|
+
)
|
|
686
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_i16.restype = None
|
|
687
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_i16.argtypes = (
|
|
688
|
+
ctypes.c_uint64,
|
|
689
|
+
)
|
|
690
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_i16.restype = None
|
|
691
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_i16.argtypes = (
|
|
692
|
+
ctypes.c_uint64,
|
|
693
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
694
|
+
)
|
|
695
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_i16.restype = ctypes.c_int16
|
|
696
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_i16.argtypes = (
|
|
697
|
+
ctypes.c_uint64,
|
|
698
|
+
)
|
|
699
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_i16.restype = None
|
|
700
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_u32.argtypes = (
|
|
701
|
+
ctypes.c_uint64,
|
|
702
|
+
_UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK,
|
|
703
|
+
ctypes.c_uint64,
|
|
704
|
+
)
|
|
705
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_u32.restype = None
|
|
706
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_u32.argtypes = (
|
|
707
|
+
ctypes.c_uint64,
|
|
708
|
+
)
|
|
709
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_u32.restype = None
|
|
710
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_u32.argtypes = (
|
|
711
|
+
ctypes.c_uint64,
|
|
712
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
713
|
+
)
|
|
714
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_u32.restype = ctypes.c_uint32
|
|
715
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_u32.argtypes = (
|
|
716
|
+
ctypes.c_uint64,
|
|
717
|
+
)
|
|
718
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_u32.restype = None
|
|
719
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_i32.argtypes = (
|
|
720
|
+
ctypes.c_uint64,
|
|
721
|
+
_UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK,
|
|
722
|
+
ctypes.c_uint64,
|
|
723
|
+
)
|
|
724
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_i32.restype = None
|
|
725
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_i32.argtypes = (
|
|
726
|
+
ctypes.c_uint64,
|
|
727
|
+
)
|
|
728
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_i32.restype = None
|
|
729
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_i32.argtypes = (
|
|
730
|
+
ctypes.c_uint64,
|
|
731
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
732
|
+
)
|
|
733
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_i32.restype = ctypes.c_int32
|
|
734
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_i32.argtypes = (
|
|
735
|
+
ctypes.c_uint64,
|
|
736
|
+
)
|
|
737
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_i32.restype = None
|
|
738
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_u64.argtypes = (
|
|
739
|
+
ctypes.c_uint64,
|
|
740
|
+
_UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK,
|
|
741
|
+
ctypes.c_uint64,
|
|
742
|
+
)
|
|
743
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_u64.restype = None
|
|
744
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_u64.argtypes = (
|
|
745
|
+
ctypes.c_uint64,
|
|
746
|
+
)
|
|
747
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_u64.restype = None
|
|
748
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_u64.argtypes = (
|
|
749
|
+
ctypes.c_uint64,
|
|
750
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
751
|
+
)
|
|
752
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_u64.restype = ctypes.c_uint64
|
|
753
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_u64.argtypes = (
|
|
754
|
+
ctypes.c_uint64,
|
|
755
|
+
)
|
|
756
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_u64.restype = None
|
|
757
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_i64.argtypes = (
|
|
758
|
+
ctypes.c_uint64,
|
|
759
|
+
_UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK,
|
|
760
|
+
ctypes.c_uint64,
|
|
761
|
+
)
|
|
762
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_i64.restype = None
|
|
763
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_i64.argtypes = (
|
|
764
|
+
ctypes.c_uint64,
|
|
765
|
+
)
|
|
766
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_i64.restype = None
|
|
767
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_i64.argtypes = (
|
|
768
|
+
ctypes.c_uint64,
|
|
769
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
770
|
+
)
|
|
771
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_i64.restype = ctypes.c_int64
|
|
772
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_i64.argtypes = (
|
|
773
|
+
ctypes.c_uint64,
|
|
774
|
+
)
|
|
775
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_i64.restype = None
|
|
776
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_f32.argtypes = (
|
|
777
|
+
ctypes.c_uint64,
|
|
778
|
+
_UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK,
|
|
779
|
+
ctypes.c_uint64,
|
|
780
|
+
)
|
|
781
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_f32.restype = None
|
|
782
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_f32.argtypes = (
|
|
783
|
+
ctypes.c_uint64,
|
|
784
|
+
)
|
|
785
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_f32.restype = None
|
|
786
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_f32.argtypes = (
|
|
787
|
+
ctypes.c_uint64,
|
|
788
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
789
|
+
)
|
|
790
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_f32.restype = ctypes.c_float
|
|
791
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_f32.argtypes = (
|
|
792
|
+
ctypes.c_uint64,
|
|
793
|
+
)
|
|
794
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_f32.restype = None
|
|
795
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_f64.argtypes = (
|
|
796
|
+
ctypes.c_uint64,
|
|
797
|
+
_UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK,
|
|
798
|
+
ctypes.c_uint64,
|
|
799
|
+
)
|
|
800
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_f64.restype = None
|
|
801
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_f64.argtypes = (
|
|
802
|
+
ctypes.c_uint64,
|
|
803
|
+
)
|
|
804
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_f64.restype = None
|
|
805
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_f64.argtypes = (
|
|
806
|
+
ctypes.c_uint64,
|
|
807
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
808
|
+
)
|
|
809
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_f64.restype = ctypes.c_double
|
|
810
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_f64.argtypes = (
|
|
811
|
+
ctypes.c_uint64,
|
|
812
|
+
)
|
|
813
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_f64.restype = None
|
|
814
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_rust_buffer.argtypes = (
|
|
815
|
+
ctypes.c_uint64,
|
|
816
|
+
_UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK,
|
|
817
|
+
ctypes.c_uint64,
|
|
818
|
+
)
|
|
819
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_rust_buffer.restype = None
|
|
820
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_rust_buffer.argtypes = (
|
|
821
|
+
ctypes.c_uint64,
|
|
822
|
+
)
|
|
823
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_rust_buffer.restype = None
|
|
824
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_rust_buffer.argtypes = (
|
|
825
|
+
ctypes.c_uint64,
|
|
826
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
827
|
+
)
|
|
828
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_rust_buffer.restype = _UniffiRustBuffer
|
|
829
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_rust_buffer.argtypes = (
|
|
830
|
+
ctypes.c_uint64,
|
|
831
|
+
)
|
|
832
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_rust_buffer.restype = None
|
|
833
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_void.argtypes = (
|
|
834
|
+
ctypes.c_uint64,
|
|
835
|
+
_UNIFFI_RUST_FUTURE_CONTINUATION_CALLBACK,
|
|
836
|
+
ctypes.c_uint64,
|
|
837
|
+
)
|
|
838
|
+
_UniffiLib.ffi_quantwave_python_rust_future_poll_void.restype = None
|
|
839
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_void.argtypes = (
|
|
840
|
+
ctypes.c_uint64,
|
|
841
|
+
)
|
|
842
|
+
_UniffiLib.ffi_quantwave_python_rust_future_cancel_void.restype = None
|
|
843
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_void.argtypes = (
|
|
844
|
+
ctypes.c_uint64,
|
|
845
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
846
|
+
)
|
|
847
|
+
_UniffiLib.ffi_quantwave_python_rust_future_complete_void.restype = None
|
|
848
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_void.argtypes = (
|
|
849
|
+
ctypes.c_uint64,
|
|
850
|
+
)
|
|
851
|
+
_UniffiLib.ffi_quantwave_python_rust_future_free_void.restype = None
|
|
852
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_adx.argtypes = (
|
|
853
|
+
ctypes.c_uint64,
|
|
854
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
855
|
+
)
|
|
856
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_adx.restype = ctypes.c_uint64
|
|
857
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_adx.argtypes = (
|
|
858
|
+
ctypes.c_uint64,
|
|
859
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
860
|
+
)
|
|
861
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_adx.restype = None
|
|
862
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_atr.argtypes = (
|
|
863
|
+
ctypes.c_uint64,
|
|
864
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
865
|
+
)
|
|
866
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_atr.restype = ctypes.c_uint64
|
|
867
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_atr.argtypes = (
|
|
868
|
+
ctypes.c_uint64,
|
|
869
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
870
|
+
)
|
|
871
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_atr.restype = None
|
|
872
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_bbands.argtypes = (
|
|
873
|
+
ctypes.c_uint64,
|
|
874
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
875
|
+
)
|
|
876
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_bbands.restype = ctypes.c_uint64
|
|
877
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_bbands.argtypes = (
|
|
878
|
+
ctypes.c_uint64,
|
|
879
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
880
|
+
)
|
|
881
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_bbands.restype = None
|
|
882
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_cci.argtypes = (
|
|
883
|
+
ctypes.c_uint64,
|
|
884
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
885
|
+
)
|
|
886
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_cci.restype = ctypes.c_uint64
|
|
887
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_cci.argtypes = (
|
|
888
|
+
ctypes.c_uint64,
|
|
889
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
890
|
+
)
|
|
891
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_cci.restype = None
|
|
892
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_ema.argtypes = (
|
|
893
|
+
ctypes.c_uint64,
|
|
894
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
895
|
+
)
|
|
896
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_ema.restype = ctypes.c_uint64
|
|
897
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_ema.argtypes = (
|
|
898
|
+
ctypes.c_uint64,
|
|
899
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
900
|
+
)
|
|
901
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_ema.restype = None
|
|
902
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_ichimoku.argtypes = (
|
|
903
|
+
ctypes.c_uint64,
|
|
904
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
905
|
+
)
|
|
906
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_ichimoku.restype = ctypes.c_uint64
|
|
907
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_ichimoku.argtypes = (
|
|
908
|
+
ctypes.c_uint64,
|
|
909
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
910
|
+
)
|
|
911
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_ichimoku.restype = None
|
|
912
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_kama.argtypes = (
|
|
913
|
+
ctypes.c_uint64,
|
|
914
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
915
|
+
)
|
|
916
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_kama.restype = ctypes.c_uint64
|
|
917
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_kama.argtypes = (
|
|
918
|
+
ctypes.c_uint64,
|
|
919
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
920
|
+
)
|
|
921
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_kama.restype = None
|
|
922
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_macd.argtypes = (
|
|
923
|
+
ctypes.c_uint64,
|
|
924
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
925
|
+
)
|
|
926
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_macd.restype = ctypes.c_uint64
|
|
927
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_macd.argtypes = (
|
|
928
|
+
ctypes.c_uint64,
|
|
929
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
930
|
+
)
|
|
931
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_macd.restype = None
|
|
932
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_mama.argtypes = (
|
|
933
|
+
ctypes.c_uint64,
|
|
934
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
935
|
+
)
|
|
936
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_mama.restype = ctypes.c_uint64
|
|
937
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_mama.argtypes = (
|
|
938
|
+
ctypes.c_uint64,
|
|
939
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
940
|
+
)
|
|
941
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_mama.restype = None
|
|
942
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_rsi.argtypes = (
|
|
943
|
+
ctypes.c_uint64,
|
|
944
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
945
|
+
)
|
|
946
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_rsi.restype = ctypes.c_uint64
|
|
947
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_rsi.argtypes = (
|
|
948
|
+
ctypes.c_uint64,
|
|
949
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
950
|
+
)
|
|
951
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_rsi.restype = None
|
|
952
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_sar.argtypes = (
|
|
953
|
+
ctypes.c_uint64,
|
|
954
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
955
|
+
)
|
|
956
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_sar.restype = ctypes.c_uint64
|
|
957
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_sar.argtypes = (
|
|
958
|
+
ctypes.c_uint64,
|
|
959
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
960
|
+
)
|
|
961
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_sar.restype = None
|
|
962
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_sma.argtypes = (
|
|
963
|
+
ctypes.c_uint64,
|
|
964
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
965
|
+
)
|
|
966
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_sma.restype = ctypes.c_uint64
|
|
967
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_sma.argtypes = (
|
|
968
|
+
ctypes.c_uint64,
|
|
969
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
970
|
+
)
|
|
971
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_sma.restype = None
|
|
972
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_stoch.argtypes = (
|
|
973
|
+
ctypes.c_uint64,
|
|
974
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
975
|
+
)
|
|
976
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_stoch.restype = ctypes.c_uint64
|
|
977
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_stoch.argtypes = (
|
|
978
|
+
ctypes.c_uint64,
|
|
979
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
980
|
+
)
|
|
981
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_stoch.restype = None
|
|
982
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_supertrend.argtypes = (
|
|
983
|
+
ctypes.c_uint64,
|
|
984
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
985
|
+
)
|
|
986
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_supertrend.restype = ctypes.c_uint64
|
|
987
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_supertrend.argtypes = (
|
|
988
|
+
ctypes.c_uint64,
|
|
989
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
990
|
+
)
|
|
991
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_supertrend.restype = None
|
|
992
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_t3.argtypes = (
|
|
993
|
+
ctypes.c_uint64,
|
|
994
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
995
|
+
)
|
|
996
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_t3.restype = ctypes.c_uint64
|
|
997
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_t3.argtypes = (
|
|
998
|
+
ctypes.c_uint64,
|
|
999
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1000
|
+
)
|
|
1001
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_t3.restype = None
|
|
1002
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_wma.argtypes = (
|
|
1003
|
+
ctypes.c_uint64,
|
|
1004
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1005
|
+
)
|
|
1006
|
+
_UniffiLib.uniffi_quantwave_python_fn_clone_wma.restype = ctypes.c_uint64
|
|
1007
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_wma.argtypes = (
|
|
1008
|
+
ctypes.c_uint64,
|
|
1009
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1010
|
+
)
|
|
1011
|
+
_UniffiLib.uniffi_quantwave_python_fn_free_wma.restype = None
|
|
1012
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_adx.argtypes = (
|
|
1013
|
+
_UniffiRustBuffer,
|
|
1014
|
+
_UniffiRustBuffer,
|
|
1015
|
+
_UniffiRustBuffer,
|
|
1016
|
+
ctypes.c_uint64,
|
|
1017
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1018
|
+
)
|
|
1019
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_adx.restype = _UniffiRustBuffer
|
|
1020
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_aroon.argtypes = (
|
|
1021
|
+
_UniffiRustBuffer,
|
|
1022
|
+
_UniffiRustBuffer,
|
|
1023
|
+
ctypes.c_uint64,
|
|
1024
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1025
|
+
)
|
|
1026
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_aroon.restype = _UniffiRustBuffer
|
|
1027
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_atr.argtypes = (
|
|
1028
|
+
_UniffiRustBuffer,
|
|
1029
|
+
_UniffiRustBuffer,
|
|
1030
|
+
_UniffiRustBuffer,
|
|
1031
|
+
ctypes.c_uint64,
|
|
1032
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1033
|
+
)
|
|
1034
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_atr.restype = _UniffiRustBuffer
|
|
1035
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_bbands.argtypes = (
|
|
1036
|
+
_UniffiRustBuffer,
|
|
1037
|
+
ctypes.c_uint64,
|
|
1038
|
+
ctypes.c_double,
|
|
1039
|
+
ctypes.c_double,
|
|
1040
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1041
|
+
)
|
|
1042
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_bbands.restype = _UniffiRustBuffer
|
|
1043
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_cci.argtypes = (
|
|
1044
|
+
_UniffiRustBuffer,
|
|
1045
|
+
_UniffiRustBuffer,
|
|
1046
|
+
_UniffiRustBuffer,
|
|
1047
|
+
ctypes.c_uint64,
|
|
1048
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1049
|
+
)
|
|
1050
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_cci.restype = _UniffiRustBuffer
|
|
1051
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_dema.argtypes = (
|
|
1052
|
+
_UniffiRustBuffer,
|
|
1053
|
+
ctypes.c_uint64,
|
|
1054
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1055
|
+
)
|
|
1056
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_dema.restype = _UniffiRustBuffer
|
|
1057
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_ema.argtypes = (
|
|
1058
|
+
_UniffiRustBuffer,
|
|
1059
|
+
ctypes.c_uint64,
|
|
1060
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1061
|
+
)
|
|
1062
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_ema.restype = _UniffiRustBuffer
|
|
1063
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_ichimoku_batch.argtypes = (
|
|
1064
|
+
_UniffiRustBuffer,
|
|
1065
|
+
_UniffiRustBuffer,
|
|
1066
|
+
ctypes.c_uint64,
|
|
1067
|
+
ctypes.c_uint64,
|
|
1068
|
+
ctypes.c_uint64,
|
|
1069
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1070
|
+
)
|
|
1071
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_ichimoku_batch.restype = _UniffiRustBuffer
|
|
1072
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_kama.argtypes = (
|
|
1073
|
+
_UniffiRustBuffer,
|
|
1074
|
+
ctypes.c_uint64,
|
|
1075
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1076
|
+
)
|
|
1077
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_kama.restype = _UniffiRustBuffer
|
|
1078
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_macd.argtypes = (
|
|
1079
|
+
_UniffiRustBuffer,
|
|
1080
|
+
ctypes.c_uint64,
|
|
1081
|
+
ctypes.c_uint64,
|
|
1082
|
+
ctypes.c_uint64,
|
|
1083
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1084
|
+
)
|
|
1085
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_macd.restype = _UniffiRustBuffer
|
|
1086
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_mama.argtypes = (
|
|
1087
|
+
_UniffiRustBuffer,
|
|
1088
|
+
ctypes.c_double,
|
|
1089
|
+
ctypes.c_double,
|
|
1090
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1091
|
+
)
|
|
1092
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_mama.restype = _UniffiRustBuffer
|
|
1093
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_mom.argtypes = (
|
|
1094
|
+
_UniffiRustBuffer,
|
|
1095
|
+
ctypes.c_uint64,
|
|
1096
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1097
|
+
)
|
|
1098
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_mom.restype = _UniffiRustBuffer
|
|
1099
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_roc.argtypes = (
|
|
1100
|
+
_UniffiRustBuffer,
|
|
1101
|
+
ctypes.c_uint64,
|
|
1102
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1103
|
+
)
|
|
1104
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_roc.restype = _UniffiRustBuffer
|
|
1105
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_rsi.argtypes = (
|
|
1106
|
+
_UniffiRustBuffer,
|
|
1107
|
+
ctypes.c_uint64,
|
|
1108
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1109
|
+
)
|
|
1110
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_rsi.restype = _UniffiRustBuffer
|
|
1111
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_sar.argtypes = (
|
|
1112
|
+
_UniffiRustBuffer,
|
|
1113
|
+
_UniffiRustBuffer,
|
|
1114
|
+
ctypes.c_double,
|
|
1115
|
+
ctypes.c_double,
|
|
1116
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1117
|
+
)
|
|
1118
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_sar.restype = _UniffiRustBuffer
|
|
1119
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_sma.argtypes = (
|
|
1120
|
+
_UniffiRustBuffer,
|
|
1121
|
+
ctypes.c_uint64,
|
|
1122
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1123
|
+
)
|
|
1124
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_sma.restype = _UniffiRustBuffer
|
|
1125
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_stoch.argtypes = (
|
|
1126
|
+
_UniffiRustBuffer,
|
|
1127
|
+
_UniffiRustBuffer,
|
|
1128
|
+
_UniffiRustBuffer,
|
|
1129
|
+
ctypes.c_uint64,
|
|
1130
|
+
ctypes.c_uint64,
|
|
1131
|
+
ctypes.c_uint64,
|
|
1132
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1133
|
+
)
|
|
1134
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_stoch.restype = _UniffiRustBuffer
|
|
1135
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_supertrend_batch.argtypes = (
|
|
1136
|
+
_UniffiRustBuffer,
|
|
1137
|
+
_UniffiRustBuffer,
|
|
1138
|
+
_UniffiRustBuffer,
|
|
1139
|
+
ctypes.c_uint64,
|
|
1140
|
+
ctypes.c_double,
|
|
1141
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1142
|
+
)
|
|
1143
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_supertrend_batch.restype = _UniffiRustBuffer
|
|
1144
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_t3.argtypes = (
|
|
1145
|
+
_UniffiRustBuffer,
|
|
1146
|
+
ctypes.c_uint64,
|
|
1147
|
+
ctypes.c_double,
|
|
1148
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1149
|
+
)
|
|
1150
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_t3.restype = _UniffiRustBuffer
|
|
1151
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_tema.argtypes = (
|
|
1152
|
+
_UniffiRustBuffer,
|
|
1153
|
+
ctypes.c_uint64,
|
|
1154
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1155
|
+
)
|
|
1156
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_tema.restype = _UniffiRustBuffer
|
|
1157
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_willr.argtypes = (
|
|
1158
|
+
_UniffiRustBuffer,
|
|
1159
|
+
_UniffiRustBuffer,
|
|
1160
|
+
_UniffiRustBuffer,
|
|
1161
|
+
ctypes.c_uint64,
|
|
1162
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1163
|
+
)
|
|
1164
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_willr.restype = _UniffiRustBuffer
|
|
1165
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_wma.argtypes = (
|
|
1166
|
+
_UniffiRustBuffer,
|
|
1167
|
+
ctypes.c_uint64,
|
|
1168
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1169
|
+
)
|
|
1170
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_wma.restype = _UniffiRustBuffer
|
|
1171
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_adx_new.argtypes = (
|
|
1172
|
+
ctypes.c_uint64,
|
|
1173
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1174
|
+
)
|
|
1175
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_adx_new.restype = ctypes.c_uint64
|
|
1176
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_adx_next.argtypes = (
|
|
1177
|
+
ctypes.c_uint64,
|
|
1178
|
+
ctypes.c_double,
|
|
1179
|
+
ctypes.c_double,
|
|
1180
|
+
ctypes.c_double,
|
|
1181
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1182
|
+
)
|
|
1183
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_adx_next.restype = ctypes.c_double
|
|
1184
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_atr_new.argtypes = (
|
|
1185
|
+
ctypes.c_uint64,
|
|
1186
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1187
|
+
)
|
|
1188
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_atr_new.restype = ctypes.c_uint64
|
|
1189
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_atr_next.argtypes = (
|
|
1190
|
+
ctypes.c_uint64,
|
|
1191
|
+
ctypes.c_double,
|
|
1192
|
+
ctypes.c_double,
|
|
1193
|
+
ctypes.c_double,
|
|
1194
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1195
|
+
)
|
|
1196
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_atr_next.restype = ctypes.c_double
|
|
1197
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_bbands_new.argtypes = (
|
|
1198
|
+
ctypes.c_uint64,
|
|
1199
|
+
ctypes.c_double,
|
|
1200
|
+
ctypes.c_double,
|
|
1201
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1202
|
+
)
|
|
1203
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_bbands_new.restype = ctypes.c_uint64
|
|
1204
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_bbands_next.argtypes = (
|
|
1205
|
+
ctypes.c_uint64,
|
|
1206
|
+
ctypes.c_double,
|
|
1207
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1208
|
+
)
|
|
1209
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_bbands_next.restype = _UniffiRustBuffer
|
|
1210
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_cci_new.argtypes = (
|
|
1211
|
+
ctypes.c_uint64,
|
|
1212
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1213
|
+
)
|
|
1214
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_cci_new.restype = ctypes.c_uint64
|
|
1215
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_cci_next.argtypes = (
|
|
1216
|
+
ctypes.c_uint64,
|
|
1217
|
+
ctypes.c_double,
|
|
1218
|
+
ctypes.c_double,
|
|
1219
|
+
ctypes.c_double,
|
|
1220
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1221
|
+
)
|
|
1222
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_cci_next.restype = ctypes.c_double
|
|
1223
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_ema_new.argtypes = (
|
|
1224
|
+
ctypes.c_uint64,
|
|
1225
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1226
|
+
)
|
|
1227
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_ema_new.restype = ctypes.c_uint64
|
|
1228
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_ema_next.argtypes = (
|
|
1229
|
+
ctypes.c_uint64,
|
|
1230
|
+
ctypes.c_double,
|
|
1231
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1232
|
+
)
|
|
1233
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_ema_next.restype = ctypes.c_double
|
|
1234
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_ichimoku_new.argtypes = (
|
|
1235
|
+
ctypes.c_uint64,
|
|
1236
|
+
ctypes.c_uint64,
|
|
1237
|
+
ctypes.c_uint64,
|
|
1238
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1239
|
+
)
|
|
1240
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_ichimoku_new.restype = ctypes.c_uint64
|
|
1241
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_ichimoku_next.argtypes = (
|
|
1242
|
+
ctypes.c_uint64,
|
|
1243
|
+
ctypes.c_double,
|
|
1244
|
+
ctypes.c_double,
|
|
1245
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1246
|
+
)
|
|
1247
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_ichimoku_next.restype = _UniffiRustBuffer
|
|
1248
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_kama_new.argtypes = (
|
|
1249
|
+
ctypes.c_uint64,
|
|
1250
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1251
|
+
)
|
|
1252
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_kama_new.restype = ctypes.c_uint64
|
|
1253
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_kama_next.argtypes = (
|
|
1254
|
+
ctypes.c_uint64,
|
|
1255
|
+
ctypes.c_double,
|
|
1256
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1257
|
+
)
|
|
1258
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_kama_next.restype = ctypes.c_double
|
|
1259
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_macd_new.argtypes = (
|
|
1260
|
+
ctypes.c_uint64,
|
|
1261
|
+
ctypes.c_uint64,
|
|
1262
|
+
ctypes.c_uint64,
|
|
1263
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1264
|
+
)
|
|
1265
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_macd_new.restype = ctypes.c_uint64
|
|
1266
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_macd_next.argtypes = (
|
|
1267
|
+
ctypes.c_uint64,
|
|
1268
|
+
ctypes.c_double,
|
|
1269
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1270
|
+
)
|
|
1271
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_macd_next.restype = _UniffiRustBuffer
|
|
1272
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_mama_new.argtypes = (
|
|
1273
|
+
ctypes.c_double,
|
|
1274
|
+
ctypes.c_double,
|
|
1275
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1276
|
+
)
|
|
1277
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_mama_new.restype = ctypes.c_uint64
|
|
1278
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_mama_next.argtypes = (
|
|
1279
|
+
ctypes.c_uint64,
|
|
1280
|
+
ctypes.c_double,
|
|
1281
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1282
|
+
)
|
|
1283
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_mama_next.restype = _UniffiRustBuffer
|
|
1284
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_rsi_new.argtypes = (
|
|
1285
|
+
ctypes.c_uint64,
|
|
1286
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1287
|
+
)
|
|
1288
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_rsi_new.restype = ctypes.c_uint64
|
|
1289
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_rsi_next.argtypes = (
|
|
1290
|
+
ctypes.c_uint64,
|
|
1291
|
+
ctypes.c_double,
|
|
1292
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1293
|
+
)
|
|
1294
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_rsi_next.restype = ctypes.c_double
|
|
1295
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_sar_new.argtypes = (
|
|
1296
|
+
ctypes.c_double,
|
|
1297
|
+
ctypes.c_double,
|
|
1298
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1299
|
+
)
|
|
1300
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_sar_new.restype = ctypes.c_uint64
|
|
1301
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_sar_next.argtypes = (
|
|
1302
|
+
ctypes.c_uint64,
|
|
1303
|
+
ctypes.c_double,
|
|
1304
|
+
ctypes.c_double,
|
|
1305
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1306
|
+
)
|
|
1307
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_sar_next.restype = ctypes.c_double
|
|
1308
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_sma_new.argtypes = (
|
|
1309
|
+
ctypes.c_uint64,
|
|
1310
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1311
|
+
)
|
|
1312
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_sma_new.restype = ctypes.c_uint64
|
|
1313
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_sma_next.argtypes = (
|
|
1314
|
+
ctypes.c_uint64,
|
|
1315
|
+
ctypes.c_double,
|
|
1316
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1317
|
+
)
|
|
1318
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_sma_next.restype = ctypes.c_double
|
|
1319
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_stoch_new.argtypes = (
|
|
1320
|
+
ctypes.c_uint64,
|
|
1321
|
+
ctypes.c_uint64,
|
|
1322
|
+
ctypes.c_uint64,
|
|
1323
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1324
|
+
)
|
|
1325
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_stoch_new.restype = ctypes.c_uint64
|
|
1326
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_stoch_next.argtypes = (
|
|
1327
|
+
ctypes.c_uint64,
|
|
1328
|
+
ctypes.c_double,
|
|
1329
|
+
ctypes.c_double,
|
|
1330
|
+
ctypes.c_double,
|
|
1331
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1332
|
+
)
|
|
1333
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_stoch_next.restype = _UniffiRustBuffer
|
|
1334
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_supertrend_new.argtypes = (
|
|
1335
|
+
ctypes.c_uint64,
|
|
1336
|
+
ctypes.c_double,
|
|
1337
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1338
|
+
)
|
|
1339
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_supertrend_new.restype = ctypes.c_uint64
|
|
1340
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_supertrend_next.argtypes = (
|
|
1341
|
+
ctypes.c_uint64,
|
|
1342
|
+
ctypes.c_double,
|
|
1343
|
+
ctypes.c_double,
|
|
1344
|
+
ctypes.c_double,
|
|
1345
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1346
|
+
)
|
|
1347
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_supertrend_next.restype = _UniffiRustBuffer
|
|
1348
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_t3_new.argtypes = (
|
|
1349
|
+
ctypes.c_uint64,
|
|
1350
|
+
ctypes.c_double,
|
|
1351
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1352
|
+
)
|
|
1353
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_t3_new.restype = ctypes.c_uint64
|
|
1354
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_t3_next.argtypes = (
|
|
1355
|
+
ctypes.c_uint64,
|
|
1356
|
+
ctypes.c_double,
|
|
1357
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1358
|
+
)
|
|
1359
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_t3_next.restype = ctypes.c_double
|
|
1360
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_wma_new.argtypes = (
|
|
1361
|
+
ctypes.c_uint64,
|
|
1362
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1363
|
+
)
|
|
1364
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_wma_new.restype = ctypes.c_uint64
|
|
1365
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_wma_next.argtypes = (
|
|
1366
|
+
ctypes.c_uint64,
|
|
1367
|
+
ctypes.c_double,
|
|
1368
|
+
ctypes.POINTER(_UniffiRustCallStatus),
|
|
1369
|
+
)
|
|
1370
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_wma_next.restype = ctypes.c_double
|
|
1371
|
+
_UniffiLib.ffi_quantwave_python_uniffi_contract_version.argtypes = (
|
|
1372
|
+
)
|
|
1373
|
+
_UniffiLib.ffi_quantwave_python_uniffi_contract_version.restype = ctypes.c_uint32
|
|
1374
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_adx.argtypes = (
|
|
1375
|
+
)
|
|
1376
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_adx.restype = ctypes.c_uint16
|
|
1377
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_aroon.argtypes = (
|
|
1378
|
+
)
|
|
1379
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_aroon.restype = ctypes.c_uint16
|
|
1380
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_atr.argtypes = (
|
|
1381
|
+
)
|
|
1382
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_atr.restype = ctypes.c_uint16
|
|
1383
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_bbands.argtypes = (
|
|
1384
|
+
)
|
|
1385
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_bbands.restype = ctypes.c_uint16
|
|
1386
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_cci.argtypes = (
|
|
1387
|
+
)
|
|
1388
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_cci.restype = ctypes.c_uint16
|
|
1389
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_dema.argtypes = (
|
|
1390
|
+
)
|
|
1391
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_dema.restype = ctypes.c_uint16
|
|
1392
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_ema.argtypes = (
|
|
1393
|
+
)
|
|
1394
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_ema.restype = ctypes.c_uint16
|
|
1395
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_ichimoku_batch.argtypes = (
|
|
1396
|
+
)
|
|
1397
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_ichimoku_batch.restype = ctypes.c_uint16
|
|
1398
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_kama.argtypes = (
|
|
1399
|
+
)
|
|
1400
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_kama.restype = ctypes.c_uint16
|
|
1401
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_macd.argtypes = (
|
|
1402
|
+
)
|
|
1403
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_macd.restype = ctypes.c_uint16
|
|
1404
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_mama.argtypes = (
|
|
1405
|
+
)
|
|
1406
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_mama.restype = ctypes.c_uint16
|
|
1407
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_mom.argtypes = (
|
|
1408
|
+
)
|
|
1409
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_mom.restype = ctypes.c_uint16
|
|
1410
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_roc.argtypes = (
|
|
1411
|
+
)
|
|
1412
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_roc.restype = ctypes.c_uint16
|
|
1413
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_rsi.argtypes = (
|
|
1414
|
+
)
|
|
1415
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_rsi.restype = ctypes.c_uint16
|
|
1416
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_sar.argtypes = (
|
|
1417
|
+
)
|
|
1418
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_sar.restype = ctypes.c_uint16
|
|
1419
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_sma.argtypes = (
|
|
1420
|
+
)
|
|
1421
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_sma.restype = ctypes.c_uint16
|
|
1422
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_stoch.argtypes = (
|
|
1423
|
+
)
|
|
1424
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_stoch.restype = ctypes.c_uint16
|
|
1425
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_supertrend_batch.argtypes = (
|
|
1426
|
+
)
|
|
1427
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_supertrend_batch.restype = ctypes.c_uint16
|
|
1428
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_t3.argtypes = (
|
|
1429
|
+
)
|
|
1430
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_t3.restype = ctypes.c_uint16
|
|
1431
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_tema.argtypes = (
|
|
1432
|
+
)
|
|
1433
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_tema.restype = ctypes.c_uint16
|
|
1434
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_willr.argtypes = (
|
|
1435
|
+
)
|
|
1436
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_willr.restype = ctypes.c_uint16
|
|
1437
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_wma.argtypes = (
|
|
1438
|
+
)
|
|
1439
|
+
_UniffiLib.uniffi_quantwave_python_checksum_func_wma.restype = ctypes.c_uint16
|
|
1440
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_adx_new.argtypes = (
|
|
1441
|
+
)
|
|
1442
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_adx_new.restype = ctypes.c_uint16
|
|
1443
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_adx_next.argtypes = (
|
|
1444
|
+
)
|
|
1445
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_adx_next.restype = ctypes.c_uint16
|
|
1446
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_atr_new.argtypes = (
|
|
1447
|
+
)
|
|
1448
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_atr_new.restype = ctypes.c_uint16
|
|
1449
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_atr_next.argtypes = (
|
|
1450
|
+
)
|
|
1451
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_atr_next.restype = ctypes.c_uint16
|
|
1452
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_bbands_new.argtypes = (
|
|
1453
|
+
)
|
|
1454
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_bbands_new.restype = ctypes.c_uint16
|
|
1455
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_bbands_next.argtypes = (
|
|
1456
|
+
)
|
|
1457
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_bbands_next.restype = ctypes.c_uint16
|
|
1458
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_cci_new.argtypes = (
|
|
1459
|
+
)
|
|
1460
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_cci_new.restype = ctypes.c_uint16
|
|
1461
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_cci_next.argtypes = (
|
|
1462
|
+
)
|
|
1463
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_cci_next.restype = ctypes.c_uint16
|
|
1464
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_ema_new.argtypes = (
|
|
1465
|
+
)
|
|
1466
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_ema_new.restype = ctypes.c_uint16
|
|
1467
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_ema_next.argtypes = (
|
|
1468
|
+
)
|
|
1469
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_ema_next.restype = ctypes.c_uint16
|
|
1470
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_ichimoku_new.argtypes = (
|
|
1471
|
+
)
|
|
1472
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_ichimoku_new.restype = ctypes.c_uint16
|
|
1473
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_ichimoku_next.argtypes = (
|
|
1474
|
+
)
|
|
1475
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_ichimoku_next.restype = ctypes.c_uint16
|
|
1476
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_kama_new.argtypes = (
|
|
1477
|
+
)
|
|
1478
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_kama_new.restype = ctypes.c_uint16
|
|
1479
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_kama_next.argtypes = (
|
|
1480
|
+
)
|
|
1481
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_kama_next.restype = ctypes.c_uint16
|
|
1482
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_macd_new.argtypes = (
|
|
1483
|
+
)
|
|
1484
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_macd_new.restype = ctypes.c_uint16
|
|
1485
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_macd_next.argtypes = (
|
|
1486
|
+
)
|
|
1487
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_macd_next.restype = ctypes.c_uint16
|
|
1488
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_mama_new.argtypes = (
|
|
1489
|
+
)
|
|
1490
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_mama_new.restype = ctypes.c_uint16
|
|
1491
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_mama_next.argtypes = (
|
|
1492
|
+
)
|
|
1493
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_mama_next.restype = ctypes.c_uint16
|
|
1494
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_rsi_new.argtypes = (
|
|
1495
|
+
)
|
|
1496
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_rsi_new.restype = ctypes.c_uint16
|
|
1497
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_rsi_next.argtypes = (
|
|
1498
|
+
)
|
|
1499
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_rsi_next.restype = ctypes.c_uint16
|
|
1500
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_sar_new.argtypes = (
|
|
1501
|
+
)
|
|
1502
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_sar_new.restype = ctypes.c_uint16
|
|
1503
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_sar_next.argtypes = (
|
|
1504
|
+
)
|
|
1505
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_sar_next.restype = ctypes.c_uint16
|
|
1506
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_sma_new.argtypes = (
|
|
1507
|
+
)
|
|
1508
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_sma_new.restype = ctypes.c_uint16
|
|
1509
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_sma_next.argtypes = (
|
|
1510
|
+
)
|
|
1511
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_sma_next.restype = ctypes.c_uint16
|
|
1512
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_stoch_new.argtypes = (
|
|
1513
|
+
)
|
|
1514
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_stoch_new.restype = ctypes.c_uint16
|
|
1515
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_stoch_next.argtypes = (
|
|
1516
|
+
)
|
|
1517
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_stoch_next.restype = ctypes.c_uint16
|
|
1518
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_supertrend_new.argtypes = (
|
|
1519
|
+
)
|
|
1520
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_supertrend_new.restype = ctypes.c_uint16
|
|
1521
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_supertrend_next.argtypes = (
|
|
1522
|
+
)
|
|
1523
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_supertrend_next.restype = ctypes.c_uint16
|
|
1524
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_t3_new.argtypes = (
|
|
1525
|
+
)
|
|
1526
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_t3_new.restype = ctypes.c_uint16
|
|
1527
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_t3_next.argtypes = (
|
|
1528
|
+
)
|
|
1529
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_t3_next.restype = ctypes.c_uint16
|
|
1530
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_wma_new.argtypes = (
|
|
1531
|
+
)
|
|
1532
|
+
_UniffiLib.uniffi_quantwave_python_checksum_constructor_wma_new.restype = ctypes.c_uint16
|
|
1533
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_wma_next.argtypes = (
|
|
1534
|
+
)
|
|
1535
|
+
_UniffiLib.uniffi_quantwave_python_checksum_method_wma_next.restype = ctypes.c_uint16
|
|
1536
|
+
|
|
1537
|
+
_uniffi_check_contract_api_version(_UniffiLib)
|
|
1538
|
+
# _uniffi_check_api_checksums(_UniffiLib)
|
|
1539
|
+
|
|
1540
|
+
|
|
1541
|
+
|
|
1542
|
+
# Public interface members begin here.
|
|
1543
|
+
|
|
1544
|
+
|
|
1545
|
+
class _UniffiFfiConverterFloat64(_UniffiConverterPrimitiveFloat):
|
|
1546
|
+
@staticmethod
|
|
1547
|
+
def read(buf):
|
|
1548
|
+
return buf.read_double()
|
|
1549
|
+
|
|
1550
|
+
@staticmethod
|
|
1551
|
+
def write(value, buf):
|
|
1552
|
+
buf.write_double(value)
|
|
1553
|
+
|
|
1554
|
+
@dataclass
|
|
1555
|
+
class AroonResult:
|
|
1556
|
+
def __init__(self, *, up:float, down:float):
|
|
1557
|
+
self.up = up
|
|
1558
|
+
self.down = down
|
|
1559
|
+
|
|
1560
|
+
|
|
1561
|
+
|
|
1562
|
+
|
|
1563
|
+
def __str__(self):
|
|
1564
|
+
return "AroonResult(up={}, down={})".format(self.up, self.down)
|
|
1565
|
+
def __eq__(self, other):
|
|
1566
|
+
if self.up != other.up:
|
|
1567
|
+
return False
|
|
1568
|
+
if self.down != other.down:
|
|
1569
|
+
return False
|
|
1570
|
+
return True
|
|
1571
|
+
|
|
1572
|
+
class _UniffiFfiConverterTypeAroonResult(_UniffiConverterRustBuffer):
|
|
1573
|
+
@staticmethod
|
|
1574
|
+
def read(buf):
|
|
1575
|
+
return AroonResult(
|
|
1576
|
+
up=_UniffiFfiConverterFloat64.read(buf),
|
|
1577
|
+
down=_UniffiFfiConverterFloat64.read(buf),
|
|
1578
|
+
)
|
|
1579
|
+
|
|
1580
|
+
@staticmethod
|
|
1581
|
+
def check_lower(value):
|
|
1582
|
+
_UniffiFfiConverterFloat64.check_lower(value.up)
|
|
1583
|
+
_UniffiFfiConverterFloat64.check_lower(value.down)
|
|
1584
|
+
|
|
1585
|
+
@staticmethod
|
|
1586
|
+
def write(value, buf):
|
|
1587
|
+
_UniffiFfiConverterFloat64.write(value.up, buf)
|
|
1588
|
+
_UniffiFfiConverterFloat64.write(value.down, buf)
|
|
1589
|
+
|
|
1590
|
+
@dataclass
|
|
1591
|
+
class BbandsResult:
|
|
1592
|
+
def __init__(self, *, upper:float, middle:float, lower:float):
|
|
1593
|
+
self.upper = upper
|
|
1594
|
+
self.middle = middle
|
|
1595
|
+
self.lower = lower
|
|
1596
|
+
|
|
1597
|
+
|
|
1598
|
+
|
|
1599
|
+
|
|
1600
|
+
def __str__(self):
|
|
1601
|
+
return "BbandsResult(upper={}, middle={}, lower={})".format(self.upper, self.middle, self.lower)
|
|
1602
|
+
def __eq__(self, other):
|
|
1603
|
+
if self.upper != other.upper:
|
|
1604
|
+
return False
|
|
1605
|
+
if self.middle != other.middle:
|
|
1606
|
+
return False
|
|
1607
|
+
if self.lower != other.lower:
|
|
1608
|
+
return False
|
|
1609
|
+
return True
|
|
1610
|
+
|
|
1611
|
+
class _UniffiFfiConverterTypeBbandsResult(_UniffiConverterRustBuffer):
|
|
1612
|
+
@staticmethod
|
|
1613
|
+
def read(buf):
|
|
1614
|
+
return BbandsResult(
|
|
1615
|
+
upper=_UniffiFfiConverterFloat64.read(buf),
|
|
1616
|
+
middle=_UniffiFfiConverterFloat64.read(buf),
|
|
1617
|
+
lower=_UniffiFfiConverterFloat64.read(buf),
|
|
1618
|
+
)
|
|
1619
|
+
|
|
1620
|
+
@staticmethod
|
|
1621
|
+
def check_lower(value):
|
|
1622
|
+
_UniffiFfiConverterFloat64.check_lower(value.upper)
|
|
1623
|
+
_UniffiFfiConverterFloat64.check_lower(value.middle)
|
|
1624
|
+
_UniffiFfiConverterFloat64.check_lower(value.lower)
|
|
1625
|
+
|
|
1626
|
+
@staticmethod
|
|
1627
|
+
def write(value, buf):
|
|
1628
|
+
_UniffiFfiConverterFloat64.write(value.upper, buf)
|
|
1629
|
+
_UniffiFfiConverterFloat64.write(value.middle, buf)
|
|
1630
|
+
_UniffiFfiConverterFloat64.write(value.lower, buf)
|
|
1631
|
+
|
|
1632
|
+
@dataclass
|
|
1633
|
+
class IchimokuResult:
|
|
1634
|
+
def __init__(self, *, tenkan:float, kijun:float, senkou_a:float, senkou_b:float):
|
|
1635
|
+
self.tenkan = tenkan
|
|
1636
|
+
self.kijun = kijun
|
|
1637
|
+
self.senkou_a = senkou_a
|
|
1638
|
+
self.senkou_b = senkou_b
|
|
1639
|
+
|
|
1640
|
+
|
|
1641
|
+
|
|
1642
|
+
|
|
1643
|
+
def __str__(self):
|
|
1644
|
+
return "IchimokuResult(tenkan={}, kijun={}, senkou_a={}, senkou_b={})".format(self.tenkan, self.kijun, self.senkou_a, self.senkou_b)
|
|
1645
|
+
def __eq__(self, other):
|
|
1646
|
+
if self.tenkan != other.tenkan:
|
|
1647
|
+
return False
|
|
1648
|
+
if self.kijun != other.kijun:
|
|
1649
|
+
return False
|
|
1650
|
+
if self.senkou_a != other.senkou_a:
|
|
1651
|
+
return False
|
|
1652
|
+
if self.senkou_b != other.senkou_b:
|
|
1653
|
+
return False
|
|
1654
|
+
return True
|
|
1655
|
+
|
|
1656
|
+
class _UniffiFfiConverterTypeIchimokuResult(_UniffiConverterRustBuffer):
|
|
1657
|
+
@staticmethod
|
|
1658
|
+
def read(buf):
|
|
1659
|
+
return IchimokuResult(
|
|
1660
|
+
tenkan=_UniffiFfiConverterFloat64.read(buf),
|
|
1661
|
+
kijun=_UniffiFfiConverterFloat64.read(buf),
|
|
1662
|
+
senkou_a=_UniffiFfiConverterFloat64.read(buf),
|
|
1663
|
+
senkou_b=_UniffiFfiConverterFloat64.read(buf),
|
|
1664
|
+
)
|
|
1665
|
+
|
|
1666
|
+
@staticmethod
|
|
1667
|
+
def check_lower(value):
|
|
1668
|
+
_UniffiFfiConverterFloat64.check_lower(value.tenkan)
|
|
1669
|
+
_UniffiFfiConverterFloat64.check_lower(value.kijun)
|
|
1670
|
+
_UniffiFfiConverterFloat64.check_lower(value.senkou_a)
|
|
1671
|
+
_UniffiFfiConverterFloat64.check_lower(value.senkou_b)
|
|
1672
|
+
|
|
1673
|
+
@staticmethod
|
|
1674
|
+
def write(value, buf):
|
|
1675
|
+
_UniffiFfiConverterFloat64.write(value.tenkan, buf)
|
|
1676
|
+
_UniffiFfiConverterFloat64.write(value.kijun, buf)
|
|
1677
|
+
_UniffiFfiConverterFloat64.write(value.senkou_a, buf)
|
|
1678
|
+
_UniffiFfiConverterFloat64.write(value.senkou_b, buf)
|
|
1679
|
+
|
|
1680
|
+
@dataclass
|
|
1681
|
+
class MacdResult:
|
|
1682
|
+
def __init__(self, *, macd:float, signal:float, histogram:float):
|
|
1683
|
+
self.macd = macd
|
|
1684
|
+
self.signal = signal
|
|
1685
|
+
self.histogram = histogram
|
|
1686
|
+
|
|
1687
|
+
|
|
1688
|
+
|
|
1689
|
+
|
|
1690
|
+
def __str__(self):
|
|
1691
|
+
return "MacdResult(macd={}, signal={}, histogram={})".format(self.macd, self.signal, self.histogram)
|
|
1692
|
+
def __eq__(self, other):
|
|
1693
|
+
if self.macd != other.macd:
|
|
1694
|
+
return False
|
|
1695
|
+
if self.signal != other.signal:
|
|
1696
|
+
return False
|
|
1697
|
+
if self.histogram != other.histogram:
|
|
1698
|
+
return False
|
|
1699
|
+
return True
|
|
1700
|
+
|
|
1701
|
+
class _UniffiFfiConverterTypeMacdResult(_UniffiConverterRustBuffer):
|
|
1702
|
+
@staticmethod
|
|
1703
|
+
def read(buf):
|
|
1704
|
+
return MacdResult(
|
|
1705
|
+
macd=_UniffiFfiConverterFloat64.read(buf),
|
|
1706
|
+
signal=_UniffiFfiConverterFloat64.read(buf),
|
|
1707
|
+
histogram=_UniffiFfiConverterFloat64.read(buf),
|
|
1708
|
+
)
|
|
1709
|
+
|
|
1710
|
+
@staticmethod
|
|
1711
|
+
def check_lower(value):
|
|
1712
|
+
_UniffiFfiConverterFloat64.check_lower(value.macd)
|
|
1713
|
+
_UniffiFfiConverterFloat64.check_lower(value.signal)
|
|
1714
|
+
_UniffiFfiConverterFloat64.check_lower(value.histogram)
|
|
1715
|
+
|
|
1716
|
+
@staticmethod
|
|
1717
|
+
def write(value, buf):
|
|
1718
|
+
_UniffiFfiConverterFloat64.write(value.macd, buf)
|
|
1719
|
+
_UniffiFfiConverterFloat64.write(value.signal, buf)
|
|
1720
|
+
_UniffiFfiConverterFloat64.write(value.histogram, buf)
|
|
1721
|
+
|
|
1722
|
+
@dataclass
|
|
1723
|
+
class MamaResult:
|
|
1724
|
+
def __init__(self, *, mama:float, fama:float):
|
|
1725
|
+
self.mama = mama
|
|
1726
|
+
self.fama = fama
|
|
1727
|
+
|
|
1728
|
+
|
|
1729
|
+
|
|
1730
|
+
|
|
1731
|
+
def __str__(self):
|
|
1732
|
+
return "MamaResult(mama={}, fama={})".format(self.mama, self.fama)
|
|
1733
|
+
def __eq__(self, other):
|
|
1734
|
+
if self.mama != other.mama:
|
|
1735
|
+
return False
|
|
1736
|
+
if self.fama != other.fama:
|
|
1737
|
+
return False
|
|
1738
|
+
return True
|
|
1739
|
+
|
|
1740
|
+
class _UniffiFfiConverterTypeMamaResult(_UniffiConverterRustBuffer):
|
|
1741
|
+
@staticmethod
|
|
1742
|
+
def read(buf):
|
|
1743
|
+
return MamaResult(
|
|
1744
|
+
mama=_UniffiFfiConverterFloat64.read(buf),
|
|
1745
|
+
fama=_UniffiFfiConverterFloat64.read(buf),
|
|
1746
|
+
)
|
|
1747
|
+
|
|
1748
|
+
@staticmethod
|
|
1749
|
+
def check_lower(value):
|
|
1750
|
+
_UniffiFfiConverterFloat64.check_lower(value.mama)
|
|
1751
|
+
_UniffiFfiConverterFloat64.check_lower(value.fama)
|
|
1752
|
+
|
|
1753
|
+
@staticmethod
|
|
1754
|
+
def write(value, buf):
|
|
1755
|
+
_UniffiFfiConverterFloat64.write(value.mama, buf)
|
|
1756
|
+
_UniffiFfiConverterFloat64.write(value.fama, buf)
|
|
1757
|
+
|
|
1758
|
+
@dataclass
|
|
1759
|
+
class StochResult:
|
|
1760
|
+
def __init__(self, *, k:float, d:float):
|
|
1761
|
+
self.k = k
|
|
1762
|
+
self.d = d
|
|
1763
|
+
|
|
1764
|
+
|
|
1765
|
+
|
|
1766
|
+
|
|
1767
|
+
def __str__(self):
|
|
1768
|
+
return "StochResult(k={}, d={})".format(self.k, self.d)
|
|
1769
|
+
def __eq__(self, other):
|
|
1770
|
+
if self.k != other.k:
|
|
1771
|
+
return False
|
|
1772
|
+
if self.d != other.d:
|
|
1773
|
+
return False
|
|
1774
|
+
return True
|
|
1775
|
+
|
|
1776
|
+
class _UniffiFfiConverterTypeStochResult(_UniffiConverterRustBuffer):
|
|
1777
|
+
@staticmethod
|
|
1778
|
+
def read(buf):
|
|
1779
|
+
return StochResult(
|
|
1780
|
+
k=_UniffiFfiConverterFloat64.read(buf),
|
|
1781
|
+
d=_UniffiFfiConverterFloat64.read(buf),
|
|
1782
|
+
)
|
|
1783
|
+
|
|
1784
|
+
@staticmethod
|
|
1785
|
+
def check_lower(value):
|
|
1786
|
+
_UniffiFfiConverterFloat64.check_lower(value.k)
|
|
1787
|
+
_UniffiFfiConverterFloat64.check_lower(value.d)
|
|
1788
|
+
|
|
1789
|
+
@staticmethod
|
|
1790
|
+
def write(value, buf):
|
|
1791
|
+
_UniffiFfiConverterFloat64.write(value.k, buf)
|
|
1792
|
+
_UniffiFfiConverterFloat64.write(value.d, buf)
|
|
1793
|
+
|
|
1794
|
+
class _UniffiFfiConverterInt8(_UniffiConverterPrimitiveInt):
|
|
1795
|
+
CLASS_NAME = "i8"
|
|
1796
|
+
VALUE_MIN = -2**7
|
|
1797
|
+
VALUE_MAX = 2**7
|
|
1798
|
+
|
|
1799
|
+
@staticmethod
|
|
1800
|
+
def read(buf):
|
|
1801
|
+
return buf.read_i8()
|
|
1802
|
+
|
|
1803
|
+
@staticmethod
|
|
1804
|
+
def write(value, buf):
|
|
1805
|
+
buf.write_i8(value)
|
|
1806
|
+
|
|
1807
|
+
@dataclass
|
|
1808
|
+
class SuperTrendResult:
|
|
1809
|
+
def __init__(self, *, value:float, direction:int):
|
|
1810
|
+
self.value = value
|
|
1811
|
+
self.direction = direction
|
|
1812
|
+
|
|
1813
|
+
|
|
1814
|
+
|
|
1815
|
+
|
|
1816
|
+
def __str__(self):
|
|
1817
|
+
return "SuperTrendResult(value={}, direction={})".format(self.value, self.direction)
|
|
1818
|
+
def __eq__(self, other):
|
|
1819
|
+
if self.value != other.value:
|
|
1820
|
+
return False
|
|
1821
|
+
if self.direction != other.direction:
|
|
1822
|
+
return False
|
|
1823
|
+
return True
|
|
1824
|
+
|
|
1825
|
+
class _UniffiFfiConverterTypeSuperTrendResult(_UniffiConverterRustBuffer):
|
|
1826
|
+
@staticmethod
|
|
1827
|
+
def read(buf):
|
|
1828
|
+
return SuperTrendResult(
|
|
1829
|
+
value=_UniffiFfiConverterFloat64.read(buf),
|
|
1830
|
+
direction=_UniffiFfiConverterInt8.read(buf),
|
|
1831
|
+
)
|
|
1832
|
+
|
|
1833
|
+
@staticmethod
|
|
1834
|
+
def check_lower(value):
|
|
1835
|
+
_UniffiFfiConverterFloat64.check_lower(value.value)
|
|
1836
|
+
_UniffiFfiConverterInt8.check_lower(value.direction)
|
|
1837
|
+
|
|
1838
|
+
@staticmethod
|
|
1839
|
+
def write(value, buf):
|
|
1840
|
+
_UniffiFfiConverterFloat64.write(value.value, buf)
|
|
1841
|
+
_UniffiFfiConverterInt8.write(value.direction, buf)
|
|
1842
|
+
|
|
1843
|
+
|
|
1844
|
+
class AdxProtocol(typing.Protocol):
|
|
1845
|
+
|
|
1846
|
+
def next(self, high: float,low: float,close: float) -> float:
|
|
1847
|
+
raise NotImplementedError
|
|
1848
|
+
|
|
1849
|
+
class Adx(AdxProtocol):
|
|
1850
|
+
|
|
1851
|
+
_handle: ctypes.c_uint64
|
|
1852
|
+
def __init__(self, period: int):
|
|
1853
|
+
|
|
1854
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
1855
|
+
_uniffi_lowered_args = (
|
|
1856
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
1857
|
+
)
|
|
1858
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeAdx.lift
|
|
1859
|
+
_uniffi_error_converter = None
|
|
1860
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
1861
|
+
_uniffi_error_converter,
|
|
1862
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_adx_new,
|
|
1863
|
+
*_uniffi_lowered_args,
|
|
1864
|
+
)
|
|
1865
|
+
self._handle = _uniffi_ffi_result
|
|
1866
|
+
|
|
1867
|
+
def __del__(self):
|
|
1868
|
+
# In case of partial initialization of instances.
|
|
1869
|
+
handle = getattr(self, "_handle", None)
|
|
1870
|
+
if handle is not None:
|
|
1871
|
+
_uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_free_adx, handle)
|
|
1872
|
+
|
|
1873
|
+
def _uniffi_clone_handle(self):
|
|
1874
|
+
return _uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_clone_adx, self._handle)
|
|
1875
|
+
|
|
1876
|
+
# Used by alternative constructors or any methods which return this type.
|
|
1877
|
+
@classmethod
|
|
1878
|
+
def _uniffi_make_instance(cls, handle):
|
|
1879
|
+
# Lightly yucky way to bypass the usual __init__ logic
|
|
1880
|
+
# and just create a new instance with the required handle.
|
|
1881
|
+
inst = cls.__new__(cls)
|
|
1882
|
+
inst._handle = handle
|
|
1883
|
+
return inst
|
|
1884
|
+
def next(self, high: float,low: float,close: float) -> float:
|
|
1885
|
+
|
|
1886
|
+
_UniffiFfiConverterFloat64.check_lower(high)
|
|
1887
|
+
|
|
1888
|
+
_UniffiFfiConverterFloat64.check_lower(low)
|
|
1889
|
+
|
|
1890
|
+
_UniffiFfiConverterFloat64.check_lower(close)
|
|
1891
|
+
_uniffi_lowered_args = (
|
|
1892
|
+
self._uniffi_clone_handle(),
|
|
1893
|
+
_UniffiFfiConverterFloat64.lower(high),
|
|
1894
|
+
_UniffiFfiConverterFloat64.lower(low),
|
|
1895
|
+
_UniffiFfiConverterFloat64.lower(close),
|
|
1896
|
+
)
|
|
1897
|
+
_uniffi_lift_return = _UniffiFfiConverterFloat64.lift
|
|
1898
|
+
_uniffi_error_converter = None
|
|
1899
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
1900
|
+
_uniffi_error_converter,
|
|
1901
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_adx_next,
|
|
1902
|
+
*_uniffi_lowered_args,
|
|
1903
|
+
)
|
|
1904
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
1905
|
+
|
|
1906
|
+
|
|
1907
|
+
|
|
1908
|
+
|
|
1909
|
+
|
|
1910
|
+
class _UniffiFfiConverterTypeAdx:
|
|
1911
|
+
@staticmethod
|
|
1912
|
+
def lift(value: int) -> Adx:
|
|
1913
|
+
return Adx._uniffi_make_instance(value)
|
|
1914
|
+
|
|
1915
|
+
@staticmethod
|
|
1916
|
+
def check_lower(value: Adx):
|
|
1917
|
+
if not isinstance(value, Adx):
|
|
1918
|
+
raise TypeError("Expected Adx instance, {} found".format(type(value).__name__))
|
|
1919
|
+
|
|
1920
|
+
@staticmethod
|
|
1921
|
+
def lower(value: Adx) -> ctypes.c_uint64:
|
|
1922
|
+
return value._uniffi_clone_handle()
|
|
1923
|
+
|
|
1924
|
+
@classmethod
|
|
1925
|
+
def read(cls, buf: _UniffiRustBuffer) -> Adx:
|
|
1926
|
+
ptr = buf.read_u64()
|
|
1927
|
+
if ptr == 0:
|
|
1928
|
+
raise InternalError("Raw handle value was null")
|
|
1929
|
+
return cls.lift(ptr)
|
|
1930
|
+
|
|
1931
|
+
@classmethod
|
|
1932
|
+
def write(cls, value: Adx, buf: _UniffiRustBuffer):
|
|
1933
|
+
buf.write_u64(cls.lower(value))
|
|
1934
|
+
|
|
1935
|
+
|
|
1936
|
+
class AtrProtocol(typing.Protocol):
|
|
1937
|
+
|
|
1938
|
+
def next(self, high: float,low: float,close: float) -> float:
|
|
1939
|
+
raise NotImplementedError
|
|
1940
|
+
|
|
1941
|
+
class Atr(AtrProtocol):
|
|
1942
|
+
|
|
1943
|
+
_handle: ctypes.c_uint64
|
|
1944
|
+
def __init__(self, period: int):
|
|
1945
|
+
|
|
1946
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
1947
|
+
_uniffi_lowered_args = (
|
|
1948
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
1949
|
+
)
|
|
1950
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeAtr.lift
|
|
1951
|
+
_uniffi_error_converter = None
|
|
1952
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
1953
|
+
_uniffi_error_converter,
|
|
1954
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_atr_new,
|
|
1955
|
+
*_uniffi_lowered_args,
|
|
1956
|
+
)
|
|
1957
|
+
self._handle = _uniffi_ffi_result
|
|
1958
|
+
|
|
1959
|
+
def __del__(self):
|
|
1960
|
+
# In case of partial initialization of instances.
|
|
1961
|
+
handle = getattr(self, "_handle", None)
|
|
1962
|
+
if handle is not None:
|
|
1963
|
+
_uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_free_atr, handle)
|
|
1964
|
+
|
|
1965
|
+
def _uniffi_clone_handle(self):
|
|
1966
|
+
return _uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_clone_atr, self._handle)
|
|
1967
|
+
|
|
1968
|
+
# Used by alternative constructors or any methods which return this type.
|
|
1969
|
+
@classmethod
|
|
1970
|
+
def _uniffi_make_instance(cls, handle):
|
|
1971
|
+
# Lightly yucky way to bypass the usual __init__ logic
|
|
1972
|
+
# and just create a new instance with the required handle.
|
|
1973
|
+
inst = cls.__new__(cls)
|
|
1974
|
+
inst._handle = handle
|
|
1975
|
+
return inst
|
|
1976
|
+
def next(self, high: float,low: float,close: float) -> float:
|
|
1977
|
+
|
|
1978
|
+
_UniffiFfiConverterFloat64.check_lower(high)
|
|
1979
|
+
|
|
1980
|
+
_UniffiFfiConverterFloat64.check_lower(low)
|
|
1981
|
+
|
|
1982
|
+
_UniffiFfiConverterFloat64.check_lower(close)
|
|
1983
|
+
_uniffi_lowered_args = (
|
|
1984
|
+
self._uniffi_clone_handle(),
|
|
1985
|
+
_UniffiFfiConverterFloat64.lower(high),
|
|
1986
|
+
_UniffiFfiConverterFloat64.lower(low),
|
|
1987
|
+
_UniffiFfiConverterFloat64.lower(close),
|
|
1988
|
+
)
|
|
1989
|
+
_uniffi_lift_return = _UniffiFfiConverterFloat64.lift
|
|
1990
|
+
_uniffi_error_converter = None
|
|
1991
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
1992
|
+
_uniffi_error_converter,
|
|
1993
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_atr_next,
|
|
1994
|
+
*_uniffi_lowered_args,
|
|
1995
|
+
)
|
|
1996
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
1997
|
+
|
|
1998
|
+
|
|
1999
|
+
|
|
2000
|
+
|
|
2001
|
+
|
|
2002
|
+
class _UniffiFfiConverterTypeAtr:
|
|
2003
|
+
@staticmethod
|
|
2004
|
+
def lift(value: int) -> Atr:
|
|
2005
|
+
return Atr._uniffi_make_instance(value)
|
|
2006
|
+
|
|
2007
|
+
@staticmethod
|
|
2008
|
+
def check_lower(value: Atr):
|
|
2009
|
+
if not isinstance(value, Atr):
|
|
2010
|
+
raise TypeError("Expected Atr instance, {} found".format(type(value).__name__))
|
|
2011
|
+
|
|
2012
|
+
@staticmethod
|
|
2013
|
+
def lower(value: Atr) -> ctypes.c_uint64:
|
|
2014
|
+
return value._uniffi_clone_handle()
|
|
2015
|
+
|
|
2016
|
+
@classmethod
|
|
2017
|
+
def read(cls, buf: _UniffiRustBuffer) -> Atr:
|
|
2018
|
+
ptr = buf.read_u64()
|
|
2019
|
+
if ptr == 0:
|
|
2020
|
+
raise InternalError("Raw handle value was null")
|
|
2021
|
+
return cls.lift(ptr)
|
|
2022
|
+
|
|
2023
|
+
@classmethod
|
|
2024
|
+
def write(cls, value: Atr, buf: _UniffiRustBuffer):
|
|
2025
|
+
buf.write_u64(cls.lower(value))
|
|
2026
|
+
|
|
2027
|
+
|
|
2028
|
+
class BbandsProtocol(typing.Protocol):
|
|
2029
|
+
|
|
2030
|
+
def next(self, input: float) -> BbandsResult:
|
|
2031
|
+
raise NotImplementedError
|
|
2032
|
+
|
|
2033
|
+
class Bbands(BbandsProtocol):
|
|
2034
|
+
|
|
2035
|
+
_handle: ctypes.c_uint64
|
|
2036
|
+
def __init__(self, period: int,nbdevup: float,nbdevdn: float):
|
|
2037
|
+
|
|
2038
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
2039
|
+
|
|
2040
|
+
_UniffiFfiConverterFloat64.check_lower(nbdevup)
|
|
2041
|
+
|
|
2042
|
+
_UniffiFfiConverterFloat64.check_lower(nbdevdn)
|
|
2043
|
+
_uniffi_lowered_args = (
|
|
2044
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
2045
|
+
_UniffiFfiConverterFloat64.lower(nbdevup),
|
|
2046
|
+
_UniffiFfiConverterFloat64.lower(nbdevdn),
|
|
2047
|
+
)
|
|
2048
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeBbands.lift
|
|
2049
|
+
_uniffi_error_converter = None
|
|
2050
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2051
|
+
_uniffi_error_converter,
|
|
2052
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_bbands_new,
|
|
2053
|
+
*_uniffi_lowered_args,
|
|
2054
|
+
)
|
|
2055
|
+
self._handle = _uniffi_ffi_result
|
|
2056
|
+
|
|
2057
|
+
def __del__(self):
|
|
2058
|
+
# In case of partial initialization of instances.
|
|
2059
|
+
handle = getattr(self, "_handle", None)
|
|
2060
|
+
if handle is not None:
|
|
2061
|
+
_uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_free_bbands, handle)
|
|
2062
|
+
|
|
2063
|
+
def _uniffi_clone_handle(self):
|
|
2064
|
+
return _uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_clone_bbands, self._handle)
|
|
2065
|
+
|
|
2066
|
+
# Used by alternative constructors or any methods which return this type.
|
|
2067
|
+
@classmethod
|
|
2068
|
+
def _uniffi_make_instance(cls, handle):
|
|
2069
|
+
# Lightly yucky way to bypass the usual __init__ logic
|
|
2070
|
+
# and just create a new instance with the required handle.
|
|
2071
|
+
inst = cls.__new__(cls)
|
|
2072
|
+
inst._handle = handle
|
|
2073
|
+
return inst
|
|
2074
|
+
def next(self, input: float) -> BbandsResult:
|
|
2075
|
+
|
|
2076
|
+
_UniffiFfiConverterFloat64.check_lower(input)
|
|
2077
|
+
_uniffi_lowered_args = (
|
|
2078
|
+
self._uniffi_clone_handle(),
|
|
2079
|
+
_UniffiFfiConverterFloat64.lower(input),
|
|
2080
|
+
)
|
|
2081
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeBbandsResult.lift
|
|
2082
|
+
_uniffi_error_converter = None
|
|
2083
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2084
|
+
_uniffi_error_converter,
|
|
2085
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_bbands_next,
|
|
2086
|
+
*_uniffi_lowered_args,
|
|
2087
|
+
)
|
|
2088
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
2089
|
+
|
|
2090
|
+
|
|
2091
|
+
|
|
2092
|
+
|
|
2093
|
+
|
|
2094
|
+
class _UniffiFfiConverterTypeBbands:
|
|
2095
|
+
@staticmethod
|
|
2096
|
+
def lift(value: int) -> Bbands:
|
|
2097
|
+
return Bbands._uniffi_make_instance(value)
|
|
2098
|
+
|
|
2099
|
+
@staticmethod
|
|
2100
|
+
def check_lower(value: Bbands):
|
|
2101
|
+
if not isinstance(value, Bbands):
|
|
2102
|
+
raise TypeError("Expected Bbands instance, {} found".format(type(value).__name__))
|
|
2103
|
+
|
|
2104
|
+
@staticmethod
|
|
2105
|
+
def lower(value: Bbands) -> ctypes.c_uint64:
|
|
2106
|
+
return value._uniffi_clone_handle()
|
|
2107
|
+
|
|
2108
|
+
@classmethod
|
|
2109
|
+
def read(cls, buf: _UniffiRustBuffer) -> Bbands:
|
|
2110
|
+
ptr = buf.read_u64()
|
|
2111
|
+
if ptr == 0:
|
|
2112
|
+
raise InternalError("Raw handle value was null")
|
|
2113
|
+
return cls.lift(ptr)
|
|
2114
|
+
|
|
2115
|
+
@classmethod
|
|
2116
|
+
def write(cls, value: Bbands, buf: _UniffiRustBuffer):
|
|
2117
|
+
buf.write_u64(cls.lower(value))
|
|
2118
|
+
|
|
2119
|
+
|
|
2120
|
+
class CciProtocol(typing.Protocol):
|
|
2121
|
+
|
|
2122
|
+
def next(self, high: float,low: float,close: float) -> float:
|
|
2123
|
+
raise NotImplementedError
|
|
2124
|
+
|
|
2125
|
+
class Cci(CciProtocol):
|
|
2126
|
+
|
|
2127
|
+
_handle: ctypes.c_uint64
|
|
2128
|
+
def __init__(self, period: int):
|
|
2129
|
+
|
|
2130
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
2131
|
+
_uniffi_lowered_args = (
|
|
2132
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
2133
|
+
)
|
|
2134
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeCci.lift
|
|
2135
|
+
_uniffi_error_converter = None
|
|
2136
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2137
|
+
_uniffi_error_converter,
|
|
2138
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_cci_new,
|
|
2139
|
+
*_uniffi_lowered_args,
|
|
2140
|
+
)
|
|
2141
|
+
self._handle = _uniffi_ffi_result
|
|
2142
|
+
|
|
2143
|
+
def __del__(self):
|
|
2144
|
+
# In case of partial initialization of instances.
|
|
2145
|
+
handle = getattr(self, "_handle", None)
|
|
2146
|
+
if handle is not None:
|
|
2147
|
+
_uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_free_cci, handle)
|
|
2148
|
+
|
|
2149
|
+
def _uniffi_clone_handle(self):
|
|
2150
|
+
return _uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_clone_cci, self._handle)
|
|
2151
|
+
|
|
2152
|
+
# Used by alternative constructors or any methods which return this type.
|
|
2153
|
+
@classmethod
|
|
2154
|
+
def _uniffi_make_instance(cls, handle):
|
|
2155
|
+
# Lightly yucky way to bypass the usual __init__ logic
|
|
2156
|
+
# and just create a new instance with the required handle.
|
|
2157
|
+
inst = cls.__new__(cls)
|
|
2158
|
+
inst._handle = handle
|
|
2159
|
+
return inst
|
|
2160
|
+
def next(self, high: float,low: float,close: float) -> float:
|
|
2161
|
+
|
|
2162
|
+
_UniffiFfiConverterFloat64.check_lower(high)
|
|
2163
|
+
|
|
2164
|
+
_UniffiFfiConverterFloat64.check_lower(low)
|
|
2165
|
+
|
|
2166
|
+
_UniffiFfiConverterFloat64.check_lower(close)
|
|
2167
|
+
_uniffi_lowered_args = (
|
|
2168
|
+
self._uniffi_clone_handle(),
|
|
2169
|
+
_UniffiFfiConverterFloat64.lower(high),
|
|
2170
|
+
_UniffiFfiConverterFloat64.lower(low),
|
|
2171
|
+
_UniffiFfiConverterFloat64.lower(close),
|
|
2172
|
+
)
|
|
2173
|
+
_uniffi_lift_return = _UniffiFfiConverterFloat64.lift
|
|
2174
|
+
_uniffi_error_converter = None
|
|
2175
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2176
|
+
_uniffi_error_converter,
|
|
2177
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_cci_next,
|
|
2178
|
+
*_uniffi_lowered_args,
|
|
2179
|
+
)
|
|
2180
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
2181
|
+
|
|
2182
|
+
|
|
2183
|
+
|
|
2184
|
+
|
|
2185
|
+
|
|
2186
|
+
class _UniffiFfiConverterTypeCci:
|
|
2187
|
+
@staticmethod
|
|
2188
|
+
def lift(value: int) -> Cci:
|
|
2189
|
+
return Cci._uniffi_make_instance(value)
|
|
2190
|
+
|
|
2191
|
+
@staticmethod
|
|
2192
|
+
def check_lower(value: Cci):
|
|
2193
|
+
if not isinstance(value, Cci):
|
|
2194
|
+
raise TypeError("Expected Cci instance, {} found".format(type(value).__name__))
|
|
2195
|
+
|
|
2196
|
+
@staticmethod
|
|
2197
|
+
def lower(value: Cci) -> ctypes.c_uint64:
|
|
2198
|
+
return value._uniffi_clone_handle()
|
|
2199
|
+
|
|
2200
|
+
@classmethod
|
|
2201
|
+
def read(cls, buf: _UniffiRustBuffer) -> Cci:
|
|
2202
|
+
ptr = buf.read_u64()
|
|
2203
|
+
if ptr == 0:
|
|
2204
|
+
raise InternalError("Raw handle value was null")
|
|
2205
|
+
return cls.lift(ptr)
|
|
2206
|
+
|
|
2207
|
+
@classmethod
|
|
2208
|
+
def write(cls, value: Cci, buf: _UniffiRustBuffer):
|
|
2209
|
+
buf.write_u64(cls.lower(value))
|
|
2210
|
+
|
|
2211
|
+
|
|
2212
|
+
class EmaProtocol(typing.Protocol):
|
|
2213
|
+
|
|
2214
|
+
def next(self, input: float) -> float:
|
|
2215
|
+
raise NotImplementedError
|
|
2216
|
+
|
|
2217
|
+
class Ema(EmaProtocol):
|
|
2218
|
+
|
|
2219
|
+
_handle: ctypes.c_uint64
|
|
2220
|
+
def __init__(self, period: int):
|
|
2221
|
+
|
|
2222
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
2223
|
+
_uniffi_lowered_args = (
|
|
2224
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
2225
|
+
)
|
|
2226
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeEma.lift
|
|
2227
|
+
_uniffi_error_converter = None
|
|
2228
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2229
|
+
_uniffi_error_converter,
|
|
2230
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_ema_new,
|
|
2231
|
+
*_uniffi_lowered_args,
|
|
2232
|
+
)
|
|
2233
|
+
self._handle = _uniffi_ffi_result
|
|
2234
|
+
|
|
2235
|
+
def __del__(self):
|
|
2236
|
+
# In case of partial initialization of instances.
|
|
2237
|
+
handle = getattr(self, "_handle", None)
|
|
2238
|
+
if handle is not None:
|
|
2239
|
+
_uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_free_ema, handle)
|
|
2240
|
+
|
|
2241
|
+
def _uniffi_clone_handle(self):
|
|
2242
|
+
return _uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_clone_ema, self._handle)
|
|
2243
|
+
|
|
2244
|
+
# Used by alternative constructors or any methods which return this type.
|
|
2245
|
+
@classmethod
|
|
2246
|
+
def _uniffi_make_instance(cls, handle):
|
|
2247
|
+
# Lightly yucky way to bypass the usual __init__ logic
|
|
2248
|
+
# and just create a new instance with the required handle.
|
|
2249
|
+
inst = cls.__new__(cls)
|
|
2250
|
+
inst._handle = handle
|
|
2251
|
+
return inst
|
|
2252
|
+
def next(self, input: float) -> float:
|
|
2253
|
+
|
|
2254
|
+
_UniffiFfiConverterFloat64.check_lower(input)
|
|
2255
|
+
_uniffi_lowered_args = (
|
|
2256
|
+
self._uniffi_clone_handle(),
|
|
2257
|
+
_UniffiFfiConverterFloat64.lower(input),
|
|
2258
|
+
)
|
|
2259
|
+
_uniffi_lift_return = _UniffiFfiConverterFloat64.lift
|
|
2260
|
+
_uniffi_error_converter = None
|
|
2261
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2262
|
+
_uniffi_error_converter,
|
|
2263
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_ema_next,
|
|
2264
|
+
*_uniffi_lowered_args,
|
|
2265
|
+
)
|
|
2266
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
2267
|
+
|
|
2268
|
+
|
|
2269
|
+
|
|
2270
|
+
|
|
2271
|
+
|
|
2272
|
+
class _UniffiFfiConverterTypeEma:
|
|
2273
|
+
@staticmethod
|
|
2274
|
+
def lift(value: int) -> Ema:
|
|
2275
|
+
return Ema._uniffi_make_instance(value)
|
|
2276
|
+
|
|
2277
|
+
@staticmethod
|
|
2278
|
+
def check_lower(value: Ema):
|
|
2279
|
+
if not isinstance(value, Ema):
|
|
2280
|
+
raise TypeError("Expected Ema instance, {} found".format(type(value).__name__))
|
|
2281
|
+
|
|
2282
|
+
@staticmethod
|
|
2283
|
+
def lower(value: Ema) -> ctypes.c_uint64:
|
|
2284
|
+
return value._uniffi_clone_handle()
|
|
2285
|
+
|
|
2286
|
+
@classmethod
|
|
2287
|
+
def read(cls, buf: _UniffiRustBuffer) -> Ema:
|
|
2288
|
+
ptr = buf.read_u64()
|
|
2289
|
+
if ptr == 0:
|
|
2290
|
+
raise InternalError("Raw handle value was null")
|
|
2291
|
+
return cls.lift(ptr)
|
|
2292
|
+
|
|
2293
|
+
@classmethod
|
|
2294
|
+
def write(cls, value: Ema, buf: _UniffiRustBuffer):
|
|
2295
|
+
buf.write_u64(cls.lower(value))
|
|
2296
|
+
|
|
2297
|
+
|
|
2298
|
+
class IchimokuProtocol(typing.Protocol):
|
|
2299
|
+
|
|
2300
|
+
def next(self, high: float,low: float) -> IchimokuResult:
|
|
2301
|
+
raise NotImplementedError
|
|
2302
|
+
|
|
2303
|
+
class Ichimoku(IchimokuProtocol):
|
|
2304
|
+
|
|
2305
|
+
_handle: ctypes.c_uint64
|
|
2306
|
+
def __init__(self, tenkan: int,kijun: int,senkou_b: int):
|
|
2307
|
+
|
|
2308
|
+
_UniffiFfiConverterUInt64.check_lower(tenkan)
|
|
2309
|
+
|
|
2310
|
+
_UniffiFfiConverterUInt64.check_lower(kijun)
|
|
2311
|
+
|
|
2312
|
+
_UniffiFfiConverterUInt64.check_lower(senkou_b)
|
|
2313
|
+
_uniffi_lowered_args = (
|
|
2314
|
+
_UniffiFfiConverterUInt64.lower(tenkan),
|
|
2315
|
+
_UniffiFfiConverterUInt64.lower(kijun),
|
|
2316
|
+
_UniffiFfiConverterUInt64.lower(senkou_b),
|
|
2317
|
+
)
|
|
2318
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeIchimoku.lift
|
|
2319
|
+
_uniffi_error_converter = None
|
|
2320
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2321
|
+
_uniffi_error_converter,
|
|
2322
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_ichimoku_new,
|
|
2323
|
+
*_uniffi_lowered_args,
|
|
2324
|
+
)
|
|
2325
|
+
self._handle = _uniffi_ffi_result
|
|
2326
|
+
|
|
2327
|
+
def __del__(self):
|
|
2328
|
+
# In case of partial initialization of instances.
|
|
2329
|
+
handle = getattr(self, "_handle", None)
|
|
2330
|
+
if handle is not None:
|
|
2331
|
+
_uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_free_ichimoku, handle)
|
|
2332
|
+
|
|
2333
|
+
def _uniffi_clone_handle(self):
|
|
2334
|
+
return _uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_clone_ichimoku, self._handle)
|
|
2335
|
+
|
|
2336
|
+
# Used by alternative constructors or any methods which return this type.
|
|
2337
|
+
@classmethod
|
|
2338
|
+
def _uniffi_make_instance(cls, handle):
|
|
2339
|
+
# Lightly yucky way to bypass the usual __init__ logic
|
|
2340
|
+
# and just create a new instance with the required handle.
|
|
2341
|
+
inst = cls.__new__(cls)
|
|
2342
|
+
inst._handle = handle
|
|
2343
|
+
return inst
|
|
2344
|
+
def next(self, high: float,low: float) -> IchimokuResult:
|
|
2345
|
+
|
|
2346
|
+
_UniffiFfiConverterFloat64.check_lower(high)
|
|
2347
|
+
|
|
2348
|
+
_UniffiFfiConverterFloat64.check_lower(low)
|
|
2349
|
+
_uniffi_lowered_args = (
|
|
2350
|
+
self._uniffi_clone_handle(),
|
|
2351
|
+
_UniffiFfiConverterFloat64.lower(high),
|
|
2352
|
+
_UniffiFfiConverterFloat64.lower(low),
|
|
2353
|
+
)
|
|
2354
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeIchimokuResult.lift
|
|
2355
|
+
_uniffi_error_converter = None
|
|
2356
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2357
|
+
_uniffi_error_converter,
|
|
2358
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_ichimoku_next,
|
|
2359
|
+
*_uniffi_lowered_args,
|
|
2360
|
+
)
|
|
2361
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
2362
|
+
|
|
2363
|
+
|
|
2364
|
+
|
|
2365
|
+
|
|
2366
|
+
|
|
2367
|
+
class _UniffiFfiConverterTypeIchimoku:
|
|
2368
|
+
@staticmethod
|
|
2369
|
+
def lift(value: int) -> Ichimoku:
|
|
2370
|
+
return Ichimoku._uniffi_make_instance(value)
|
|
2371
|
+
|
|
2372
|
+
@staticmethod
|
|
2373
|
+
def check_lower(value: Ichimoku):
|
|
2374
|
+
if not isinstance(value, Ichimoku):
|
|
2375
|
+
raise TypeError("Expected Ichimoku instance, {} found".format(type(value).__name__))
|
|
2376
|
+
|
|
2377
|
+
@staticmethod
|
|
2378
|
+
def lower(value: Ichimoku) -> ctypes.c_uint64:
|
|
2379
|
+
return value._uniffi_clone_handle()
|
|
2380
|
+
|
|
2381
|
+
@classmethod
|
|
2382
|
+
def read(cls, buf: _UniffiRustBuffer) -> Ichimoku:
|
|
2383
|
+
ptr = buf.read_u64()
|
|
2384
|
+
if ptr == 0:
|
|
2385
|
+
raise InternalError("Raw handle value was null")
|
|
2386
|
+
return cls.lift(ptr)
|
|
2387
|
+
|
|
2388
|
+
@classmethod
|
|
2389
|
+
def write(cls, value: Ichimoku, buf: _UniffiRustBuffer):
|
|
2390
|
+
buf.write_u64(cls.lower(value))
|
|
2391
|
+
|
|
2392
|
+
|
|
2393
|
+
class KamaProtocol(typing.Protocol):
|
|
2394
|
+
|
|
2395
|
+
def next(self, input: float) -> float:
|
|
2396
|
+
raise NotImplementedError
|
|
2397
|
+
|
|
2398
|
+
class Kama(KamaProtocol):
|
|
2399
|
+
|
|
2400
|
+
_handle: ctypes.c_uint64
|
|
2401
|
+
def __init__(self, period: int):
|
|
2402
|
+
|
|
2403
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
2404
|
+
_uniffi_lowered_args = (
|
|
2405
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
2406
|
+
)
|
|
2407
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeKama.lift
|
|
2408
|
+
_uniffi_error_converter = None
|
|
2409
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2410
|
+
_uniffi_error_converter,
|
|
2411
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_kama_new,
|
|
2412
|
+
*_uniffi_lowered_args,
|
|
2413
|
+
)
|
|
2414
|
+
self._handle = _uniffi_ffi_result
|
|
2415
|
+
|
|
2416
|
+
def __del__(self):
|
|
2417
|
+
# In case of partial initialization of instances.
|
|
2418
|
+
handle = getattr(self, "_handle", None)
|
|
2419
|
+
if handle is not None:
|
|
2420
|
+
_uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_free_kama, handle)
|
|
2421
|
+
|
|
2422
|
+
def _uniffi_clone_handle(self):
|
|
2423
|
+
return _uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_clone_kama, self._handle)
|
|
2424
|
+
|
|
2425
|
+
# Used by alternative constructors or any methods which return this type.
|
|
2426
|
+
@classmethod
|
|
2427
|
+
def _uniffi_make_instance(cls, handle):
|
|
2428
|
+
# Lightly yucky way to bypass the usual __init__ logic
|
|
2429
|
+
# and just create a new instance with the required handle.
|
|
2430
|
+
inst = cls.__new__(cls)
|
|
2431
|
+
inst._handle = handle
|
|
2432
|
+
return inst
|
|
2433
|
+
def next(self, input: float) -> float:
|
|
2434
|
+
|
|
2435
|
+
_UniffiFfiConverterFloat64.check_lower(input)
|
|
2436
|
+
_uniffi_lowered_args = (
|
|
2437
|
+
self._uniffi_clone_handle(),
|
|
2438
|
+
_UniffiFfiConverterFloat64.lower(input),
|
|
2439
|
+
)
|
|
2440
|
+
_uniffi_lift_return = _UniffiFfiConverterFloat64.lift
|
|
2441
|
+
_uniffi_error_converter = None
|
|
2442
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2443
|
+
_uniffi_error_converter,
|
|
2444
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_kama_next,
|
|
2445
|
+
*_uniffi_lowered_args,
|
|
2446
|
+
)
|
|
2447
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
2448
|
+
|
|
2449
|
+
|
|
2450
|
+
|
|
2451
|
+
|
|
2452
|
+
|
|
2453
|
+
class _UniffiFfiConverterTypeKama:
|
|
2454
|
+
@staticmethod
|
|
2455
|
+
def lift(value: int) -> Kama:
|
|
2456
|
+
return Kama._uniffi_make_instance(value)
|
|
2457
|
+
|
|
2458
|
+
@staticmethod
|
|
2459
|
+
def check_lower(value: Kama):
|
|
2460
|
+
if not isinstance(value, Kama):
|
|
2461
|
+
raise TypeError("Expected Kama instance, {} found".format(type(value).__name__))
|
|
2462
|
+
|
|
2463
|
+
@staticmethod
|
|
2464
|
+
def lower(value: Kama) -> ctypes.c_uint64:
|
|
2465
|
+
return value._uniffi_clone_handle()
|
|
2466
|
+
|
|
2467
|
+
@classmethod
|
|
2468
|
+
def read(cls, buf: _UniffiRustBuffer) -> Kama:
|
|
2469
|
+
ptr = buf.read_u64()
|
|
2470
|
+
if ptr == 0:
|
|
2471
|
+
raise InternalError("Raw handle value was null")
|
|
2472
|
+
return cls.lift(ptr)
|
|
2473
|
+
|
|
2474
|
+
@classmethod
|
|
2475
|
+
def write(cls, value: Kama, buf: _UniffiRustBuffer):
|
|
2476
|
+
buf.write_u64(cls.lower(value))
|
|
2477
|
+
|
|
2478
|
+
|
|
2479
|
+
class MacdProtocol(typing.Protocol):
|
|
2480
|
+
|
|
2481
|
+
def next(self, input: float) -> MacdResult:
|
|
2482
|
+
raise NotImplementedError
|
|
2483
|
+
|
|
2484
|
+
class Macd(MacdProtocol):
|
|
2485
|
+
|
|
2486
|
+
_handle: ctypes.c_uint64
|
|
2487
|
+
def __init__(self, fast: int,slow: int,signal: int):
|
|
2488
|
+
|
|
2489
|
+
_UniffiFfiConverterUInt64.check_lower(fast)
|
|
2490
|
+
|
|
2491
|
+
_UniffiFfiConverterUInt64.check_lower(slow)
|
|
2492
|
+
|
|
2493
|
+
_UniffiFfiConverterUInt64.check_lower(signal)
|
|
2494
|
+
_uniffi_lowered_args = (
|
|
2495
|
+
_UniffiFfiConverterUInt64.lower(fast),
|
|
2496
|
+
_UniffiFfiConverterUInt64.lower(slow),
|
|
2497
|
+
_UniffiFfiConverterUInt64.lower(signal),
|
|
2498
|
+
)
|
|
2499
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeMacd.lift
|
|
2500
|
+
_uniffi_error_converter = None
|
|
2501
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2502
|
+
_uniffi_error_converter,
|
|
2503
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_macd_new,
|
|
2504
|
+
*_uniffi_lowered_args,
|
|
2505
|
+
)
|
|
2506
|
+
self._handle = _uniffi_ffi_result
|
|
2507
|
+
|
|
2508
|
+
def __del__(self):
|
|
2509
|
+
# In case of partial initialization of instances.
|
|
2510
|
+
handle = getattr(self, "_handle", None)
|
|
2511
|
+
if handle is not None:
|
|
2512
|
+
_uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_free_macd, handle)
|
|
2513
|
+
|
|
2514
|
+
def _uniffi_clone_handle(self):
|
|
2515
|
+
return _uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_clone_macd, self._handle)
|
|
2516
|
+
|
|
2517
|
+
# Used by alternative constructors or any methods which return this type.
|
|
2518
|
+
@classmethod
|
|
2519
|
+
def _uniffi_make_instance(cls, handle):
|
|
2520
|
+
# Lightly yucky way to bypass the usual __init__ logic
|
|
2521
|
+
# and just create a new instance with the required handle.
|
|
2522
|
+
inst = cls.__new__(cls)
|
|
2523
|
+
inst._handle = handle
|
|
2524
|
+
return inst
|
|
2525
|
+
def next(self, input: float) -> MacdResult:
|
|
2526
|
+
|
|
2527
|
+
_UniffiFfiConverterFloat64.check_lower(input)
|
|
2528
|
+
_uniffi_lowered_args = (
|
|
2529
|
+
self._uniffi_clone_handle(),
|
|
2530
|
+
_UniffiFfiConverterFloat64.lower(input),
|
|
2531
|
+
)
|
|
2532
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeMacdResult.lift
|
|
2533
|
+
_uniffi_error_converter = None
|
|
2534
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2535
|
+
_uniffi_error_converter,
|
|
2536
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_macd_next,
|
|
2537
|
+
*_uniffi_lowered_args,
|
|
2538
|
+
)
|
|
2539
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
2540
|
+
|
|
2541
|
+
|
|
2542
|
+
|
|
2543
|
+
|
|
2544
|
+
|
|
2545
|
+
class _UniffiFfiConverterTypeMacd:
|
|
2546
|
+
@staticmethod
|
|
2547
|
+
def lift(value: int) -> Macd:
|
|
2548
|
+
return Macd._uniffi_make_instance(value)
|
|
2549
|
+
|
|
2550
|
+
@staticmethod
|
|
2551
|
+
def check_lower(value: Macd):
|
|
2552
|
+
if not isinstance(value, Macd):
|
|
2553
|
+
raise TypeError("Expected Macd instance, {} found".format(type(value).__name__))
|
|
2554
|
+
|
|
2555
|
+
@staticmethod
|
|
2556
|
+
def lower(value: Macd) -> ctypes.c_uint64:
|
|
2557
|
+
return value._uniffi_clone_handle()
|
|
2558
|
+
|
|
2559
|
+
@classmethod
|
|
2560
|
+
def read(cls, buf: _UniffiRustBuffer) -> Macd:
|
|
2561
|
+
ptr = buf.read_u64()
|
|
2562
|
+
if ptr == 0:
|
|
2563
|
+
raise InternalError("Raw handle value was null")
|
|
2564
|
+
return cls.lift(ptr)
|
|
2565
|
+
|
|
2566
|
+
@classmethod
|
|
2567
|
+
def write(cls, value: Macd, buf: _UniffiRustBuffer):
|
|
2568
|
+
buf.write_u64(cls.lower(value))
|
|
2569
|
+
|
|
2570
|
+
|
|
2571
|
+
class MamaProtocol(typing.Protocol):
|
|
2572
|
+
|
|
2573
|
+
def next(self, input: float) -> MamaResult:
|
|
2574
|
+
raise NotImplementedError
|
|
2575
|
+
|
|
2576
|
+
class Mama(MamaProtocol):
|
|
2577
|
+
|
|
2578
|
+
_handle: ctypes.c_uint64
|
|
2579
|
+
def __init__(self, fastlimit: float,slowlimit: float):
|
|
2580
|
+
|
|
2581
|
+
_UniffiFfiConverterFloat64.check_lower(fastlimit)
|
|
2582
|
+
|
|
2583
|
+
_UniffiFfiConverterFloat64.check_lower(slowlimit)
|
|
2584
|
+
_uniffi_lowered_args = (
|
|
2585
|
+
_UniffiFfiConverterFloat64.lower(fastlimit),
|
|
2586
|
+
_UniffiFfiConverterFloat64.lower(slowlimit),
|
|
2587
|
+
)
|
|
2588
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeMama.lift
|
|
2589
|
+
_uniffi_error_converter = None
|
|
2590
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2591
|
+
_uniffi_error_converter,
|
|
2592
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_mama_new,
|
|
2593
|
+
*_uniffi_lowered_args,
|
|
2594
|
+
)
|
|
2595
|
+
self._handle = _uniffi_ffi_result
|
|
2596
|
+
|
|
2597
|
+
def __del__(self):
|
|
2598
|
+
# In case of partial initialization of instances.
|
|
2599
|
+
handle = getattr(self, "_handle", None)
|
|
2600
|
+
if handle is not None:
|
|
2601
|
+
_uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_free_mama, handle)
|
|
2602
|
+
|
|
2603
|
+
def _uniffi_clone_handle(self):
|
|
2604
|
+
return _uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_clone_mama, self._handle)
|
|
2605
|
+
|
|
2606
|
+
# Used by alternative constructors or any methods which return this type.
|
|
2607
|
+
@classmethod
|
|
2608
|
+
def _uniffi_make_instance(cls, handle):
|
|
2609
|
+
# Lightly yucky way to bypass the usual __init__ logic
|
|
2610
|
+
# and just create a new instance with the required handle.
|
|
2611
|
+
inst = cls.__new__(cls)
|
|
2612
|
+
inst._handle = handle
|
|
2613
|
+
return inst
|
|
2614
|
+
def next(self, input: float) -> MamaResult:
|
|
2615
|
+
|
|
2616
|
+
_UniffiFfiConverterFloat64.check_lower(input)
|
|
2617
|
+
_uniffi_lowered_args = (
|
|
2618
|
+
self._uniffi_clone_handle(),
|
|
2619
|
+
_UniffiFfiConverterFloat64.lower(input),
|
|
2620
|
+
)
|
|
2621
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeMamaResult.lift
|
|
2622
|
+
_uniffi_error_converter = None
|
|
2623
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2624
|
+
_uniffi_error_converter,
|
|
2625
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_mama_next,
|
|
2626
|
+
*_uniffi_lowered_args,
|
|
2627
|
+
)
|
|
2628
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
2629
|
+
|
|
2630
|
+
|
|
2631
|
+
|
|
2632
|
+
|
|
2633
|
+
|
|
2634
|
+
class _UniffiFfiConverterTypeMama:
|
|
2635
|
+
@staticmethod
|
|
2636
|
+
def lift(value: int) -> Mama:
|
|
2637
|
+
return Mama._uniffi_make_instance(value)
|
|
2638
|
+
|
|
2639
|
+
@staticmethod
|
|
2640
|
+
def check_lower(value: Mama):
|
|
2641
|
+
if not isinstance(value, Mama):
|
|
2642
|
+
raise TypeError("Expected Mama instance, {} found".format(type(value).__name__))
|
|
2643
|
+
|
|
2644
|
+
@staticmethod
|
|
2645
|
+
def lower(value: Mama) -> ctypes.c_uint64:
|
|
2646
|
+
return value._uniffi_clone_handle()
|
|
2647
|
+
|
|
2648
|
+
@classmethod
|
|
2649
|
+
def read(cls, buf: _UniffiRustBuffer) -> Mama:
|
|
2650
|
+
ptr = buf.read_u64()
|
|
2651
|
+
if ptr == 0:
|
|
2652
|
+
raise InternalError("Raw handle value was null")
|
|
2653
|
+
return cls.lift(ptr)
|
|
2654
|
+
|
|
2655
|
+
@classmethod
|
|
2656
|
+
def write(cls, value: Mama, buf: _UniffiRustBuffer):
|
|
2657
|
+
buf.write_u64(cls.lower(value))
|
|
2658
|
+
|
|
2659
|
+
|
|
2660
|
+
class RsiProtocol(typing.Protocol):
|
|
2661
|
+
|
|
2662
|
+
def next(self, input: float) -> float:
|
|
2663
|
+
raise NotImplementedError
|
|
2664
|
+
|
|
2665
|
+
class Rsi(RsiProtocol):
|
|
2666
|
+
|
|
2667
|
+
_handle: ctypes.c_uint64
|
|
2668
|
+
def __init__(self, period: int):
|
|
2669
|
+
|
|
2670
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
2671
|
+
_uniffi_lowered_args = (
|
|
2672
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
2673
|
+
)
|
|
2674
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeRsi.lift
|
|
2675
|
+
_uniffi_error_converter = None
|
|
2676
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2677
|
+
_uniffi_error_converter,
|
|
2678
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_rsi_new,
|
|
2679
|
+
*_uniffi_lowered_args,
|
|
2680
|
+
)
|
|
2681
|
+
self._handle = _uniffi_ffi_result
|
|
2682
|
+
|
|
2683
|
+
def __del__(self):
|
|
2684
|
+
# In case of partial initialization of instances.
|
|
2685
|
+
handle = getattr(self, "_handle", None)
|
|
2686
|
+
if handle is not None:
|
|
2687
|
+
_uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_free_rsi, handle)
|
|
2688
|
+
|
|
2689
|
+
def _uniffi_clone_handle(self):
|
|
2690
|
+
return _uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_clone_rsi, self._handle)
|
|
2691
|
+
|
|
2692
|
+
# Used by alternative constructors or any methods which return this type.
|
|
2693
|
+
@classmethod
|
|
2694
|
+
def _uniffi_make_instance(cls, handle):
|
|
2695
|
+
# Lightly yucky way to bypass the usual __init__ logic
|
|
2696
|
+
# and just create a new instance with the required handle.
|
|
2697
|
+
inst = cls.__new__(cls)
|
|
2698
|
+
inst._handle = handle
|
|
2699
|
+
return inst
|
|
2700
|
+
def next(self, input: float) -> float:
|
|
2701
|
+
|
|
2702
|
+
_UniffiFfiConverterFloat64.check_lower(input)
|
|
2703
|
+
_uniffi_lowered_args = (
|
|
2704
|
+
self._uniffi_clone_handle(),
|
|
2705
|
+
_UniffiFfiConverterFloat64.lower(input),
|
|
2706
|
+
)
|
|
2707
|
+
_uniffi_lift_return = _UniffiFfiConverterFloat64.lift
|
|
2708
|
+
_uniffi_error_converter = None
|
|
2709
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2710
|
+
_uniffi_error_converter,
|
|
2711
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_rsi_next,
|
|
2712
|
+
*_uniffi_lowered_args,
|
|
2713
|
+
)
|
|
2714
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
2715
|
+
|
|
2716
|
+
|
|
2717
|
+
|
|
2718
|
+
|
|
2719
|
+
|
|
2720
|
+
class _UniffiFfiConverterTypeRsi:
|
|
2721
|
+
@staticmethod
|
|
2722
|
+
def lift(value: int) -> Rsi:
|
|
2723
|
+
return Rsi._uniffi_make_instance(value)
|
|
2724
|
+
|
|
2725
|
+
@staticmethod
|
|
2726
|
+
def check_lower(value: Rsi):
|
|
2727
|
+
if not isinstance(value, Rsi):
|
|
2728
|
+
raise TypeError("Expected Rsi instance, {} found".format(type(value).__name__))
|
|
2729
|
+
|
|
2730
|
+
@staticmethod
|
|
2731
|
+
def lower(value: Rsi) -> ctypes.c_uint64:
|
|
2732
|
+
return value._uniffi_clone_handle()
|
|
2733
|
+
|
|
2734
|
+
@classmethod
|
|
2735
|
+
def read(cls, buf: _UniffiRustBuffer) -> Rsi:
|
|
2736
|
+
ptr = buf.read_u64()
|
|
2737
|
+
if ptr == 0:
|
|
2738
|
+
raise InternalError("Raw handle value was null")
|
|
2739
|
+
return cls.lift(ptr)
|
|
2740
|
+
|
|
2741
|
+
@classmethod
|
|
2742
|
+
def write(cls, value: Rsi, buf: _UniffiRustBuffer):
|
|
2743
|
+
buf.write_u64(cls.lower(value))
|
|
2744
|
+
|
|
2745
|
+
|
|
2746
|
+
class SarProtocol(typing.Protocol):
|
|
2747
|
+
|
|
2748
|
+
def next(self, high: float,low: float) -> float:
|
|
2749
|
+
raise NotImplementedError
|
|
2750
|
+
|
|
2751
|
+
class Sar(SarProtocol):
|
|
2752
|
+
|
|
2753
|
+
_handle: ctypes.c_uint64
|
|
2754
|
+
def __init__(self, acceleration: float,maximum: float):
|
|
2755
|
+
|
|
2756
|
+
_UniffiFfiConverterFloat64.check_lower(acceleration)
|
|
2757
|
+
|
|
2758
|
+
_UniffiFfiConverterFloat64.check_lower(maximum)
|
|
2759
|
+
_uniffi_lowered_args = (
|
|
2760
|
+
_UniffiFfiConverterFloat64.lower(acceleration),
|
|
2761
|
+
_UniffiFfiConverterFloat64.lower(maximum),
|
|
2762
|
+
)
|
|
2763
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeSar.lift
|
|
2764
|
+
_uniffi_error_converter = None
|
|
2765
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2766
|
+
_uniffi_error_converter,
|
|
2767
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_sar_new,
|
|
2768
|
+
*_uniffi_lowered_args,
|
|
2769
|
+
)
|
|
2770
|
+
self._handle = _uniffi_ffi_result
|
|
2771
|
+
|
|
2772
|
+
def __del__(self):
|
|
2773
|
+
# In case of partial initialization of instances.
|
|
2774
|
+
handle = getattr(self, "_handle", None)
|
|
2775
|
+
if handle is not None:
|
|
2776
|
+
_uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_free_sar, handle)
|
|
2777
|
+
|
|
2778
|
+
def _uniffi_clone_handle(self):
|
|
2779
|
+
return _uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_clone_sar, self._handle)
|
|
2780
|
+
|
|
2781
|
+
# Used by alternative constructors or any methods which return this type.
|
|
2782
|
+
@classmethod
|
|
2783
|
+
def _uniffi_make_instance(cls, handle):
|
|
2784
|
+
# Lightly yucky way to bypass the usual __init__ logic
|
|
2785
|
+
# and just create a new instance with the required handle.
|
|
2786
|
+
inst = cls.__new__(cls)
|
|
2787
|
+
inst._handle = handle
|
|
2788
|
+
return inst
|
|
2789
|
+
def next(self, high: float,low: float) -> float:
|
|
2790
|
+
|
|
2791
|
+
_UniffiFfiConverterFloat64.check_lower(high)
|
|
2792
|
+
|
|
2793
|
+
_UniffiFfiConverterFloat64.check_lower(low)
|
|
2794
|
+
_uniffi_lowered_args = (
|
|
2795
|
+
self._uniffi_clone_handle(),
|
|
2796
|
+
_UniffiFfiConverterFloat64.lower(high),
|
|
2797
|
+
_UniffiFfiConverterFloat64.lower(low),
|
|
2798
|
+
)
|
|
2799
|
+
_uniffi_lift_return = _UniffiFfiConverterFloat64.lift
|
|
2800
|
+
_uniffi_error_converter = None
|
|
2801
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2802
|
+
_uniffi_error_converter,
|
|
2803
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_sar_next,
|
|
2804
|
+
*_uniffi_lowered_args,
|
|
2805
|
+
)
|
|
2806
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
2807
|
+
|
|
2808
|
+
|
|
2809
|
+
|
|
2810
|
+
|
|
2811
|
+
|
|
2812
|
+
class _UniffiFfiConverterTypeSar:
|
|
2813
|
+
@staticmethod
|
|
2814
|
+
def lift(value: int) -> Sar:
|
|
2815
|
+
return Sar._uniffi_make_instance(value)
|
|
2816
|
+
|
|
2817
|
+
@staticmethod
|
|
2818
|
+
def check_lower(value: Sar):
|
|
2819
|
+
if not isinstance(value, Sar):
|
|
2820
|
+
raise TypeError("Expected Sar instance, {} found".format(type(value).__name__))
|
|
2821
|
+
|
|
2822
|
+
@staticmethod
|
|
2823
|
+
def lower(value: Sar) -> ctypes.c_uint64:
|
|
2824
|
+
return value._uniffi_clone_handle()
|
|
2825
|
+
|
|
2826
|
+
@classmethod
|
|
2827
|
+
def read(cls, buf: _UniffiRustBuffer) -> Sar:
|
|
2828
|
+
ptr = buf.read_u64()
|
|
2829
|
+
if ptr == 0:
|
|
2830
|
+
raise InternalError("Raw handle value was null")
|
|
2831
|
+
return cls.lift(ptr)
|
|
2832
|
+
|
|
2833
|
+
@classmethod
|
|
2834
|
+
def write(cls, value: Sar, buf: _UniffiRustBuffer):
|
|
2835
|
+
buf.write_u64(cls.lower(value))
|
|
2836
|
+
|
|
2837
|
+
|
|
2838
|
+
class SmaProtocol(typing.Protocol):
|
|
2839
|
+
|
|
2840
|
+
def next(self, input: float) -> float:
|
|
2841
|
+
raise NotImplementedError
|
|
2842
|
+
|
|
2843
|
+
class Sma(SmaProtocol):
|
|
2844
|
+
|
|
2845
|
+
_handle: ctypes.c_uint64
|
|
2846
|
+
def __init__(self, period: int):
|
|
2847
|
+
|
|
2848
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
2849
|
+
_uniffi_lowered_args = (
|
|
2850
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
2851
|
+
)
|
|
2852
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeSma.lift
|
|
2853
|
+
_uniffi_error_converter = None
|
|
2854
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2855
|
+
_uniffi_error_converter,
|
|
2856
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_sma_new,
|
|
2857
|
+
*_uniffi_lowered_args,
|
|
2858
|
+
)
|
|
2859
|
+
self._handle = _uniffi_ffi_result
|
|
2860
|
+
|
|
2861
|
+
def __del__(self):
|
|
2862
|
+
# In case of partial initialization of instances.
|
|
2863
|
+
handle = getattr(self, "_handle", None)
|
|
2864
|
+
if handle is not None:
|
|
2865
|
+
_uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_free_sma, handle)
|
|
2866
|
+
|
|
2867
|
+
def _uniffi_clone_handle(self):
|
|
2868
|
+
return _uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_clone_sma, self._handle)
|
|
2869
|
+
|
|
2870
|
+
# Used by alternative constructors or any methods which return this type.
|
|
2871
|
+
@classmethod
|
|
2872
|
+
def _uniffi_make_instance(cls, handle):
|
|
2873
|
+
# Lightly yucky way to bypass the usual __init__ logic
|
|
2874
|
+
# and just create a new instance with the required handle.
|
|
2875
|
+
inst = cls.__new__(cls)
|
|
2876
|
+
inst._handle = handle
|
|
2877
|
+
return inst
|
|
2878
|
+
def next(self, input: float) -> float:
|
|
2879
|
+
|
|
2880
|
+
_UniffiFfiConverterFloat64.check_lower(input)
|
|
2881
|
+
_uniffi_lowered_args = (
|
|
2882
|
+
self._uniffi_clone_handle(),
|
|
2883
|
+
_UniffiFfiConverterFloat64.lower(input),
|
|
2884
|
+
)
|
|
2885
|
+
_uniffi_lift_return = _UniffiFfiConverterFloat64.lift
|
|
2886
|
+
_uniffi_error_converter = None
|
|
2887
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2888
|
+
_uniffi_error_converter,
|
|
2889
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_sma_next,
|
|
2890
|
+
*_uniffi_lowered_args,
|
|
2891
|
+
)
|
|
2892
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
2893
|
+
|
|
2894
|
+
|
|
2895
|
+
|
|
2896
|
+
|
|
2897
|
+
|
|
2898
|
+
class _UniffiFfiConverterTypeSma:
|
|
2899
|
+
@staticmethod
|
|
2900
|
+
def lift(value: int) -> Sma:
|
|
2901
|
+
return Sma._uniffi_make_instance(value)
|
|
2902
|
+
|
|
2903
|
+
@staticmethod
|
|
2904
|
+
def check_lower(value: Sma):
|
|
2905
|
+
if not isinstance(value, Sma):
|
|
2906
|
+
raise TypeError("Expected Sma instance, {} found".format(type(value).__name__))
|
|
2907
|
+
|
|
2908
|
+
@staticmethod
|
|
2909
|
+
def lower(value: Sma) -> ctypes.c_uint64:
|
|
2910
|
+
return value._uniffi_clone_handle()
|
|
2911
|
+
|
|
2912
|
+
@classmethod
|
|
2913
|
+
def read(cls, buf: _UniffiRustBuffer) -> Sma:
|
|
2914
|
+
ptr = buf.read_u64()
|
|
2915
|
+
if ptr == 0:
|
|
2916
|
+
raise InternalError("Raw handle value was null")
|
|
2917
|
+
return cls.lift(ptr)
|
|
2918
|
+
|
|
2919
|
+
@classmethod
|
|
2920
|
+
def write(cls, value: Sma, buf: _UniffiRustBuffer):
|
|
2921
|
+
buf.write_u64(cls.lower(value))
|
|
2922
|
+
|
|
2923
|
+
|
|
2924
|
+
class StochProtocol(typing.Protocol):
|
|
2925
|
+
|
|
2926
|
+
def next(self, high: float,low: float,close: float) -> StochResult:
|
|
2927
|
+
raise NotImplementedError
|
|
2928
|
+
|
|
2929
|
+
class Stoch(StochProtocol):
|
|
2930
|
+
|
|
2931
|
+
_handle: ctypes.c_uint64
|
|
2932
|
+
def __init__(self, fastk: int,slowk: int,slowd: int):
|
|
2933
|
+
|
|
2934
|
+
_UniffiFfiConverterUInt64.check_lower(fastk)
|
|
2935
|
+
|
|
2936
|
+
_UniffiFfiConverterUInt64.check_lower(slowk)
|
|
2937
|
+
|
|
2938
|
+
_UniffiFfiConverterUInt64.check_lower(slowd)
|
|
2939
|
+
_uniffi_lowered_args = (
|
|
2940
|
+
_UniffiFfiConverterUInt64.lower(fastk),
|
|
2941
|
+
_UniffiFfiConverterUInt64.lower(slowk),
|
|
2942
|
+
_UniffiFfiConverterUInt64.lower(slowd),
|
|
2943
|
+
)
|
|
2944
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeStoch.lift
|
|
2945
|
+
_uniffi_error_converter = None
|
|
2946
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2947
|
+
_uniffi_error_converter,
|
|
2948
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_stoch_new,
|
|
2949
|
+
*_uniffi_lowered_args,
|
|
2950
|
+
)
|
|
2951
|
+
self._handle = _uniffi_ffi_result
|
|
2952
|
+
|
|
2953
|
+
def __del__(self):
|
|
2954
|
+
# In case of partial initialization of instances.
|
|
2955
|
+
handle = getattr(self, "_handle", None)
|
|
2956
|
+
if handle is not None:
|
|
2957
|
+
_uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_free_stoch, handle)
|
|
2958
|
+
|
|
2959
|
+
def _uniffi_clone_handle(self):
|
|
2960
|
+
return _uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_clone_stoch, self._handle)
|
|
2961
|
+
|
|
2962
|
+
# Used by alternative constructors or any methods which return this type.
|
|
2963
|
+
@classmethod
|
|
2964
|
+
def _uniffi_make_instance(cls, handle):
|
|
2965
|
+
# Lightly yucky way to bypass the usual __init__ logic
|
|
2966
|
+
# and just create a new instance with the required handle.
|
|
2967
|
+
inst = cls.__new__(cls)
|
|
2968
|
+
inst._handle = handle
|
|
2969
|
+
return inst
|
|
2970
|
+
def next(self, high: float,low: float,close: float) -> StochResult:
|
|
2971
|
+
|
|
2972
|
+
_UniffiFfiConverterFloat64.check_lower(high)
|
|
2973
|
+
|
|
2974
|
+
_UniffiFfiConverterFloat64.check_lower(low)
|
|
2975
|
+
|
|
2976
|
+
_UniffiFfiConverterFloat64.check_lower(close)
|
|
2977
|
+
_uniffi_lowered_args = (
|
|
2978
|
+
self._uniffi_clone_handle(),
|
|
2979
|
+
_UniffiFfiConverterFloat64.lower(high),
|
|
2980
|
+
_UniffiFfiConverterFloat64.lower(low),
|
|
2981
|
+
_UniffiFfiConverterFloat64.lower(close),
|
|
2982
|
+
)
|
|
2983
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeStochResult.lift
|
|
2984
|
+
_uniffi_error_converter = None
|
|
2985
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
2986
|
+
_uniffi_error_converter,
|
|
2987
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_stoch_next,
|
|
2988
|
+
*_uniffi_lowered_args,
|
|
2989
|
+
)
|
|
2990
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
2991
|
+
|
|
2992
|
+
|
|
2993
|
+
|
|
2994
|
+
|
|
2995
|
+
|
|
2996
|
+
class _UniffiFfiConverterTypeStoch:
|
|
2997
|
+
@staticmethod
|
|
2998
|
+
def lift(value: int) -> Stoch:
|
|
2999
|
+
return Stoch._uniffi_make_instance(value)
|
|
3000
|
+
|
|
3001
|
+
@staticmethod
|
|
3002
|
+
def check_lower(value: Stoch):
|
|
3003
|
+
if not isinstance(value, Stoch):
|
|
3004
|
+
raise TypeError("Expected Stoch instance, {} found".format(type(value).__name__))
|
|
3005
|
+
|
|
3006
|
+
@staticmethod
|
|
3007
|
+
def lower(value: Stoch) -> ctypes.c_uint64:
|
|
3008
|
+
return value._uniffi_clone_handle()
|
|
3009
|
+
|
|
3010
|
+
@classmethod
|
|
3011
|
+
def read(cls, buf: _UniffiRustBuffer) -> Stoch:
|
|
3012
|
+
ptr = buf.read_u64()
|
|
3013
|
+
if ptr == 0:
|
|
3014
|
+
raise InternalError("Raw handle value was null")
|
|
3015
|
+
return cls.lift(ptr)
|
|
3016
|
+
|
|
3017
|
+
@classmethod
|
|
3018
|
+
def write(cls, value: Stoch, buf: _UniffiRustBuffer):
|
|
3019
|
+
buf.write_u64(cls.lower(value))
|
|
3020
|
+
|
|
3021
|
+
|
|
3022
|
+
class SuperTrendProtocol(typing.Protocol):
|
|
3023
|
+
|
|
3024
|
+
def next(self, high: float,low: float,close: float) -> SuperTrendResult:
|
|
3025
|
+
raise NotImplementedError
|
|
3026
|
+
|
|
3027
|
+
class SuperTrend(SuperTrendProtocol):
|
|
3028
|
+
|
|
3029
|
+
_handle: ctypes.c_uint64
|
|
3030
|
+
def __init__(self, period: int,multiplier: float):
|
|
3031
|
+
|
|
3032
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3033
|
+
|
|
3034
|
+
_UniffiFfiConverterFloat64.check_lower(multiplier)
|
|
3035
|
+
_uniffi_lowered_args = (
|
|
3036
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3037
|
+
_UniffiFfiConverterFloat64.lower(multiplier),
|
|
3038
|
+
)
|
|
3039
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeSuperTrend.lift
|
|
3040
|
+
_uniffi_error_converter = None
|
|
3041
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3042
|
+
_uniffi_error_converter,
|
|
3043
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_supertrend_new,
|
|
3044
|
+
*_uniffi_lowered_args,
|
|
3045
|
+
)
|
|
3046
|
+
self._handle = _uniffi_ffi_result
|
|
3047
|
+
|
|
3048
|
+
def __del__(self):
|
|
3049
|
+
# In case of partial initialization of instances.
|
|
3050
|
+
handle = getattr(self, "_handle", None)
|
|
3051
|
+
if handle is not None:
|
|
3052
|
+
_uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_free_supertrend, handle)
|
|
3053
|
+
|
|
3054
|
+
def _uniffi_clone_handle(self):
|
|
3055
|
+
return _uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_clone_supertrend, self._handle)
|
|
3056
|
+
|
|
3057
|
+
# Used by alternative constructors or any methods which return this type.
|
|
3058
|
+
@classmethod
|
|
3059
|
+
def _uniffi_make_instance(cls, handle):
|
|
3060
|
+
# Lightly yucky way to bypass the usual __init__ logic
|
|
3061
|
+
# and just create a new instance with the required handle.
|
|
3062
|
+
inst = cls.__new__(cls)
|
|
3063
|
+
inst._handle = handle
|
|
3064
|
+
return inst
|
|
3065
|
+
def next(self, high: float,low: float,close: float) -> SuperTrendResult:
|
|
3066
|
+
|
|
3067
|
+
_UniffiFfiConverterFloat64.check_lower(high)
|
|
3068
|
+
|
|
3069
|
+
_UniffiFfiConverterFloat64.check_lower(low)
|
|
3070
|
+
|
|
3071
|
+
_UniffiFfiConverterFloat64.check_lower(close)
|
|
3072
|
+
_uniffi_lowered_args = (
|
|
3073
|
+
self._uniffi_clone_handle(),
|
|
3074
|
+
_UniffiFfiConverterFloat64.lower(high),
|
|
3075
|
+
_UniffiFfiConverterFloat64.lower(low),
|
|
3076
|
+
_UniffiFfiConverterFloat64.lower(close),
|
|
3077
|
+
)
|
|
3078
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeSuperTrendResult.lift
|
|
3079
|
+
_uniffi_error_converter = None
|
|
3080
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3081
|
+
_uniffi_error_converter,
|
|
3082
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_supertrend_next,
|
|
3083
|
+
*_uniffi_lowered_args,
|
|
3084
|
+
)
|
|
3085
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3086
|
+
|
|
3087
|
+
|
|
3088
|
+
|
|
3089
|
+
|
|
3090
|
+
|
|
3091
|
+
class _UniffiFfiConverterTypeSuperTrend:
|
|
3092
|
+
@staticmethod
|
|
3093
|
+
def lift(value: int) -> SuperTrend:
|
|
3094
|
+
return SuperTrend._uniffi_make_instance(value)
|
|
3095
|
+
|
|
3096
|
+
@staticmethod
|
|
3097
|
+
def check_lower(value: SuperTrend):
|
|
3098
|
+
if not isinstance(value, SuperTrend):
|
|
3099
|
+
raise TypeError("Expected SuperTrend instance, {} found".format(type(value).__name__))
|
|
3100
|
+
|
|
3101
|
+
@staticmethod
|
|
3102
|
+
def lower(value: SuperTrend) -> ctypes.c_uint64:
|
|
3103
|
+
return value._uniffi_clone_handle()
|
|
3104
|
+
|
|
3105
|
+
@classmethod
|
|
3106
|
+
def read(cls, buf: _UniffiRustBuffer) -> SuperTrend:
|
|
3107
|
+
ptr = buf.read_u64()
|
|
3108
|
+
if ptr == 0:
|
|
3109
|
+
raise InternalError("Raw handle value was null")
|
|
3110
|
+
return cls.lift(ptr)
|
|
3111
|
+
|
|
3112
|
+
@classmethod
|
|
3113
|
+
def write(cls, value: SuperTrend, buf: _UniffiRustBuffer):
|
|
3114
|
+
buf.write_u64(cls.lower(value))
|
|
3115
|
+
|
|
3116
|
+
|
|
3117
|
+
class T3Protocol(typing.Protocol):
|
|
3118
|
+
|
|
3119
|
+
def next(self, input: float) -> float:
|
|
3120
|
+
raise NotImplementedError
|
|
3121
|
+
|
|
3122
|
+
class T3(T3Protocol):
|
|
3123
|
+
|
|
3124
|
+
_handle: ctypes.c_uint64
|
|
3125
|
+
def __init__(self, period: int,v_factor: float):
|
|
3126
|
+
|
|
3127
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3128
|
+
|
|
3129
|
+
_UniffiFfiConverterFloat64.check_lower(v_factor)
|
|
3130
|
+
_uniffi_lowered_args = (
|
|
3131
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3132
|
+
_UniffiFfiConverterFloat64.lower(v_factor),
|
|
3133
|
+
)
|
|
3134
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeT3.lift
|
|
3135
|
+
_uniffi_error_converter = None
|
|
3136
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3137
|
+
_uniffi_error_converter,
|
|
3138
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_t3_new,
|
|
3139
|
+
*_uniffi_lowered_args,
|
|
3140
|
+
)
|
|
3141
|
+
self._handle = _uniffi_ffi_result
|
|
3142
|
+
|
|
3143
|
+
def __del__(self):
|
|
3144
|
+
# In case of partial initialization of instances.
|
|
3145
|
+
handle = getattr(self, "_handle", None)
|
|
3146
|
+
if handle is not None:
|
|
3147
|
+
_uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_free_t3, handle)
|
|
3148
|
+
|
|
3149
|
+
def _uniffi_clone_handle(self):
|
|
3150
|
+
return _uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_clone_t3, self._handle)
|
|
3151
|
+
|
|
3152
|
+
# Used by alternative constructors or any methods which return this type.
|
|
3153
|
+
@classmethod
|
|
3154
|
+
def _uniffi_make_instance(cls, handle):
|
|
3155
|
+
# Lightly yucky way to bypass the usual __init__ logic
|
|
3156
|
+
# and just create a new instance with the required handle.
|
|
3157
|
+
inst = cls.__new__(cls)
|
|
3158
|
+
inst._handle = handle
|
|
3159
|
+
return inst
|
|
3160
|
+
def next(self, input: float) -> float:
|
|
3161
|
+
|
|
3162
|
+
_UniffiFfiConverterFloat64.check_lower(input)
|
|
3163
|
+
_uniffi_lowered_args = (
|
|
3164
|
+
self._uniffi_clone_handle(),
|
|
3165
|
+
_UniffiFfiConverterFloat64.lower(input),
|
|
3166
|
+
)
|
|
3167
|
+
_uniffi_lift_return = _UniffiFfiConverterFloat64.lift
|
|
3168
|
+
_uniffi_error_converter = None
|
|
3169
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3170
|
+
_uniffi_error_converter,
|
|
3171
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_t3_next,
|
|
3172
|
+
*_uniffi_lowered_args,
|
|
3173
|
+
)
|
|
3174
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3175
|
+
|
|
3176
|
+
|
|
3177
|
+
|
|
3178
|
+
|
|
3179
|
+
|
|
3180
|
+
class _UniffiFfiConverterTypeT3:
|
|
3181
|
+
@staticmethod
|
|
3182
|
+
def lift(value: int) -> T3:
|
|
3183
|
+
return T3._uniffi_make_instance(value)
|
|
3184
|
+
|
|
3185
|
+
@staticmethod
|
|
3186
|
+
def check_lower(value: T3):
|
|
3187
|
+
if not isinstance(value, T3):
|
|
3188
|
+
raise TypeError("Expected T3 instance, {} found".format(type(value).__name__))
|
|
3189
|
+
|
|
3190
|
+
@staticmethod
|
|
3191
|
+
def lower(value: T3) -> ctypes.c_uint64:
|
|
3192
|
+
return value._uniffi_clone_handle()
|
|
3193
|
+
|
|
3194
|
+
@classmethod
|
|
3195
|
+
def read(cls, buf: _UniffiRustBuffer) -> T3:
|
|
3196
|
+
ptr = buf.read_u64()
|
|
3197
|
+
if ptr == 0:
|
|
3198
|
+
raise InternalError("Raw handle value was null")
|
|
3199
|
+
return cls.lift(ptr)
|
|
3200
|
+
|
|
3201
|
+
@classmethod
|
|
3202
|
+
def write(cls, value: T3, buf: _UniffiRustBuffer):
|
|
3203
|
+
buf.write_u64(cls.lower(value))
|
|
3204
|
+
|
|
3205
|
+
|
|
3206
|
+
class WmaProtocol(typing.Protocol):
|
|
3207
|
+
|
|
3208
|
+
def next(self, input: float) -> float:
|
|
3209
|
+
raise NotImplementedError
|
|
3210
|
+
|
|
3211
|
+
class Wma(WmaProtocol):
|
|
3212
|
+
|
|
3213
|
+
_handle: ctypes.c_uint64
|
|
3214
|
+
def __init__(self, period: int):
|
|
3215
|
+
|
|
3216
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3217
|
+
_uniffi_lowered_args = (
|
|
3218
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3219
|
+
)
|
|
3220
|
+
_uniffi_lift_return = _UniffiFfiConverterTypeWma.lift
|
|
3221
|
+
_uniffi_error_converter = None
|
|
3222
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3223
|
+
_uniffi_error_converter,
|
|
3224
|
+
_UniffiLib.uniffi_quantwave_python_fn_constructor_wma_new,
|
|
3225
|
+
*_uniffi_lowered_args,
|
|
3226
|
+
)
|
|
3227
|
+
self._handle = _uniffi_ffi_result
|
|
3228
|
+
|
|
3229
|
+
def __del__(self):
|
|
3230
|
+
# In case of partial initialization of instances.
|
|
3231
|
+
handle = getattr(self, "_handle", None)
|
|
3232
|
+
if handle is not None:
|
|
3233
|
+
_uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_free_wma, handle)
|
|
3234
|
+
|
|
3235
|
+
def _uniffi_clone_handle(self):
|
|
3236
|
+
return _uniffi_rust_call(_UniffiLib.uniffi_quantwave_python_fn_clone_wma, self._handle)
|
|
3237
|
+
|
|
3238
|
+
# Used by alternative constructors or any methods which return this type.
|
|
3239
|
+
@classmethod
|
|
3240
|
+
def _uniffi_make_instance(cls, handle):
|
|
3241
|
+
# Lightly yucky way to bypass the usual __init__ logic
|
|
3242
|
+
# and just create a new instance with the required handle.
|
|
3243
|
+
inst = cls.__new__(cls)
|
|
3244
|
+
inst._handle = handle
|
|
3245
|
+
return inst
|
|
3246
|
+
def next(self, input: float) -> float:
|
|
3247
|
+
|
|
3248
|
+
_UniffiFfiConverterFloat64.check_lower(input)
|
|
3249
|
+
_uniffi_lowered_args = (
|
|
3250
|
+
self._uniffi_clone_handle(),
|
|
3251
|
+
_UniffiFfiConverterFloat64.lower(input),
|
|
3252
|
+
)
|
|
3253
|
+
_uniffi_lift_return = _UniffiFfiConverterFloat64.lift
|
|
3254
|
+
_uniffi_error_converter = None
|
|
3255
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3256
|
+
_uniffi_error_converter,
|
|
3257
|
+
_UniffiLib.uniffi_quantwave_python_fn_method_wma_next,
|
|
3258
|
+
*_uniffi_lowered_args,
|
|
3259
|
+
)
|
|
3260
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3261
|
+
|
|
3262
|
+
|
|
3263
|
+
|
|
3264
|
+
|
|
3265
|
+
|
|
3266
|
+
class _UniffiFfiConverterTypeWma:
|
|
3267
|
+
@staticmethod
|
|
3268
|
+
def lift(value: int) -> Wma:
|
|
3269
|
+
return Wma._uniffi_make_instance(value)
|
|
3270
|
+
|
|
3271
|
+
@staticmethod
|
|
3272
|
+
def check_lower(value: Wma):
|
|
3273
|
+
if not isinstance(value, Wma):
|
|
3274
|
+
raise TypeError("Expected Wma instance, {} found".format(type(value).__name__))
|
|
3275
|
+
|
|
3276
|
+
@staticmethod
|
|
3277
|
+
def lower(value: Wma) -> ctypes.c_uint64:
|
|
3278
|
+
return value._uniffi_clone_handle()
|
|
3279
|
+
|
|
3280
|
+
@classmethod
|
|
3281
|
+
def read(cls, buf: _UniffiRustBuffer) -> Wma:
|
|
3282
|
+
ptr = buf.read_u64()
|
|
3283
|
+
if ptr == 0:
|
|
3284
|
+
raise InternalError("Raw handle value was null")
|
|
3285
|
+
return cls.lift(ptr)
|
|
3286
|
+
|
|
3287
|
+
@classmethod
|
|
3288
|
+
def write(cls, value: Wma, buf: _UniffiRustBuffer):
|
|
3289
|
+
buf.write_u64(cls.lower(value))
|
|
3290
|
+
|
|
3291
|
+
class _UniffiFfiConverterSequenceFloat64(_UniffiConverterRustBuffer):
|
|
3292
|
+
@classmethod
|
|
3293
|
+
def check_lower(cls, value):
|
|
3294
|
+
for item in value:
|
|
3295
|
+
_UniffiFfiConverterFloat64.check_lower(item)
|
|
3296
|
+
|
|
3297
|
+
@classmethod
|
|
3298
|
+
def write(cls, value, buf):
|
|
3299
|
+
items = len(value)
|
|
3300
|
+
buf.write_i32(items)
|
|
3301
|
+
for item in value:
|
|
3302
|
+
_UniffiFfiConverterFloat64.write(item, buf)
|
|
3303
|
+
|
|
3304
|
+
@classmethod
|
|
3305
|
+
def read(cls, buf):
|
|
3306
|
+
count = buf.read_i32()
|
|
3307
|
+
if count < 0:
|
|
3308
|
+
raise InternalError("Unexpected negative sequence length")
|
|
3309
|
+
|
|
3310
|
+
return [
|
|
3311
|
+
_UniffiFfiConverterFloat64.read(buf) for i in range(count)
|
|
3312
|
+
]
|
|
3313
|
+
|
|
3314
|
+
class _UniffiFfiConverterUInt64(_UniffiConverterPrimitiveInt):
|
|
3315
|
+
CLASS_NAME = "u64"
|
|
3316
|
+
VALUE_MIN = 0
|
|
3317
|
+
VALUE_MAX = 2**64
|
|
3318
|
+
|
|
3319
|
+
@staticmethod
|
|
3320
|
+
def read(buf):
|
|
3321
|
+
return buf.read_u64()
|
|
3322
|
+
|
|
3323
|
+
@staticmethod
|
|
3324
|
+
def write(value, buf):
|
|
3325
|
+
buf.write_u64(value)
|
|
3326
|
+
|
|
3327
|
+
class _UniffiFfiConverterSequenceTypeAroonResult(_UniffiConverterRustBuffer):
|
|
3328
|
+
@classmethod
|
|
3329
|
+
def check_lower(cls, value):
|
|
3330
|
+
for item in value:
|
|
3331
|
+
_UniffiFfiConverterTypeAroonResult.check_lower(item)
|
|
3332
|
+
|
|
3333
|
+
@classmethod
|
|
3334
|
+
def write(cls, value, buf):
|
|
3335
|
+
items = len(value)
|
|
3336
|
+
buf.write_i32(items)
|
|
3337
|
+
for item in value:
|
|
3338
|
+
_UniffiFfiConverterTypeAroonResult.write(item, buf)
|
|
3339
|
+
|
|
3340
|
+
@classmethod
|
|
3341
|
+
def read(cls, buf):
|
|
3342
|
+
count = buf.read_i32()
|
|
3343
|
+
if count < 0:
|
|
3344
|
+
raise InternalError("Unexpected negative sequence length")
|
|
3345
|
+
|
|
3346
|
+
return [
|
|
3347
|
+
_UniffiFfiConverterTypeAroonResult.read(buf) for i in range(count)
|
|
3348
|
+
]
|
|
3349
|
+
|
|
3350
|
+
class _UniffiFfiConverterSequenceTypeBbandsResult(_UniffiConverterRustBuffer):
|
|
3351
|
+
@classmethod
|
|
3352
|
+
def check_lower(cls, value):
|
|
3353
|
+
for item in value:
|
|
3354
|
+
_UniffiFfiConverterTypeBbandsResult.check_lower(item)
|
|
3355
|
+
|
|
3356
|
+
@classmethod
|
|
3357
|
+
def write(cls, value, buf):
|
|
3358
|
+
items = len(value)
|
|
3359
|
+
buf.write_i32(items)
|
|
3360
|
+
for item in value:
|
|
3361
|
+
_UniffiFfiConverterTypeBbandsResult.write(item, buf)
|
|
3362
|
+
|
|
3363
|
+
@classmethod
|
|
3364
|
+
def read(cls, buf):
|
|
3365
|
+
count = buf.read_i32()
|
|
3366
|
+
if count < 0:
|
|
3367
|
+
raise InternalError("Unexpected negative sequence length")
|
|
3368
|
+
|
|
3369
|
+
return [
|
|
3370
|
+
_UniffiFfiConverterTypeBbandsResult.read(buf) for i in range(count)
|
|
3371
|
+
]
|
|
3372
|
+
|
|
3373
|
+
class _UniffiFfiConverterSequenceTypeIchimokuResult(_UniffiConverterRustBuffer):
|
|
3374
|
+
@classmethod
|
|
3375
|
+
def check_lower(cls, value):
|
|
3376
|
+
for item in value:
|
|
3377
|
+
_UniffiFfiConverterTypeIchimokuResult.check_lower(item)
|
|
3378
|
+
|
|
3379
|
+
@classmethod
|
|
3380
|
+
def write(cls, value, buf):
|
|
3381
|
+
items = len(value)
|
|
3382
|
+
buf.write_i32(items)
|
|
3383
|
+
for item in value:
|
|
3384
|
+
_UniffiFfiConverterTypeIchimokuResult.write(item, buf)
|
|
3385
|
+
|
|
3386
|
+
@classmethod
|
|
3387
|
+
def read(cls, buf):
|
|
3388
|
+
count = buf.read_i32()
|
|
3389
|
+
if count < 0:
|
|
3390
|
+
raise InternalError("Unexpected negative sequence length")
|
|
3391
|
+
|
|
3392
|
+
return [
|
|
3393
|
+
_UniffiFfiConverterTypeIchimokuResult.read(buf) for i in range(count)
|
|
3394
|
+
]
|
|
3395
|
+
|
|
3396
|
+
class _UniffiFfiConverterSequenceTypeMacdResult(_UniffiConverterRustBuffer):
|
|
3397
|
+
@classmethod
|
|
3398
|
+
def check_lower(cls, value):
|
|
3399
|
+
for item in value:
|
|
3400
|
+
_UniffiFfiConverterTypeMacdResult.check_lower(item)
|
|
3401
|
+
|
|
3402
|
+
@classmethod
|
|
3403
|
+
def write(cls, value, buf):
|
|
3404
|
+
items = len(value)
|
|
3405
|
+
buf.write_i32(items)
|
|
3406
|
+
for item in value:
|
|
3407
|
+
_UniffiFfiConverterTypeMacdResult.write(item, buf)
|
|
3408
|
+
|
|
3409
|
+
@classmethod
|
|
3410
|
+
def read(cls, buf):
|
|
3411
|
+
count = buf.read_i32()
|
|
3412
|
+
if count < 0:
|
|
3413
|
+
raise InternalError("Unexpected negative sequence length")
|
|
3414
|
+
|
|
3415
|
+
return [
|
|
3416
|
+
_UniffiFfiConverterTypeMacdResult.read(buf) for i in range(count)
|
|
3417
|
+
]
|
|
3418
|
+
|
|
3419
|
+
class _UniffiFfiConverterSequenceTypeMamaResult(_UniffiConverterRustBuffer):
|
|
3420
|
+
@classmethod
|
|
3421
|
+
def check_lower(cls, value):
|
|
3422
|
+
for item in value:
|
|
3423
|
+
_UniffiFfiConverterTypeMamaResult.check_lower(item)
|
|
3424
|
+
|
|
3425
|
+
@classmethod
|
|
3426
|
+
def write(cls, value, buf):
|
|
3427
|
+
items = len(value)
|
|
3428
|
+
buf.write_i32(items)
|
|
3429
|
+
for item in value:
|
|
3430
|
+
_UniffiFfiConverterTypeMamaResult.write(item, buf)
|
|
3431
|
+
|
|
3432
|
+
@classmethod
|
|
3433
|
+
def read(cls, buf):
|
|
3434
|
+
count = buf.read_i32()
|
|
3435
|
+
if count < 0:
|
|
3436
|
+
raise InternalError("Unexpected negative sequence length")
|
|
3437
|
+
|
|
3438
|
+
return [
|
|
3439
|
+
_UniffiFfiConverterTypeMamaResult.read(buf) for i in range(count)
|
|
3440
|
+
]
|
|
3441
|
+
|
|
3442
|
+
class _UniffiFfiConverterSequenceTypeStochResult(_UniffiConverterRustBuffer):
|
|
3443
|
+
@classmethod
|
|
3444
|
+
def check_lower(cls, value):
|
|
3445
|
+
for item in value:
|
|
3446
|
+
_UniffiFfiConverterTypeStochResult.check_lower(item)
|
|
3447
|
+
|
|
3448
|
+
@classmethod
|
|
3449
|
+
def write(cls, value, buf):
|
|
3450
|
+
items = len(value)
|
|
3451
|
+
buf.write_i32(items)
|
|
3452
|
+
for item in value:
|
|
3453
|
+
_UniffiFfiConverterTypeStochResult.write(item, buf)
|
|
3454
|
+
|
|
3455
|
+
@classmethod
|
|
3456
|
+
def read(cls, buf):
|
|
3457
|
+
count = buf.read_i32()
|
|
3458
|
+
if count < 0:
|
|
3459
|
+
raise InternalError("Unexpected negative sequence length")
|
|
3460
|
+
|
|
3461
|
+
return [
|
|
3462
|
+
_UniffiFfiConverterTypeStochResult.read(buf) for i in range(count)
|
|
3463
|
+
]
|
|
3464
|
+
|
|
3465
|
+
class _UniffiFfiConverterSequenceTypeSuperTrendResult(_UniffiConverterRustBuffer):
|
|
3466
|
+
@classmethod
|
|
3467
|
+
def check_lower(cls, value):
|
|
3468
|
+
for item in value:
|
|
3469
|
+
_UniffiFfiConverterTypeSuperTrendResult.check_lower(item)
|
|
3470
|
+
|
|
3471
|
+
@classmethod
|
|
3472
|
+
def write(cls, value, buf):
|
|
3473
|
+
items = len(value)
|
|
3474
|
+
buf.write_i32(items)
|
|
3475
|
+
for item in value:
|
|
3476
|
+
_UniffiFfiConverterTypeSuperTrendResult.write(item, buf)
|
|
3477
|
+
|
|
3478
|
+
@classmethod
|
|
3479
|
+
def read(cls, buf):
|
|
3480
|
+
count = buf.read_i32()
|
|
3481
|
+
if count < 0:
|
|
3482
|
+
raise InternalError("Unexpected negative sequence length")
|
|
3483
|
+
|
|
3484
|
+
return [
|
|
3485
|
+
_UniffiFfiConverterTypeSuperTrendResult.read(buf) for i in range(count)
|
|
3486
|
+
]
|
|
3487
|
+
|
|
3488
|
+
class _UniffiFfiConverterString:
|
|
3489
|
+
@staticmethod
|
|
3490
|
+
def check_lower(value):
|
|
3491
|
+
if not isinstance(value, str):
|
|
3492
|
+
raise TypeError("argument must be str, not {}".format(type(value).__name__))
|
|
3493
|
+
return value
|
|
3494
|
+
|
|
3495
|
+
@staticmethod
|
|
3496
|
+
def read(buf):
|
|
3497
|
+
size = buf.read_i32()
|
|
3498
|
+
if size < 0:
|
|
3499
|
+
raise InternalError("Unexpected negative string length")
|
|
3500
|
+
utf8_bytes = buf.read(size)
|
|
3501
|
+
return utf8_bytes.decode("utf-8")
|
|
3502
|
+
|
|
3503
|
+
@staticmethod
|
|
3504
|
+
def write(value, buf):
|
|
3505
|
+
utf8_bytes = value.encode("utf-8")
|
|
3506
|
+
buf.write_i32(len(utf8_bytes))
|
|
3507
|
+
buf.write(utf8_bytes)
|
|
3508
|
+
|
|
3509
|
+
@staticmethod
|
|
3510
|
+
def lift(buf):
|
|
3511
|
+
with buf.consume_with_stream() as stream:
|
|
3512
|
+
return stream.read(stream.remaining()).decode("utf-8")
|
|
3513
|
+
|
|
3514
|
+
@staticmethod
|
|
3515
|
+
def lower(value):
|
|
3516
|
+
with _UniffiRustBuffer.alloc_with_builder() as builder:
|
|
3517
|
+
builder.write(value.encode("utf-8"))
|
|
3518
|
+
return builder.finalize()
|
|
3519
|
+
def adx(high: typing.List[float],low: typing.List[float],close: typing.List[float],period: int) -> typing.List[float]:
|
|
3520
|
+
|
|
3521
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(high)
|
|
3522
|
+
|
|
3523
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(low)
|
|
3524
|
+
|
|
3525
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(close)
|
|
3526
|
+
|
|
3527
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3528
|
+
_uniffi_lowered_args = (
|
|
3529
|
+
_UniffiFfiConverterSequenceFloat64.lower(high),
|
|
3530
|
+
_UniffiFfiConverterSequenceFloat64.lower(low),
|
|
3531
|
+
_UniffiFfiConverterSequenceFloat64.lower(close),
|
|
3532
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3533
|
+
)
|
|
3534
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceFloat64.lift
|
|
3535
|
+
_uniffi_error_converter = None
|
|
3536
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3537
|
+
_uniffi_error_converter,
|
|
3538
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_adx,
|
|
3539
|
+
*_uniffi_lowered_args,
|
|
3540
|
+
)
|
|
3541
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3542
|
+
def aroon(high: typing.List[float],low: typing.List[float],period: int) -> typing.List[AroonResult]:
|
|
3543
|
+
|
|
3544
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(high)
|
|
3545
|
+
|
|
3546
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(low)
|
|
3547
|
+
|
|
3548
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3549
|
+
_uniffi_lowered_args = (
|
|
3550
|
+
_UniffiFfiConverterSequenceFloat64.lower(high),
|
|
3551
|
+
_UniffiFfiConverterSequenceFloat64.lower(low),
|
|
3552
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3553
|
+
)
|
|
3554
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceTypeAroonResult.lift
|
|
3555
|
+
_uniffi_error_converter = None
|
|
3556
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3557
|
+
_uniffi_error_converter,
|
|
3558
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_aroon,
|
|
3559
|
+
*_uniffi_lowered_args,
|
|
3560
|
+
)
|
|
3561
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3562
|
+
def atr(high: typing.List[float],low: typing.List[float],close: typing.List[float],period: int) -> typing.List[float]:
|
|
3563
|
+
|
|
3564
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(high)
|
|
3565
|
+
|
|
3566
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(low)
|
|
3567
|
+
|
|
3568
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(close)
|
|
3569
|
+
|
|
3570
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3571
|
+
_uniffi_lowered_args = (
|
|
3572
|
+
_UniffiFfiConverterSequenceFloat64.lower(high),
|
|
3573
|
+
_UniffiFfiConverterSequenceFloat64.lower(low),
|
|
3574
|
+
_UniffiFfiConverterSequenceFloat64.lower(close),
|
|
3575
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3576
|
+
)
|
|
3577
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceFloat64.lift
|
|
3578
|
+
_uniffi_error_converter = None
|
|
3579
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3580
|
+
_uniffi_error_converter,
|
|
3581
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_atr,
|
|
3582
|
+
*_uniffi_lowered_args,
|
|
3583
|
+
)
|
|
3584
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3585
|
+
def bbands(series: typing.List[float],period: int,nbdevup: float,nbdevdn: float) -> typing.List[BbandsResult]:
|
|
3586
|
+
|
|
3587
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(series)
|
|
3588
|
+
|
|
3589
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3590
|
+
|
|
3591
|
+
_UniffiFfiConverterFloat64.check_lower(nbdevup)
|
|
3592
|
+
|
|
3593
|
+
_UniffiFfiConverterFloat64.check_lower(nbdevdn)
|
|
3594
|
+
_uniffi_lowered_args = (
|
|
3595
|
+
_UniffiFfiConverterSequenceFloat64.lower(series),
|
|
3596
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3597
|
+
_UniffiFfiConverterFloat64.lower(nbdevup),
|
|
3598
|
+
_UniffiFfiConverterFloat64.lower(nbdevdn),
|
|
3599
|
+
)
|
|
3600
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceTypeBbandsResult.lift
|
|
3601
|
+
_uniffi_error_converter = None
|
|
3602
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3603
|
+
_uniffi_error_converter,
|
|
3604
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_bbands,
|
|
3605
|
+
*_uniffi_lowered_args,
|
|
3606
|
+
)
|
|
3607
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3608
|
+
def cci(high: typing.List[float],low: typing.List[float],close: typing.List[float],period: int) -> typing.List[float]:
|
|
3609
|
+
|
|
3610
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(high)
|
|
3611
|
+
|
|
3612
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(low)
|
|
3613
|
+
|
|
3614
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(close)
|
|
3615
|
+
|
|
3616
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3617
|
+
_uniffi_lowered_args = (
|
|
3618
|
+
_UniffiFfiConverterSequenceFloat64.lower(high),
|
|
3619
|
+
_UniffiFfiConverterSequenceFloat64.lower(low),
|
|
3620
|
+
_UniffiFfiConverterSequenceFloat64.lower(close),
|
|
3621
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3622
|
+
)
|
|
3623
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceFloat64.lift
|
|
3624
|
+
_uniffi_error_converter = None
|
|
3625
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3626
|
+
_uniffi_error_converter,
|
|
3627
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_cci,
|
|
3628
|
+
*_uniffi_lowered_args,
|
|
3629
|
+
)
|
|
3630
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3631
|
+
def dema(series: typing.List[float],period: int) -> typing.List[float]:
|
|
3632
|
+
|
|
3633
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(series)
|
|
3634
|
+
|
|
3635
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3636
|
+
_uniffi_lowered_args = (
|
|
3637
|
+
_UniffiFfiConverterSequenceFloat64.lower(series),
|
|
3638
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3639
|
+
)
|
|
3640
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceFloat64.lift
|
|
3641
|
+
_uniffi_error_converter = None
|
|
3642
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3643
|
+
_uniffi_error_converter,
|
|
3644
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_dema,
|
|
3645
|
+
*_uniffi_lowered_args,
|
|
3646
|
+
)
|
|
3647
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3648
|
+
def ema(series: typing.List[float],period: int) -> typing.List[float]:
|
|
3649
|
+
|
|
3650
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(series)
|
|
3651
|
+
|
|
3652
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3653
|
+
_uniffi_lowered_args = (
|
|
3654
|
+
_UniffiFfiConverterSequenceFloat64.lower(series),
|
|
3655
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3656
|
+
)
|
|
3657
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceFloat64.lift
|
|
3658
|
+
_uniffi_error_converter = None
|
|
3659
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3660
|
+
_uniffi_error_converter,
|
|
3661
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_ema,
|
|
3662
|
+
*_uniffi_lowered_args,
|
|
3663
|
+
)
|
|
3664
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3665
|
+
def ichimoku_batch(high: typing.List[float],low: typing.List[float],tenkan: int,kijun: int,senkou_b: int) -> typing.List[IchimokuResult]:
|
|
3666
|
+
|
|
3667
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(high)
|
|
3668
|
+
|
|
3669
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(low)
|
|
3670
|
+
|
|
3671
|
+
_UniffiFfiConverterUInt64.check_lower(tenkan)
|
|
3672
|
+
|
|
3673
|
+
_UniffiFfiConverterUInt64.check_lower(kijun)
|
|
3674
|
+
|
|
3675
|
+
_UniffiFfiConverterUInt64.check_lower(senkou_b)
|
|
3676
|
+
_uniffi_lowered_args = (
|
|
3677
|
+
_UniffiFfiConverterSequenceFloat64.lower(high),
|
|
3678
|
+
_UniffiFfiConverterSequenceFloat64.lower(low),
|
|
3679
|
+
_UniffiFfiConverterUInt64.lower(tenkan),
|
|
3680
|
+
_UniffiFfiConverterUInt64.lower(kijun),
|
|
3681
|
+
_UniffiFfiConverterUInt64.lower(senkou_b),
|
|
3682
|
+
)
|
|
3683
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceTypeIchimokuResult.lift
|
|
3684
|
+
_uniffi_error_converter = None
|
|
3685
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3686
|
+
_uniffi_error_converter,
|
|
3687
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_ichimoku_batch,
|
|
3688
|
+
*_uniffi_lowered_args,
|
|
3689
|
+
)
|
|
3690
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3691
|
+
def kama(series: typing.List[float],period: int) -> typing.List[float]:
|
|
3692
|
+
|
|
3693
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(series)
|
|
3694
|
+
|
|
3695
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3696
|
+
_uniffi_lowered_args = (
|
|
3697
|
+
_UniffiFfiConverterSequenceFloat64.lower(series),
|
|
3698
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3699
|
+
)
|
|
3700
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceFloat64.lift
|
|
3701
|
+
_uniffi_error_converter = None
|
|
3702
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3703
|
+
_uniffi_error_converter,
|
|
3704
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_kama,
|
|
3705
|
+
*_uniffi_lowered_args,
|
|
3706
|
+
)
|
|
3707
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3708
|
+
def macd(series: typing.List[float],fast_period: int,slow_period: int,signal_period: int) -> typing.List[MacdResult]:
|
|
3709
|
+
|
|
3710
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(series)
|
|
3711
|
+
|
|
3712
|
+
_UniffiFfiConverterUInt64.check_lower(fast_period)
|
|
3713
|
+
|
|
3714
|
+
_UniffiFfiConverterUInt64.check_lower(slow_period)
|
|
3715
|
+
|
|
3716
|
+
_UniffiFfiConverterUInt64.check_lower(signal_period)
|
|
3717
|
+
_uniffi_lowered_args = (
|
|
3718
|
+
_UniffiFfiConverterSequenceFloat64.lower(series),
|
|
3719
|
+
_UniffiFfiConverterUInt64.lower(fast_period),
|
|
3720
|
+
_UniffiFfiConverterUInt64.lower(slow_period),
|
|
3721
|
+
_UniffiFfiConverterUInt64.lower(signal_period),
|
|
3722
|
+
)
|
|
3723
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceTypeMacdResult.lift
|
|
3724
|
+
_uniffi_error_converter = None
|
|
3725
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3726
|
+
_uniffi_error_converter,
|
|
3727
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_macd,
|
|
3728
|
+
*_uniffi_lowered_args,
|
|
3729
|
+
)
|
|
3730
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3731
|
+
def mama(series: typing.List[float],fastlimit: float,slowlimit: float) -> typing.List[MamaResult]:
|
|
3732
|
+
|
|
3733
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(series)
|
|
3734
|
+
|
|
3735
|
+
_UniffiFfiConverterFloat64.check_lower(fastlimit)
|
|
3736
|
+
|
|
3737
|
+
_UniffiFfiConverterFloat64.check_lower(slowlimit)
|
|
3738
|
+
_uniffi_lowered_args = (
|
|
3739
|
+
_UniffiFfiConverterSequenceFloat64.lower(series),
|
|
3740
|
+
_UniffiFfiConverterFloat64.lower(fastlimit),
|
|
3741
|
+
_UniffiFfiConverterFloat64.lower(slowlimit),
|
|
3742
|
+
)
|
|
3743
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceTypeMamaResult.lift
|
|
3744
|
+
_uniffi_error_converter = None
|
|
3745
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3746
|
+
_uniffi_error_converter,
|
|
3747
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_mama,
|
|
3748
|
+
*_uniffi_lowered_args,
|
|
3749
|
+
)
|
|
3750
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3751
|
+
def mom(series: typing.List[float],period: int) -> typing.List[float]:
|
|
3752
|
+
|
|
3753
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(series)
|
|
3754
|
+
|
|
3755
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3756
|
+
_uniffi_lowered_args = (
|
|
3757
|
+
_UniffiFfiConverterSequenceFloat64.lower(series),
|
|
3758
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3759
|
+
)
|
|
3760
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceFloat64.lift
|
|
3761
|
+
_uniffi_error_converter = None
|
|
3762
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3763
|
+
_uniffi_error_converter,
|
|
3764
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_mom,
|
|
3765
|
+
*_uniffi_lowered_args,
|
|
3766
|
+
)
|
|
3767
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3768
|
+
def roc(series: typing.List[float],period: int) -> typing.List[float]:
|
|
3769
|
+
|
|
3770
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(series)
|
|
3771
|
+
|
|
3772
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3773
|
+
_uniffi_lowered_args = (
|
|
3774
|
+
_UniffiFfiConverterSequenceFloat64.lower(series),
|
|
3775
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3776
|
+
)
|
|
3777
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceFloat64.lift
|
|
3778
|
+
_uniffi_error_converter = None
|
|
3779
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3780
|
+
_uniffi_error_converter,
|
|
3781
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_roc,
|
|
3782
|
+
*_uniffi_lowered_args,
|
|
3783
|
+
)
|
|
3784
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3785
|
+
def rsi(series: typing.List[float],period: int) -> typing.List[float]:
|
|
3786
|
+
|
|
3787
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(series)
|
|
3788
|
+
|
|
3789
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3790
|
+
_uniffi_lowered_args = (
|
|
3791
|
+
_UniffiFfiConverterSequenceFloat64.lower(series),
|
|
3792
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3793
|
+
)
|
|
3794
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceFloat64.lift
|
|
3795
|
+
_uniffi_error_converter = None
|
|
3796
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3797
|
+
_uniffi_error_converter,
|
|
3798
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_rsi,
|
|
3799
|
+
*_uniffi_lowered_args,
|
|
3800
|
+
)
|
|
3801
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3802
|
+
def sar(high: typing.List[float],low: typing.List[float],acceleration: float,maximum: float) -> typing.List[float]:
|
|
3803
|
+
|
|
3804
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(high)
|
|
3805
|
+
|
|
3806
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(low)
|
|
3807
|
+
|
|
3808
|
+
_UniffiFfiConverterFloat64.check_lower(acceleration)
|
|
3809
|
+
|
|
3810
|
+
_UniffiFfiConverterFloat64.check_lower(maximum)
|
|
3811
|
+
_uniffi_lowered_args = (
|
|
3812
|
+
_UniffiFfiConverterSequenceFloat64.lower(high),
|
|
3813
|
+
_UniffiFfiConverterSequenceFloat64.lower(low),
|
|
3814
|
+
_UniffiFfiConverterFloat64.lower(acceleration),
|
|
3815
|
+
_UniffiFfiConverterFloat64.lower(maximum),
|
|
3816
|
+
)
|
|
3817
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceFloat64.lift
|
|
3818
|
+
_uniffi_error_converter = None
|
|
3819
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3820
|
+
_uniffi_error_converter,
|
|
3821
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_sar,
|
|
3822
|
+
*_uniffi_lowered_args,
|
|
3823
|
+
)
|
|
3824
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3825
|
+
def sma(series: typing.List[float],period: int) -> typing.List[float]:
|
|
3826
|
+
|
|
3827
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(series)
|
|
3828
|
+
|
|
3829
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3830
|
+
_uniffi_lowered_args = (
|
|
3831
|
+
_UniffiFfiConverterSequenceFloat64.lower(series),
|
|
3832
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3833
|
+
)
|
|
3834
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceFloat64.lift
|
|
3835
|
+
_uniffi_error_converter = None
|
|
3836
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3837
|
+
_uniffi_error_converter,
|
|
3838
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_sma,
|
|
3839
|
+
*_uniffi_lowered_args,
|
|
3840
|
+
)
|
|
3841
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3842
|
+
def stoch(high: typing.List[float],low: typing.List[float],close: typing.List[float],fastk_period: int,slowk_period: int,slowd_period: int) -> typing.List[StochResult]:
|
|
3843
|
+
|
|
3844
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(high)
|
|
3845
|
+
|
|
3846
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(low)
|
|
3847
|
+
|
|
3848
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(close)
|
|
3849
|
+
|
|
3850
|
+
_UniffiFfiConverterUInt64.check_lower(fastk_period)
|
|
3851
|
+
|
|
3852
|
+
_UniffiFfiConverterUInt64.check_lower(slowk_period)
|
|
3853
|
+
|
|
3854
|
+
_UniffiFfiConverterUInt64.check_lower(slowd_period)
|
|
3855
|
+
_uniffi_lowered_args = (
|
|
3856
|
+
_UniffiFfiConverterSequenceFloat64.lower(high),
|
|
3857
|
+
_UniffiFfiConverterSequenceFloat64.lower(low),
|
|
3858
|
+
_UniffiFfiConverterSequenceFloat64.lower(close),
|
|
3859
|
+
_UniffiFfiConverterUInt64.lower(fastk_period),
|
|
3860
|
+
_UniffiFfiConverterUInt64.lower(slowk_period),
|
|
3861
|
+
_UniffiFfiConverterUInt64.lower(slowd_period),
|
|
3862
|
+
)
|
|
3863
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceTypeStochResult.lift
|
|
3864
|
+
_uniffi_error_converter = None
|
|
3865
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3866
|
+
_uniffi_error_converter,
|
|
3867
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_stoch,
|
|
3868
|
+
*_uniffi_lowered_args,
|
|
3869
|
+
)
|
|
3870
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3871
|
+
def supertrend_batch(high: typing.List[float],low: typing.List[float],close: typing.List[float],period: int,multiplier: float) -> typing.List[SuperTrendResult]:
|
|
3872
|
+
|
|
3873
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(high)
|
|
3874
|
+
|
|
3875
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(low)
|
|
3876
|
+
|
|
3877
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(close)
|
|
3878
|
+
|
|
3879
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3880
|
+
|
|
3881
|
+
_UniffiFfiConverterFloat64.check_lower(multiplier)
|
|
3882
|
+
_uniffi_lowered_args = (
|
|
3883
|
+
_UniffiFfiConverterSequenceFloat64.lower(high),
|
|
3884
|
+
_UniffiFfiConverterSequenceFloat64.lower(low),
|
|
3885
|
+
_UniffiFfiConverterSequenceFloat64.lower(close),
|
|
3886
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3887
|
+
_UniffiFfiConverterFloat64.lower(multiplier),
|
|
3888
|
+
)
|
|
3889
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceTypeSuperTrendResult.lift
|
|
3890
|
+
_uniffi_error_converter = None
|
|
3891
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3892
|
+
_uniffi_error_converter,
|
|
3893
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_supertrend_batch,
|
|
3894
|
+
*_uniffi_lowered_args,
|
|
3895
|
+
)
|
|
3896
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3897
|
+
def t3(series: typing.List[float],period: int,v_factor: float) -> typing.List[float]:
|
|
3898
|
+
|
|
3899
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(series)
|
|
3900
|
+
|
|
3901
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3902
|
+
|
|
3903
|
+
_UniffiFfiConverterFloat64.check_lower(v_factor)
|
|
3904
|
+
_uniffi_lowered_args = (
|
|
3905
|
+
_UniffiFfiConverterSequenceFloat64.lower(series),
|
|
3906
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3907
|
+
_UniffiFfiConverterFloat64.lower(v_factor),
|
|
3908
|
+
)
|
|
3909
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceFloat64.lift
|
|
3910
|
+
_uniffi_error_converter = None
|
|
3911
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3912
|
+
_uniffi_error_converter,
|
|
3913
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_t3,
|
|
3914
|
+
*_uniffi_lowered_args,
|
|
3915
|
+
)
|
|
3916
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3917
|
+
def tema(series: typing.List[float],period: int) -> typing.List[float]:
|
|
3918
|
+
|
|
3919
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(series)
|
|
3920
|
+
|
|
3921
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3922
|
+
_uniffi_lowered_args = (
|
|
3923
|
+
_UniffiFfiConverterSequenceFloat64.lower(series),
|
|
3924
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3925
|
+
)
|
|
3926
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceFloat64.lift
|
|
3927
|
+
_uniffi_error_converter = None
|
|
3928
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3929
|
+
_uniffi_error_converter,
|
|
3930
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_tema,
|
|
3931
|
+
*_uniffi_lowered_args,
|
|
3932
|
+
)
|
|
3933
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3934
|
+
def willr(high: typing.List[float],low: typing.List[float],close: typing.List[float],period: int) -> typing.List[float]:
|
|
3935
|
+
|
|
3936
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(high)
|
|
3937
|
+
|
|
3938
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(low)
|
|
3939
|
+
|
|
3940
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(close)
|
|
3941
|
+
|
|
3942
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3943
|
+
_uniffi_lowered_args = (
|
|
3944
|
+
_UniffiFfiConverterSequenceFloat64.lower(high),
|
|
3945
|
+
_UniffiFfiConverterSequenceFloat64.lower(low),
|
|
3946
|
+
_UniffiFfiConverterSequenceFloat64.lower(close),
|
|
3947
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3948
|
+
)
|
|
3949
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceFloat64.lift
|
|
3950
|
+
_uniffi_error_converter = None
|
|
3951
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3952
|
+
_uniffi_error_converter,
|
|
3953
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_willr,
|
|
3954
|
+
*_uniffi_lowered_args,
|
|
3955
|
+
)
|
|
3956
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3957
|
+
def wma(series: typing.List[float],period: int) -> typing.List[float]:
|
|
3958
|
+
|
|
3959
|
+
_UniffiFfiConverterSequenceFloat64.check_lower(series)
|
|
3960
|
+
|
|
3961
|
+
_UniffiFfiConverterUInt64.check_lower(period)
|
|
3962
|
+
_uniffi_lowered_args = (
|
|
3963
|
+
_UniffiFfiConverterSequenceFloat64.lower(series),
|
|
3964
|
+
_UniffiFfiConverterUInt64.lower(period),
|
|
3965
|
+
)
|
|
3966
|
+
_uniffi_lift_return = _UniffiFfiConverterSequenceFloat64.lift
|
|
3967
|
+
_uniffi_error_converter = None
|
|
3968
|
+
_uniffi_ffi_result = _uniffi_rust_call_with_error(
|
|
3969
|
+
_uniffi_error_converter,
|
|
3970
|
+
_UniffiLib.uniffi_quantwave_python_fn_func_wma,
|
|
3971
|
+
*_uniffi_lowered_args,
|
|
3972
|
+
)
|
|
3973
|
+
return _uniffi_lift_return(_uniffi_ffi_result)
|
|
3974
|
+
|
|
3975
|
+
__all__ = [
|
|
3976
|
+
"InternalError",
|
|
3977
|
+
"AroonResult",
|
|
3978
|
+
"BbandsResult",
|
|
3979
|
+
"IchimokuResult",
|
|
3980
|
+
"MacdResult",
|
|
3981
|
+
"MamaResult",
|
|
3982
|
+
"StochResult",
|
|
3983
|
+
"SuperTrendResult",
|
|
3984
|
+
"adx",
|
|
3985
|
+
"aroon",
|
|
3986
|
+
"atr",
|
|
3987
|
+
"bbands",
|
|
3988
|
+
"cci",
|
|
3989
|
+
"dema",
|
|
3990
|
+
"ema",
|
|
3991
|
+
"ichimoku_batch",
|
|
3992
|
+
"kama",
|
|
3993
|
+
"macd",
|
|
3994
|
+
"mama",
|
|
3995
|
+
"mom",
|
|
3996
|
+
"roc",
|
|
3997
|
+
"rsi",
|
|
3998
|
+
"sar",
|
|
3999
|
+
"sma",
|
|
4000
|
+
"stoch",
|
|
4001
|
+
"supertrend_batch",
|
|
4002
|
+
"t3",
|
|
4003
|
+
"tema",
|
|
4004
|
+
"willr",
|
|
4005
|
+
"wma",
|
|
4006
|
+
"Adx",
|
|
4007
|
+
"AdxProtocol",
|
|
4008
|
+
"Atr",
|
|
4009
|
+
"AtrProtocol",
|
|
4010
|
+
"Bbands",
|
|
4011
|
+
"BbandsProtocol",
|
|
4012
|
+
"Cci",
|
|
4013
|
+
"CciProtocol",
|
|
4014
|
+
"Ema",
|
|
4015
|
+
"EmaProtocol",
|
|
4016
|
+
"Ichimoku",
|
|
4017
|
+
"IchimokuProtocol",
|
|
4018
|
+
"Kama",
|
|
4019
|
+
"KamaProtocol",
|
|
4020
|
+
"Macd",
|
|
4021
|
+
"MacdProtocol",
|
|
4022
|
+
"Mama",
|
|
4023
|
+
"MamaProtocol",
|
|
4024
|
+
"Rsi",
|
|
4025
|
+
"RsiProtocol",
|
|
4026
|
+
"Sar",
|
|
4027
|
+
"SarProtocol",
|
|
4028
|
+
"Sma",
|
|
4029
|
+
"SmaProtocol",
|
|
4030
|
+
"Stoch",
|
|
4031
|
+
"StochProtocol",
|
|
4032
|
+
"SuperTrend",
|
|
4033
|
+
"SuperTrendProtocol",
|
|
4034
|
+
"T3",
|
|
4035
|
+
"T3Protocol",
|
|
4036
|
+
"Wma",
|
|
4037
|
+
"WmaProtocol",
|
|
4038
|
+
]
|