feat(settings): add settings route and API updates\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
+11
-2
@@ -5,9 +5,18 @@ export function enrichExecutionPlan(decision: TradingDecision, input: any): Trad
|
||||
const prices: number[] = input?.technicalData?.prices || [];
|
||||
const entryPrice = prices.length ? prices[prices.length - 1] : undefined;
|
||||
|
||||
// simple ATR approximation: average absolute diff
|
||||
// ATR approximation: prefer bar-based ATR (high-low average), fall back to price diffs
|
||||
let atr = 0;
|
||||
if (prices && prices.length >= 2) {
|
||||
const bars: any[] = input?.technicalData?.bars || [];
|
||||
if (bars && bars.length >= 2) {
|
||||
let sum = 0;
|
||||
for (const b of bars) {
|
||||
const high = typeof b.HighPrice === 'number' ? b.HighPrice : (typeof b.h === 'number' ? b.h : 0);
|
||||
const low = typeof b.LowPrice === 'number' ? b.LowPrice : (typeof b.l === 'number' ? b.l : 0);
|
||||
sum += Math.max(0, high - low);
|
||||
}
|
||||
atr = sum / bars.length;
|
||||
} else if (prices && prices.length >= 2) {
|
||||
let sum = 0;
|
||||
for (let i = 1; i < prices.length; i++) sum += Math.abs(prices[i] - prices[i - 1]);
|
||||
atr = sum / (prices.length - 1);
|
||||
|
||||
Reference in New Issue
Block a user