Implements IOptimizerTemplate
Default template service for generating optimizer code snippets. Implements all IOptimizerTemplate methods with Ollama LLM integration.
Features:
Can be partially overridden in optimizer schema configuration.
constructor();
loggerService: any
getTopBanner: (symbol: string) => Promise<string>
Generates the top banner with imports and constants.
getUserMessage: (symbol: string, data: IOptimizerData[], name: string) => Promise<string>
Generates default user message for LLM conversation. Simple prompt to read and acknowledge data.
getAssistantMessage: (symbol: string, data: IOptimizerData[], name: string) => Promise<string>
Generates default assistant message for LLM conversation. Simple acknowledgment response.
getWalkerTemplate: (walkerName: string, exchangeName: string, frameName: string, strategies: string[]) => Promise<string>
Generates Walker configuration code. Compares multiple strategies on test frame.
getStrategyTemplate: (strategyName: string, interval: string, prompt: string) => Promise<string>
Generates Strategy configuration with LLM integration. Includes multi-timeframe analysis and signal generation.
getExchangeTemplate: (symbol: string, exchangeName: string) => Promise<string>
Generates Exchange configuration code. Uses CCXT Binance with standard formatters.
getFrameTemplate: (symbol: string, frameName: string, interval: CandleInterval, startDate: Date, endDate: Date) => Promise<string>
Generates Frame (timeframe) configuration code.
getLauncherTemplate: (symbol: string, walkerName: string) => Promise<string>
Generates launcher code to run Walker with event listeners. Includes progress tracking and completion handlers.
getJsonDumpTemplate: (symbol: string) => Promise<string>
Generates dumpJson() helper function for debug output. Saves LLM conversations and results to ./dump/strategy/{resultId}/
getTextTemplate: (symbol: string) => Promise<string>
Generates text() helper for LLM text generation. Uses Ollama deepseek-v3.1:671b model for market analysis.
getJsonTemplate: (symbol: string) => Promise<string>
Generates json() helper for structured LLM output. Uses Ollama with JSON schema for trading signals.
Signal schema: