# NT8 SDK - Quick Start Guide

**Get trading in 10 minutes!** 🚀

---

## 1. Clone & Build (2 minutes)

```bash
# Clone repository
git clone <your-repo-url>
cd nt8-sdk

# Build
dotnet build --configuration Release

# Verify
.\verify-build.bat
```

**Expected:** ✅ All checks passed!

---

## 2. Deploy to NinjaTrader (3 minutes)

### Copy SDK DLLs

```powershell
# Set paths
$sdk = "C:\dev\nt8-sdk\src\NT8.Core\bin\Release\net48"
$nt8 = "$env:USERPROFILE\Documents\NinjaTrader 8\bin\Custom"

# Copy files
Copy-Item "$sdk\NT8.Core.dll" $nt8 -Force
Copy-Item "$sdk\Microsoft.Extensions.*.dll" $nt8 -Force
```

### Copy Strategy Wrapper

```powershell
# Copy strategy
$wrapper = "C:\dev\nt8-sdk\src\NT8.Adapters\Wrappers\SimpleORBNT8Wrapper.cs"
$strategies = "$env:USERPROFILE\Documents\NinjaTrader 8\bin\Custom\Strategies"

Copy-Item $wrapper $strategies -Force
```

---

## 3. Compile in NT8 (2 minutes)

1. Open NinjaTrader 8
2. Press **F5** (NinjaScript Editor)
3. Press **F5** again (Compile)
4. Wait for "Compilation Successful"

---

## 4. Create Strategy (3 minutes)

1. **New** → **Strategy**
2. Select **SimpleORBNT8**
3. Configure:
   ```
   Symbol: ES 03-26
   Data Series: 5 Minute
   
   Parameters:
   - Stop Ticks: 8
   - Target Ticks: 16
   - Daily Loss Limit: $1000
   - Risk Per Trade: $200
   ```
4. Click **OK**

---

## 5. Enable on Chart (1 minute)

1. Open 5-minute ES chart
2. Right-click → **Strategies**
3. Select **SimpleORBNT8**
4. Check **Enabled**
5. Click **OK**

---

## 🎉 Done! Strategy Running

**Watch for:**
- Strategy loads without errors
- Opening range calculated at 9:45 AM
- Breakout orders submitted
- Risk controls active

---

## Next Steps

### Learn More
- Read [README.md](README.md) for full documentation
- See [API_REFERENCE.md](API_REFERENCE.md) for API details
- Review [ARCHITECTURE.md](ARCHITECTURE.md) for design

### Build Your Own Strategy

```csharp
public class MyStrategy : IStrategy
{
    public StrategyIntent? OnBar(BarData bar, StrategyContext context)
    {
        // Your logic here
        if (ShouldBuy(bar))
        {
            return new StrategyIntent(
                Symbol: bar.Symbol,
                Side: OrderSide.Buy,
                EntryType: OrderType.Market,
                LimitPrice: null,
                StopTicks: 8,
                TargetTicks: 16,
                Confidence: 0.75,
                Reason: "Your reason",
                Metadata: new()
            );
        }
        
        return null;
    }
}
```

### Customize Risk

```csharp
var riskConfig = new RiskConfig(
    DailyLossLimit: 1000,      // Max daily loss
    MaxTradeRisk: 200,         // Max per-trade risk
    MaxOpenPositions: 3,       // Max concurrent positions
    EmergencyFlattenEnabled: true
);
```

### Optimize Position Sizing

```csharp
var sizingConfig = new SizingConfig(
    Method: SizingMethod.OptimalF,  // Use Optimal-f
    MinContracts: 1,
    MaxContracts: 5,
    RiskPerTrade: 200,
    MethodParameters: new() 
    {
        ["historicalTrades"] = GetTradeHistory()
    }
);
```

---

## Troubleshooting

### "Could not find NT8.Core.dll"
➜ Copy DLL to NinjaTrader Custom folder

### "Compilation failed"
➜ Check all DLLs copied, restart NT8

### "Strategy won't enable"
➜ Check Output window for errors

### "Orders not submitting"
➜ Verify connection, check risk limits

---

## Support

- **Docs:** `/docs` directory
- **Examples:** `/src/NT8.Strategies/Examples/`
- **Issues:** GitHub Issues

---

**Happy Trading!** 📈
