mirror of
https://github.com/discountry/ritmex-bot.git
synced 2026-09-09 16:28:06 +00:00
更新 .env.example 和 README.md,添加新的交易配置项(如 PROFIT_LOCK_TRIGGER_USD、PRICE_TICK 和 QTY_STEP),并在代码中实现相应的逻辑以支持这些配置,提升交易策略的灵活性和可配置性。
This commit is contained in:
+15
-4
@@ -1,9 +1,20 @@
|
||||
export function toPrice1Decimal(price: number): number {
|
||||
return Math.floor(price * 10) / 10;
|
||||
export function roundDownToTick(value: number, tick: number): number {
|
||||
if (!Number.isFinite(value) || !Number.isFinite(tick) || tick <= 0) return value;
|
||||
const scaled = Math.floor(value / tick) * tick;
|
||||
// Avoid floating residuals
|
||||
return Number(scaled.toFixed(Math.max(0, decimalsOf(tick))));
|
||||
}
|
||||
|
||||
export function toQty3Decimal(qty: number): number {
|
||||
return Math.floor(qty * 1000) / 1000;
|
||||
export function roundQtyDownToStep(value: number, step: number): number {
|
||||
if (!Number.isFinite(value) || !Number.isFinite(step) || step <= 0) return value;
|
||||
const scaled = Math.floor(value / step) * step;
|
||||
return Number(scaled.toFixed(Math.max(0, decimalsOf(step))));
|
||||
}
|
||||
|
||||
export function decimalsOf(step: number): number {
|
||||
const s = step.toString();
|
||||
if (!s.includes(".")) return 0;
|
||||
return s.split(".")[1].length;
|
||||
}
|
||||
|
||||
export function isNearlyZero(value: number, epsilon = 1e-5): boolean {
|
||||
|
||||
Reference in New Issue
Block a user