diff --git a/packages/trader/src/Modules/Trading/Containers/purchase.jsx b/packages/trader/src/Modules/Trading/Containers/purchase.jsx index 836863d81174..544b6f18754c 100644 --- a/packages/trader/src/Modules/Trading/Containers/purchase.jsx +++ b/packages/trader/src/Modules/Trading/Containers/purchase.jsx @@ -28,6 +28,7 @@ const Purchase = ({ purchase_info, proposal_info, setPurchaseState, + symbol, trade_types, validation_errors, }) => { @@ -91,7 +92,14 @@ const Purchase = ({ break; } }); - if (is_accumulator && active_positions.some(({ type }) => isAccumulatorContract(type))) { + + const should_disable_accu_purchase = + is_accumulator && + !!active_positions.find( + ({ contract_info, type }) => isAccumulatorContract(type) && contract_info.underlying === symbol + ); + + if (should_disable_accu_purchase) { components.unshift( ({ onHoverPurchase: modules.trade.onHoverPurchase, proposal_info: modules.trade.proposal_info, purchase_info: modules.trade.purchase_info, + symbol: modules.trade.symbol, trade_types: modules.trade.trade_types, validation_errors: modules.trade.validation_errors, is_mobile: ui.is_mobile,