dexbot 1.1.10
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.
- package/LICENSE +21 -0
- package/README.md +287 -0
- package/claw/README.md +513 -0
- package/claw/scripts/memu_runner.py +385 -0
- package/claw/skills/bitshares-guide/SKILL.md +14 -0
- package/claw/skills/bitshares-guide/references/example-skill-shells.md +18 -0
- package/claw/skills/bitshares-guide/references/presentation-patterns.md +19 -0
- package/claw/skills/bitshares-guide/references/scope-guardrails.md +9 -0
- package/claw/skills/launcher-ops/SKILL.md +18 -0
- package/claw/skills/launcher-ops/references/launcher-workflow.md +23 -0
- package/claw/skills/margin-trading/SKILL.md +23 -0
- package/claw/skills/margin-trading/references/honest-asset-list.md +74 -0
- package/claw/skills/margin-trading/references/honest-assets.md +44 -0
- package/claw/skills/margin-trading/references/position-management.md +203 -0
- package/claw/skills/margin-trading/references/trading-concepts.md +80 -0
- package/claw/skills/memu-memory/SKILL.md +218 -0
- package/claw/skills/shared/references/js-automation-overview.md +24 -0
- package/claw/skills/shared/references/safety-and-staleness.md +11 -0
- package/claw/skills/shared/references/skill-boundaries.md +17 -0
- package/claw/skills/trend-detection/SKILL.md +33 -0
- package/claw/skills/trend-detection/agents/openai.yaml +3 -0
- package/claw/skills/trend-detection/references/service.md +45 -0
- package/dist/analysis/ama_fitting/analyze_ama_price_changes.d.ts +3 -0
- package/dist/analysis/ama_fitting/analyze_ama_price_changes.d.ts.map +1 -0
- package/dist/analysis/ama_fitting/analyze_ama_price_changes.js +149 -0
- package/dist/analysis/ama_fitting/analyze_ama_price_changes.js.map +1 -0
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.d.ts +3 -0
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.d.ts.map +1 -0
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js +387 -0
- package/dist/analysis/ama_fitting/analyze_lambda_vs_slow.js.map +1 -0
- package/dist/analysis/ama_fitting/calibrate_convergence_er.d.ts +3 -0
- package/dist/analysis/ama_fitting/calibrate_convergence_er.d.ts.map +1 -0
- package/dist/analysis/ama_fitting/calibrate_convergence_er.js +200 -0
- package/dist/analysis/ama_fitting/calibrate_convergence_er.js.map +1 -0
- package/dist/analysis/ama_fitting/fetch_lp_candles.d.ts +3 -0
- package/dist/analysis/ama_fitting/fetch_lp_candles.d.ts.map +1 -0
- package/dist/analysis/ama_fitting/fetch_lp_candles.js +212 -0
- package/dist/analysis/ama_fitting/fetch_lp_candles.js.map +1 -0
- package/dist/analysis/ama_fitting/generate_unified_comparison_chart.d.ts +31 -0
- package/dist/analysis/ama_fitting/generate_unified_comparison_chart.d.ts.map +1 -0
- package/dist/analysis/ama_fitting/generate_unified_comparison_chart.js +249 -0
- package/dist/analysis/ama_fitting/generate_unified_comparison_chart.js.map +1 -0
- package/dist/analysis/ama_fitting/optimizer_high_resolution.d.ts +2 -0
- package/dist/analysis/ama_fitting/optimizer_high_resolution.d.ts.map +1 -0
- package/dist/analysis/ama_fitting/optimizer_high_resolution.js +782 -0
- package/dist/analysis/ama_fitting/optimizer_high_resolution.js.map +1 -0
- package/dist/analysis/analyze_derivatives.d.ts +95 -0
- package/dist/analysis/analyze_derivatives.d.ts.map +1 -0
- package/dist/analysis/analyze_derivatives.js +295 -0
- package/dist/analysis/analyze_derivatives.js.map +1 -0
- package/dist/analysis/analyze_dynamic_weight.d.ts +14 -0
- package/dist/analysis/analyze_dynamic_weight.d.ts.map +1 -0
- package/dist/analysis/analyze_dynamic_weight.js +208 -0
- package/dist/analysis/analyze_dynamic_weight.js.map +1 -0
- package/dist/analysis/analyze_kalman.d.ts +13 -0
- package/dist/analysis/analyze_kalman.d.ts.map +1 -0
- package/dist/analysis/analyze_kalman.js +123 -0
- package/dist/analysis/analyze_kalman.js.map +1 -0
- package/dist/analysis/analyze_regime.d.ts +20 -0
- package/dist/analysis/analyze_regime.d.ts.map +1 -0
- package/dist/analysis/analyze_regime.js +139 -0
- package/dist/analysis/analyze_regime.js.map +1 -0
- package/dist/analysis/analyze_regime_windows.d.ts +19 -0
- package/dist/analysis/analyze_regime_windows.d.ts.map +1 -0
- package/dist/analysis/analyze_regime_windows.js +413 -0
- package/dist/analysis/analyze_regime_windows.js.map +1 -0
- package/dist/analysis/analyze_risk_profile.d.ts +3 -0
- package/dist/analysis/analyze_risk_profile.d.ts.map +1 -0
- package/dist/analysis/analyze_risk_profile.js +159 -0
- package/dist/analysis/analyze_risk_profile.js.map +1 -0
- package/dist/analysis/analyze_trade_heatmap.d.ts +3 -0
- package/dist/analysis/analyze_trade_heatmap.d.ts.map +1 -0
- package/dist/analysis/analyze_trade_heatmap.js +367 -0
- package/dist/analysis/analyze_trade_heatmap.js.map +1 -0
- package/dist/analysis/analyze_volatility.d.ts +22 -0
- package/dist/analysis/analyze_volatility.d.ts.map +1 -0
- package/dist/analysis/analyze_volatility.js +172 -0
- package/dist/analysis/analyze_volatility.js.map +1 -0
- package/dist/analysis/bot_fitting/backtest_ama_sweep.d.ts +99 -0
- package/dist/analysis/bot_fitting/backtest_ama_sweep.d.ts.map +1 -0
- package/dist/analysis/bot_fitting/backtest_ama_sweep.js +804 -0
- package/dist/analysis/bot_fitting/backtest_ama_sweep.js.map +1 -0
- package/dist/analysis/bot_fitting/backtest_bot_fitting.d.ts +2 -0
- package/dist/analysis/bot_fitting/backtest_bot_fitting.d.ts.map +1 -0
- package/dist/analysis/bot_fitting/backtest_bot_fitting.js +347 -0
- package/dist/analysis/bot_fitting/backtest_bot_fitting.js.map +1 -0
- package/dist/analysis/bot_fitting/shared_utils.d.ts +15 -0
- package/dist/analysis/bot_fitting/shared_utils.d.ts.map +1 -0
- package/dist/analysis/bot_fitting/shared_utils.js +48 -0
- package/dist/analysis/bot_fitting/shared_utils.js.map +1 -0
- package/dist/analysis/bot_key_utils.d.ts +16 -0
- package/dist/analysis/bot_key_utils.d.ts.map +1 -0
- package/dist/analysis/bot_key_utils.js +61 -0
- package/dist/analysis/bot_key_utils.js.map +1 -0
- package/dist/analysis/bot_usage/discover_bot_accounts.d.ts +3 -0
- package/dist/analysis/bot_usage/discover_bot_accounts.d.ts.map +1 -0
- package/dist/analysis/bot_usage/discover_bot_accounts.js +498 -0
- package/dist/analysis/bot_usage/discover_bot_accounts.js.map +1 -0
- package/dist/analysis/bot_usage/kibana_bot_queries.d.ts +546 -0
- package/dist/analysis/bot_usage/kibana_bot_queries.d.ts.map +1 -0
- package/dist/analysis/bot_usage/kibana_bot_queries.js +427 -0
- package/dist/analysis/bot_usage/kibana_bot_queries.js.map +1 -0
- package/dist/analysis/chart_utils.d.ts +13 -0
- package/dist/analysis/chart_utils.d.ts.map +1 -0
- package/dist/analysis/chart_utils.js +142 -0
- package/dist/analysis/chart_utils.js.map +1 -0
- package/dist/analysis/derivative_chart_generator.d.ts +18 -0
- package/dist/analysis/derivative_chart_generator.d.ts.map +1 -0
- package/dist/analysis/derivative_chart_generator.js +896 -0
- package/dist/analysis/derivative_chart_generator.js.map +1 -0
- package/dist/analysis/math_utils.d.ts +35 -0
- package/dist/analysis/math_utils.d.ts.map +1 -0
- package/dist/analysis/math_utils.js +121 -0
- package/dist/analysis/math_utils.js.map +1 -0
- package/dist/analysis/price_sources.d.ts +34 -0
- package/dist/analysis/price_sources.d.ts.map +1 -0
- package/dist/analysis/price_sources.js +103 -0
- package/dist/analysis/price_sources.js.map +1 -0
- package/dist/analysis/trade_profitability.d.ts +115 -0
- package/dist/analysis/trade_profitability.d.ts.map +1 -0
- package/dist/analysis/trade_profitability.js +1247 -0
- package/dist/analysis/trade_profitability.js.map +1 -0
- package/dist/analysis/tradingview/analyze_tradingview.d.ts +38 -0
- package/dist/analysis/tradingview/analyze_tradingview.d.ts.map +1 -0
- package/dist/analysis/tradingview/analyze_tradingview.js +212 -0
- package/dist/analysis/tradingview/analyze_tradingview.js.map +1 -0
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts +9 -0
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts.map +1 -0
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js +1717 -0
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js.map +1 -0
- package/dist/analysis/trend_detection/derivative_analyzer.d.ts +250 -0
- package/dist/analysis/trend_detection/derivative_analyzer.d.ts.map +1 -0
- package/dist/analysis/trend_detection/derivative_analyzer.js +903 -0
- package/dist/analysis/trend_detection/derivative_analyzer.js.map +1 -0
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts +6 -0
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts.map +1 -0
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js +1449 -0
- package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js.map +1 -0
- package/dist/analysis/trend_detection/hurst_analyzer.d.ts +42 -0
- package/dist/analysis/trend_detection/hurst_analyzer.d.ts.map +1 -0
- package/dist/analysis/trend_detection/hurst_analyzer.js +159 -0
- package/dist/analysis/trend_detection/hurst_analyzer.js.map +1 -0
- package/dist/analysis/trend_detection/kalman_chart_generator.d.ts +6 -0
- package/dist/analysis/trend_detection/kalman_chart_generator.d.ts.map +1 -0
- package/dist/analysis/trend_detection/kalman_chart_generator.js +408 -0
- package/dist/analysis/trend_detection/kalman_chart_generator.js.map +1 -0
- package/dist/analysis/trend_detection/kalman_trend_analyzer.d.ts +103 -0
- package/dist/analysis/trend_detection/kalman_trend_analyzer.d.ts.map +1 -0
- package/dist/analysis/trend_detection/kalman_trend_analyzer.js +229 -0
- package/dist/analysis/trend_detection/kalman_trend_analyzer.js.map +1 -0
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.d.ts +34 -0
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.d.ts.map +1 -0
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.js +89 -0
- package/dist/analysis/trend_detection/kalman_velocity_smoothing.js.map +1 -0
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.d.ts +39 -0
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.d.ts.map +1 -0
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.js +132 -0
- package/dist/analysis/trend_detection/permutation_entropy_analyzer.js.map +1 -0
- package/dist/analysis/trend_detection/regime_chart_generator.d.ts +6 -0
- package/dist/analysis/trend_detection/regime_chart_generator.d.ts.map +1 -0
- package/dist/analysis/trend_detection/regime_chart_generator.js +345 -0
- package/dist/analysis/trend_detection/regime_chart_generator.js.map +1 -0
- package/dist/analysis/trend_detection/tests/test_kalman_trend.d.ts +2 -0
- package/dist/analysis/trend_detection/tests/test_kalman_trend.d.ts.map +1 -0
- package/dist/analysis/trend_detection/tests/test_kalman_trend.js +130 -0
- package/dist/analysis/trend_detection/tests/test_kalman_trend.js.map +1 -0
- package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.d.ts +2 -0
- package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.d.ts.map +1 -0
- package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.js +38 -0
- package/dist/analysis/trend_detection/tests/test_kalman_velocity_smoothing.js.map +1 -0
- package/dist/analysis/trend_detection/volatility_chart_generator.d.ts +6 -0
- package/dist/analysis/trend_detection/volatility_chart_generator.d.ts.map +1 -0
- package/dist/analysis/trend_detection/volatility_chart_generator.js +732 -0
- package/dist/analysis/trend_detection/volatility_chart_generator.js.map +1 -0
- package/dist/bot.d.ts +49 -0
- package/dist/bot.d.ts.map +1 -0
- package/dist/bot.js +221 -0
- package/dist/bot.js.map +1 -0
- package/dist/credential-daemon.d.ts +64 -0
- package/dist/credential-daemon.d.ts.map +1 -0
- package/dist/credential-daemon.js +987 -0
- package/dist/credential-daemon.js.map +1 -0
- package/dist/dexbot.d.ts +87 -0
- package/dist/dexbot.d.ts.map +1 -0
- package/dist/dexbot.js +1222 -0
- package/dist/dexbot.js.map +1 -0
- package/dist/market_adapter/ama_signal_runner.d.ts +3 -0
- package/dist/market_adapter/ama_signal_runner.d.ts.map +1 -0
- package/dist/market_adapter/ama_signal_runner.js +175 -0
- package/dist/market_adapter/ama_signal_runner.js.map +1 -0
- package/dist/market_adapter/candle_utils.d.ts +57 -0
- package/dist/market_adapter/candle_utils.d.ts.map +1 -0
- package/dist/market_adapter/candle_utils.js +252 -0
- package/dist/market_adapter/candle_utils.js.map +1 -0
- package/dist/market_adapter/core/asymmetric_bounds.d.ts +20 -0
- package/dist/market_adapter/core/asymmetric_bounds.d.ts.map +1 -0
- package/dist/market_adapter/core/asymmetric_bounds.js +88 -0
- package/dist/market_adapter/core/asymmetric_bounds.js.map +1 -0
- package/dist/market_adapter/core/config_normalizers.d.ts +10 -0
- package/dist/market_adapter/core/config_normalizers.d.ts.map +1 -0
- package/dist/market_adapter/core/config_normalizers.js +24 -0
- package/dist/market_adapter/core/config_normalizers.js.map +1 -0
- package/dist/market_adapter/core/kibana_candles.d.ts +74 -0
- package/dist/market_adapter/core/kibana_candles.d.ts.map +1 -0
- package/dist/market_adapter/core/kibana_candles.js +249 -0
- package/dist/market_adapter/core/kibana_candles.js.map +1 -0
- package/dist/market_adapter/core/kibana_client.d.ts +27 -0
- package/dist/market_adapter/core/kibana_client.d.ts.map +1 -0
- package/dist/market_adapter/core/kibana_client.js +120 -0
- package/dist/market_adapter/core/kibana_client.js.map +1 -0
- package/dist/market_adapter/core/kibana_market_candles.d.ts +143 -0
- package/dist/market_adapter/core/kibana_market_candles.d.ts.map +1 -0
- package/dist/market_adapter/core/kibana_market_candles.js +170 -0
- package/dist/market_adapter/core/kibana_market_candles.js.map +1 -0
- package/dist/market_adapter/core/market_adapter_service.d.ts +210 -0
- package/dist/market_adapter/core/market_adapter_service.d.ts.map +1 -0
- package/dist/market_adapter/core/market_adapter_service.js +2328 -0
- package/dist/market_adapter/core/market_adapter_service.js.map +1 -0
- package/dist/market_adapter/core/strategies/ama.d.ts +2 -0
- package/dist/market_adapter/core/strategies/ama.d.ts.map +1 -0
- package/dist/market_adapter/core/strategies/ama.js +138 -0
- package/dist/market_adapter/core/strategies/ama.js.map +1 -0
- package/dist/market_adapter/core/strategies/ama_slope_model.d.ts +50 -0
- package/dist/market_adapter/core/strategies/ama_slope_model.d.ts.map +1 -0
- package/dist/market_adapter/core/strategies/ama_slope_model.js +143 -0
- package/dist/market_adapter/core/strategies/ama_slope_model.js.map +1 -0
- package/dist/market_adapter/core/strategies/atr/calculator.d.ts +12 -0
- package/dist/market_adapter/core/strategies/atr/calculator.d.ts.map +1 -0
- package/dist/market_adapter/core/strategies/atr/calculator.js +47 -0
- package/dist/market_adapter/core/strategies/atr/calculator.js.map +1 -0
- package/dist/market_adapter/core/strategies/collateral_manager.d.ts +32 -0
- package/dist/market_adapter/core/strategies/collateral_manager.d.ts.map +1 -0
- package/dist/market_adapter/core/strategies/collateral_manager.js +68 -0
- package/dist/market_adapter/core/strategies/collateral_manager.js.map +1 -0
- package/dist/market_adapter/core/strategies/regime_gate.d.ts +66 -0
- package/dist/market_adapter/core/strategies/regime_gate.d.ts.map +1 -0
- package/dist/market_adapter/core/strategies/regime_gate.js +189 -0
- package/dist/market_adapter/core/strategies/regime_gate.js.map +1 -0
- package/dist/market_adapter/index.d.ts +10 -0
- package/dist/market_adapter/index.d.ts.map +1 -0
- package/dist/market_adapter/index.js +71 -0
- package/dist/market_adapter/index.js.map +1 -0
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.d.ts +3 -0
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.d.ts.map +1 -0
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js +1165 -0
- package/dist/market_adapter/inputs/fetch_cex_synthetic_data.js.map +1 -0
- package/dist/market_adapter/inputs/fetch_lp_data.d.ts +54 -0
- package/dist/market_adapter/inputs/fetch_lp_data.d.ts.map +1 -0
- package/dist/market_adapter/inputs/fetch_lp_data.js +743 -0
- package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -0
- package/dist/market_adapter/inputs/kibana_source.d.ts +68 -0
- package/dist/market_adapter/inputs/kibana_source.d.ts.map +1 -0
- package/dist/market_adapter/inputs/kibana_source.js +143 -0
- package/dist/market_adapter/inputs/kibana_source.js.map +1 -0
- package/dist/market_adapter/interval_utils.d.ts +6 -0
- package/dist/market_adapter/interval_utils.d.ts.map +1 -0
- package/dist/market_adapter/interval_utils.js +14 -0
- package/dist/market_adapter/interval_utils.js.map +1 -0
- package/dist/market_adapter/log_format.d.ts +16 -0
- package/dist/market_adapter/log_format.d.ts.map +1 -0
- package/dist/market_adapter/log_format.js +72 -0
- package/dist/market_adapter/log_format.js.map +1 -0
- package/dist/market_adapter/lp_chart_core.d.ts +6 -0
- package/dist/market_adapter/lp_chart_core.d.ts.map +1 -0
- package/dist/market_adapter/lp_chart_core.js +874 -0
- package/dist/market_adapter/lp_chart_core.js.map +1 -0
- package/dist/market_adapter/lp_chart_runner.d.ts +135 -0
- package/dist/market_adapter/lp_chart_runner.d.ts.map +1 -0
- package/dist/market_adapter/lp_chart_runner.js +337 -0
- package/dist/market_adapter/lp_chart_runner.js.map +1 -0
- package/dist/market_adapter/lp_chart_strategy_loader.d.ts +23 -0
- package/dist/market_adapter/lp_chart_strategy_loader.d.ts.map +1 -0
- package/dist/market_adapter/lp_chart_strategy_loader.js +169 -0
- package/dist/market_adapter/lp_chart_strategy_loader.js.map +1 -0
- package/dist/market_adapter/market_adapter.d.ts +133 -0
- package/dist/market_adapter/market_adapter.d.ts.map +1 -0
- package/dist/market_adapter/market_adapter.js +1331 -0
- package/dist/market_adapter/market_adapter.js.map +1 -0
- package/dist/market_adapter/merge_lp_data.d.ts +3 -0
- package/dist/market_adapter/merge_lp_data.d.ts.map +1 -0
- package/dist/market_adapter/merge_lp_data.js +125 -0
- package/dist/market_adapter/merge_lp_data.js.map +1 -0
- package/dist/market_adapter/test_helpers.d.ts +14 -0
- package/dist/market_adapter/test_helpers.d.ts.map +1 -0
- package/dist/market_adapter/test_helpers.js +22 -0
- package/dist/market_adapter/test_helpers.js.map +1 -0
- package/dist/market_adapter/utils/adapter_client.d.ts +20 -0
- package/dist/market_adapter/utils/adapter_client.d.ts.map +1 -0
- package/dist/market_adapter/utils/adapter_client.js +88 -0
- package/dist/market_adapter/utils/adapter_client.js.map +1 -0
- package/dist/market_adapter/utils/atomic_write.d.ts +9 -0
- package/dist/market_adapter/utils/atomic_write.d.ts.map +1 -0
- package/dist/market_adapter/utils/atomic_write.js +13 -0
- package/dist/market_adapter/utils/atomic_write.js.map +1 -0
- package/dist/market_adapter/utils/chain.d.ts +50 -0
- package/dist/market_adapter/utils/chain.d.ts.map +1 -0
- package/dist/market_adapter/utils/chain.js +196 -0
- package/dist/market_adapter/utils/chain.js.map +1 -0
- package/dist/market_adapter/utils/data_discovery.d.ts +6 -0
- package/dist/market_adapter/utils/data_discovery.d.ts.map +1 -0
- package/dist/market_adapter/utils/data_discovery.js +35 -0
- package/dist/market_adapter/utils/data_discovery.js.map +1 -0
- package/dist/market_adapter/utils/dynamic_grid_snapshot.d.ts +15 -0
- package/dist/market_adapter/utils/dynamic_grid_snapshot.d.ts.map +1 -0
- package/dist/market_adapter/utils/dynamic_grid_snapshot.js +60 -0
- package/dist/market_adapter/utils/dynamic_grid_snapshot.js.map +1 -0
- package/dist/market_adapter/utils/file_lock.d.ts +19 -0
- package/dist/market_adapter/utils/file_lock.d.ts.map +1 -0
- package/dist/market_adapter/utils/file_lock.js +191 -0
- package/dist/market_adapter/utils/file_lock.js.map +1 -0
- package/dist/market_adapter/utils/native_history.d.ts +19 -0
- package/dist/market_adapter/utils/native_history.d.ts.map +1 -0
- package/dist/market_adapter/utils/native_history.js +172 -0
- package/dist/market_adapter/utils/native_history.js.map +1 -0
- package/dist/market_adapter/utils/paths.d.ts +5 -0
- package/dist/market_adapter/utils/paths.d.ts.map +1 -0
- package/dist/market_adapter/utils/paths.js +7 -0
- package/dist/market_adapter/utils/paths.js.map +1 -0
- package/dist/modules/account_bots.d.ts +112 -0
- package/dist/modules/account_bots.d.ts.map +1 -0
- package/dist/modules/account_bots.js +1259 -0
- package/dist/modules/account_bots.js.map +1 -0
- package/dist/modules/account_orders.d.ts +273 -0
- package/dist/modules/account_orders.d.ts.map +1 -0
- package/dist/modules/account_orders.js +662 -0
- package/dist/modules/account_orders.js.map +1 -0
- package/dist/modules/authority_resolver.d.ts +2 -0
- package/dist/modules/authority_resolver.d.ts.map +1 -0
- package/dist/modules/authority_resolver.js +231 -0
- package/dist/modules/authority_resolver.js.map +1 -0
- package/dist/modules/bitshares-native/chain_client.d.ts +38 -0
- package/dist/modules/bitshares-native/chain_client.d.ts.map +1 -0
- package/dist/modules/bitshares-native/chain_client.js +322 -0
- package/dist/modules/bitshares-native/chain_client.js.map +1 -0
- package/dist/modules/bitshares-native/crypto/ecc.browser.d.ts +59 -0
- package/dist/modules/bitshares-native/crypto/ecc.browser.d.ts.map +1 -0
- package/dist/modules/bitshares-native/crypto/ecc.browser.js +456 -0
- package/dist/modules/bitshares-native/crypto/ecc.browser.js.map +1 -0
- package/dist/modules/bitshares-native/crypto/ecc.d.ts +66 -0
- package/dist/modules/bitshares-native/crypto/ecc.d.ts.map +1 -0
- package/dist/modules/bitshares-native/crypto/ecc.js +557 -0
- package/dist/modules/bitshares-native/crypto/ecc.js.map +1 -0
- package/dist/modules/bitshares-native/crypto/ecc_selector.d.ts +2 -0
- package/dist/modules/bitshares-native/crypto/ecc_selector.d.ts.map +1 -0
- package/dist/modules/bitshares-native/crypto/ecc_selector.js +20 -0
- package/dist/modules/bitshares-native/crypto/ecc_selector.js.map +1 -0
- package/dist/modules/bitshares-native/index.d.ts +3 -0
- package/dist/modules/bitshares-native/index.d.ts.map +1 -0
- package/dist/modules/bitshares-native/index.js +32 -0
- package/dist/modules/bitshares-native/index.js.map +1 -0
- package/dist/modules/bitshares-native/resolvers.d.ts +40 -0
- package/dist/modules/bitshares-native/resolvers.d.ts.map +1 -0
- package/dist/modules/bitshares-native/resolvers.js +161 -0
- package/dist/modules/bitshares-native/resolvers.js.map +1 -0
- package/dist/modules/bitshares-native/serial/chain_constants.d.ts +56 -0
- package/dist/modules/bitshares-native/serial/chain_constants.d.ts.map +1 -0
- package/dist/modules/bitshares-native/serial/chain_constants.js +92 -0
- package/dist/modules/bitshares-native/serial/chain_constants.js.map +1 -0
- package/dist/modules/bitshares-native/serial/index.d.ts +10 -0
- package/dist/modules/bitshares-native/serial/index.d.ts.map +1 -0
- package/dist/modules/bitshares-native/serial/index.js +14 -0
- package/dist/modules/bitshares-native/serial/index.js.map +1 -0
- package/dist/modules/bitshares-native/serial/operations.d.ts +102 -0
- package/dist/modules/bitshares-native/serial/operations.d.ts.map +1 -0
- package/dist/modules/bitshares-native/serial/operations.js +615 -0
- package/dist/modules/bitshares-native/serial/operations.js.map +1 -0
- package/dist/modules/bitshares-native/serial/serializer.d.ts +64 -0
- package/dist/modules/bitshares-native/serial/serializer.d.ts.map +1 -0
- package/dist/modules/bitshares-native/serial/serializer.js +252 -0
- package/dist/modules/bitshares-native/serial/serializer.js.map +1 -0
- package/dist/modules/bitshares-native/serial/types.d.ts +120 -0
- package/dist/modules/bitshares-native/serial/types.d.ts.map +1 -0
- package/dist/modules/bitshares-native/serial/types.js +837 -0
- package/dist/modules/bitshares-native/serial/types.js.map +1 -0
- package/dist/modules/bitshares-native/signing_client.d.ts +6 -0
- package/dist/modules/bitshares-native/signing_client.d.ts.map +1 -0
- package/dist/modules/bitshares-native/signing_client.js +141 -0
- package/dist/modules/bitshares-native/signing_client.js.map +1 -0
- package/dist/modules/bitshares-native/subscriptions.d.ts +6 -0
- package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -0
- package/dist/modules/bitshares-native/subscriptions.js +865 -0
- package/dist/modules/bitshares-native/subscriptions.js.map +1 -0
- package/dist/modules/bitshares-native/transport.d.ts +51 -0
- package/dist/modules/bitshares-native/transport.d.ts.map +1 -0
- package/dist/modules/bitshares-native/transport.js +447 -0
- package/dist/modules/bitshares-native/transport.js.map +1 -0
- package/dist/modules/bitshares-native/tx/builder.d.ts +30 -0
- package/dist/modules/bitshares-native/tx/builder.d.ts.map +1 -0
- package/dist/modules/bitshares-native/tx/builder.js +262 -0
- package/dist/modules/bitshares-native/tx/builder.js.map +1 -0
- package/dist/modules/bitshares_client.d.ts +129 -0
- package/dist/modules/bitshares_client.d.ts.map +1 -0
- package/dist/modules/bitshares_client.js +627 -0
- package/dist/modules/bitshares_client.js.map +1 -0
- package/dist/modules/bot_settings.d.ts +33 -0
- package/dist/modules/bot_settings.d.ts.map +1 -0
- package/dist/modules/bot_settings.js +328 -0
- package/dist/modules/bot_settings.js.map +1 -0
- package/dist/modules/bots_file_lock.d.ts +88 -0
- package/dist/modules/bots_file_lock.d.ts.map +1 -0
- package/dist/modules/bots_file_lock.js +161 -0
- package/dist/modules/bots_file_lock.js.map +1 -0
- package/dist/modules/chain_keys.d.ts +302 -0
- package/dist/modules/chain_keys.d.ts.map +1 -0
- package/dist/modules/chain_keys.js +1095 -0
- package/dist/modules/chain_keys.js.map +1 -0
- package/dist/modules/chain_orders.d.ts +423 -0
- package/dist/modules/chain_orders.d.ts.map +1 -0
- package/dist/modules/chain_orders.js +1201 -0
- package/dist/modules/chain_orders.js.map +1 -0
- package/dist/modules/cli_whitelist_args.d.ts +6 -0
- package/dist/modules/cli_whitelist_args.d.ts.map +1 -0
- package/dist/modules/cli_whitelist_args.js +13 -0
- package/dist/modules/cli_whitelist_args.js.map +1 -0
- package/dist/modules/config.d.ts +57 -0
- package/dist/modules/config.d.ts.map +1 -0
- package/dist/modules/config.js +107 -0
- package/dist/modules/config.js.map +1 -0
- package/dist/modules/constants.d.ts +635 -0
- package/dist/modules/constants.d.ts.map +1 -0
- package/dist/modules/constants.js +1464 -0
- package/dist/modules/constants.js.map +1 -0
- package/dist/modules/cr_planner.d.ts +51 -0
- package/dist/modules/cr_planner.d.ts.map +1 -0
- package/dist/modules/cr_planner.js +299 -0
- package/dist/modules/cr_planner.js.map +1 -0
- package/dist/modules/credential_policy.d.ts +188 -0
- package/dist/modules/credential_policy.d.ts.map +1 -0
- package/dist/modules/credential_policy.js +1452 -0
- package/dist/modules/credential_policy.js.map +1 -0
- package/dist/modules/credential_runtime.d.ts +42 -0
- package/dist/modules/credential_runtime.d.ts.map +1 -0
- package/dist/modules/credential_runtime.js +148 -0
- package/dist/modules/credential_runtime.js.map +1 -0
- package/dist/modules/credential_session_cache.d.ts +36 -0
- package/dist/modules/credential_session_cache.d.ts.map +1 -0
- package/dist/modules/credential_session_cache.js +106 -0
- package/dist/modules/credential_session_cache.js.map +1 -0
- package/dist/modules/credit_runtime.d.ts +412 -0
- package/dist/modules/credit_runtime.d.ts.map +1 -0
- package/dist/modules/credit_runtime.js +2866 -0
- package/dist/modules/credit_runtime.js.map +1 -0
- package/dist/modules/crypto/browser_provider.d.ts +15 -0
- package/dist/modules/crypto/browser_provider.d.ts.map +1 -0
- package/dist/modules/crypto/browser_provider.js +113 -0
- package/dist/modules/crypto/browser_provider.js.map +1 -0
- package/dist/modules/crypto/index.d.ts +9 -0
- package/dist/modules/crypto/index.d.ts.map +1 -0
- package/dist/modules/crypto/index.js +44 -0
- package/dist/modules/crypto/index.js.map +1 -0
- package/dist/modules/crypto/node_provider.d.ts +15 -0
- package/dist/modules/crypto/node_provider.d.ts.map +1 -0
- package/dist/modules/crypto/node_provider.js +74 -0
- package/dist/modules/crypto/node_provider.js.map +1 -0
- package/dist/modules/crypto/provider.d.ts +34 -0
- package/dist/modules/crypto/provider.d.ts.map +1 -0
- package/dist/modules/crypto/provider.js +3 -0
- package/dist/modules/crypto/provider.js.map +1 -0
- package/dist/modules/crypto/pure_ripemd160.d.ts +8 -0
- package/dist/modules/crypto/pure_ripemd160.d.ts.map +1 -0
- package/dist/modules/crypto/pure_ripemd160.js +142 -0
- package/dist/modules/crypto/pure_ripemd160.js.map +1 -0
- package/dist/modules/crypto/pure_scrypt.d.ts +23 -0
- package/dist/modules/crypto/pure_scrypt.d.ts.map +1 -0
- package/dist/modules/crypto/pure_scrypt.js +161 -0
- package/dist/modules/crypto/pure_scrypt.js.map +1 -0
- package/dist/modules/crypto/pure_secp256k1.d.ts +29 -0
- package/dist/modules/crypto/pure_secp256k1.d.ts.map +1 -0
- package/dist/modules/crypto/pure_secp256k1.js +195 -0
- package/dist/modules/crypto/pure_secp256k1.js.map +1 -0
- package/dist/modules/crypto/sync.d.ts +13 -0
- package/dist/modules/crypto/sync.d.ts.map +1 -0
- package/dist/modules/crypto/sync.js +37 -0
- package/dist/modules/crypto/sync.js.map +1 -0
- package/dist/modules/dexbot_class.d.ts +1074 -0
- package/dist/modules/dexbot_class.d.ts.map +1 -0
- package/dist/modules/dexbot_class.js +4613 -0
- package/dist/modules/dexbot_class.js.map +1 -0
- package/dist/modules/dexbot_credential_client.d.ts +71 -0
- package/dist/modules/dexbot_credential_client.d.ts.map +1 -0
- package/dist/modules/dexbot_credential_client.js +224 -0
- package/dist/modules/dexbot_credential_client.js.map +1 -0
- package/dist/modules/dexbot_fill_runtime.d.ts +173 -0
- package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -0
- package/dist/modules/dexbot_fill_runtime.js +217 -0
- package/dist/modules/dexbot_fill_runtime.js.map +1 -0
- package/dist/modules/dexbot_maintenance_runtime.d.ts +279 -0
- package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -0
- package/dist/modules/dexbot_maintenance_runtime.js +1613 -0
- package/dist/modules/dexbot_maintenance_runtime.js.map +1 -0
- package/dist/modules/env.d.ts +12 -0
- package/dist/modules/env.d.ts.map +1 -0
- package/dist/modules/env.js +57 -0
- package/dist/modules/env.js.map +1 -0
- package/dist/modules/fund_registry.d.ts +96 -0
- package/dist/modules/fund_registry.d.ts.map +1 -0
- package/dist/modules/fund_registry.js +261 -0
- package/dist/modules/fund_registry.js.map +1 -0
- package/dist/modules/general_settings.d.ts +36 -0
- package/dist/modules/general_settings.d.ts.map +1 -0
- package/dist/modules/general_settings.js +63 -0
- package/dist/modules/general_settings.js.map +1 -0
- package/dist/modules/graceful_shutdown.d.ts +86 -0
- package/dist/modules/graceful_shutdown.d.ts.map +1 -0
- package/dist/modules/graceful_shutdown.js +164 -0
- package/dist/modules/graceful_shutdown.js.map +1 -0
- package/dist/modules/key_store.d.ts +60 -0
- package/dist/modules/key_store.d.ts.map +1 -0
- package/dist/modules/key_store.js +215 -0
- package/dist/modules/key_store.js.map +1 -0
- package/dist/modules/launcher/bot_supervisor.d.ts +84 -0
- package/dist/modules/launcher/bot_supervisor.d.ts.map +1 -0
- package/dist/modules/launcher/bot_supervisor.js +1067 -0
- package/dist/modules/launcher/bot_supervisor.js.map +1 -0
- package/dist/modules/launcher/child_env.d.ts +9 -0
- package/dist/modules/launcher/child_env.d.ts.map +1 -0
- package/dist/modules/launcher/child_env.js +78 -0
- package/dist/modules/launcher/child_env.js.map +1 -0
- package/dist/modules/launcher/credential_bootstrap.d.ts +22 -0
- package/dist/modules/launcher/credential_bootstrap.d.ts.map +1 -0
- package/dist/modules/launcher/credential_bootstrap.js +303 -0
- package/dist/modules/launcher/credential_bootstrap.js.map +1 -0
- package/dist/modules/launcher/credential_daemon.d.ts +32 -0
- package/dist/modules/launcher/credential_daemon.d.ts.map +1 -0
- package/dist/modules/launcher/credential_daemon.js +173 -0
- package/dist/modules/launcher/credential_daemon.js.map +1 -0
- package/dist/modules/launcher/credential_secret.d.ts +6 -0
- package/dist/modules/launcher/credential_secret.d.ts.map +1 -0
- package/dist/modules/launcher/credential_secret.js +15 -0
- package/dist/modules/launcher/credential_secret.js.map +1 -0
- package/dist/modules/launcher/foreign_cred_daemon.d.ts +2 -0
- package/dist/modules/launcher/foreign_cred_daemon.d.ts.map +1 -0
- package/dist/modules/launcher/foreign_cred_daemon.js +166 -0
- package/dist/modules/launcher/foreign_cred_daemon.js.map +1 -0
- package/dist/modules/launcher/headless_password.d.ts +8 -0
- package/dist/modules/launcher/headless_password.d.ts.map +1 -0
- package/dist/modules/launcher/headless_password.js +33 -0
- package/dist/modules/launcher/headless_password.js.map +1 -0
- package/dist/modules/launcher/launch_modes.d.ts +36 -0
- package/dist/modules/launcher/launch_modes.d.ts.map +1 -0
- package/dist/modules/launcher/launch_modes.js +129 -0
- package/dist/modules/launcher/launch_modes.js.map +1 -0
- package/dist/modules/launcher/market_adapter_runtime.d.ts +43 -0
- package/dist/modules/launcher/market_adapter_runtime.d.ts.map +1 -0
- package/dist/modules/launcher/market_adapter_runtime.js +217 -0
- package/dist/modules/launcher/market_adapter_runtime.js.map +1 -0
- package/dist/modules/launcher/market_adapter_watchdog.d.ts +26 -0
- package/dist/modules/launcher/market_adapter_watchdog.d.ts.map +1 -0
- package/dist/modules/launcher/market_adapter_watchdog.js +214 -0
- package/dist/modules/launcher/market_adapter_watchdog.js.map +1 -0
- package/dist/modules/launcher/monolithic_runtime.d.ts +89 -0
- package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -0
- package/dist/modules/launcher/monolithic_runtime.js +425 -0
- package/dist/modules/launcher/monolithic_runtime.js.map +1 -0
- package/dist/modules/launcher/runtime_entry.d.ts +26 -0
- package/dist/modules/launcher/runtime_entry.d.ts.map +1 -0
- package/dist/modules/launcher/runtime_entry.js +49 -0
- package/dist/modules/launcher/runtime_entry.js.map +1 -0
- package/dist/modules/launcher/status_reporting.d.ts +48 -0
- package/dist/modules/launcher/status_reporting.d.ts.map +1 -0
- package/dist/modules/launcher/status_reporting.js +113 -0
- package/dist/modules/launcher/status_reporting.js.map +1 -0
- package/dist/modules/launcher/supervisor_control.d.ts +6 -0
- package/dist/modules/launcher/supervisor_control.d.ts.map +1 -0
- package/dist/modules/launcher/supervisor_control.js +59 -0
- package/dist/modules/launcher/supervisor_control.js.map +1 -0
- package/dist/modules/logger.d.ts +2 -0
- package/dist/modules/logger.d.ts.map +1 -0
- package/dist/modules/logger.js +71 -0
- package/dist/modules/logger.js.map +1 -0
- package/dist/modules/market_adapter_whitelist.d.ts +22 -0
- package/dist/modules/market_adapter_whitelist.d.ts.map +1 -0
- package/dist/modules/market_adapter_whitelist.js +82 -0
- package/dist/modules/market_adapter_whitelist.js.map +1 -0
- package/dist/modules/node_health_cache.d.ts +55 -0
- package/dist/modules/node_health_cache.d.ts.map +1 -0
- package/dist/modules/node_health_cache.js +134 -0
- package/dist/modules/node_health_cache.js.map +1 -0
- package/dist/modules/node_manager.d.ts +215 -0
- package/dist/modules/node_manager.d.ts.map +1 -0
- package/dist/modules/node_manager.js +628 -0
- package/dist/modules/node_manager.js.map +1 -0
- package/dist/modules/order/accounting.d.ts +349 -0
- package/dist/modules/order/accounting.d.ts.map +1 -0
- package/dist/modules/order/accounting.js +1191 -0
- package/dist/modules/order/accounting.js.map +1 -0
- package/dist/modules/order/async_lock.d.ts +126 -0
- package/dist/modules/order/async_lock.d.ts.map +1 -0
- package/dist/modules/order/async_lock.js +195 -0
- package/dist/modules/order/async_lock.js.map +1 -0
- package/dist/modules/order/export.d.ts +129 -0
- package/dist/modules/order/export.d.ts.map +1 -0
- package/dist/modules/order/export.js +316 -0
- package/dist/modules/order/export.js.map +1 -0
- package/dist/modules/order/format.d.ts +158 -0
- package/dist/modules/order/format.d.ts.map +1 -0
- package/dist/modules/order/format.js +232 -0
- package/dist/modules/order/format.js.map +1 -0
- package/dist/modules/order/grid.d.ts +549 -0
- package/dist/modules/order/grid.d.ts.map +1 -0
- package/dist/modules/order/grid.js +1746 -0
- package/dist/modules/order/grid.js.map +1 -0
- package/dist/modules/order/grid_reconcile.d.ts +154 -0
- package/dist/modules/order/grid_reconcile.d.ts.map +1 -0
- package/dist/modules/order/grid_reconcile.js +1192 -0
- package/dist/modules/order/grid_reconcile.js.map +1 -0
- package/dist/modules/order/index.d.ts +55 -0
- package/dist/modules/order/index.d.ts.map +1 -0
- package/dist/modules/order/index.js +79 -0
- package/dist/modules/order/index.js.map +1 -0
- package/dist/modules/order/logger.d.ts +136 -0
- package/dist/modules/order/logger.d.ts.map +1 -0
- package/dist/modules/order/logger.js +614 -0
- package/dist/modules/order/logger.js.map +1 -0
- package/dist/modules/order/logger_state.d.ts +133 -0
- package/dist/modules/order/logger_state.d.ts.map +1 -0
- package/dist/modules/order/logger_state.js +170 -0
- package/dist/modules/order/logger_state.js.map +1 -0
- package/dist/modules/order/manager.d.ts +413 -0
- package/dist/modules/order/manager.d.ts.map +1 -0
- package/dist/modules/order/manager.js +1605 -0
- package/dist/modules/order/manager.js.map +1 -0
- package/dist/modules/order/processed_fill_store.d.ts +135 -0
- package/dist/modules/order/processed_fill_store.d.ts.map +1 -0
- package/dist/modules/order/processed_fill_store.js +288 -0
- package/dist/modules/order/processed_fill_store.js.map +1 -0
- package/dist/modules/order/runner.d.ts +70 -0
- package/dist/modules/order/runner.d.ts.map +1 -0
- package/dist/modules/order/runner.js +140 -0
- package/dist/modules/order/runner.js.map +1 -0
- package/dist/modules/order/strategy.d.ts +196 -0
- package/dist/modules/order/strategy.d.ts.map +1 -0
- package/dist/modules/order/strategy.js +398 -0
- package/dist/modules/order/strategy.js.map +1 -0
- package/dist/modules/order/sync_engine.d.ts +386 -0
- package/dist/modules/order/sync_engine.d.ts.map +1 -0
- package/dist/modules/order/sync_engine.js +1459 -0
- package/dist/modules/order/sync_engine.js.map +1 -0
- package/dist/modules/order/utils/math.d.ts +677 -0
- package/dist/modules/order/utils/math.d.ts.map +1 -0
- package/dist/modules/order/utils/math.js +1172 -0
- package/dist/modules/order/utils/math.js.map +1 -0
- package/dist/modules/order/utils/order.d.ts +572 -0
- package/dist/modules/order/utils/order.d.ts.map +1 -0
- package/dist/modules/order/utils/order.js +1145 -0
- package/dist/modules/order/utils/order.js.map +1 -0
- package/dist/modules/order/utils/system.d.ts +268 -0
- package/dist/modules/order/utils/system.d.ts.map +1 -0
- package/dist/modules/order/utils/system.js +1261 -0
- package/dist/modules/order/utils/system.js.map +1 -0
- package/dist/modules/order/utils/validate.d.ts +280 -0
- package/dist/modules/order/utils/validate.d.ts.map +1 -0
- package/dist/modules/order/utils/validate.js +918 -0
- package/dist/modules/order/utils/validate.js.map +1 -0
- package/dist/modules/order/working_grid.d.ts +212 -0
- package/dist/modules/order/working_grid.d.ts.map +1 -0
- package/dist/modules/order/working_grid.js +279 -0
- package/dist/modules/order/working_grid.js.map +1 -0
- package/dist/modules/path_api.d.ts +32 -0
- package/dist/modules/path_api.d.ts.map +1 -0
- package/dist/modules/path_api.js +148 -0
- package/dist/modules/path_api.js.map +1 -0
- package/dist/modules/paths.d.ts +58 -0
- package/dist/modules/paths.d.ts.map +1 -0
- package/dist/modules/paths.js +82 -0
- package/dist/modules/paths.js.map +1 -0
- package/dist/modules/process_discovery.d.ts +58 -0
- package/dist/modules/process_discovery.d.ts.map +1 -0
- package/dist/modules/process_discovery.js +265 -0
- package/dist/modules/process_discovery.js.map +1 -0
- package/dist/modules/runtime.d.ts +34 -0
- package/dist/modules/runtime.d.ts.map +1 -0
- package/dist/modules/runtime.js +98 -0
- package/dist/modules/runtime.js.map +1 -0
- package/dist/modules/runtime_settings.d.ts +12 -0
- package/dist/modules/runtime_settings.d.ts.map +1 -0
- package/dist/modules/runtime_settings.js +122 -0
- package/dist/modules/runtime_settings.js.map +1 -0
- package/dist/modules/settings_merge.d.ts +38 -0
- package/dist/modules/settings_merge.d.ts.map +1 -0
- package/dist/modules/settings_merge.js +246 -0
- package/dist/modules/settings_merge.js.map +1 -0
- package/dist/modules/storage/browser_adapter.d.ts +56 -0
- package/dist/modules/storage/browser_adapter.d.ts.map +1 -0
- package/dist/modules/storage/browser_adapter.js +231 -0
- package/dist/modules/storage/browser_adapter.js.map +1 -0
- package/dist/modules/storage/index.d.ts +28 -0
- package/dist/modules/storage/index.d.ts.map +1 -0
- package/dist/modules/storage/index.js +52 -0
- package/dist/modules/storage/index.js.map +1 -0
- package/dist/modules/storage/node_adapter.d.ts +49 -0
- package/dist/modules/storage/node_adapter.d.ts.map +1 -0
- package/dist/modules/storage/node_adapter.js +167 -0
- package/dist/modules/storage/node_adapter.js.map +1 -0
- package/dist/modules/storage/types.d.ts +92 -0
- package/dist/modules/storage/types.d.ts.map +1 -0
- package/dist/modules/storage/types.js +3 -0
- package/dist/modules/storage/types.js.map +1 -0
- package/dist/modules/types.d.ts +1382 -0
- package/dist/modules/types.d.ts.map +1 -0
- package/dist/modules/types.js +11 -0
- package/dist/modules/types.js.map +1 -0
- package/dist/modules/utils/base58check.d.ts +12 -0
- package/dist/modules/utils/base58check.d.ts.map +1 -0
- package/dist/modules/utils/base58check.js +112 -0
- package/dist/modules/utils/base58check.js.map +1 -0
- package/dist/modules/utils/build_dir.d.ts +7 -0
- package/dist/modules/utils/build_dir.d.ts.map +1 -0
- package/dist/modules/utils/build_dir.js +8 -0
- package/dist/modules/utils/build_dir.js.map +1 -0
- package/dist/modules/utils/fs_utils.d.ts +25 -0
- package/dist/modules/utils/fs_utils.d.ts.map +1 -0
- package/dist/modules/utils/fs_utils.js +27 -0
- package/dist/modules/utils/fs_utils.js.map +1 -0
- package/dist/modules/utils/math_utils.d.ts +10 -0
- package/dist/modules/utils/math_utils.d.ts.map +1 -0
- package/dist/modules/utils/math_utils.js +17 -0
- package/dist/modules/utils/math_utils.js.map +1 -0
- package/dist/modules/validate_profiles.d.ts +37 -0
- package/dist/modules/validate_profiles.d.ts.map +1 -0
- package/dist/modules/validate_profiles.js +369 -0
- package/dist/modules/validate_profiles.js.map +1 -0
- package/dist/pm2.d.ts +167 -0
- package/dist/pm2.d.ts.map +1 -0
- package/dist/pm2.js +998 -0
- package/dist/pm2.js.map +1 -0
- package/dist/scripts/analyze-git.d.ts +11 -0
- package/dist/scripts/analyze-git.d.ts.map +1 -0
- package/dist/scripts/analyze-git.js +851 -0
- package/dist/scripts/analyze-git.js.map +1 -0
- package/dist/scripts/analyze-orders.d.ts +17 -0
- package/dist/scripts/analyze-orders.d.ts.map +1 -0
- package/dist/scripts/analyze-orders.js +1568 -0
- package/dist/scripts/analyze-orders.js.map +1 -0
- package/dist/scripts/diagnose-kibana-candles.d.ts +3 -0
- package/dist/scripts/diagnose-kibana-candles.d.ts.map +1 -0
- package/dist/scripts/diagnose-kibana-candles.js +82 -0
- package/dist/scripts/diagnose-kibana-candles.js.map +1 -0
- package/dist/scripts/diagnose-pool-history.d.ts +3 -0
- package/dist/scripts/diagnose-pool-history.d.ts.map +1 -0
- package/dist/scripts/diagnose-pool-history.js +296 -0
- package/dist/scripts/diagnose-pool-history.js.map +1 -0
- package/dist/scripts/divergence-calc.d.ts +26 -0
- package/dist/scripts/divergence-calc.d.ts.map +1 -0
- package/dist/scripts/divergence-calc.js +119 -0
- package/dist/scripts/divergence-calc.js.map +1 -0
- package/dist/scripts/generate_lp_chart.d.ts +31 -0
- package/dist/scripts/generate_lp_chart.d.ts.map +1 -0
- package/dist/scripts/generate_lp_chart.js +92 -0
- package/dist/scripts/generate_lp_chart.js.map +1 -0
- package/dist/scripts/generate_mainnet_corpus_report.d.ts +24 -0
- package/dist/scripts/generate_mainnet_corpus_report.d.ts.map +1 -0
- package/dist/scripts/generate_mainnet_corpus_report.js +237 -0
- package/dist/scripts/generate_mainnet_corpus_report.js.map +1 -0
- package/dist/scripts/generate_market_adapter_whitelist.d.ts +2 -0
- package/dist/scripts/generate_market_adapter_whitelist.d.ts.map +1 -0
- package/dist/scripts/generate_market_adapter_whitelist.js +111 -0
- package/dist/scripts/generate_market_adapter_whitelist.js.map +1 -0
- package/dist/scripts/migrate_bot_keys.d.ts +6 -0
- package/dist/scripts/migrate_bot_keys.d.ts.map +1 -0
- package/dist/scripts/migrate_bot_keys.js +301 -0
- package/dist/scripts/migrate_bot_keys.js.map +1 -0
- package/dist/scripts/native_release_gates.d.ts +3 -0
- package/dist/scripts/native_release_gates.d.ts.map +1 -0
- package/dist/scripts/native_release_gates.js +52 -0
- package/dist/scripts/native_release_gates.js.map +1 -0
- package/dist/scripts/print_grid.d.ts +16 -0
- package/dist/scripts/print_grid.d.ts.map +1 -0
- package/dist/scripts/print_grid.js +80 -0
- package/dist/scripts/print_grid.js.map +1 -0
- package/dist/scripts/run-tests.d.ts +2 -0
- package/dist/scripts/run-tests.d.ts.map +1 -0
- package/dist/scripts/run-tests.js +49 -0
- package/dist/scripts/run-tests.js.map +1 -0
- package/dist/scripts/sync-version.d.ts +14 -0
- package/dist/scripts/sync-version.d.ts.map +1 -0
- package/dist/scripts/sync-version.js +158 -0
- package/dist/scripts/sync-version.js.map +1 -0
- package/dist/scripts/test-credit-renewal.d.ts +2 -0
- package/dist/scripts/test-credit-renewal.d.ts.map +1 -0
- package/dist/scripts/test-credit-renewal.js +329 -0
- package/dist/scripts/test-credit-renewal.js.map +1 -0
- package/dist/scripts/update.d.ts +24 -0
- package/dist/scripts/update.d.ts.map +1 -0
- package/dist/scripts/update.js +650 -0
- package/dist/scripts/update.js.map +1 -0
- package/dist/scripts/validate_bots.d.ts +16 -0
- package/dist/scripts/validate_bots.d.ts.map +1 -0
- package/dist/scripts/validate_bots.js +106 -0
- package/dist/scripts/validate_bots.js.map +1 -0
- package/dist/scripts/verify-browser-bundle.d.ts +22 -0
- package/dist/scripts/verify-browser-bundle.d.ts.map +1 -0
- package/dist/scripts/verify-browser-bundle.js +339 -0
- package/dist/scripts/verify-browser-bundle.js.map +1 -0
- package/dist/unlock.d.ts +48 -0
- package/dist/unlock.d.ts.map +1 -0
- package/dist/unlock.js +925 -0
- package/dist/unlock.js.map +1 -0
- package/package.json +112 -0
- package/scripts/README.md +356 -0
- package/scripts/clear-all.sh +195 -0
- package/scripts/clear-logs.sh +95 -0
- package/scripts/clear-market-adapter.sh +196 -0
- package/scripts/clear-orders.sh +113 -0
- package/scripts/create-bot-symlinks.sh +51 -0
- package/scripts/postinstall.js +9 -0
- package/scripts/reset-settings.sh +118 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market_adapter_service.js","sourceRoot":"","sources":["../../../market_adapter/core/market_adapter_service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ama.d.ts","sourceRoot":"","sources":["../../../../market_adapter/core/strategies/ama.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const { MARKET_ADAPTER } = require('../../../modules/constants');
|
|
4
|
+
/**
|
|
5
|
+
* Kaufman's Adaptive Moving Average (KAMA/AMA).
|
|
6
|
+
*/
|
|
7
|
+
class AMA {
|
|
8
|
+
erPeriod;
|
|
9
|
+
erSmoothPeriod;
|
|
10
|
+
erSmoothAlpha;
|
|
11
|
+
erSmoothValue;
|
|
12
|
+
fastSC;
|
|
13
|
+
slowSC;
|
|
14
|
+
prevAMA;
|
|
15
|
+
history;
|
|
16
|
+
warmedUp;
|
|
17
|
+
smaSum;
|
|
18
|
+
smaCount;
|
|
19
|
+
constructor(erPeriod, fastPeriod, slowPeriod, erSmoothPeriod) {
|
|
20
|
+
if (!Number.isFinite(erPeriod) || erPeriod <= 0) {
|
|
21
|
+
throw new TypeError(`AMA erPeriod must be a positive finite number, got ${erPeriod}`);
|
|
22
|
+
}
|
|
23
|
+
if (!Number.isFinite(fastPeriod) || fastPeriod <= 0) {
|
|
24
|
+
throw new TypeError(`AMA fastPeriod must be a positive finite number, got ${fastPeriod}`);
|
|
25
|
+
}
|
|
26
|
+
if (!Number.isFinite(slowPeriod) || slowPeriod <= 0) {
|
|
27
|
+
throw new TypeError(`AMA slowPeriod must be a positive finite number, got ${slowPeriod}`);
|
|
28
|
+
}
|
|
29
|
+
this.erPeriod = Math.ceil(erPeriod);
|
|
30
|
+
const esPeriod = Number(erSmoothPeriod);
|
|
31
|
+
this.erSmoothPeriod = Number.isFinite(esPeriod) && esPeriod >= 1 ? esPeriod : 0;
|
|
32
|
+
this.erSmoothAlpha = this.erSmoothPeriod > 0 ? 2 / (this.erSmoothPeriod + 1) : 0;
|
|
33
|
+
this.erSmoothValue = null;
|
|
34
|
+
this.fastSC = 2 / (fastPeriod + 1);
|
|
35
|
+
this.slowSC = 2 / (slowPeriod + 1);
|
|
36
|
+
this.prevAMA = null;
|
|
37
|
+
this.history = [];
|
|
38
|
+
this.warmedUp = false;
|
|
39
|
+
this.smaSum = 0;
|
|
40
|
+
this.smaCount = 0;
|
|
41
|
+
}
|
|
42
|
+
update(price) {
|
|
43
|
+
if (!Number.isFinite(price)) {
|
|
44
|
+
throw new TypeError(`AMA price must be a finite number, got ${price}`);
|
|
45
|
+
}
|
|
46
|
+
this.history.push(price);
|
|
47
|
+
if (this.history.length > this.erPeriod + 1) {
|
|
48
|
+
this.history.shift();
|
|
49
|
+
}
|
|
50
|
+
// Warmup phase: expose the rolling SMA until the full ER window exists.
|
|
51
|
+
// The first recursive AMA seed is the same full-window SMA.
|
|
52
|
+
if (!this.warmedUp) {
|
|
53
|
+
this.smaSum += price;
|
|
54
|
+
this.smaCount++;
|
|
55
|
+
const sma = this.smaSum / this.smaCount;
|
|
56
|
+
if (this.smaCount < this.erPeriod + 1) {
|
|
57
|
+
return sma;
|
|
58
|
+
}
|
|
59
|
+
this.warmedUp = true;
|
|
60
|
+
this.prevAMA = sma;
|
|
61
|
+
return this.prevAMA;
|
|
62
|
+
}
|
|
63
|
+
const direction = Math.abs(price - this.history[0]);
|
|
64
|
+
let volatility = 0;
|
|
65
|
+
for (let i = 1; i < this.history.length; i++) {
|
|
66
|
+
volatility += Math.abs(this.history[i] - this.history[i - 1]);
|
|
67
|
+
}
|
|
68
|
+
const er = volatility === 0 ? 0 : direction / volatility;
|
|
69
|
+
const effectiveER = this.erSmoothAlpha > 0
|
|
70
|
+
? (this.erSmoothValue === null
|
|
71
|
+
? er
|
|
72
|
+
: this.erSmoothValue + this.erSmoothAlpha * (er - this.erSmoothValue))
|
|
73
|
+
: er;
|
|
74
|
+
if (this.erSmoothAlpha > 0) {
|
|
75
|
+
this.erSmoothValue = effectiveER;
|
|
76
|
+
}
|
|
77
|
+
const smooth = (effectiveER * (this.fastSC - this.slowSC) + this.slowSC) ** 2;
|
|
78
|
+
const ama = this.prevAMA + smooth * (price - this.prevAMA);
|
|
79
|
+
this.prevAMA = ama;
|
|
80
|
+
return ama;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function getAmaWarmupBars(erPeriod, slowPeriod, lookbackBars, fastPeriod, erSmoothPeriod = 0) {
|
|
84
|
+
if (!Number.isFinite(erPeriod) || erPeriod <= 0) {
|
|
85
|
+
throw new TypeError(`getAmaWarmupBars erPeriod must be a positive finite number, got ${erPeriod}`);
|
|
86
|
+
}
|
|
87
|
+
if (!Number.isFinite(slowPeriod) || slowPeriod <= 0) {
|
|
88
|
+
throw new TypeError(`getAmaWarmupBars slowPeriod must be a positive finite number, got ${slowPeriod}`);
|
|
89
|
+
}
|
|
90
|
+
if (!Number.isFinite(lookbackBars) || lookbackBars < 0) {
|
|
91
|
+
throw new TypeError(`getAmaWarmupBars lookbackBars must be a non-negative finite number, got ${lookbackBars}`);
|
|
92
|
+
}
|
|
93
|
+
if (!Number.isFinite(fastPeriod) || fastPeriod <= 0) {
|
|
94
|
+
throw new TypeError(`getAmaWarmupBars fastPeriod must be a positive finite number, got ${fastPeriod}`);
|
|
95
|
+
}
|
|
96
|
+
if (!Number.isFinite(erSmoothPeriod) || erSmoothPeriod < 0) {
|
|
97
|
+
throw new TypeError(`getAmaWarmupBars erSmoothPeriod must be a non-negative finite number, got ${erSmoothPeriod}`);
|
|
98
|
+
}
|
|
99
|
+
const safeErPeriod = Math.ceil(erPeriod);
|
|
100
|
+
const safeSlowPeriod = Math.ceil(slowPeriod);
|
|
101
|
+
const safeLookbackBars = Math.ceil(lookbackBars);
|
|
102
|
+
const safeErSmoothPeriod = erSmoothPeriod >= 1 ? erSmoothPeriod : 0;
|
|
103
|
+
const fastSC = 2 / (fastPeriod + 1);
|
|
104
|
+
const slowSC = 2 / (safeSlowPeriod + 1);
|
|
105
|
+
const deltaSC = fastSC - slowSC;
|
|
106
|
+
const scAvg = (MARKET_ADAPTER.AMA_CONVERGENCE_ER_AVG * deltaSC + slowSC) ** 2;
|
|
107
|
+
const convergenceBars = Math.ceil(Math.log(MARKET_ADAPTER.AMA_CONVERGENCE_EPSILON) / Math.log(1 - scAvg));
|
|
108
|
+
const erSmoothConvergenceBars = safeErSmoothPeriod > 0
|
|
109
|
+
? Math.ceil(Math.log(MARKET_ADAPTER.AMA_CONVERGENCE_EPSILON)
|
|
110
|
+
/ Math.log(1 - (2 / (safeErSmoothPeriod + 1))))
|
|
111
|
+
: 0;
|
|
112
|
+
return safeErPeriod + convergenceBars + erSmoothConvergenceBars + safeLookbackBars;
|
|
113
|
+
}
|
|
114
|
+
function calculateAMA(closes, params) {
|
|
115
|
+
if (!params || typeof params !== 'object') {
|
|
116
|
+
throw new TypeError('calculateAMA params must be an object with erPeriod, fastPeriod, slowPeriod');
|
|
117
|
+
}
|
|
118
|
+
if (!Number.isFinite(params.erPeriod) || params.erPeriod <= 0) {
|
|
119
|
+
throw new TypeError(`calculateAMA params.erPeriod must be a positive finite number, got ${params.erPeriod}`);
|
|
120
|
+
}
|
|
121
|
+
if (!Number.isFinite(params.fastPeriod) || params.fastPeriod <= 0) {
|
|
122
|
+
throw new TypeError(`calculateAMA params.fastPeriod must be a positive finite number, got ${params.fastPeriod}`);
|
|
123
|
+
}
|
|
124
|
+
if (!Number.isFinite(params.slowPeriod) || params.slowPeriod <= 0) {
|
|
125
|
+
throw new TypeError(`calculateAMA params.slowPeriod must be a positive finite number, got ${params.slowPeriod}`);
|
|
126
|
+
}
|
|
127
|
+
if (!Array.isArray(closes)) {
|
|
128
|
+
throw new TypeError('calculateAMA closes must be an array');
|
|
129
|
+
}
|
|
130
|
+
const indicator = new AMA(params.erPeriod, params.fastPeriod, params.slowPeriod, params.erSmoothPeriod);
|
|
131
|
+
return closes.map(price => indicator.update(price));
|
|
132
|
+
}
|
|
133
|
+
module.exports = {
|
|
134
|
+
AMA,
|
|
135
|
+
calculateAMA,
|
|
136
|
+
getAmaWarmupBars,
|
|
137
|
+
};
|
|
138
|
+
//# sourceMappingURL=ama.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ama.js","sourceRoot":"","sources":["../../../../market_adapter/core/strategies/ama.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
declare function computeAverageAmaSlopePct(current: any, past: any, lookbackBars: any): number;
|
|
2
|
+
/**
|
|
3
|
+
* Compute AMA slope and volatility offsets from the AMA series.
|
|
4
|
+
*
|
|
5
|
+
* Two independent additive factors:
|
|
6
|
+
* slopeOffset (asymmetric): AMA slope magnitude → trend direction
|
|
7
|
+
* symmetricDelta (symmetric): ATR/price ratio → noise level
|
|
8
|
+
*
|
|
9
|
+
* @param {number[]} amaValues Full AMA series (output of calculateAMA)
|
|
10
|
+
* @param {number} weightVariance ATR(period) / amaPrice (0 = no volatility)
|
|
11
|
+
* @param {Object} [opts] Market-reading tuning — no offset bounds here
|
|
12
|
+
* @param {number} [opts.lookbackBars=MARKET_ADAPTER.DYNAMIC_WEIGHT_AMA_LOOKBACK_BARS] Bars to look back for slope
|
|
13
|
+
* @param {number} [opts.maxSlopePct=MARKET_ADAPTER.DYNAMIC_WEIGHT_AMA_MAX_SLOPE_PCT] Average per-bar slope % that saturates slopeOffset
|
|
14
|
+
* @param {number} [opts.neutralZonePct=MARKET_ADAPTER.DYNAMIC_WEIGHT_AMA_NEUTRAL_ZONE_PCT] Dead-band around zero average slope
|
|
15
|
+
* @param {number} [opts.volatilityExponent=1.0] Exponent for ATR-based penalty
|
|
16
|
+
* @param {number} [opts.volatilityScaleX=10.0] Scale factor penalty (10.0 = normal start)
|
|
17
|
+
* @param {number} [opts.volatilityThreshold=0.1] Minimum |symmetricDelta| before penalty applies
|
|
18
|
+
* @param {number} [opts.erPeriod=DEFAULT_ER_PERIOD] AMA warm-up bars to skip in isReady guard
|
|
19
|
+
* @param {number} [opts.slowPeriod=DEFAULT_SLOW_PERIOD] AMA slow period used for warm-up guard
|
|
20
|
+
* @param {number} [opts.fastPeriod=DEFAULT_FAST_PERIOD] AMA fast period used for warm-up guard
|
|
21
|
+
* @param {number} [opts.maxSlopeOffset=MARKET_ADAPTER.DYNAMIC_WEIGHT_ASYMMETRIC_OFFSET_CLAMP] Per-bot cap on buy/sell asymmetry offset
|
|
22
|
+
* @param {number} [opts.maxVolatilityOffset=MARKET_ADAPTER.DYNAMIC_WEIGHT_SYMMETRIC_SHIFT_CLAMP] Per-bot cap on volatility shift
|
|
23
|
+
* @param {number} [opts.clipPercentile=0] Percentile clip on slope (0=off, 10=clip top 10%)
|
|
24
|
+
* @param {number} [opts.clipThreshold] Pre-computed clip threshold from slope history
|
|
25
|
+
* @returns {{ slopeOffset, rawSlopeOffset, symmetricDelta, slopePct, clippedSlopePct, confidence, trend, isReady }}
|
|
26
|
+
*/
|
|
27
|
+
declare function computeAmaSlopeWeights(amaValues: any, weightVariance: any, opts?: any): {
|
|
28
|
+
isReady: boolean;
|
|
29
|
+
slopeOffset: number;
|
|
30
|
+
symmetricDelta: number;
|
|
31
|
+
slopePct: number;
|
|
32
|
+
clippedSlopePct: number;
|
|
33
|
+
confidence: number;
|
|
34
|
+
trend: string;
|
|
35
|
+
} | {
|
|
36
|
+
slopeOffset: any;
|
|
37
|
+
rawSlopeOffset: any;
|
|
38
|
+
symmetricDelta: any;
|
|
39
|
+
slopePct: number;
|
|
40
|
+
clippedSlopePct: number;
|
|
41
|
+
confidence: number;
|
|
42
|
+
trend: any;
|
|
43
|
+
isReady: boolean;
|
|
44
|
+
};
|
|
45
|
+
declare const _default: {
|
|
46
|
+
computeAmaSlopeWeights: typeof computeAmaSlopeWeights;
|
|
47
|
+
computeAverageAmaSlopePct: typeof computeAverageAmaSlopePct;
|
|
48
|
+
};
|
|
49
|
+
export = _default;
|
|
50
|
+
//# sourceMappingURL=ama_slope_model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ama_slope_model.d.ts","sourceRoot":"","sources":["../../../../market_adapter/core/strategies/ama_slope_model.ts"],"names":[],"mappings":"AAgBA,iBAAS,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,UAQ5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,iBAAS,sBAAsB,CAAC,SAAS,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,GAAE,GAAQ;;;;;;;;;;;;;;;;;EA4GlF;;;;;AAED,kBAA+D"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const { clamp } = require('../../../modules/order/utils/math');
|
|
3
|
+
const { MARKET_ADAPTER } = require('../../../modules/constants');
|
|
4
|
+
const { roundTo } = require('../../../modules/utils/math_utils');
|
|
5
|
+
const { normalizeMaxVolatilityOffset, normalizeVolatilityThreshold, } = require('../config_normalizers');
|
|
6
|
+
const MAX_OFFSET_FROM_NEUTRAL = MARKET_ADAPTER.DYNAMIC_WEIGHT_ASYMMETRIC_OFFSET_CLAMP;
|
|
7
|
+
const MAX_SYMMETRIC_SHIFT = MARKET_ADAPTER.DYNAMIC_WEIGHT_SYMMETRIC_SHIFT_CLAMP;
|
|
8
|
+
const DEFAULT_ER_PERIOD = MARKET_ADAPTER.AMAS[MARKET_ADAPTER.DEFAULT_AMA_KEY].erPeriod;
|
|
9
|
+
const DEFAULT_SLOW_PERIOD = MARKET_ADAPTER.AMAS[MARKET_ADAPTER.DEFAULT_AMA_KEY].slowPeriod;
|
|
10
|
+
const DEFAULT_FAST_PERIOD = MARKET_ADAPTER.AMAS[MARKET_ADAPTER.DEFAULT_AMA_KEY].fastPeriod;
|
|
11
|
+
function computeAverageAmaSlopePct(current, past, lookbackBars) {
|
|
12
|
+
const safeLookbackBars = Number.isFinite(lookbackBars) && lookbackBars > 0
|
|
13
|
+
? Math.ceil(lookbackBars)
|
|
14
|
+
: 1;
|
|
15
|
+
if (!Number.isFinite(current) || !Number.isFinite(past) || past === 0) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
return ((current - past) / past * 100) / safeLookbackBars;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Compute AMA slope and volatility offsets from the AMA series.
|
|
22
|
+
*
|
|
23
|
+
* Two independent additive factors:
|
|
24
|
+
* slopeOffset (asymmetric): AMA slope magnitude → trend direction
|
|
25
|
+
* symmetricDelta (symmetric): ATR/price ratio → noise level
|
|
26
|
+
*
|
|
27
|
+
* @param {number[]} amaValues Full AMA series (output of calculateAMA)
|
|
28
|
+
* @param {number} weightVariance ATR(period) / amaPrice (0 = no volatility)
|
|
29
|
+
* @param {Object} [opts] Market-reading tuning — no offset bounds here
|
|
30
|
+
* @param {number} [opts.lookbackBars=MARKET_ADAPTER.DYNAMIC_WEIGHT_AMA_LOOKBACK_BARS] Bars to look back for slope
|
|
31
|
+
* @param {number} [opts.maxSlopePct=MARKET_ADAPTER.DYNAMIC_WEIGHT_AMA_MAX_SLOPE_PCT] Average per-bar slope % that saturates slopeOffset
|
|
32
|
+
* @param {number} [opts.neutralZonePct=MARKET_ADAPTER.DYNAMIC_WEIGHT_AMA_NEUTRAL_ZONE_PCT] Dead-band around zero average slope
|
|
33
|
+
* @param {number} [opts.volatilityExponent=1.0] Exponent for ATR-based penalty
|
|
34
|
+
* @param {number} [opts.volatilityScaleX=10.0] Scale factor penalty (10.0 = normal start)
|
|
35
|
+
* @param {number} [opts.volatilityThreshold=0.1] Minimum |symmetricDelta| before penalty applies
|
|
36
|
+
* @param {number} [opts.erPeriod=DEFAULT_ER_PERIOD] AMA warm-up bars to skip in isReady guard
|
|
37
|
+
* @param {number} [opts.slowPeriod=DEFAULT_SLOW_PERIOD] AMA slow period used for warm-up guard
|
|
38
|
+
* @param {number} [opts.fastPeriod=DEFAULT_FAST_PERIOD] AMA fast period used for warm-up guard
|
|
39
|
+
* @param {number} [opts.maxSlopeOffset=MARKET_ADAPTER.DYNAMIC_WEIGHT_ASYMMETRIC_OFFSET_CLAMP] Per-bot cap on buy/sell asymmetry offset
|
|
40
|
+
* @param {number} [opts.maxVolatilityOffset=MARKET_ADAPTER.DYNAMIC_WEIGHT_SYMMETRIC_SHIFT_CLAMP] Per-bot cap on volatility shift
|
|
41
|
+
* @param {number} [opts.clipPercentile=0] Percentile clip on slope (0=off, 10=clip top 10%)
|
|
42
|
+
* @param {number} [opts.clipThreshold] Pre-computed clip threshold from slope history
|
|
43
|
+
* @returns {{ slopeOffset, rawSlopeOffset, symmetricDelta, slopePct, clippedSlopePct, confidence, trend, isReady }}
|
|
44
|
+
*/
|
|
45
|
+
function computeAmaSlopeWeights(amaValues, weightVariance, opts = {}) {
|
|
46
|
+
const lookbackBars = Number.isFinite(opts.lookbackBars) && opts.lookbackBars >= 0
|
|
47
|
+
? Math.ceil(opts.lookbackBars)
|
|
48
|
+
: MARKET_ADAPTER.DYNAMIC_WEIGHT_AMA_LOOKBACK_BARS;
|
|
49
|
+
const maxSlopePct = opts.maxSlopePct ?? MARKET_ADAPTER.DYNAMIC_WEIGHT_AMA_MAX_SLOPE_PCT;
|
|
50
|
+
const neutralZonePct = opts.neutralZonePct ?? MARKET_ADAPTER.DYNAMIC_WEIGHT_AMA_NEUTRAL_ZONE_PCT;
|
|
51
|
+
const volatilityExponent = opts.volatilityExponent ?? MARKET_ADAPTER.DYNAMIC_WEIGHT_VOLATILITY_EXPONENT;
|
|
52
|
+
const volatilityScaleX = opts.volatilityScaleX ?? MARKET_ADAPTER.DYNAMIC_WEIGHT_VOLATILITY_SCALE_X_DEFAULT;
|
|
53
|
+
const volatilityThreshold = normalizeVolatilityThreshold(opts.volatilityThreshold);
|
|
54
|
+
const erPeriod = Number.isFinite(opts.erPeriod) && opts.erPeriod > 0
|
|
55
|
+
? Math.ceil(opts.erPeriod)
|
|
56
|
+
: DEFAULT_ER_PERIOD;
|
|
57
|
+
const slowPeriod = Number.isFinite(opts.slowPeriod) && opts.slowPeriod > 0
|
|
58
|
+
? Math.ceil(opts.slowPeriod)
|
|
59
|
+
: DEFAULT_SLOW_PERIOD;
|
|
60
|
+
const fastPeriod = Number.isFinite(opts.fastPeriod) && opts.fastPeriod > 0
|
|
61
|
+
? opts.fastPeriod
|
|
62
|
+
: DEFAULT_FAST_PERIOD;
|
|
63
|
+
const maxSlopeOffset = opts.maxSlopeOffset ?? MARKET_ADAPTER.DYNAMIC_WEIGHT_ASYMMETRIC_OFFSET_CLAMP;
|
|
64
|
+
const maxVolatilityOffset = normalizeMaxVolatilityOffset(opts.maxVolatilityOffset);
|
|
65
|
+
const clipThreshold = opts.clipThreshold ?? Infinity;
|
|
66
|
+
const hasDirectionalOffset = Number.isFinite(maxSlopeOffset) && maxSlopeOffset > 0;
|
|
67
|
+
const safeWeightVariance = Number.isFinite(weightVariance) && weightVariance > 0 ? weightVariance : 0;
|
|
68
|
+
const safeVolatilityExponent = Number.isFinite(volatilityExponent) && volatilityExponent >= 0
|
|
69
|
+
? volatilityExponent
|
|
70
|
+
: MARKET_ADAPTER.DYNAMIC_WEIGHT_VOLATILITY_EXPONENT;
|
|
71
|
+
const safeVolatilityScaleX = Number.isFinite(volatilityScaleX) && volatilityScaleX >= 0
|
|
72
|
+
? volatilityScaleX
|
|
73
|
+
: MARKET_ADAPTER.DYNAMIC_WEIGHT_VOLATILITY_SCALE_X_DEFAULT;
|
|
74
|
+
const notReady = {
|
|
75
|
+
isReady: false,
|
|
76
|
+
slopeOffset: 0,
|
|
77
|
+
symmetricDelta: 0,
|
|
78
|
+
slopePct: 0,
|
|
79
|
+
clippedSlopePct: 0,
|
|
80
|
+
confidence: 0,
|
|
81
|
+
trend: 'NEUTRAL',
|
|
82
|
+
};
|
|
83
|
+
// 1. Guard: need ER window + lookback + current bar for valid slope.
|
|
84
|
+
if (!Array.isArray(amaValues) || amaValues.length < erPeriod + lookbackBars + 1) {
|
|
85
|
+
return notReady;
|
|
86
|
+
}
|
|
87
|
+
const N = amaValues.length;
|
|
88
|
+
const last = amaValues[N - 1];
|
|
89
|
+
const past = amaValues[N - 1 - lookbackBars];
|
|
90
|
+
if (!Number.isFinite(last) || !Number.isFinite(past) || past === 0) {
|
|
91
|
+
return notReady;
|
|
92
|
+
}
|
|
93
|
+
// 2. Average slope percent per bar over the lookback window. This keeps
|
|
94
|
+
// lookback as a smoothing/lag knob instead of adding gain in sustained trends.
|
|
95
|
+
const slopePct = computeAverageAmaSlopePct(last, past, lookbackBars);
|
|
96
|
+
if (!Number.isFinite(slopePct)) {
|
|
97
|
+
return notReady;
|
|
98
|
+
}
|
|
99
|
+
// 2b. Percentile clip — symmetric clip on slope magnitude
|
|
100
|
+
const clippedSlopePct = Math.max(-clipThreshold, Math.min(clipThreshold, slopePct));
|
|
101
|
+
// 3. Slope offset (asymmetric) — based on clipped slope
|
|
102
|
+
let slopeOffset;
|
|
103
|
+
let trend;
|
|
104
|
+
if (Math.abs(clippedSlopePct) <= neutralZonePct) {
|
|
105
|
+
slopeOffset = 0;
|
|
106
|
+
trend = 'NEUTRAL';
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
slopeOffset = clamp(clippedSlopePct / maxSlopePct, -1, 1) * maxSlopeOffset;
|
|
110
|
+
trend = clippedSlopePct > 0 ? 'UP' : 'DOWN';
|
|
111
|
+
}
|
|
112
|
+
// 4. Confidence derived from slope offset magnitude (0–100)
|
|
113
|
+
const roundedSlopeOffset = roundTo(slopeOffset, 100);
|
|
114
|
+
const confidence = hasDirectionalOffset
|
|
115
|
+
? Math.round((Math.abs(slopeOffset) / maxSlopeOffset) * 100)
|
|
116
|
+
: 0;
|
|
117
|
+
// 5. Volatility penalty — symmetric downward shift from ATR/price ratio.
|
|
118
|
+
// Formula: symmetricDelta = -weightVariance^exponent * scaleX
|
|
119
|
+
// Sync clamps with research tools:
|
|
120
|
+
// Exponent: 0.5 to 1.0 (prevents over-aggressive scaling on low ATR)
|
|
121
|
+
// ScaleX: 1.0 to 100.0
|
|
122
|
+
const effectiveExponent = Math.max(0.5, Math.min(1.0, safeVolatilityExponent));
|
|
123
|
+
const effectiveScaleX = Math.max(1.0, Math.min(100.0, safeVolatilityScaleX));
|
|
124
|
+
let symmetricDelta = 0;
|
|
125
|
+
if (safeWeightVariance > 0 && maxVolatilityOffset > 0) {
|
|
126
|
+
const volDelta = -Math.pow(safeWeightVariance, effectiveExponent) * effectiveScaleX;
|
|
127
|
+
const rawSymmetricDelta = clamp(volDelta, -maxVolatilityOffset, 0);
|
|
128
|
+
symmetricDelta = Math.abs(rawSymmetricDelta) < volatilityThreshold ? 0 : rawSymmetricDelta;
|
|
129
|
+
}
|
|
130
|
+
const roundedSymmetricDelta = (roundTo(symmetricDelta, 100)) || 0;
|
|
131
|
+
return {
|
|
132
|
+
slopeOffset: roundedSlopeOffset,
|
|
133
|
+
rawSlopeOffset: slopeOffset,
|
|
134
|
+
symmetricDelta: roundedSymmetricDelta,
|
|
135
|
+
slopePct,
|
|
136
|
+
clippedSlopePct,
|
|
137
|
+
confidence,
|
|
138
|
+
trend,
|
|
139
|
+
isReady: true,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
module.exports = { computeAmaSlopeWeights, computeAverageAmaSlopePct };
|
|
143
|
+
//# sourceMappingURL=ama_slope_model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ama_slope_model.js","sourceRoot":"","sources":["../../../../market_adapter/core/strategies/ama_slope_model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates ATR from candles (High, Low, Close).
|
|
3
|
+
* @param {Array} candles - Array of [timestamp, open, high, low, close, volume]
|
|
4
|
+
* @param {number} period - ATR period
|
|
5
|
+
* @returns {number} Average True Range value
|
|
6
|
+
*/
|
|
7
|
+
declare function calculateATR(candles: any, period?: number): number;
|
|
8
|
+
declare const _default: {
|
|
9
|
+
calculateATR: typeof calculateATR;
|
|
10
|
+
};
|
|
11
|
+
export = _default;
|
|
12
|
+
//# sourceMappingURL=calculator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculator.d.ts","sourceRoot":"","sources":["../../../../../market_adapter/core/strategies/atr/calculator.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,SAAK,UA+B9C;;;;AAED,kBAA0B"}
|