Phase 0 completion: NT8 SDK core framework with risk management and position sizing
Some checks failed
Build and Test / build (push) Has been cancelled
Some checks failed
Build and Test / build (push) Has been cancelled
This commit is contained in:
244
ai_agent_tasks.md
Normal file
244
ai_agent_tasks.md
Normal file
@@ -0,0 +1,244 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user