Fix: Block new trades if strategy has unresolved positions

This commit is contained in:
2026-03-15 18:42:09 -07:00
parent 83ab2830b6
commit 02651535e6

View File

@@ -72,6 +72,14 @@ async function main() {
for (const strategy of strategies) { for (const strategy of strategies) {
if (!strategy.enabled) continue; if (!strategy.enabled) continue;
// FIX: Prevent parallel betting!
// If the strategy has an unresolved position in limbo, it MUST wait.
// This protects the strict mathematical sequence of Martingale systems.
const acct = paper._getAccount(strategy.name);
if (acct.openPositions.size > 0) {
continue;
}
const signal = strategy.evaluate(state); const signal = strategy.evaluate(state);
if (signal) { if (signal) {
console.log(`[Worker] Signal from ${strategy.name}: ${signal.side} @ ${signal.price}¢ — ${signal.reason}`); console.log(`[Worker] Signal from ${strategy.name}: ${signal.side} @ ${signal.price}¢ — ${signal.reason}`);