244 lines
7.6 KiB
Markdown
244 lines
7.6 KiB
Markdown
# AI Agent Task Breakdown for NT8 Integration
|
|
|
|
## Phase 1A Tasks (Priority Order)
|
|
|
|
### Task 1: Create Base NT8 Strategy Wrapper ⭐ CRITICAL
|
|
**Objective**: Create foundation wrapper that all NT8 strategies will inherit from
|
|
|
|
**Deliverables**:
|
|
- `src/NT8.Adapters/Wrappers/BaseNT8StrategyWrapper.cs`
|
|
- Inherits from NinjaTrader's `Strategy` class
|
|
- Provides common SDK integration functionality
|
|
- Handles data conversion and error handling
|
|
|
|
**Requirements**:
|
|
- MUST compile in NT8 NinjaScript Editor
|
|
- MUST use C# 5.0 syntax only
|
|
- MUST include proper NT8 attributes and lifecycle methods
|
|
- MUST integrate with existing SDK Core components
|
|
|
|
**Success Criteria**:
|
|
- [ ] Compiles without errors in NT8
|
|
- [ ] Base functionality works (can create derived strategies)
|
|
- [ ] Proper error handling and logging
|
|
- [ ] Follows established code patterns
|
|
|
|
---
|
|
|
|
### Task 2: Create NT8 Data Conversion Layer ⭐ CRITICAL
|
|
**Objective**: Convert between NT8 data formats and SDK data models
|
|
|
|
**Deliverables**:
|
|
- `src/NT8.Adapters/NinjaTrader/NT8DataConverter.cs`
|
|
- Methods to convert bars, account info, positions
|
|
- Proper error handling for invalid data
|
|
|
|
**Key Methods Needed**:
|
|
```csharp
|
|
public static BarData ConvertBar(/* NT8 bar data */)
|
|
public static StrategyContext ConvertContext(/* NT8 context */)
|
|
public static AccountInfo ConvertAccount(/* NT8 account */)
|
|
public static Position ConvertPosition(/* NT8 position */)
|
|
```
|
|
|
|
**Success Criteria**:
|
|
- [ ] All conversions preserve data integrity
|
|
- [ ] Handles edge cases (null data, invalid values)
|
|
- [ ] Performance acceptable (<1ms per conversion)
|
|
- [ ] Comprehensive unit tests
|
|
|
|
---
|
|
|
|
### Task 3: Create Simple ORB NT8 Wrapper ⭐ HIGH
|
|
**Objective**: Create working example of NT8 strategy using SDK
|
|
|
|
**Deliverables**:
|
|
- `src/NT8.Adapters/Wrappers/SimpleORBNT8Wrapper.cs`
|
|
- Complete NT8 strategy that uses SDK Simple ORB strategy
|
|
- User-friendly parameter UI
|
|
- Integration with risk management and position sizing
|
|
|
|
**Required Parameters (NT8 UI)**:
|
|
- Stop Loss Ticks
|
|
- Profit Target Ticks
|
|
- ORB Period Minutes
|
|
- Daily Loss Limit
|
|
- Risk Per Trade
|
|
- Position Sizing Method
|
|
|
|
**Success Criteria**:
|
|
- [ ] Shows up in NT8 strategy list
|
|
- [ ] Parameters display correctly in NT8 UI
|
|
- [ ] Strategy executes trades on simulation account
|
|
- [ ] Risk controls work as expected
|
|
- [ ] Position sizing calculates correctly
|
|
|
|
---
|
|
|
|
### Task 4: Create NT8 Order Execution Adapter ⭐ HIGH
|
|
**Objective**: Handle order submission and management through NT8
|
|
|
|
**Deliverables**:
|
|
- `src/NT8.Adapters/NinjaTrader/NT8OrderAdapter.cs`
|
|
- Convert SDK StrategyIntent to NT8 orders
|
|
- Handle order status updates and fills
|
|
- Integrate with NT8's order management
|
|
|
|
**Key Functionality**:
|
|
- Submit market/limit orders
|
|
- Set stop loss and profit targets
|
|
- Handle partial fills
|
|
- Order cancellation
|
|
- Position flattening
|
|
|
|
**Success Criteria**:
|
|
- [ ] Orders execute correctly in NT8
|
|
- [ ] Stop loss and targets set properly
|
|
- [ ] Order status updates flow back to SDK
|
|
- [ ] Emergency flatten works
|
|
- [ ] Proper error handling for rejected orders
|
|
|
|
---
|
|
|
|
### Task 5: Create NT8 Logging Adapter 🔶 MEDIUM
|
|
**Objective**: Bridge SDK logging with NT8's output systems
|
|
|
|
**Deliverables**:
|
|
- `src/NT8.Adapters/NinjaTrader/NT8LoggingAdapter.cs`
|
|
- Route SDK log messages to NT8 Output window
|
|
- Maintain correlation IDs and structured logging
|
|
- Performance optimized (non-blocking)
|
|
|
|
**Success Criteria**:
|
|
- [ ] SDK log messages appear in NT8 Output window
|
|
- [ ] Log levels properly mapped
|
|
- [ ] No performance impact on trading
|
|
- [ ] Structured data preserved where possible
|
|
|
|
---
|
|
|
|
### Task 6: Create Deployment System 🔶 MEDIUM
|
|
**Objective**: Streamline deployment of SDK components to NT8
|
|
|
|
**Deliverables**:
|
|
- `deployment/deploy-to-nt8.bat` script
|
|
- `deployment/NT8/install-instructions.md`
|
|
- Copy SDK DLLs to NT8 directories
|
|
- Copy strategy wrappers to NT8 custom folder
|
|
|
|
**Automation**:
|
|
```bash
|
|
# Copy DLLs
|
|
copy src\NT8.Core\bin\Release\net48\*.dll "Documents\NinjaTrader 8\bin\Custom\"
|
|
|
|
# Copy strategies
|
|
copy src\NT8.Adapters\Wrappers\*.cs "Documents\NinjaTrader 8\bin\Custom\Strategies\"
|
|
```
|
|
|
|
**Success Criteria**:
|
|
- [ ] One-click deployment to NT8
|
|
- [ ] Proper file permissions and locations
|
|
- [ ] Verification that deployment succeeded
|
|
- [ ] Rollback capability
|
|
|
|
---
|
|
|
|
### Task 7: Create Integration Tests 🔶 MEDIUM
|
|
**Objective**: Comprehensive testing of NT8 integration
|
|
|
|
**Deliverables**:
|
|
- `tests/NT8.Integration.Tests/NT8WrapperTests.cs`
|
|
- Test data conversion accuracy
|
|
- Test order execution flow
|
|
- Test parameter mapping
|
|
|
|
**Test Scenarios**:
|
|
- Happy path: Strategy generates trade, executes successfully
|
|
- Risk rejection: Trade rejected by risk management
|
|
- Invalid data: Handle corrupt/missing NT8 data
|
|
- Configuration: Parameter changes take effect
|
|
|
|
**Success Criteria**:
|
|
- [ ] All integration scenarios tested
|
|
- [ ] Tests can run without full NT8 installation
|
|
- [ ] Mock NT8 components for CI/CD
|
|
- [ ] Performance benchmarks included
|
|
|
|
## Implementation Guidelines for AI Agents
|
|
|
|
### Before Starting Any Task:
|
|
1. **Read Requirements**: Review `NT8_INTEGRATION_GUIDELINES.md`
|
|
2. **Check Dependencies**: Ensure previous tasks are complete
|
|
3. **Verify Build**: Run `.\verify-build.bat` to confirm baseline
|
|
4. **Study NT8 Docs**: Understand NT8 APIs being used
|
|
|
|
### During Implementation:
|
|
1. **Follow Patterns**: Use existing SDK code patterns
|
|
2. **Test Early**: Compile in NT8 frequently during development
|
|
3. **Handle Errors**: Robust error handling for all NT8 interactions
|
|
4. **Document Code**: Clear comments for NT8-specific code
|
|
|
|
### Before Submitting:
|
|
1. **Compile Check**: MUST compile in NT8 NinjaScript Editor
|
|
2. **Unit Tests**: Add tests for all new functionality
|
|
3. **Integration Test**: Test with actual NT8 if possible
|
|
4. **Code Review**: Use `CODE_REVIEW_CHECKLIST.md`
|
|
|
|
## Task Dependencies
|
|
|
|
```
|
|
Task 1 (Base Wrapper) → Must complete first
|
|
↓
|
|
Task 2 (Data Conversion) → Required for Task 3
|
|
↓
|
|
Task 3 (ORB Wrapper) ← Depends on Task 1 & 2
|
|
↓
|
|
Task 4 (Order Adapter) ← Can start after Task 2
|
|
↓
|
|
Task 5 (Logging) ← Independent, can start anytime
|
|
↓
|
|
Task 6 (Deployment) ← Needs Tasks 1-4 complete
|
|
↓
|
|
Task 7 (Integration Tests) ← Needs all other tasks
|
|
```
|
|
|
|
## Quality Gates for Each Task
|
|
|
|
### Compilation Gate
|
|
- [ ] Compiles in main SDK build (`.\verify-build.bat`)
|
|
- [ ] Compiles in NT8 NinjaScript Editor (for wrapper classes)
|
|
- [ ] Zero warnings in both environments
|
|
|
|
### Functionality Gate
|
|
- [ ] Core functionality works as designed
|
|
- [ ] Error handling covers expected failure cases
|
|
- [ ] Performance meets requirements
|
|
- [ ] Integration with existing SDK components
|
|
|
|
### Testing Gate
|
|
- [ ] Unit tests for all new classes/methods
|
|
- [ ] Integration tests for NT8 interaction
|
|
- [ ] Manual testing on NT8 simulation account
|
|
- [ ] Documentation updated
|
|
|
|
### Code Quality Gate
|
|
- [ ] Follows C# 5.0 syntax requirements
|
|
- [ ] Matches established code patterns
|
|
- [ ] Proper error handling and logging
|
|
- [ ] Clear, maintainable code structure
|
|
|
|
## Risk Mitigation
|
|
|
|
### Technical Risks
|
|
- **NT8 API Changes**: Test with multiple NT8 versions if possible
|
|
- **Performance Issues**: Profile integration points early
|
|
- **Memory Leaks**: Proper disposal of NT8 objects
|
|
- **Threading Issues**: NT8 strategies run on UI thread
|
|
|
|
### Integration Risks
|
|
- **SDK Compatibility**: Ensure no breaking changes to Core
|
|
- **Configuration Conflicts**: Handle parameter validation gracefully
|
|
- **Order Execution**: Thorough testing of trade execution paths
|
|
- **Error Propagation**: Ensure SDK errors surface properly in NT8
|
|
|
|
This task breakdown provides clear, actionable work items for AI agents while maintaining the quality and compatibility standards established for the NT8 SDK project. |