指定
Important – Read Before Bidding
This job is NOT strategy development.
Entry logic, indicators, and signal logic must remain completely unchanged.
The task is to rebuild the execution and risk management layer so the EA works correctly for futures trading on AMP (CME) instead of forex.
If you do not have real experience with MT5 futures, tick-based risk, and netting accounts, please do not bid.
Environment
Broker: AMP Futures (MT5)
Account type: Netting
Primary symbols: MNQ, MES
Solution must work generically for CME futures (ES, NQ, etc.)
Core Requirement
Convert the EA from forex-style lot/pip logic to true futures contract risk control.
Strategy behavior must not change.
1) Contract-Based Position Sizing (Critical)
Contracts must be calculated as:
Rules:
-
Use:
-
SYMBOL_TRADE_TICK_VALUE
-
SYMBOL_TRADE_TICK_SIZE
-
SYMBOL_VOLUME_MIN
-
SYMBOL_VOLUME_STEP
-
-
Round DOWN to valid step
-
If result < SYMBOL_VOLUME_MIN → skip trade
-
Never force minimum size
-
No invalid volume or stop errors
2) Execution Types (Must All Work)
EA supports:
-
Immediate Execution Only (Market)
-
Limit Execution Only
-
All (Market + Limit)
Risk must be calculated using the actual entry price:
-
Market price for immediate
-
Limit price for pending orders
Currently only immediate execution works correctly — this must be fixed.
3) Netting Logic (AMP)
Since AMP uses netting:
-
Only one position per symbol
-
On opposite signal:
-
Close existing position
-
Confirm position is closed
-
Open new position on next tick
-
-
No simultaneous opposite trades
4) Daily Risk Control
Inputs:
-
Risk per trade ($)
-
Daily Max Loss ($)
-
Daily Profit Target ($)
Behavior when either daily limit is reached:
-
Close all positions
-
Delete all pending orders
-
Disable new trading
-
Auto-resume next day
Time rules:
-
Use TimeTradeServer()
-
Reset at 00:00 server time
-
Daily PnL must include:
-
Profit
-
Commission
-
Swap (net result)
-
5) Broker Compatibility
Must dynamically use:
-
SYMBOL_TRADE_TICK_VALUE
-
SYMBOL_TRADE_TICK_SIZE
-
SYMBOL_VOLUME_MIN
-
SYMBOL_VOLUME_STEP
-
SYMBOL_FILLING_MODE (do NOT hardcode IOC)
6) Logging (Required)
Journal must print for each trade:
-
Symbol
-
TickSize
-
TickValue
-
Entry price
-
Stop price
-
StopTicks
-
Risk $
-
Contracts (raw and rounded)
-
Reason if trade skipped
7) Scope Boundaries
Do NOT modify:
-
Strategy logic
-
Indicators
-
Signal conditions
-
Trade timing
Only modify:
-
Position sizing
-
Risk calculation
-
Order execution
-
Daily risk control
8) Deliverables
-
Full MQ5 source code (not EX5)
-
Clean compilation
-
Short technical summary
-
Strategy Tester proof showing correct contract sizing on MNQ or MES
When you bid, include:
-
Fixed price
-
Delivery time
-
Confirmation that strategy logic will NOT be changed
-
Confirmation of experience with:
-
MT5 futures
-
Netting accounts
-
Tick-based risk sizing
-
Bids without these confirmations will be ignored.