{"engine_mapping_notes":["The source plan's limit_after_confirmation entries are mapped to the existing bot schema as valid_range_market_after_confirmation entries with tight entry ranges around the requested prices.","The bot's sizing path is not fee-aware, so each setup uses 0.95% risk_pct as the source plan's fallback for fee-unaware sizing.","Reset-until-fresh-trigger invalidation language is preserved in source_plan; the active engine mapping avoids permanent invalidations where the current schema cannot reset them safely."],"max_equity":274.0133299176,"setups":[{"cancel_group_on_entry":true,"conflicts":{"allow_add_if_long_open":false,"allow_add_if_short_open":false,"allow_hedge":false,"block_if_long_open":true,"block_if_short_open":true},"created_at":"2026-05-04T09:56:45+00:00","direction":"SHORT","entry":{"cancel_unfilled_order_after_minutes":30,"close_at_or_below":79250.0,"close_not_above":79800.0,"close_timeframe":"15m","entry_price_assumption":79250.0,"execution":"valid_range_market_after_confirmation","must_place_order_within_minutes_of_confirmation":5,"prerequisite_close_at_or_below":79300.0,"prerequisite_close_timeframe":"15m","slippage_limit_pct":0.15,"tag_type":"inside_zone","tag_zone_high":79800.0,"tag_zone_low":79300.0,"type":"tag_then_confirm_close","valid_price_range":[79250.0,79300.0]},"expires_at":"2026-05-05T23:59:59Z","id":"BTC-2026-05-04-SHORT-FAILED-80K-SWEEP","invalidations_before_entry":[{"price":80650.0,"reason":"Any 15m candle close at or above 80650 before entry cancels this setup.","timeframe":"15m","type":"close_at_or_above"},{"price":81145.0,"reason":"If BTC trades at or above 81145 before entry, cancel this setup.","type":"price_above_before_entry"}],"name":"Short failed 80k sweep","notes":"Arming condition intraday_high_usd >= 80500 was already satisfied at plan creation with observed high 80529. Entry waits for a 15m close <= 79300, live retest/tag of 79300-79800 from below, then a later 15m close <= 79250 while not closing above 79800.","priority":1,"profit_rule_policy":"Source plan: no management before +0.75R except hard stop; +0.75R closes 25%; +1.00R moves stop to breakeven_plus_fees; +1.50R closes another 25%; +2.00R locks +0.50R minimum; after TP2 hit trail above the last completed 1h lower high, but never above breakeven_plus_fees for the short.","profit_rules":[{"action":"partial_close","id":"derisk_0_75r","size_pct":0.25,"trigger_r":0.75},{"action":"move_stop","fee_buffer_pct":0.05,"id":"breakeven_plus_fees_1r","mode":"breakeven_plus_fees","trigger_r":1.0},{"action":"partial_close","id":"derisk_1_5r","size_pct":0.25,"trigger_r":1.5},{"action":"move_stop","id":"lock_0_5r_at_2r","lock_r":0.5,"mode":"lock_r","trigger_r":2.0}],"risk_pct":0.95,"setup_group_id":"BTC-2026-05-04-FIRST-VALID-ONLY","state":{"arm_seen_at":"2026-05-04T14:26:10.092882+00:00","avg_entry_price":79264.17999999998,"blocked_reason":null,"breakeven_active":false,"breakeven_stop_price":null,"condition_met":"2026-05-04T10:14:59.999000+00:00","confirmation_bars_seen":0,"confirmation_last_time":null,"entries":[{"fee_assets":{"USDT":0.14901665},"fee_estimated":false,"fee_quote":0.14901665,"fee_rate":0.0009999999436304634,"filled":true,"filled_at":"2026-05-04T14:30:10.756927+00:00","price":79264.17999999998,"qty":0.0018800000000000002,"quote_qty":149.01665839999998}],"events":[{"direction":"SHORT","event_id":"9b7165a7-d1d8-4232-8134-0613e8b287fc","fee_assets":{"USDT":0.14901665},"fee_estimated":false,"fee_quote":0.14901665,"fee_rate":0.0009999999436304634,"occurred_at":"2026-05-04T14:30:10.756927+00:00","price":79264.17999999998,"qty":0.0018800000000000002,"quote_qty":149.01665839999998,"remaining_size":0.0018800000000000002,"setup_id":"BTC-2026-05-04-SHORT-FAILED-80K-SWEEP","setup_name":"Short failed 80k sweep","side":"SELL","type":"entry_filled"}],"last_action":"exit_stopped","last_entry_signal_time":"2026-05-04T14:29:59.999000+00:00","last_error":null,"last_prerequisite_check_time":"2026-05-04T09:59:59.999000+00:00","limit_confirmed_at":"2026-05-04T14:29:59.999000+00:00","limit_signal_time":"2026-05-04T14:29:59.999000+00:00","limit_valid_until":"2026-05-04T14:59:59.999000+00:00","position_qty":0.0,"profit_rules":[{"closed_qty":0.0,"done":false,"id":"derisk_0_75r","triggered_at":null},{"closed_qty":0.0,"done":false,"id":"breakeven_plus_fees_1r","triggered_at":null},{"closed_qty":0.0,"done":false,"id":"derisk_1_5r","triggered_at":null},{"closed_qty":0.0,"done":false,"id":"lock_0_5r_at_2r","triggered_at":null}],"tag_seen_at":"2026-05-04T14:26:10.092882+00:00","target_base_qty":0.0018800000000000002,"targets":[{"hit":false,"hit_at":null,"price":77120.0,"sold_qty":0.0},{"hit":false,"hit_at":null,"price":75760.0,"sold_qty":0.0},{"hit":false,"hit_at":null,"price":72000.0,"sold_qty":0.0},{"hit":false,"hit_at":null,"price":67000.0,"sold_qty":0.0}],"targets_hit":0,"trail_active":false,"trail_peak":null},"status":"stopped","stop":{"price":80650.0,"type":"hard_price_above"},"target_size_basis":"remaining_position_after_profit_protection","targets":[{"price":77120.0,"size_pct":0.35},{"price":75760.0,"size_pct":0.25},{"price":72000.0,"size_pct":0.25},{"price":67000.0,"size_pct":0.15}],"thesis":"BTC has already swept above 80k intraday. Short only if that sweep converts into a confirmed failure by losing 79.3k, retesting from below, and rejecting again.","when_flat_only":true},{"cancel_group_on_entry":true,"cancelled_at":"2026-05-04T14:30:10.757178+00:00","conflicts":{"allow_add_if_long_open":false,"allow_add_if_short_open":false,"allow_hedge":false,"block_if_long_open":true,"block_if_short_open":true},"created_at":"2026-05-04T09:56:45+00:00","direction":"LONG","entry":{"cancel_unfilled_order_after_minutes":30,"close_at_or_above":82300.0,"close_not_below":81550.0,"close_timeframe":"15m","entry_price_assumption":82300.0,"execution":"valid_range_market_after_confirmation","must_place_order_within_minutes_of_confirmation":5,"prerequisite_close_at_or_above":82250.0,"prerequisite_close_timeframe":"15m","slippage_limit_pct":0.15,"tag_type":"inside_zone","tag_zone_high":82150.0,"tag_zone_low":81550.0,"type":"tag_then_confirm_close","valid_price_range":[82250.0,82300.0]},"expires_at":"2026-05-05T23:59:59Z","id":"BTC-2026-05-04-LONG-81K-RECLAIM-RETEST","invalidations_before_entry":[],"name":"Long 81k reclaim retest","notes":"Entry waits for a 15m close >= 82250, live retest/tag of 81550-82150, then a later 15m close >= 82300 while not closing below 81550. Source invalidation for a 15m close below 79300 until fresh reclaim is retained in source_plan; the current engine mapping relies on the fresh reclaim/confirm sequence rather than a permanent invalidation.","priority":2,"profit_rule_policy":"Source plan: no management before +0.75R except hard stop; +0.75R closes 25%; +1.00R moves stop to breakeven_plus_fees; +1.50R closes another 25%; +2.00R locks +0.50R minimum; after TP2 hit trail below the last completed 1h higher low, but never below breakeven_plus_fees.","profit_rules":[{"action":"partial_close","id":"derisk_0_75r","size_pct":0.25,"trigger_r":0.75},{"action":"move_stop","fee_buffer_pct":0.05,"id":"breakeven_plus_fees_1r","mode":"breakeven_plus_fees","trigger_r":1.0},{"action":"partial_close","id":"derisk_1_5r","size_pct":0.25,"trigger_r":1.5},{"action":"move_stop","id":"lock_0_5r_at_2r","lock_r":0.5,"mode":"lock_r","trigger_r":2.0}],"risk_pct":0.95,"setup_group_id":"BTC-2026-05-04-FIRST-VALID-ONLY","state":{"arm_seen_at":null,"avg_entry_price":null,"blocked_reason":"cancelled_after_group_entry","breakeven_active":false,"breakeven_stop_price":null,"condition_met":null,"confirmation_bars_seen":0,"confirmation_last_time":null,"entries":[{"filled":false,"filled_at":null,"price":null,"qty":null}],"events":[],"last_action":"cancelled_after_BTC-2026-05-04-SHORT-FAILED-80K-SWEEP_entry","last_entry_signal_time":null,"last_error":null,"last_prerequisite_check_time":"2026-05-04T14:29:59.999000+00:00","position_qty":0.0,"profit_rules":[{"closed_qty":0.0,"done":false,"id":"derisk_0_75r","triggered_at":null},{"closed_qty":0.0,"done":false,"id":"breakeven_plus_fees_1r","triggered_at":null},{"closed_qty":0.0,"done":false,"id":"derisk_1_5r","triggered_at":null},{"closed_qty":0.0,"done":false,"id":"lock_0_5r_at_2r","triggered_at":null}],"target_base_qty":null,"targets":[{"hit":false,"hit_at":null,"price":84000.0,"sold_qty":0.0},{"hit":false,"hit_at":null,"price":85000.0,"sold_qty":0.0},{"hit":false,"hit_at":null,"price":86000.0,"sold_qty":0.0},{"hit":false,"hit_at":null,"price":88000.0,"sold_qty":0.0}],"targets_hit":0,"trail_active":false,"trail_peak":null},"status":"cancelled","stop":{"price":80950.0,"type":"hard_price_below"},"target_size_basis":"remaining_position_after_profit_protection","targets":[{"price":84000.0,"size_pct":0.3},{"price":85000.0,"size_pct":0.35},{"price":86000.0,"size_pct":0.2},{"price":88000.0,"size_pct":0.15}],"thesis":"Long only if BTC invalidates the failed-80k-sweep idea by reclaiming the 81.1k/82k zone, then retesting it as support. This avoids chasing the current resistance area.","when_flat_only":true},{"cancel_group_on_entry":true,"cancelled_at":"2026-05-04T14:30:10.757197+00:00","conflicts":{"allow_add_if_long_open":false,"allow_add_if_short_open":false,"allow_hedge":false,"block_if_long_open":true,"block_if_short_open":true},"created_at":"2026-05-04T09:56:45+00:00","direction":"SHORT","entry":{"cancel_unfilled_order_after_minutes":30,"close_at_or_below":77000.0,"close_not_above":77600.0,"close_timeframe":"15m","entry_price_assumption":77000.0,"execution":"valid_range_market_after_confirmation","must_place_order_within_minutes_of_confirmation":5,"prerequisite_close_at_or_below":77120.0,"prerequisite_close_timeframe":"15m","slippage_limit_pct":0.15,"tag_type":"inside_zone","tag_zone_high":77600.0,"tag_zone_low":77120.0,"type":"tag_then_confirm_close","valid_price_range":[77000.0,77050.0]},"expires_at":"2026-05-05T23:59:59Z","id":"BTC-2026-05-04-SHORT-STRUCTURE-BREAK-77120","invalidations_before_entry":[],"name":"Short structure break 77120","notes":"Entry waits for a 15m close <= 77120, live retest/tag of 77120-77600 from below, then a later 15m close <= 77000 while not closing above 77600. Source invalidation for a 15m close back above 77600 after breakdown is retained in source_plan; the current engine mapping avoids a permanent invalidation that cannot reset automatically.","priority":3,"profit_rule_policy":"Source plan: no management before +0.75R except hard stop; +0.75R closes 25%; +1.00R moves stop to breakeven_plus_fees; +1.50R closes another 25%; +2.00R locks +0.50R minimum; after TP2 hit trail above the last completed 1h lower high, but never above breakeven_plus_fees for the short.","profit_rules":[{"action":"partial_close","id":"derisk_0_75r","size_pct":0.25,"trigger_r":0.75},{"action":"move_stop","fee_buffer_pct":0.05,"id":"breakeven_plus_fees_1r","mode":"breakeven_plus_fees","trigger_r":1.0},{"action":"partial_close","id":"derisk_1_5r","size_pct":0.25,"trigger_r":1.5},{"action":"move_stop","id":"lock_0_5r_at_2r","lock_r":0.5,"mode":"lock_r","trigger_r":2.0}],"risk_pct":0.95,"setup_group_id":"BTC-2026-05-04-FIRST-VALID-ONLY","state":{"arm_seen_at":null,"avg_entry_price":null,"blocked_reason":"cancelled_after_group_entry","breakeven_active":false,"breakeven_stop_price":null,"condition_met":null,"confirmation_bars_seen":0,"confirmation_last_time":null,"entries":[{"filled":false,"filled_at":null,"price":null,"qty":null}],"events":[],"last_action":"cancelled_after_BTC-2026-05-04-SHORT-FAILED-80K-SWEEP_entry","last_entry_signal_time":null,"last_error":null,"last_prerequisite_check_time":"2026-05-04T14:29:59.999000+00:00","position_qty":0.0,"profit_rules":[{"closed_qty":0.0,"done":false,"id":"derisk_0_75r","triggered_at":null},{"closed_qty":0.0,"done":false,"id":"breakeven_plus_fees_1r","triggered_at":null},{"closed_qty":0.0,"done":false,"id":"derisk_1_5r","triggered_at":null},{"closed_qty":0.0,"done":false,"id":"lock_0_5r_at_2r","triggered_at":null}],"target_base_qty":null,"targets":[{"hit":false,"hit_at":null,"price":75760.0,"sold_qty":0.0},{"hit":false,"hit_at":null,"price":74300.0,"sold_qty":0.0},{"hit":false,"hit_at":null,"price":72000.0,"sold_qty":0.0},{"hit":false,"hit_at":null,"price":67000.0,"sold_qty":0.0}],"targets_hit":0,"trail_active":false,"trail_peak":null},"status":"cancelled","stop":{"price":78200.0,"type":"hard_price_above"},"target_size_basis":"remaining_position_after_profit_protection","targets":[{"price":75760.0,"size_pct":0.3},{"price":74300.0,"size_pct":0.3},{"price":72000.0,"size_pct":0.25},{"price":67000.0,"size_pct":0.15}],"thesis":"Short only if BTC loses the local structure level that multiple transcript comments treat as important. This is not a top-picking short; it requires breakdown and failed reclaim.","when_flat_only":true}],"source_plan":{"market_context":{"key_levels":{"extension_resistance_zone":[84000,85000],"first_breakdown_confirm_level":79300,"liquidity_sweep_zone":[80000,80529],"local_structure_break_level":77120,"lower_cme_gap_magnet":67000,"major_bearish_invalidation_for_shorts":[86000,88000],"next_bullish_reclaim_zone":[81145,82250],"support_zone":[72000,76000]},"summary":"BTC has swept the 80k liquidity area and is now trading below the intraday high. Transcript consensus is mixed: the rally can extend into 81k-82k and possibly 85k if buyers reclaim higher, but the rally is fragile because resistance, bearish divergence risk, and futures-driven demand are repeatedly flagged."},"metadata":{"account_risk_rule":{"position_size_instruction":"For any triggered setup, size the position so that the loss at the initial stop equals exactly 1.00% of total account equity including estimated fees if possible. If fee-aware sizing is unavailable, size to 0.95% max loss before fees.","risk_per_trade_pct_of_account":1.0},"current_market_reference":{"btc_price_usd":79740.0,"intraday_high_usd":80529.0,"intraday_low_usd":78302.0},"current_position_status":"FLAT","execution_rule":"No market entry now. Take only the first setup whose full trigger sequence completes. If one setup triggers, cancel all other setups until the triggered trade is fully closed.","instrument":"BTCUSDT","market_type":"perpetual_futures","plan_date_utc":"2026-05-04","profit_protection_default":{"applies_to_all_setups":true,"at_0_75R":"Close 25% of original position at market; keep stop unchanged.","at_1_00R":"Move stop on remaining position to breakeven_plus_fees.","at_1_50R":"Close another 25% of original position at market.","at_2_00R":"Move stop on remaining position to lock +0.50R minimum.","never_do":["Do not widen the stop.","Do not add to a losing position.","Do not open a second BTC trade while one BTC trade is live."]}},"no_trade_conditions":["If BTC remains between 79300 and 82250 without completing any full trigger sequence, do nothing.","If two setups trigger on the same 15m candle because of extreme volatility, take no trade and wait for a new plan.","If a single 15m candle has a range greater than 2.5% of BTC price, wait for two additional 15m candle closes before acting on any trigger.","Do not take a second BTC trade while a first triggered trade remains open."],"setups":[{"arming_condition":{"condition":"intraday_high_usd >= 80500","observed_intraday_high_usd":80529.0,"status":"SATISFIED_AT_PLAN_CREATION"},"direction":"SHORT","entry":{"entry_price_usd":79250.0,"entry_validity":"Only place the order after all trigger_sequence conditions are satisfied. If price never retests 79300 to 79800 after the breakdown close, no trade.","type":"limit_after_confirmation"},"initial_stop":{"stop_price_usd":80650.0,"type":"hard_price_above"},"pre_entry_invalidation":["Any 15m candle close at or above 80650 before entry cancels this setup.","If BTC trades at or above 81145 before entry, cancel this setup."],"priority":1,"profit_protection_rules":{"after_TP2_hit":"Trail stop above the last completed 1h lower high, but never above breakeven_plus_fees for the short.","at_0_75R":"Close 25% of original position at market; keep stop unchanged.","at_1_00R":"Move stop on remaining position to breakeven_plus_fees.","at_1_50R":"Close another 25% of original position at market.","at_2_00R":"Move stop on remaining position to lock +0.50R minimum.","no_management_before":"Do nothing before price reaches +0.75R from entry, except hard stop."},"setup_id":"BTC-2026-05-04-SHORT-FAILED-80K-SWEEP","state":"ARMED_NOT_LIVE","targets":[{"close_pct_of_original_position":35,"price_usd":77120.0,"target_id":"TP1"},{"close_pct_of_original_position":25,"price_usd":75760.0,"target_id":"TP2"},{"close_pct_of_original_position":25,"price_usd":72000.0,"target_id":"TP3"},{"close_pct_of_original_position":15,"price_usd":67000.0,"target_id":"TP4"}],"thesis":"BTC has already swept above 80k intraday. Short only if that sweep converts into a confirmed failure by losing 79.3k, retesting from below, and rejecting again.","time_invalidation":"Cancel if not triggered by 2026-05-05 23:59:59 UTC.","trigger_sequence":["A 15m candle must CLOSE at or below 79300.","After that close, price must retest 79300 to 79800 from below.","During or after that retest, a 15m candle must CLOSE at or below 79250 while price remains below 79800."]},{"direction":"LONG","entry":{"entry_price_usd":82300.0,"entry_validity":"Only place the order after all trigger_sequence conditions are satisfied. If price runs away without retesting 81550 to 82150, no trade.","type":"limit_after_confirmation"},"initial_stop":{"stop_price_usd":80950.0,"type":"hard_price_below"},"pre_entry_invalidation":["Any 15m candle close below 79300 before entry cancels this long setup until a fresh 15m close at or above 82250 occurs."],"priority":2,"profit_protection_rules":{"after_TP2_hit":"Trail stop below the last completed 1h higher low, but never below breakeven_plus_fees.","at_0_75R":"Close 25% of original position at market; keep stop unchanged.","at_1_00R":"Move stop on remaining position to breakeven_plus_fees.","at_1_50R":"Close another 25% of original position at market.","at_2_00R":"Move stop on remaining position to lock +0.50R minimum.","no_management_before":"Do nothing before price reaches +0.75R from entry, except hard stop."},"setup_id":"BTC-2026-05-04-LONG-81K-RECLAIM-RETEST","state":"ARMED_NOT_LIVE","targets":[{"close_pct_of_original_position":30,"price_usd":84000.0,"target_id":"TP1"},{"close_pct_of_original_position":35,"price_usd":85000.0,"target_id":"TP2"},{"close_pct_of_original_position":20,"price_usd":86000.0,"target_id":"TP3"},{"close_pct_of_original_position":15,"price_usd":88000.0,"target_id":"TP4"}],"thesis":"Long only if BTC invalidates the failed-80k-sweep idea by reclaiming the 81.1k/82k zone, then retesting it as support. This avoids chasing the current resistance area.","time_invalidation":"Cancel if not triggered by 2026-05-05 23:59:59 UTC.","trigger_sequence":["BTC must print a 15m candle CLOSE at or above 82250.","After that close, price must retest 81550 to 82150.","That retest candle or a later 15m candle must CLOSE at or above 82300 while price remains above 81550."]},{"direction":"SHORT","entry":{"entry_price_usd":77000.0,"entry_validity":"Only place the order after all trigger_sequence conditions are satisfied. If price breaks down and never retests 77120 to 77600, no trade.","type":"limit_after_confirmation"},"initial_stop":{"stop_price_usd":78200.0,"type":"hard_price_above"},"pre_entry_invalidation":["Any 15m candle close back above 77600 after the initial breakdown and before entry cancels this setup until a fresh breakdown occurs."],"priority":3,"profit_protection_rules":{"after_TP2_hit":"Trail stop above the last completed 1h lower high, but never above breakeven_plus_fees for the short.","at_0_75R":"Close 25% of original position at market; keep stop unchanged.","at_1_00R":"Move stop on remaining position to breakeven_plus_fees.","at_1_50R":"Close another 25% of original position at market.","at_2_00R":"Move stop on remaining position to lock +0.50R minimum.","no_management_before":"Do nothing before price reaches +0.75R from entry, except hard stop."},"setup_id":"BTC-2026-05-04-SHORT-STRUCTURE-BREAK-77120","state":"ARMED_NOT_LIVE","targets":[{"close_pct_of_original_position":30,"price_usd":75760.0,"target_id":"TP1"},{"close_pct_of_original_position":30,"price_usd":74300.0,"target_id":"TP2"},{"close_pct_of_original_position":25,"price_usd":72000.0,"target_id":"TP3"},{"close_pct_of_original_position":15,"price_usd":67000.0,"target_id":"TP4"}],"thesis":"Short only if BTC loses the local structure level that multiple transcript comments treat as important. This is not a top-picking short; it requires breakdown and failed reclaim.","time_invalidation":"Cancel if not triggered by 2026-05-05 23:59:59 UTC.","trigger_sequence":["BTC must print a 15m candle CLOSE at or below 77120.","After that close, price must retest 77120 to 77600 from below.","That retest candle or a later 15m candle must CLOSE at or below 77000 while price remains below 77600."]}],"status_now":{"action":"WAIT","reason":"BTC is just below/around the 80k resistance-liquidity zone. Current market is not a clean entry; wait for confirmed failure or confirmed reclaim."}},"updated_at":"2026-05-04T17:53:55.803792+00:00"}
