@barfinex/types
Version:
Core TypeScript type definitions and shared interfaces for the Barfinex ecosystem. Provides strongly-typed contracts for modules, services, and plugins.
44 lines • 1.31 kB
TypeScript
export type StrategySubscription = 'CANDLE_CLOSE' | 'TRADE' | 'ORDERBOOK';
export type StrategyConditionOperator = '>' | '<' | '>=' | '<=' | '==';
export interface StrategyComparisonCondition {
type: 'comparison';
field: string;
operator: StrategyConditionOperator;
value: number;
left?: never;
right?: never;
}
export interface StrategyLogicalCondition {
type: 'and' | 'or';
left: StrategyConditionNode;
right: StrategyConditionNode;
field?: never;
operator?: never;
value?: never;
}
export type StrategyConditionNode = StrategyComparisonCondition | StrategyLogicalCondition;
export type StrategyCondition = StrategyConditionNode;
export type StrategyAiPolicy = 'disabled' | 'assist' | 'dominant';
export interface StrategySpec {
schemaVersion: string;
name: string;
description: string;
timeframe: string;
subscriptions: StrategySubscription[];
features: string[];
entry: {
long?: StrategyCondition;
short?: StrategyCondition;
};
exit?: {
stopLossATR?: number;
takeProfitATR?: number;
maxHoldCandles?: number;
};
risk: {
maxPositions: number;
cooldownCandles?: number;
};
aiPolicy?: StrategyAiPolicy;
}
//# sourceMappingURL=strategy-spec.interface.d.ts.map