# Strategy Lab Review

- Generated at: `2026-06-22T04:59:06.094502+00:00`
- Review type: `deterministic_plus_optional_openai_review`

## Objective

- Trade count: prefer many trades; target at least 30 per tested timeframe before trusting probabilities
- Drawdown: prefer maximum drawdown under 15 percent, reject above 30 percent unless exploratory
- Profit: prefer positive net profit and profit factor above 1.05; use higher-timeframe profit as a filter, not as the first entry rule

## Best Current Rows

| Symbol | Timeframe | Strategy | Trades | Win % | Profit | Drawdown % | Profit factor |
|---|---:|---|---:|---:|---:|---:|---:|
| BYBIT:BTCUSD.P | 24 | donchian_20_ema5_trend50 | 10 | 40.00 | 1.74 | 4.45 | 1.356 |
| BYBIT:BTCUSD.P | 24 | donchian_20_ema13_trend50 | 10 | 40.00 | 1.74 | 4.45 | 1.356 |
| BYBIT:BTCUSD.P | 15 | frankie_vp_ema34_bb20x1.8_vp36r24_z0.25_new_york_london_pullback_none_vol1.0 | 39 | 41.03 | -12.24 | 6.21 | 0.701 |
| BYBIT:BTCUSD.P | 15 | frankie_vp_ema34_bb20x1.8_vp36r24_z0.5_new_york_london_pullback_none_vol1.0 | 39 | 41.03 | -12.24 | 6.21 | 0.701 |
| BYBIT:BTCUSD.P | 15 | frankie_vp_ema34_bb20x1.8_vp48r24_z0.25_new_york_london_pullback_none_vol1.0 | 39 | 41.03 | -12.24 | 6.21 | 0.701 |
| BYBIT:BTCUSD.P | 15 | frankie_vp_ema34_bb20x1.8_vp48r24_z0.5_new_york_london_pullback_none_vol1.0 | 39 | 41.03 | -12.24 | 6.21 | 0.701 |
| BYBIT:BTCUSD.P | 15 | frankie_vp_ema34_bb20x2.0_vp36r24_z0.25_new_york_london_pullback_none_vol1.0 | 39 | 41.03 | -12.24 | 6.21 | 0.701 |
| BYBIT:BTCUSD.P | 15 | frankie_vp_ema34_bb20x2.0_vp36r24_z0.5_new_york_london_pullback_none_vol1.0 | 39 | 41.03 | -12.24 | 6.21 | 0.701 |
| BYBIT:BTCUSD.P | 15 | frankie_vp_ema34_bb20x2.0_vp48r24_z0.25_new_york_london_pullback_none_vol1.0 | 39 | 41.03 | -12.24 | 6.21 | 0.701 |
| BYBIT:BTCUSD.P | 15 | frankie_vp_ema34_bb20x2.0_vp48r24_z0.5_new_york_london_pullback_none_vol1.0 | 39 | 41.03 | -12.24 | 6.21 | 0.701 |

## Failure Modes

- High-trade candidates are not winning more than losing yet.
- No usable higher-timeframe profit source is available yet.

## Next Code Changes

1. Do not add the higher-timeframe profit filter yet; improve or broaden the lower-timeframe baseline first. The current higher-timeframe rows do not provide positive profit evidence to pull from. Guardrail: Keep collecting higher-timeframe evidence, but do not let losing higher-timeframe rows filter lower-timeframe trades.
2. Keep collecting under the objective ranking and compare whether the top rows improve over the next cycles. The strategy report is already ranking by trade count, profit factor, net profit, win probability, take-profit probability, stop-loss probability, and drawdown. Guardrail: Do not promote a row unless it has enough trades, positive profit, profit factor above 1.05, and controlled drawdown.
3. Use the vector store to compare current screener state against past rows with lower drawdown before choosing the next layer. This uses the new screener/settings history instead of brute force. Guardrail: Similarity should recommend only one changed variable at a time.

## Scheduled Loop Status

- Latest run id: `20260621T235615`
- Latest phase: `reviewing progress and next code change`
- Advisory only: `True`

## Script Review

- Pine scripts reviewed: 17
- Switchboard: `connector\pine\sosaclaw_all_in_one_switchboard.pine`
- Switchboard inputs: 71 total, 17 on/off toggles
- Uses process orders on close: `True`
- Uses closed-bar calculation: `True`
- Lux hooks present: `True`

## Next Script Changes

1. `scripts/tv_strategy_lab.py` - Keep collecting and do not add another layer until a baseline reaches enough trades with acceptable drawdown. The current evidence does not justify adding complexity. Guardrail: Promote only after at least 30 trades, positive net profit, profit factor above 1.05, and controlled drawdown.

## Language Model Critique

{
  "error": "HTTP Error 401: Unauthorized"
}
