
Moving Average Crossover with stop-loss and position sizing — implemented four times, from a 1990s scripted signal tool to an AI-generated StratCraft strategy. The logic never changes. The cost of implementation does.
User prompt to StratCraft: "Create a Moving Average Crossover strategy for SPY on daily bars. Buy when the 20-period SMA crosses above the 50-period SMA. Sell when it crosses below. Apply a 1% stop-loss per trade. Risk 2% of portfolio per position. Run a full backtest from 2020."
# Generated by StratCraft AI — do not edit manually # Strategy: MA Crossover SPY Daily | Generated: [timestamp] from stratcraft.core import Strategy, Signal, RiskModel class MACrossover(Strategy): fast_period: int = 20 slow_period: int = 50 stop_loss_pct: float = 0.01 risk_per_trade: float = 0.02 def on_bar(self, ctx): fast = ctx.sma(self.fast_period) slow = ctx.sma(self.slow_period) if ctx.cross_above(fast, slow): size = ctx.risk_size(self.risk_per_trade, self.stop_loss_pct) ctx.buy(size, stop=ctx.price * (1 - self.stop_loss_pct)) elif ctx.cross_below(fast, slow): ctx.close_all()
You described the logic. StratCraft wrote the code, validated it, and ran the backtest. Strategy never left your machine.
| Gen 1 | Gen 2 | Gen 3 | Gen 3.5 | |
|---|---|---|---|---|
| Lines written by human | ~30 | ~55 | ~50 | 6 (natural language) |
| Setup time | 1–2 hrs | 4–8 hrs | 1–3 weeks | < 5 min |
| Dynamic position sizing | No | Manual | Platform API | Auto-generated |
| Runs locally | Yes | Yes | No (cloud) | Yes |
| IP stays on your machine | Yes | Yes | No | Yes |
| Expert coding required | Yes | Yes | Yes | No |
The logic never changed. Moving Average Crossover with stop-loss and position sizing is the same strategy in all four generations. What changed is how much engineering you need to express it.
Gen 3 solved the wrong problem. It eliminated operational complexity (multi-asset, risk frameworks, cloud infrastructure). It did not eliminate the requirement to hand-code every strategy. That bottleneck remained.
Gen 3.5 eliminates the bottleneck. When AI writes the code, the constraint shifts from engineering hours to the quality of your ideas. That is the inflection point.