Files
wickra/bindings/r/tests/testthat/golden_specs.R
T
kingchencandGitHub 4f708d410d test: golden-pin the four de-duplicated indicators across all bindings (#305)
* test: golden-pin the four de-duplicated indicators across all C-ABI bindings

Extend gen_golden to emit reference fixtures for AdOscillator (ADOSC),
IntradayIntensity, AwesomeOscillatorHistogram and AverageDrawdown, and replay
them through the Go / C# / Java / R golden harnesses so their corrected
definitions stay bit-identical to the Rust core in every binding. Go suite
verified locally (gcc 13 + cgo): all 9 golden tests pass; C#/Java/R use the
same fixtures and harness pattern (CI-verified). First step of extending the
golden coverage beyond the seven archetype representatives.

* test: golden-pin the scalar-output tranche (308 indicators) against Rust

Extend gen_golden with a generated emit_scalar that writes reference fixtures
for every single-f64-output indicator (scalar / candle / pairwise input) using
valid constructor params, and add a manifest-driven generic Python golden
replay that reconstructs each by its native name and checks it bit-for-bit
against the Rust output. 308 indicators now value-tied to the Rust core in
Python (pytest: 308/308). Takes golden coverage from the 7 archetype
representatives to 308+ of the catalogue.

22 scalar indicators with non-default constructor constraints are skipped by
gen_golden for now (logged), as are non-f64-output ones; multi-output, exotic
inputs and the per-indicator arg arities of the C-ABI/Node replays follow.
Generated + verified locally with the full toolchain.

* test: golden-pin the multi-output tranche (70 indicators) in Python

Add a generated emit_multi to gen_golden (per-indicator Output-field access,
one CSV column per field) and a manifest-driven generic Python replay that
checks every field of each multi-output indicator against the Rust reference.
70 multi-output indicators now value-tied to Rust in Python; combined with the
scalar tranche, 378 indicators are golden-pinned. 8 multi with non-default
param constraints and 5 with non-f64 Output fields (Option/Vec/i64) are
deferred. pytest green.

* test(golden): add 30 constraint-tuned indicators to scalar/multi golden suite

Emit golden fixtures for 22 scalar-output and 8 multi-output indicators
whose constructors need non-default parameters (Alma, Jma, Psar, T3, Mama,
DoubleBollinger, ZigZag, ...). All 408 fixtures replay bit-for-bit through
the Python binding.

* test(golden): cover 36 missed scalar/multi indicators

Add 26 single-output (LinearRegression family, HT cycle, Candle
volatility estimators, DrawdownDuration) and 10 multi-output
(BollingerBands, MACD/MACDEXT/MACDFIX, Camarilla, VWAP bands, ...)
indicators to the golden suite. 444 fixtures replay bit-for-bit
through the Python binding.

* test(golden): cover 50 exotic-input indicators

Add deterministic synthetic feeders for the DerivativesTick (17),
CrossSection (15), Trade (8), TradeQuote (3) and OrderBook (7)
families, derived from the shared OHLCV input series in both
gen_golden and a new Python replay harness (test_golden_exotic).
All 494 fixtures replay bit-for-bit through the Python binding.

* test(golden): complete 514-indicator golden coverage

Add the final tranches: 3 mixed multi-output indicators (Ichimoku,
WilliamsFractals, LeadLagCrossCorrelation), 6 histogram profiles
(time/volume seasonality + TPO/volume price profiles), 10 alt-chart
bar builders and the footprint. Every one of the 514 distinct
indicators now has a Rust-generated g_<Canonical>.csv fixture and a
generic Python replay (scalar/multi/exotic/profile/bars), all passing
bit-for-bit.

* test(golden): add generic Node replay for all 514 indicators

A manifest-driven node:test harness reconstructs every indicator by its
native class, feeds the same synthetic stream derived from the shared
golden input, and checks output bit-for-bit against the Rust reference
fixtures (scalar/multi/exotic/profile/bars). node_manifest.json is
generated from index.d.ts plus the Python-side manifests. 514/514 pass.

* test(golden): add generated Go replay for all 514 indicators

golden_all_test.go (generated by gen_golden_test.py) reconstructs every
Go indicator, feeds the shared synthetic stream and checks output
bit-for-bit against the Rust reference fixtures. A reflection-based
comparator flattens multi-output structs, profiles and bar slices so one
path covers all archetypes. This is the first C-ABI binding verified
across the full catalogue. 514/514 pass.

* test(golden): add generated C# replay for all 514 indicators

GoldenAllTests.g.cs (generated by gen_golden_test.py) reconstructs every
C# indicator, feeds the shared synthetic stream and checks output
bit-for-bit against the Rust reference fixtures via a reflection-based
flatten covering scalar/multi/profile/bar archetypes. 514/514 pass.

Also add the '#nullable enable' directive the compiler requires to the
generated Indicators.g.cs, clearing the four CS8669 warnings on the
nullable double[] profile return types.

* fix(java): marshal C ABI bool params correctly; add 514 golden replay

The Java FFM binding marshalled the cross-section state flags (newHigh,
newLow, aboveMa, onBuySignal) as JAVA_DOUBLE arrays, but the C ABI takes
them as const bool* (one byte each), so the native side read the low byte
of each 8-byte double and saw every flag as false. Add WickraNative.
boolSegment and use it across the 15 cross-section indicators. Also pass
the MacdExt MaType arguments as byte to match the uint8_t downcall
descriptor (was int, throwing WrongMethodTypeException).

Add GoldenAllTest.java (generated by gen_golden_test.py): a reflection
runner replaying all 514 indicators against the Rust reference fixtures.
The bugs above were found by this test; 514/514 now pass.

* fix(r): marshal C ABI bool flags correctly; add 514 golden replay

The R wrapper passed the cross-section state flags as (bool *)REAL(x),
reinterpreting the 8-byte doubles as 1-byte bools so the native side read
every flag as false. Add wk_bool_vec to convert each flag vector into a
real C bool buffer and use it for all 15 cross-section update wrappers.

Add test-golden-all.R + generated golden_specs.R: a reflective runner
replaying all 514 indicators against the Rust reference fixtures. The bug
above was found by this test; verified 514/514 pass locally.

* test(golden): add WASM replay for all 514 indicators

A manifest-driven node:test harness loads the nodejs-target wasm-pack
build, reconstructs every indicator by its JS class, feeds the shared
synthetic stream and checks output bit-for-bit against the Rust
reference fixtures. wasm_manifest.json is generated from the wasm .d.ts
plus the shared manifests; a recursive flattener covers scalar, multi
(Reflect objects), profile and bar shapes. 514/514 pass locally
(wasm-pack build --target nodejs, then node --test).

* test(golden): add C and C++ replay for all 514 indicators

golden_test.c (generated by gen_golden_test.py) drives every indicator
through the C ABI (wickra.h) and checks output bit-for-bit against the
Rust reference fixtures. golden_test.cpp #includes the same source so the
identical runner is compiled and run under both gcc (C) and g++ (C++) via
the CMake targets golden_test / golden_test_cpp — proving the extern "C"
header is consumable from each language. Both 514/514 (verified via ctest).

* test(golden): gofmt the generated Go golden replay

* test(golden): make the Node fixture reader CRLF-safe and pin fixtures to LF
2026-06-15 04:48:51 +02:00

519 lines
38 KiB
R

# Code generated by gen_golden_test.py. DO NOT EDIT.
# Per-indicator golden spec: canonical name, archetype, ctor params, output width.
GOLDEN_SPECS <- list(
list(canon="AbandonedBaby", arch="scalar_candle", params=c(), width=0L),
list(canon="Abcd", arch="scalar_candle", params=c(), width=0L),
list(canon="AbsoluteBreadthIndex", arch="cross", params=c(), width=0L),
list(canon="AccelerationBands", arch="multi_candle", params=c(14.0,2.0), width=3L),
list(canon="AcceleratorOscillator", arch="scalar_candle", params=c(3.0,7.0,14.0), width=0L),
list(canon="AdOscillator", arch="scalar_candle", params=c(), width=0L),
list(canon="AdVolumeLine", arch="cross", params=c(), width=0L),
list(canon="AdaptiveCci", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="AdaptiveCycle", arch="scalar_f64", params=c(), width=0L),
list(canon="AdaptiveLaguerreFilter", arch="scalar_f64", params=c(20.0), width=0L),
list(canon="AdaptiveRsi", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Adl", arch="scalar_candle", params=c(), width=0L),
list(canon="AdvanceBlock", arch="scalar_candle", params=c(), width=0L),
list(canon="AdvanceDecline", arch="cross", params=c(), width=0L),
list(canon="AdvanceDeclineRatio", arch="cross", params=c(), width=0L),
list(canon="Adx", arch="multi_candle", params=c(14.0), width=3L),
list(canon="Adxr", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="Alligator", arch="multi_candle", params=c(3.0,7.0,14.0), width=3L),
list(canon="Alma", arch="scalar_f64", params=c(9.0,0.85,6.0), width=0L),
list(canon="Alpha", arch="pairwise", params=c(14.0,2.0), width=0L),
list(canon="AmihudIlliquidity", arch="trade", params=c(20.0), width=0L),
list(canon="AnchoredRsi", arch="scalar_f64", params=c(), width=0L),
list(canon="AnchoredVwap", arch="scalar_candle", params=c(), width=0L),
list(canon="AndrewsPitchfork", arch="multi_candle", params=c(14.0), width=3L),
list(canon="Apo", arch="scalar_f64", params=c(3.0,7.0), width=0L),
list(canon="Aroon", arch="multi_candle", params=c(14.0), width=2L),
list(canon="AroonOscillator", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="Atr", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="AtrBands", arch="multi_candle", params=c(14.0,2.0), width=3L),
list(canon="AtrRatchet", arch="multi_candle", params=c(14.0,2.0,0.5), width=2L),
list(canon="AtrTrailingStop", arch="scalar_candle", params=c(14.0,2.0), width=0L),
list(canon="AutoFib", arch="multi_candle", params=c(), width=7L),
list(canon="Autocorrelation", arch="scalar_f64", params=c(10.0,1.0), width=0L),
list(canon="AutocorrelationPeriodogram", arch="scalar_f64", params=c(10.0,48.0), width=0L),
list(canon="AverageDailyRange", arch="scalar_candle", params=c(14.0,0.0), width=0L),
list(canon="AverageDrawdown", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="AvgPrice", arch="scalar_candle", params=c(), width=0L),
list(canon="AwesomeOscillator", arch="scalar_candle", params=c(3.0,7.0), width=0L),
list(canon="AwesomeOscillatorHistogram", arch="scalar_candle", params=c(3.0,7.0,14.0), width=0L),
list(canon="BalanceOfPower", arch="scalar_candle", params=c(), width=0L),
list(canon="BandpassFilter", arch="scalar_f64", params=c(20.0,0.3), width=0L),
list(canon="Bat", arch="scalar_candle", params=c(), width=0L),
list(canon="BeltHold", arch="scalar_candle", params=c(), width=0L),
list(canon="Beta", arch="pairwise", params=c(14.0), width=0L),
list(canon="BetaNeutralSpread", arch="pairwise", params=c(14.0), width=0L),
list(canon="BetterVolume", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="BipowerVariation", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="BodySizePct", arch="scalar_candle", params=c(), width=0L),
list(canon="BollingerBands", arch="multi_f64", params=c(20.0,2.0), width=4L),
list(canon="BollingerBandwidth", arch="scalar_f64", params=c(14.0,2.0), width=0L),
list(canon="BomarBands", arch="multi_f64", params=c(4.0,0.85), width=3L),
list(canon="BreadthThrust", arch="cross", params=c(10.0), width=0L),
list(canon="Breakaway", arch="scalar_candle", params=c(), width=0L),
list(canon="BullishPercentIndex", arch="cross", params=c(), width=0L),
list(canon="BurkeRatio", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Butterfly", arch="scalar_candle", params=c(), width=0L),
list(canon="CalendarSpread", arch="deriv", params=c(), width=0L),
list(canon="CalmarRatio", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Camarilla", arch="multi_candle", params=c(), width=9L),
list(canon="CandleVolume", arch="multi_candle", params=c(14.0), width=2L),
list(canon="Cci", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="CenterOfGravity", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="CentralPivotRange", arch="multi_candle", params=c(), width=3L),
list(canon="Cfo", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="ChaikinMoneyFlow", arch="scalar_candle", params=c(20.0), width=0L),
list(canon="ChaikinOscillator", arch="scalar_candle", params=c(3.0,7.0), width=0L),
list(canon="ChaikinVolatility", arch="scalar_candle", params=c(3.0,7.0), width=0L),
list(canon="ChandeKrollStop", arch="multi_candle", params=c(3.0,2.0,7.0), width=2L),
list(canon="ChandelierExit", arch="multi_candle", params=c(14.0,2.0), width=2L),
list(canon="ChoppinessIndex", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="ClassicPivots", arch="multi_candle", params=c(), width=7L),
list(canon="CloseVsOpen", arch="scalar_candle", params=c(), width=0L),
list(canon="ClosingMarubozu", arch="scalar_candle", params=c(), width=0L),
list(canon="Cmo", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="CoefficientOfVariation", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Cointegration", arch="multi_pairwise", params=c(40.0,1.0), width=3L),
list(canon="CommonSenseRatio", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="CompositeProfile", arch="multi_candle", params=c(20.0,24.0,0.7), width=3L),
list(canon="ConcealingBabySwallow", arch="scalar_candle", params=c(), width=0L),
list(canon="ConditionalValueAtRisk", arch="scalar_f64", params=c(20.0,0.95), width=0L),
list(canon="ConnorsRsi", arch="scalar_f64", params=c(3.0,7.0,14.0), width=0L),
list(canon="Coppock", arch="scalar_f64", params=c(3.0,7.0,14.0), width=0L),
list(canon="CorrelationTrendIndicator", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Counterattack", arch="scalar_candle", params=c(), width=0L),
list(canon="Crab", arch="scalar_candle", params=c(), width=0L),
list(canon="CumulativeVolumeDelta", arch="trade", params=c(), width=0L),
list(canon="CumulativeVolumeIndex", arch="cross", params=c(), width=0L),
list(canon="CupAndHandle", arch="scalar_candle", params=c(), width=0L),
list(canon="CyberneticCycle", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Cypher", arch="scalar_candle", params=c(), width=0L),
list(canon="DayOfWeekProfile", arch="profile_bins", params=c(0.0), width=7L),
list(canon="Decycler", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="DecyclerOscillator", arch="scalar_f64", params=c(3.0,7.0), width=0L),
list(canon="Dema", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="DemandIndex", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="DemarkPivots", arch="multi_candle", params=c(), width=3L),
list(canon="DepthSlope", arch="ob", params=c(), width=0L),
list(canon="DerivativeOscillator", arch="scalar_f64", params=c(3.0,7.0,14.0,28.0), width=0L),
list(canon="DetrendedStdDev", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="DisparityIndex", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="DistanceSsd", arch="pairwise", params=c(14.0), width=0L),
list(canon="Doji", arch="scalar_candle", params=c(), width=0L),
list(canon="DojiStar", arch="scalar_candle", params=c(), width=0L),
list(canon="DollarBars", arch="bars_candle5", params=c(50000.0), width=0L),
list(canon="Donchian", arch="multi_candle", params=c(14.0), width=3L),
list(canon="DonchianStop", arch="multi_candle", params=c(14.0), width=2L),
list(canon="DoubleBollinger", arch="multi_f64", params=c(20.0,1.0,2.0), width=5L),
list(canon="DoubleTopBottom", arch="scalar_candle", params=c(), width=0L),
list(canon="DownsideGapThreeMethods", arch="scalar_candle", params=c(), width=0L),
list(canon="Dpo", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="DragonflyDoji", arch="scalar_candle", params=c(), width=0L),
list(canon="DrawdownDuration", arch="scalar_f64", params=c(), width=0L),
list(canon="DumplingTop", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="Dx", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="DynamicMomentumIndex", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="EaseOfMovement", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="EffectiveSpread", arch="trademid", params=c(), width=0L),
list(canon="EhlersStochastic", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Ehma", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="ElderImpulse", arch="scalar_f64", params=c(3.0,7.0,14.0,28.0), width=0L),
list(canon="ElderRay", arch="multi_candle", params=c(14.0), width=2L),
list(canon="ElderSafeZone", arch="multi_candle", params=c(10.0,2.0), width=2L),
list(canon="Ema", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="EmpiricalModeDecomposition", arch="scalar_f64", params=c(20.0,0.1), width=0L),
list(canon="Engulfing", arch="scalar_candle", params=c(), width=0L),
list(canon="Equivolume", arch="multi_candle", params=c(14.0), width=2L),
list(canon="EstimatedLeverageRatio", arch="deriv", params=c(), width=0L),
list(canon="EvenBetterSinewave", arch="scalar_f64", params=c(40.0,10.0), width=0L),
list(canon="EveningDojiStar", arch="scalar_candle", params=c(), width=0L),
list(canon="Evwma", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="EwmaVolatility", arch="scalar_f64", params=c(0.94), width=0L),
list(canon="Expectancy", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="FallingThreeMethods", arch="scalar_candle", params=c(), width=0L),
list(canon="Fama", arch="scalar_f64", params=c(0.5,0.05), width=0L),
list(canon="FibArcs", arch="multi_candle", params=c(), width=3L),
list(canon="FibChannel", arch="multi_candle", params=c(), width=4L),
list(canon="FibConfluence", arch="multi_candle", params=c(), width=2L),
list(canon="FibExtension", arch="multi_candle", params=c(), width=5L),
list(canon="FibFan", arch="multi_candle", params=c(), width=3L),
list(canon="FibProjection", arch="multi_candle", params=c(), width=4L),
list(canon="FibRetracement", arch="multi_candle", params=c(), width=7L),
list(canon="FibTimeZones", arch="multi_candle", params=c(), width=2L),
list(canon="FibonacciPivots", arch="multi_candle", params=c(), width=7L),
list(canon="FisherRsi", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="FisherTransform", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="FlagPennant", arch="scalar_candle", params=c(), width=0L),
list(canon="Footprint", arch="footprint", params=c(1.0), width=0L),
list(canon="ForceIndex", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="FractalChaosBands", arch="multi_candle", params=c(14.0), width=2L),
list(canon="Frama", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="FryPanBottom", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="FundingBasis", arch="deriv", params=c(), width=0L),
list(canon="FundingImpliedApr", arch="deriv", params=c(1095.0), width=0L),
list(canon="FundingRate", arch="deriv", params=c(), width=0L),
list(canon="FundingRateMean", arch="deriv", params=c(20.0), width=0L),
list(canon="FundingRateZScore", arch="deriv", params=c(20.0), width=0L),
list(canon="GainLossRatio", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="GainToPainRatio", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="GapSideBySideWhite", arch="scalar_candle", params=c(), width=0L),
list(canon="Garch11", arch="scalar_f64", params=c(2e-06,0.1,0.88), width=0L),
list(canon="GarmanKlassVolatility", arch="scalar_candle", params=c(20.0,252.0), width=0L),
list(canon="Gartley", arch="scalar_candle", params=c(), width=0L),
list(canon="GatorOscillator", arch="multi_candle", params=c(3.0,7.0,14.0), width=2L),
list(canon="GeneralizedDema", arch="scalar_f64", params=c(5.0,0.7), width=0L),
list(canon="GeometricMa", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="GoldenPocket", arch="multi_candle", params=c(), width=3L),
list(canon="GrangerCausality", arch="pairwise", params=c(60.0,1.0), width=0L),
list(canon="GravestoneDoji", arch="scalar_candle", params=c(), width=0L),
list(canon="Hammer", arch="scalar_candle", params=c(), width=0L),
list(canon="HangingMan", arch="scalar_candle", params=c(), width=0L),
list(canon="Harami", arch="scalar_candle", params=c(), width=0L),
list(canon="HaramiCross", arch="scalar_candle", params=c(), width=0L),
list(canon="HasbrouckInformationShare", arch="pairwise", params=c(14.0), width=0L),
list(canon="HeadAndShoulders", arch="scalar_candle", params=c(), width=0L),
list(canon="HeikinAshi", arch="multi_candle", params=c(), width=4L),
list(canon="HeikinAshiOscillator", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="HiLoActivator", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="HighLowIndex", arch="cross", params=c(10.0), width=0L),
list(canon="HighLowRange", arch="scalar_candle", params=c(), width=0L),
list(canon="HighLowVolumeNodes", arch="multi_candle", params=c(3.0,7.0), width=2L),
list(canon="HighWave", arch="scalar_candle", params=c(), width=0L),
list(canon="HighpassFilter", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Hikkake", arch="scalar_candle", params=c(), width=0L),
list(canon="HikkakeModified", arch="scalar_candle", params=c(), width=0L),
list(canon="HilbertDominantCycle", arch="scalar_f64", params=c(), width=0L),
list(canon="HistoricalVolatility", arch="scalar_f64", params=c(3.0,7.0), width=0L),
list(canon="Hma", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="HoltWinters", arch="scalar_f64", params=c(0.5,0.1), width=0L),
list(canon="HomingPigeon", arch="scalar_candle", params=c(), width=0L),
list(canon="HtDcPhase", arch="scalar_f64", params=c(), width=0L),
list(canon="HtPhasor", arch="multi_f64", params=c(), width=2L),
list(canon="HtTrendMode", arch="scalar_f64", params=c(), width=0L),
list(canon="HurstChannel", arch="multi_candle", params=c(14.0,2.0), width=3L),
list(canon="HurstExponent", arch="scalar_f64", params=c(100.0,4.0), width=0L),
list(canon="Ichimoku", arch="multi_candle", params=c(9.0,26.0,52.0,26.0), width=5L),
list(canon="IdenticalThreeCrows", arch="scalar_candle", params=c(), width=0L),
list(canon="ImbalanceBars", arch="bars_candle4", params=c(5.0), width=0L),
list(canon="InNeck", arch="scalar_candle", params=c(), width=0L),
list(canon="Inertia", arch="scalar_candle", params=c(3.0,7.0), width=0L),
list(canon="InformationRatio", arch="pairwise", params=c(14.0), width=0L),
list(canon="InitialBalance", arch="multi_candle", params=c(14.0), width=2L),
list(canon="InstantaneousTrendline", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="IntradayIntensity", arch="scalar_candle", params=c(), width=0L),
list(canon="IntradayMomentumIndex", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="IntradayVolatilityProfile", arch="profile_bins", params=c(24.0,0.0), width=24L),
list(canon="InverseFisherTransform", arch="scalar_f64", params=c(2.0), width=0L),
list(canon="InvertedHammer", arch="scalar_candle", params=c(), width=0L),
list(canon="JarqueBera", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Jma", arch="scalar_f64", params=c(7.0,0.0,2.0), width=0L),
list(canon="JumpIndicator", arch="scalar_f64", params=c(14.0,2.0), width=0L),
list(canon="KRatio", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="KagiBars", arch="bars_close", params=c(2.0), width=0L),
list(canon="KalmanHedgeRatio", arch="multi_pairwise", params=c(0.01,0.001), width=3L),
list(canon="Kama", arch="scalar_f64", params=c(3.0,7.0,14.0), width=0L),
list(canon="KaseDevStop", arch="multi_candle", params=c(14.0,2.0), width=2L),
list(canon="KasePermissionStochastic", arch="multi_candle", params=c(3.0,7.0), width=2L),
list(canon="KellyCriterion", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Keltner", arch="multi_candle", params=c(3.0,7.0,2.0), width=3L),
list(canon="KendallTau", arch="pairwise", params=c(14.0), width=0L),
list(canon="Kicking", arch="scalar_candle", params=c(), width=0L),
list(canon="KickingByLength", arch="scalar_candle", params=c(), width=0L),
list(canon="Kst", arch="multi_f64", params=c(3.0,7.0,14.0,28.0,35.0,42.0,56.0,63.0,70.0), width=2L),
list(canon="Kurtosis", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Kvo", arch="scalar_candle", params=c(3.0,7.0), width=0L),
list(canon="KylesLambda", arch="trademid", params=c(20.0), width=0L),
list(canon="LadderBottom", arch="scalar_candle", params=c(), width=0L),
list(canon="LaguerreRsi", arch="scalar_f64", params=c(0.5), width=0L),
list(canon="LeadLagCrossCorrelation", arch="multi_pairwise", params=c(20.0,10.0), width=2L),
list(canon="LinRegAngle", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="LinRegChannel", arch="multi_f64", params=c(14.0,2.0), width=3L),
list(canon="LinRegIntercept", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="LinRegSlope", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="LinearRegression", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="LiquidationFeatures", arch="deriv_multi", params=c(), width=5L),
list(canon="LogReturn", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="LongLeggedDoji", arch="scalar_candle", params=c(), width=0L),
list(canon="LongLine", arch="scalar_candle", params=c(), width=0L),
list(canon="LongShortRatio", arch="deriv", params=c(), width=0L),
list(canon="M2Measure", arch="scalar_f64", params=c(14.0,2.0,0.5), width=0L),
list(canon="MaEnvelope", arch="multi_f64", params=c(14.0,2.0), width=3L),
list(canon="MacdExt", arch="multi_f64", params=c(12.0,0.0,26.0,0.0,9.0,0.0), width=3L),
list(canon="MacdFix", arch="multi_f64", params=c(9.0), width=3L),
list(canon="MacdHistogram", arch="scalar_f64", params=c(3.0,7.0,14.0), width=0L),
list(canon="MacdIndicator", arch="multi_f64", params=c(12.0,26.0,9.0), width=3L),
list(canon="Mama", arch="multi_f64", params=c(0.5,0.05), width=2L),
list(canon="MarketFacilitationIndex", arch="scalar_candle", params=c(), width=0L),
list(canon="MartinRatio", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Marubozu", arch="scalar_candle", params=c(), width=0L),
list(canon="MassIndex", arch="scalar_candle", params=c(3.0,7.0), width=0L),
list(canon="MatHold", arch="scalar_candle", params=c(), width=0L),
list(canon="MatchingLow", arch="scalar_candle", params=c(), width=0L),
list(canon="MaxDrawdown", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="McClellanOscillator", arch="cross", params=c(), width=0L),
list(canon="McClellanSummationIndex", arch="cross", params=c(), width=0L),
list(canon="McGinleyDynamic", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="MedianAbsoluteDeviation", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="MedianChannel", arch="multi_f64", params=c(14.0,2.0), width=3L),
list(canon="MedianMa", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="MedianPrice", arch="scalar_candle", params=c(), width=0L),
list(canon="Mfi", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="Microprice", arch="ob", params=c(), width=0L),
list(canon="MidPoint", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="MidPrice", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="MinusDi", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="MinusDm", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="ModifiedMaStop", arch="multi_candle", params=c(14.0), width=2L),
list(canon="Mom", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="MorningDojiStar", arch="scalar_candle", params=c(), width=0L),
list(canon="MorningEveningStar", arch="scalar_candle", params=c(), width=0L),
list(canon="MurreyMathLines", arch="multi_candle", params=c(14.0), width=9L),
list(canon="NakedPoc", arch="scalar_candle", params=c(3.0,7.0), width=0L),
list(canon="Natr", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="NewHighsNewLows", arch="cross", params=c(), width=0L),
list(canon="NewPriceLines", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="Nrtr", arch="multi_candle", params=c(2.0), width=2L),
list(canon="Nvi", arch="scalar_candle", params=c(), width=0L),
list(canon="OIPriceDivergence", arch="deriv", params=c(20.0), width=0L),
list(canon="OIWeighted", arch="deriv", params=c(), width=0L),
list(canon="Obv", arch="scalar_candle", params=c(), width=0L),
list(canon="OiToVolumeRatio", arch="deriv", params=c(), width=0L),
list(canon="OmegaRatio", arch="scalar_f64", params=c(14.0,2.0), width=0L),
list(canon="OnNeck", arch="scalar_candle", params=c(), width=0L),
list(canon="OpenInterestDelta", arch="deriv", params=c(), width=0L),
list(canon="OpenInterestMomentum", arch="deriv", params=c(10.0), width=0L),
list(canon="OpeningMarubozu", arch="scalar_candle", params=c(), width=0L),
list(canon="OpeningRange", arch="multi_candle", params=c(14.0), width=3L),
list(canon="OrderBookImbalanceFull", arch="ob", params=c(), width=0L),
list(canon="OrderBookImbalanceTop1", arch="ob", params=c(), width=0L),
list(canon="OrderBookImbalanceTopN", arch="ob", params=c(5.0), width=0L),
list(canon="OrderFlowImbalance", arch="ob", params=c(20.0), width=0L),
list(canon="OuHalfLife", arch="pairwise", params=c(14.0), width=0L),
list(canon="OvernightGap", arch="scalar_candle", params=c(0.0), width=0L),
list(canon="OvernightIntradayReturn", arch="multi_candle", params=c(14.0), width=2L),
list(canon="PainIndex", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="PairSpreadZScore", arch="pairwise", params=c(20.0,20.0), width=0L),
list(canon="PairwiseBeta", arch="pairwise", params=c(14.0), width=0L),
list(canon="ParkinsonVolatility", arch="scalar_candle", params=c(20.0,252.0), width=0L),
list(canon="PearsonCorrelation", arch="pairwise", params=c(14.0), width=0L),
list(canon="PercentAboveMa", arch="cross", params=c(), width=0L),
list(canon="PercentB", arch="scalar_f64", params=c(14.0,2.0), width=0L),
list(canon="PercentageTrailingStop", arch="scalar_f64", params=c(2.0), width=0L),
list(canon="PerpetualPremiumIndex", arch="deriv", params=c(), width=0L),
list(canon="Pgo", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="PiercingDarkCloud", arch="scalar_candle", params=c(), width=0L),
list(canon="Pin", arch="trade", params=c(20.0), width=0L),
list(canon="PivotReversal", arch="scalar_candle", params=c(3.0,7.0), width=0L),
list(canon="PlusDi", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="PlusDm", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="Pmo", arch="scalar_f64", params=c(3.0,7.0), width=0L),
list(canon="PointAndFigureBars", arch="bars_close", params=c(2.0,3.0), width=0L),
list(canon="PolarizedFractalEfficiency", arch="scalar_f64", params=c(10.0,5.0), width=0L),
list(canon="Ppo", arch="scalar_f64", params=c(3.0,7.0), width=0L),
list(canon="PpoHistogram", arch="scalar_f64", params=c(3.0,7.0,14.0), width=0L),
list(canon="ProfileShape", arch="scalar_candle", params=c(3.0,7.0), width=0L),
list(canon="ProfitFactor", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="ProjectionBands", arch="multi_candle", params=c(14.0), width=3L),
list(canon="ProjectionOscillator", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="Psar", arch="scalar_candle", params=c(0.02,0.02,0.2), width=0L),
list(canon="Pvi", arch="scalar_candle", params=c(), width=0L),
list(canon="Qqe", arch="multi_f64", params=c(3.0,7.0,2.0), width=2L),
list(canon="Qstick", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="QuartileBands", arch="multi_f64", params=c(14.0), width=3L),
list(canon="QuotedSpread", arch="ob", params=c(), width=0L),
list(canon="RSquared", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="RangeBars", arch="bars_close", params=c(2.0), width=0L),
list(canon="RealizedSpread", arch="trademid", params=c(20.0), width=0L),
list(canon="RealizedVolatility", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="RecoveryFactor", arch="scalar_f64", params=c(), width=0L),
list(canon="RectangleRange", arch="scalar_candle", params=c(), width=0L),
list(canon="Reflex", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="RegimeLabel", arch="scalar_f64", params=c(3.0,7.0), width=0L),
list(canon="RelativeStrengthAB", arch="multi_pairwise", params=c(14.0,14.0), width=3L),
list(canon="RenkoBars", arch="bars_close", params=c(2.0), width=0L),
list(canon="RenkoTrailingStop", arch="scalar_f64", params=c(2.0), width=0L),
list(canon="RickshawMan", arch="scalar_candle", params=c(), width=0L),
list(canon="RisingThreeMethods", arch="scalar_candle", params=c(), width=0L),
list(canon="Rmi", arch="scalar_f64", params=c(3.0,7.0), width=0L),
list(canon="Roc", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Rocp", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Rocr", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Rocr100", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="RogersSatchellVolatility", arch="scalar_candle", params=c(20.0,252.0), width=0L),
list(canon="RollMeasure", arch="trade", params=c(20.0), width=0L),
list(canon="RollingCorrelation", arch="pairwise", params=c(14.0), width=0L),
list(canon="RollingCovariance", arch="pairwise", params=c(14.0), width=0L),
list(canon="RollingIqr", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="RollingMinMaxScaler", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="RollingPercentileRank", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="RollingQuantile", arch="scalar_f64", params=c(20.0,0.5), width=0L),
list(canon="RollingVwap", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="RoofingFilter", arch="scalar_f64", params=c(3.0,7.0), width=0L),
list(canon="Rsi", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Rsx", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="RunBars", arch="bars_candle4", params=c(3.0), width=0L),
list(canon="Rvi", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="RviVolatility", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Rwi", arch="multi_candle", params=c(14.0), width=2L),
list(canon="SampleEntropy", arch="scalar_f64", params=c(20.0,2.0,0.2), width=0L),
list(canon="SarExt", arch="scalar_candle", params=c(2.0,0.5,0.5,0.5,0.5,0.5,0.5,0.5), width=0L),
list(canon="SeasonalZScore", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="SeparatingLines", arch="scalar_candle", params=c(), width=0L),
list(canon="SessionHighLow", arch="multi_candle", params=c(14.0), width=2L),
list(canon="SessionRange", arch="multi_candle", params=c(14.0), width=3L),
list(canon="SessionVwap", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="ShannonEntropy", arch="scalar_f64", params=c(3.0,7.0), width=0L),
list(canon="Shark", arch="scalar_candle", params=c(), width=0L),
list(canon="SharpeRatio", arch="scalar_f64", params=c(14.0,2.0), width=0L),
list(canon="ShootingStar", arch="scalar_candle", params=c(), width=0L),
list(canon="ShortLine", arch="scalar_candle", params=c(), width=0L),
list(canon="SignedVolume", arch="trade", params=c(), width=0L),
list(canon="SineWave", arch="scalar_f64", params=c(), width=0L),
list(canon="SineWeightedMa", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="SinglePrints", arch="scalar_candle", params=c(3.0,7.0), width=0L),
list(canon="Skewness", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Sma", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Smi", arch="scalar_candle", params=c(3.0,7.0,14.0), width=0L),
list(canon="Smma", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="SmoothedHeikinAshi", arch="multi_candle", params=c(14.0), width=4L),
list(canon="SortinoRatio", arch="scalar_f64", params=c(14.0,2.0), width=0L),
list(canon="SpearmanCorrelation", arch="pairwise", params=c(14.0), width=0L),
list(canon="SpinningTop", arch="scalar_candle", params=c(), width=0L),
list(canon="SpreadAr1Coefficient", arch="pairwise", params=c(14.0), width=0L),
list(canon="SpreadBollingerBands", arch="multi_pairwise", params=c(14.0,2.0), width=4L),
list(canon="SpreadHurst", arch="pairwise", params=c(14.0), width=0L),
list(canon="StalledPattern", arch="scalar_candle", params=c(), width=0L),
list(canon="StandardError", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="StandardErrorBands", arch="multi_f64", params=c(14.0,2.0), width=3L),
list(canon="StarcBands", arch="multi_candle", params=c(3.0,7.0,2.0), width=3L),
list(canon="Stc", arch="scalar_f64", params=c(10.0,23.0,10.0,0.5), width=0L),
list(canon="StdDev", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="StepTrailingStop", arch="scalar_f64", params=c(2.0), width=0L),
list(canon="SterlingRatio", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="StickSandwich", arch="scalar_candle", params=c(), width=0L),
list(canon="StochRsi", arch="scalar_f64", params=c(3.0,7.0), width=0L),
list(canon="Stochastic", arch="multi_candle", params=c(3.0,7.0), width=2L),
list(canon="StochasticCci", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="SuperSmoother", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="SuperTrend", arch="multi_candle", params=c(14.0,2.0), width=2L),
list(canon="T3", arch="scalar_f64", params=c(5.0,0.7), width=0L),
list(canon="TailRatio", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="TakerBuySellRatio", arch="deriv", params=c(), width=0L),
list(canon="Takuri", arch="scalar_candle", params=c(), width=0L),
list(canon="TasukiGap", arch="scalar_candle", params=c(), width=0L),
list(canon="TdCamouflage", arch="scalar_candle", params=c(), width=0L),
list(canon="TdClop", arch="scalar_candle", params=c(), width=0L),
list(canon="TdClopwin", arch="scalar_candle", params=c(), width=0L),
list(canon="TdCombo", arch="scalar_candle", params=c(3.0,7.0,14.0,28.0), width=0L),
list(canon="TdCountdown", arch="scalar_candle", params=c(3.0,7.0,14.0,28.0), width=0L),
list(canon="TdDWave", arch="scalar_candle", params=c(2.0), width=0L),
list(canon="TdDeMarker", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="TdDifferential", arch="scalar_candle", params=c(), width=0L),
list(canon="TdLines", arch="multi_candle", params=c(3.0,7.0), width=2L),
list(canon="TdMovingAverage", arch="multi_candle", params=c(3.0,7.0), width=2L),
list(canon="TdOpen", arch="scalar_candle", params=c(), width=0L),
list(canon="TdPressure", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="TdPropulsion", arch="scalar_candle", params=c(), width=0L),
list(canon="TdRangeProjection", arch="multi_candle", params=c(), width=2L),
list(canon="TdRei", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="TdRiskLevel", arch="multi_candle", params=c(3.0,7.0), width=2L),
list(canon="TdSequential", arch="multi_candle", params=c(3.0,7.0,14.0,28.0), width=3L),
list(canon="TdSetup", arch="scalar_candle", params=c(3.0,7.0), width=0L),
list(canon="TdTrap", arch="scalar_candle", params=c(), width=0L),
list(canon="Tema", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="TermStructureBasis", arch="deriv", params=c(), width=0L),
list(canon="ThreeDrives", arch="scalar_candle", params=c(), width=0L),
list(canon="ThreeInside", arch="scalar_candle", params=c(), width=0L),
list(canon="ThreeLineBreak", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="ThreeLineBreakBars", arch="bars_close", params=c(3.0), width=0L),
list(canon="ThreeLineStrike", arch="scalar_candle", params=c(), width=0L),
list(canon="ThreeOutside", arch="scalar_candle", params=c(), width=0L),
list(canon="ThreeSoldiersOrCrows", arch="scalar_candle", params=c(), width=0L),
list(canon="ThreeStarsInSouth", arch="scalar_candle", params=c(), width=0L),
list(canon="Thrusting", arch="scalar_candle", params=c(), width=0L),
list(canon="TickBars", arch="bars_candle5", params=c(2.0), width=0L),
list(canon="TickIndex", arch="cross", params=c(), width=0L),
list(canon="Tii", arch="scalar_f64", params=c(3.0,7.0), width=0L),
list(canon="TimeBasedStop", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="TimeOfDayReturnProfile", arch="profile_bins", params=c(24.0,0.0), width=24L),
list(canon="TowerTopBottom", arch="scalar_candle", params=c(), width=0L),
list(canon="TpoProfile", arch="profile_pricebins", params=c(30.0,50.0), width=52L),
list(canon="TradeImbalance", arch="trade", params=c(20.0), width=0L),
list(canon="TradeSignAutocorrelation", arch="trade", params=c(20.0), width=0L),
list(canon="TradeVolumeIndex", arch="scalar_candle", params=c(2.0), width=0L),
list(canon="TrendLabel", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="TrendStrengthIndex", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Trendflex", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="TreynorRatio", arch="pairwise", params=c(14.0,2.0), width=0L),
list(canon="Triangle", arch="scalar_candle", params=c(), width=0L),
list(canon="Trima", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Trin", arch="cross", params=c(), width=0L),
list(canon="TripleTopBottom", arch="scalar_candle", params=c(), width=0L),
list(canon="Tristar", arch="scalar_candle", params=c(), width=0L),
list(canon="Trix", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="TrueRange", arch="scalar_candle", params=c(), width=0L),
list(canon="Tsf", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="TsfOscillator", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Tsi", arch="scalar_f64", params=c(3.0,7.0), width=0L),
list(canon="Tsv", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="TtmSqueeze", arch="multi_candle", params=c(14.0,2.0,0.5), width=2L),
list(canon="TtmTrend", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="TurnOfMonth", arch="scalar_candle", params=c(3.0,3.0,0.0), width=0L),
list(canon="Tweezer", arch="scalar_candle", params=c(), width=0L),
list(canon="TwiggsMoneyFlow", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="TwoCrows", arch="scalar_candle", params=c(), width=0L),
list(canon="TypicalPrice", arch="scalar_candle", params=c(), width=0L),
list(canon="UlcerIndex", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="UltimateOscillator", arch="scalar_candle", params=c(3.0,7.0,14.0), width=0L),
list(canon="UniqueThreeRiver", arch="scalar_candle", params=c(), width=0L),
list(canon="UniversalOscillator", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="UpDownVolumeRatio", arch="cross", params=c(), width=0L),
list(canon="UpsideGapThreeMethods", arch="scalar_candle", params=c(), width=0L),
list(canon="UpsideGapTwoCrows", arch="scalar_candle", params=c(), width=0L),
list(canon="UpsidePotentialRatio", arch="scalar_f64", params=c(14.0,2.0), width=0L),
list(canon="ValueArea", arch="multi_candle", params=c(20.0,50.0,0.7), width=3L),
list(canon="ValueAtRisk", arch="scalar_f64", params=c(20.0,0.95), width=0L),
list(canon="Variance", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="VarianceRatio", arch="pairwise", params=c(60.0,2.0), width=0L),
list(canon="VerticalHorizontalFilter", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Vidya", arch="scalar_f64", params=c(3.0,7.0), width=0L),
list(canon="VolatilityCone", arch="multi_candle", params=c(3.0,7.0), width=5L),
list(canon="VolatilityOfVolatility", arch="scalar_f64", params=c(3.0,7.0), width=0L),
list(canon="VolatilityRatio", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="VoltyStop", arch="scalar_candle", params=c(14.0,2.0), width=0L),
list(canon="VolumeBars", arch="bars_candle5", params=c(500.0), width=0L),
list(canon="VolumeByTimeProfile", arch="profile_bins", params=c(24.0,0.0), width=24L),
list(canon="VolumeOscillator", arch="scalar_candle", params=c(3.0,7.0), width=0L),
list(canon="VolumePriceTrend", arch="scalar_candle", params=c(), width=0L),
list(canon="VolumeProfile", arch="profile_pricebins", params=c(20.0,50.0), width=52L),
list(canon="VolumeRsi", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="VolumeWeightedMacd", arch="multi_candle", params=c(3.0,7.0,14.0), width=3L),
list(canon="VolumeWeightedSr", arch="multi_candle", params=c(14.0), width=2L),
list(canon="Vortex", arch="multi_candle", params=c(14.0), width=2L),
list(canon="Vpin", arch="trade", params=c(5000.0,10.0), width=0L),
list(canon="Vwap", arch="scalar_candle", params=c(), width=0L),
list(canon="VwapStdDevBands", arch="multi_candle", params=c(2.0), width=4L),
list(canon="Vwma", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="Vzo", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="Wad", arch="scalar_candle", params=c(), width=0L),
list(canon="WavePm", arch="scalar_f64", params=c(3.0,7.0), width=0L),
list(canon="WaveTrend", arch="multi_candle", params=c(3.0,7.0,14.0), width=2L),
list(canon="Wedge", arch="scalar_candle", params=c(), width=0L),
list(canon="WeightedClose", arch="scalar_candle", params=c(), width=0L),
list(canon="WickRatio", arch="scalar_candle", params=c(), width=0L),
list(canon="WilliamsFractals", arch="multi_candle", params=c(), width=2L),
list(canon="WilliamsR", arch="scalar_candle", params=c(14.0), width=0L),
list(canon="WinRate", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="Wma", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="WoodiePivots", arch="multi_candle", params=c(), width=5L),
list(canon="YangZhangVolatility", arch="scalar_candle", params=c(20.0,252.0), width=0L),
list(canon="YoyoExit", arch="scalar_candle", params=c(14.0,2.0), width=0L),
list(canon="ZScore", arch="scalar_f64", params=c(14.0), width=0L),
list(canon="ZeroLagMacd", arch="multi_f64", params=c(3.0,7.0,14.0), width=3L),
list(canon="ZigZag", arch="multi_candle", params=c(0.02), width=2L),
list(canon="Zlema", arch="scalar_f64", params=c(14.0), width=0L)
)