Switch demo trading to 5m short-term swing setups (plan 3.1)

- The model now submits a pending setup (direction, zone, confirm price,
  validity); the executor enters at market once a 5m close confirms a
  dip into support or a rejection from resistance, and cancels the setup
  when the zone breaks, the trigger is missed or the stop is too far
- Stop beyond the confirmation extreme by 0.5 x ATR14(5m), skipped above
  1%; fixed take-profit ladders from the fill price (long 60/30/10 at
  +0.5/0.75/1%, short 80/20 at -0.5/0.75%); 4h time stop
- While holding, the model may only keep or exit
- Drop the long-term angle from the program, API, tables and page
This commit is contained in:
eezd committed 2026-10-15 13:09:19 +08:00
1 parent 1fcf41952c
commit 7efa2eb68b
12 files changed
+696 -746

No files matched your search

@@ -0,0 +1,31 @@
"""trading drop angle
Revision ID: e8b25c71d4a9
Revises: c3f19d7a2e58
Create Date: 2026-10-15 13:30:00.000000
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = 'e8b25c71d4a9'
down_revision: Union[str, Sequence[str], None] = 'c3f19d7a2e58'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
"""Upgrade schema."""
# 用户决定模拟盘只做短线(2026-10-15),不再有角度之分
op.drop_column('trading_symbols', 'angle')
op.drop_column('trading_analyses', 'angle')
def downgrade() -> None:
"""Downgrade schema."""
op.add_column('trading_analyses', sa.Column('angle', sa.String(length=8), nullable=False, server_default='short'))
op.add_column('trading_symbols', sa.Column('angle', sa.String(length=8), nullable=False, server_default='short'))