Files
nt8-sdk/ai_agent_tasks.md
Billy Valentine 92f3732b3d
Some checks failed
Build and Test / build (push) Has been cancelled
Phase 0 completion: NT8 SDK core framework with risk management and position sizing
2025-09-09 17:06:37 -04:00

7.6 KiB

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:

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:

# 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.