{"product_id":"auto-strategy-builder-monthly","title":"Auto Strategy Builder - Monthly Subscription (NinjaTrader)","description":"\u003cstyle\u003e\n  \/* --- CSS VARIABLES \u0026 BRANDING --- *\/\n  :root {\n    --bg-base: #000000;\n    --bg-surface: #0a0a0a;\n    --bg-surface-alt: #121212;\n    --accent-primary: #a92323;\n    --accent-hover: #c42929;\n    --accent-glow: rgba(169, 35, 35, 0.4);\n    --text-main: #ffffff;\n    --text-dim: #a0a0a0;\n    --text-muted: #666666;\n    --border-subtle: #222222;\n    --border-focus: #333333;\n    --transition-fast: 0.2s ease;\n    --transition-smooth: 0.4s cubic-bezier(0.16, 1, 0.3, 1);\n    --font-heading: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n    --font-mono: 'JetBrains Mono', 'Fira Code', Consolas, monospace;\n  }\n\n  \/* --- GLOBAL RESETS \u0026 UTILITIES --- *\/\n  .td-product-container {\n    background-color: var(--bg-base);\n    color: var(--text-main);\n    font-family: var(--font-body);\n    line-height: 1.6;\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n    overflow-x: hidden;\n    padding-bottom: 80px;\n  }\n\n  .td-product-container * {\n    box-sizing: border-box;\n    margin: 0;\n    padding: 0;\n  }\n\n  \/* WIDE LAYOUT HACK (CRITICAL) *\/\n  .wide-layout {\n    width: 100vw;\n    position: relative;\n    left: 50%;\n    right: 50%;\n    margin-left: -50vw;\n    margin-right: -50vw;\n    background-color: var(--bg-surface);\n  }\n\n  \/* TYPOGRAPHY *\/\n  .td-heading-1 {\n    font-size: clamp(1.5rem, 3vw, 2rem);\n    font-weight: 800;\n    letter-spacing: -0.03em;\n    line-height: 1.1;\n    text-transform: uppercase;\n    margin-bottom: 1.5rem;\n  }\n\n  .td-heading-2 {\n    font-size: clamp(2rem, 4vw, 3rem);\n    font-weight: 800;\n    letter-spacing: -0.02em;\n    line-height: 1.2;\n    margin-bottom: 1rem;\n  }\n\n  .td-heading-3 {\n    font-size: clamp(1.25rem, 2vw, 1.75rem);\n    font-weight: 700;\n    letter-spacing: -0.01em;\n    color: var(--text-main);\n    margin-bottom: 0.75rem;\n  }\n\n  .td-text-lead {\n    font-size: 1.1rem;\n    color: var(--text-dim);\n    margin-bottom: 2rem;\n    max-width: 800px;\n  }\n\n  .td-text-body {\n    font-size: 0.95rem !important;\n    color: var(--text-dim);\n    margin-bottom: 1.5rem;\n    line-height: 1.5;\n  }\n\n  .td-accent-text {\n    color: var(--accent-primary);\n  }\n\n  \/* --- CONSTRAINED WIDTHS --- *\/\n  .td-container {\n    max-width: 1100px;\n    margin: 0 auto;\n    padding: 4rem 2rem;\n  }\n\n  \/* BUTTONS *\/\n  .btn-primary {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    background-color: var(--accent-primary);\n    color: var(--text-main);\n    font-weight: 700;\n    font-size: 1.125rem;\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n    padding: 1.25rem 2.5rem;\n    border: none;\n    border-radius: 4px;\n    cursor: pointer;\n    transition: var(--transition-fast);\n    text-decoration: none;\n    box-shadow: 0 4px 15px rgba(169, 35, 35, 0.2);\n    position: relative;\n    overflow: hidden;\n  }\n\n  .btn-primary:hover {\n    background-color: var(--accent-hover);\n    box-shadow: 0 6px 20px rgba(169, 35, 35, 0.4);\n    transform: translateY(-2px);\n  }\n\n  .btn-primary svg {\n    margin-left: 10px;\n    width: 20px;\n    height: 20px;\n    fill: currentColor;\n    transition: transform var(--transition-fast);\n  }\n\n  .btn-primary:hover svg {\n    transform: translateX(4px);\n  }\n\n  .btn-secondary {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    background-color: transparent;\n    color: var(--text-main);\n    font-weight: 700;\n    font-size: 1.125rem;\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n    padding: 1.25rem 2.5rem;\n    border: 2px solid var(--accent-primary);\n    border-radius: 4px;\n    cursor: pointer;\n    transition: var(--transition-fast);\n    text-decoration: none;\n  }\n  .btn-secondary:hover {\n    background-color: var(--accent-primary);\n    color: var(--text-main);\n    transform: translateY(-2px);\n    box-shadow: 0 6px 20px rgba(169, 35, 35, 0.4);\n  }\n  .btn-secondary svg {\n    margin-left: 10px;\n    width: 20px;\n    height: 20px;\n    fill: currentColor;\n    transition: transform var(--transition-fast);\n  }\n  .btn-secondary:hover svg {\n    transform: translateX(4px);\n  }\n  .cta-button-row {\n    display: inline-flex;\n    gap: 1rem;\n    flex-wrap: wrap;\n    justify-content: center;\n    align-items: center;\n  }\n  @media (max-width: 600px) {\n    .cta-button-row { flex-direction: column; gap: 0.75rem; width: 100%; }\n    .cta-button-row .btn-primary,\n    .cta-button-row .btn-secondary { width: 100%; }\n  }\n\n  \/* --- SECTION 0: THE REAL PROBLEM --- *\/\n  .problem-section {\n    padding: 6rem 0 2rem 0;\n  }\n  \n  .problem-eyebrow {\n    color: var(--accent-primary);\n    font-family: var(--font-heading);\n    font-size: 0.85rem;\n    font-weight: 800;\n    text-transform: uppercase;\n    letter-spacing: 0.1em;\n    margin-bottom: 1.5rem;\n    display: block;\n  }\n  \n  .problem-headline {\n    font-size: clamp(2rem, 4vw, 3rem);\n    font-weight: 800;\n    letter-spacing: -0.03em;\n    line-height: 1.05;\n    color: var(--text-main);\n    margin-bottom: 3rem;\n    max-width: 1000px;\n  }\n  \n  .problem-text {\n    font-size: 0.95rem !important;\n    color: var(--text-dim);\n    line-height: 1.6;\n    margin-bottom: 1.5rem;\n    max-width: 850px;\n  }\n\n  \/* --- SECTION 1: EMOTIONAL ENTRY HOOK (PAS) --- *\/\n  .pas-section {\n    padding: 2rem 0 4rem 0;\n  }\n\n  .pas-header {\n    text-align: center;\n    margin-bottom: 4rem;\n  }\n\n  .pas-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 2rem;\n  }\n\n  .pas-card {\n    background: var(--bg-surface-alt);\n    border: 1px solid var(--border-subtle);\n    border-radius: 8px;\n    padding: 2.5rem 2rem;\n    position: relative;\n    transition: var(--transition-smooth);\n  }\n\n  .pas-card:hover {\n    border-color: var(--border-focus);\n    transform: translateY(-5px);\n  }\n\n  .pas-card::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 3px;\n    background: var(--border-subtle);\n    border-radius: 8px 8px 0 0;\n    transition: var(--transition-smooth);\n  }\n\n  .pas-card:hover::before {\n    background: var(--accent-primary);\n  }\n\n  .pas-icon-wrap {\n    width: 50px;\n    height: 50px;\n    background: rgba(255,255,255,0.05);\n    border-radius: 8px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    margin-bottom: 1.5rem;\n  }\n\n  .pas-icon-wrap svg {\n    width: 24px;\n    height: 24px;\n    stroke: var(--accent-primary);\n  }\n\n  .pas-label {\n    font-size: 0.85rem;\n    text-transform: uppercase;\n    letter-spacing: 0.1em;\n    color: var(--accent-primary);\n    font-weight: 700;\n    margin-bottom: 0.5rem;\n    display: block;\n  }\n\n  \/* --- SECTION 2: VISUAL PROOF (DYNAMIC) --- *\/\n  .visual-proof-section {\n    background: var(--bg-surface);\n  }\n\n  .video-proof-container {\n    position: relative;\n    width: 100%;\n    padding-top: 56.25%;\n    background-color: #000;\n    border: 1px solid var(--border-subtle);\n    border-radius: 8px;\n    overflow: hidden;\n    box-shadow: 0 20px 40px rgba(0,0,0,0.8);\n    margin-bottom: 3rem;\n  }\n\n  .video-proof-container iframe,\n  .video-proof-container video {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    border: none;\n  }\n\n  .ape-test-wrapper {\n    text-align: center;\n  }\n\n  .ape-test-wrapper img {\n    max-width: 100%;\n    height: auto;\n    border: 1px solid var(--border-subtle);\n    border-radius: 8px;\n    box-shadow: 0 10px 30px rgba(0,0,0,0.5);\n  }\n\n  .ape-test-caption {\n    margin-top: 1rem;\n    font-size: 0.9rem;\n    color: var(--text-muted);\n    font-family: var(--font-mono);\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n  }\n\n  \/* --- SECTION 3: THE TL;DR BOX --- *\/\n  .tldr-section {\n    padding: 5rem 0;\n  }\n\n  .tldr-box {\n    background: linear-gradient(145deg, var(--bg-surface-alt) 0%, var(--bg-base) 100%);\n    border: 1px solid var(--border-focus);\n    border-radius: 12px;\n    padding: 4rem;\n    position: relative;\n    overflow: hidden;\n  }\n\n  .tldr-box::after {\n    content: '';\n    position: absolute;\n    top: -50%;\n    right: -50%;\n    width: 100%;\n    height: 100%;\n    background: radial-gradient(circle, var(--accent-glow) 0%, transparent 60%);\n    opacity: 0.1;\n    pointer-events: none;\n  }\n\n  .tldr-header {\n    margin-bottom: 3rem;\n    text-align: center;\n  }\n\n  .tldr-grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 3rem;\n  }\n\n  .tldr-item {\n    display: flex;\n    align-items: flex-start;\n    gap: 1.5rem;\n  }\n\n  .tldr-check {\n    flex-shrink: 0;\n    width: 32px;\n    height: 32px;\n    background: rgba(169, 35, 35, 0.1);\n    border: 1px solid var(--accent-primary);\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n  .tldr-check svg {\n    width: 16px;\n    height: 16px;\n    fill: var(--accent-primary);\n  }\n\n  \/* --- SECTION 4: OUTCOME-DRIVEN BENEFIT ROWS --- *\/\n  .outcomes-section {\n    padding: 2rem 0;\n  }\n\n  .outcome-row {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 4rem;\n    align-items: center;\n    margin-bottom: 6rem;\n  }\n\n  .outcome-row:nth-child(even) .outcome-text {\n    order: 2;\n  }\n\n  .outcome-row:nth-child(even) .outcome-media {\n    order: 1;\n  }\n\n  .outcome-media img {\n    width: 100%;\n    height: auto;\n    border: 1px solid var(--border-subtle);\n    border-radius: 8px;\n    box-shadow: 0 15px 35px rgba(0,0,0,0.6);\n    transition: var(--transition-smooth);\n  }\n\n  .outcome-media img:hover {\n    border-color: var(--border-focus);\n    transform: scale(1.02);\n  }\n\n  .outcome-badge {\n    display: inline-block;\n    padding: 0.35rem 0.75rem;\n    background: rgba(255,255,255,0.05);\n    border: 1px solid var(--border-subtle);\n    border-radius: 4px;\n    font-size: 0.75rem;\n    font-family: var(--font-mono);\n    color: var(--text-dim);\n    text-transform: uppercase;\n    margin-bottom: 1rem;\n    letter-spacing: 0.05em;\n  }\n\n  ul.outcome-list {\n    list-style: none;\n    margin-top: 1.5rem;\n  }\n\n  ul.outcome-list li {\n    position: relative;\n    padding-left: 1.5rem;\n    margin-bottom: 0.75rem;\n    color: var(--text-dim);\n  }\n\n  ul.outcome-list li::before {\n    content: '→';\n    position: absolute;\n    left: 0;\n    color: var(--accent-primary);\n    font-weight: bold;\n  }\n\n  \/* CONVERSION BOOSTERS *\/\n  .conversion-banner {\n    background: var(--bg-surface-alt);\n    border-top: 1px solid var(--border-subtle);\n    border-bottom: 1px solid var(--border-subtle);\n    padding: 2rem;\n    text-align: center;\n    margin: 4rem 0;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 1rem;\n  }\n\n  .conversion-banner svg {\n    width: 28px;\n    height: 28px;\n    fill: var(--accent-primary);\n  }\n\n  .conversion-banner h4 {\n    font-size: 1.25rem;\n    font-weight: 700;\n    color: var(--text-main);\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n  }\n\n  \/* --- SECTION 5 \u0026 6: ACCORDIONS (NERD VAULT \u0026 FAQ) --- *\/\n  .vault-section, .faq-section {\n    padding: 4rem 0;\n  }\n\n  .accordion-container {\n    max-width: 900px;\n    margin: 0 auto;\n  }\n\n  .accordion-item {\n    border: 1px solid var(--border-subtle);\n    background: var(--bg-surface);\n    margin-bottom: 1rem;\n    border-radius: 6px;\n    overflow: hidden;\n  }\n\n  .accordion-header {\n    width: 100%;\n    padding: 1.5rem 2rem;\n    background: transparent;\n    border: none;\n    text-align: left;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    cursor: pointer;\n    color: var(--text-main);\n    font-size: 1.125rem;\n    font-weight: 600;\n    transition: var(--transition-fast);\n  }\n\n  .accordion-header:hover {\n    background: rgba(255,255,255,0.02);\n  }\n\n  .accordion-icon {\n    width: 24px;\n    height: 24px;\n    position: relative;\n  }\n\n  .accordion-icon::before,\n  .accordion-icon::after {\n    content: '';\n    position: absolute;\n    background-color: var(--text-dim);\n    transition: var(--transition-fast);\n  }\n\n  .accordion-icon::before {\n    top: 11px;\n    left: 4px;\n    width: 16px;\n    height: 2px;\n  }\n\n  .accordion-icon::after {\n    top: 4px;\n    left: 11px;\n    width: 2px;\n    height: 16px;\n  }\n\n  .accordion-item.active .accordion-header {\n    border-bottom: 1px solid var(--border-subtle);\n  }\n\n  .accordion-item.active .accordion-icon::after {\n    transform: rotate(90deg);\n    opacity: 0;\n  }\n\n  .accordion-content {\n    max-height: 0;\n    overflow: hidden;\n    transition: max-height 0.4s ease-in-out;\n    background: var(--bg-surface-alt);\n  }\n\n  .accordion-content-inner {\n    padding: 2rem;\n    color: var(--text-dim);\n  }\n\n  .faq-category {\n    margin-top: 3rem;\n    margin-bottom: 1.5rem;\n    font-size: 1.5rem;\n    color: var(--text-main);\n    border-bottom: 2px solid var(--border-subtle);\n    padding-bottom: 0.5rem;\n    display: inline-block;\n  }\n\n  \/* SPECIFIC NERD VAULT STYLES *\/\n  .spec-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n    gap: 1.5rem;\n  }\n\n  .spec-item {\n    background: var(--bg-base);\n    padding: 1rem;\n    border: 1px solid var(--border-subtle);\n    border-radius: 4px;\n  }\n\n  .spec-item strong {\n    color: var(--text-main);\n    display: block;\n    margin-bottom: 0.25rem;\n  }\n\n  .changelog-list {\n    list-style: none;\n    font-family: var(--font-mono);\n    font-size: 0.9rem;\n  }\n\n  .changelog-list li {\n    margin-bottom: 1rem;\n    padding-bottom: 1rem;\n    border-bottom: 1px dashed var(--border-subtle);\n  }\n\n  .changelog-list li:last-child {\n    border-bottom: none;\n    margin-bottom: 0;\n    padding-bottom: 0;\n  }\n\n  .changelog-date {\n    color: var(--accent-primary);\n    margin-right: 1rem;\n  }\n\n  \/* --- SECTION 7: BOTTOM CTA (THE LOOP) --- *\/\n  .bottom-cta-section {\n    padding: 8rem 0;\n    text-align: center;\n    background: radial-gradient(circle at center, var(--bg-surface-alt) 0%, var(--bg-base) 100%);\n    border-top: 1px solid var(--border-subtle);\n  }\n\n  .bottom-cta-content {\n    max-width: 800px;\n    margin: 0 auto;\n  }\n\n  \/* --- COMPARISON TABLE OVERRIDES --- *\/\n  .asb-compare {\n    font-family: var(--font-body);\n    color: var(--text-main);\n    max-width: 1180px;\n    margin: 4rem auto;\n    padding: 0 1rem;\n  }\n  .asb-compare h2 {\n    font-size: clamp(1.5rem, 3vw, 2rem);\n    font-weight: 800;\n    margin: 0 0 .5rem;\n    letter-spacing: -.02em;\n    color: var(--text-main);\n    text-align: center;\n  }\n  .asb-compare .asb-sub {\n    color: var(--text-dim);\n    font-size: 1.1rem;\n    margin: 0 auto 2.5rem;\n    text-align: center;\n    max-width: 600px;\n  }\n  .asb-table-wrap {\n    overflow-x: auto;\n    border: 1px solid var(--border-subtle);\n    border-radius: 12px;\n    box-shadow: 0 10px 30px rgba(0,0,0,0.5);\n    background: var(--bg-surface);\n  }\n  table.asb-compare-table {\n    width: 100%;\n    border-collapse: collapse;\n    min-width: 860px;\n    background: transparent;\n  }\n  .asb-compare-table th,\n  .asb-compare-table td {\n    padding: 1rem .9rem;\n    text-align: center;\n    border-bottom: 1px solid var(--border-subtle);\n    font-size: .95rem;\n    vertical-align: middle;\n    color: var(--text-dim);\n  }\n  .asb-compare-table thead th {\n    background: var(--bg-surface-alt);\n    font-weight: 700;\n    color: var(--text-main);\n    border-bottom: 2px solid var(--border-focus);\n    position: sticky;\n    top: 0;\n  }\n  .asb-compare-table tbody th {\n    text-align: left;\n    font-weight: 600;\n    color: var(--text-main);\n    background: var(--bg-surface);\n    width: 260px;\n  }\n  .asb-compare-table tr:last-child td,\n  .asb-compare-table tr:last-child th { border-bottom: none; }\n\n  \/* Highlight our column *\/\n  .asb-us-col {\n    background: rgba(169, 35, 35, 0.05);\n    position: relative;\n  }\n  .asb-compare-table thead th.asb-us-col {\n    background: var(--accent-primary);\n    color: var(--text-main);\n    border-bottom-color: var(--accent-hover);\n  }\n  .asb-compare-table tbody td.asb-us-col {\n    font-weight: 700;\n    color: var(--text-main);\n  }\n  .asb-badge {\n    display: inline-block;\n    background: var(--bg-base);\n    color: var(--text-main);\n    font-size: .65rem;\n    font-weight: 800;\n    padding: .2rem .5rem;\n    border-radius: 999px;\n    margin-left: .5rem;\n    vertical-align: middle;\n    letter-spacing: .05em;\n    border: 1px solid rgba(255,255,255,0.1);\n  }\n\n  \/* Status Colors *\/\n  .asb-yes { color: #4ade80; font-weight: 700; } \/* Subtle dark mode green *\/\n  .asb-no  { color: #f87171; font-weight: 700; } \/* Subtle dark mode red *\/\n  .asb-mid { color: #fbbf24; font-weight: 700; } \/* Subtle dark mode amber *\/\n  .asb-note { display:block; font-size:.8rem; color:var(--text-muted); margin-top:.3rem; font-weight:400; }\n\n  .asb-foot {\n    margin-top: 1.5rem;\n    font-size: .85rem;\n    color: var(--text-muted);\n    line-height: 1.6;\n    text-align: center;\n  }\n  \n  .asb-cta {\n    margin-top: 3rem;\n    text-align: center;\n  }\n\n  \/* --- MEDIA QUERIES --- *\/\n  @media (max-width: 992px) {\n    .pas-grid {\n      grid-template-columns: 1fr;\n    }\n    .tldr-grid {\n      grid-template-columns: 1fr;\n    }\n    .outcome-row {\n      grid-template-columns: 1fr;\n      gap: 2rem;\n    }\n    .outcome-row:nth-child(even) .outcome-text {\n      order: 1;\n    }\n    .outcome-row:nth-child(even) .outcome-media {\n      order: 2;\n    }\n    .tldr-box {\n      padding: 2rem;\n    }\n  }\n\n  @media (max-width: 768px) {\n    .td-heading-1 {\n      font-size: 2rem;\n    }\n    .problem-headline {\n      font-size: 2.25rem;\n    }\n    .td-container {\n      padding: 3rem 1.5rem;\n    }\n    .btn-primary {\n      width: 100%;\n    }\n    .conversion-banner {\n      flex-direction: column;\n      text-align: center;\n    }\n    .asb-compare-table th,\n    .asb-compare-table td { padding: .75rem .6rem; font-size: .85rem; }\n    .asb-compare-table tbody th { width: 180px; }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"td-product-container\"\u003e\n\n\u003c!-- ============================================================ --\u003e\n\u003c!-- HERO: APEX EVAL PASS PROOF                                  --\u003e\n\u003c!-- ============================================================ --\u003e\n\u003csection class=\"hero-proof-section wide-layout\" style=\"background: linear-gradient(180deg, #0a0a0a 0%, #000 100%); border-bottom: 1px solid var(--border-subtle);\"\u003e\n\u003cdiv class=\"td-container\" style=\"padding-top: 5rem; padding-bottom: 5rem;\"\u003e\n\u003cdiv style=\"text-align: center; margin-bottom: 2.5rem;\"\u003e\n\u003cspan class=\"problem-eyebrow\" style=\"color: var(--accent-primary);\"\u003eLive Webinar Recording\u003c\/span\u003e\n\u003ch1 class=\"td-heading-2\" style=\"font-size: clamp(2rem, 4.5vw, 3.25rem); margin-top: 0.75rem; margin-bottom: 1rem;\"\u003eWe Used Auto Strategy Builder To Pass A Real $50K Apex Eval.\u003c\/h1\u003e\n\u003cp class=\"td-text-lead\" style=\"margin: 0 auto; font-size: 1.15rem; max-width: 780px;\"\u003eSam built a strategy from scratch in ASB and ran it for 30 days on a live Apex 50K evaluation account. The bot took every trade, no manual entries. Sam re-optimized once a weekend (a few minutes' work) so the strategy kept up with market conditions. Account passed. Here is the full walkthrough.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"video-proof-container\" style=\"max-width: 960px; margin: 0 auto 2rem auto;\"\u003e\n\u003ciframe title=\"Sam passes Apex 50K eval with Auto Strategy Builder (live webinar)\" src=\"https:\/\/www.youtube.com\/embed\/BKqpsjq-C0s?rel=0\u0026amp;modestbranding=1\" style=\"width: 100%; aspect-ratio: 16\/9; border: 1px solid var(--border-subtle); border-radius: 8px;\" allowfullscreen\u003e\u003c\/iframe\u003e\n\u003c\/div\u003e\n\n\u003cdiv style=\"max-width: 960px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem;\"\u003e\n\u003cdiv style=\"background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 8px; padding: 1.25rem;\"\u003e\n\u003cdiv style=\"color: var(--accent-primary); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.5rem;\"\u003eAccount\u003c\/div\u003e\n\u003cdiv style=\"font-size: 1.05rem; font-weight: 600; color: var(--text-main);\"\u003eApex 50K Eval\u003c\/div\u003e\n\u003cdiv style=\"font-size: 0.85rem; color: var(--text-dim); margin-top: 0.25rem;\"\u003eLive funded-firm account, real rules\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 8px; padding: 1.25rem;\"\u003e\n\u003cdiv style=\"color: var(--accent-primary); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.5rem;\"\u003eDuration\u003c\/div\u003e\n\u003cdiv style=\"font-size: 1.05rem; font-weight: 600; color: var(--text-main);\"\u003e30 days\u003c\/div\u003e\n\u003cdiv style=\"font-size: 0.85rem; color: var(--text-dim); margin-top: 0.25rem;\"\u003eWeekend re-optimization (a few mins), bot trades the rest\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 8px; padding: 1.25rem;\"\u003e\n\u003cdiv style=\"color: var(--accent-primary); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.5rem;\"\u003eCoding required\u003c\/div\u003e\n\u003cdiv style=\"font-size: 1.05rem; font-weight: 600; color: var(--text-main);\"\u003eZero lines\u003c\/div\u003e\n\u003cdiv style=\"font-size: 0.85rem; color: var(--text-dim); margin-top: 0.25rem;\"\u003eStrategy generated and exported by ASB\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 8px; padding: 1.25rem;\"\u003e\n\u003cdiv style=\"color: #4ade80; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.5rem;\"\u003eResult\u003c\/div\u003e\n\u003cdiv style=\"font-size: 1.05rem; font-weight: 600; color: var(--text-main);\"\u003eEval passed\u003c\/div\u003e\n\u003cdiv style=\"font-size: 0.85rem; color: var(--text-dim); margin-top: 0.25rem;\"\u003eFunded account triggered\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv style=\"max-width: 760px; margin: 2.5rem auto 0 auto; background: var(--bg-surface); border-left: 3px solid var(--accent-primary); border-radius: 4px; padding: 1.5rem 1.75rem;\"\u003e\n\u003cp style=\"font-size: 1.05rem; color: var(--text-main); line-height: 1.6; margin: 0 0 0.75rem 0; font-style: italic;\"\u003e\"I had blown three evals in a row hesitating on entries. I built one strategy in ASB, set the weekly re-opt, and just let it run. No screen time, no tilt. Funded in 30 days.\"\u003c\/p\u003e\n\u003cp style=\"font-size: 0.9rem; color: var(--text-dim); margin: 0;\"\u003e\u003cstrong style=\"color: var(--text-main);\"\u003eSam\u003c\/strong\u003e, co-founder, TradeDevils\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv style=\"text-align: center; margin-top: 2.5rem;\"\u003e\n\u003cdiv class=\"cta-button-row\"\u003e\n\u003ca class=\"btn-primary\" href=\"https:\/\/tradedevils-indicators.com\/pages\/free-trial\"\u003eStart your 7-day trial\u003c\/a\u003e\n\u003ca class=\"btn-secondary\" href=\"https:\/\/tradedevils-indicators.com\/pages\/auto-strategy-builder-full-documentation\" target=\"_blank\" rel=\"noopener\"\u003eRead the full documentation\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cp style=\"font-size: 0.85rem; color: var(--text-muted); margin-top: 0.75rem;\"\u003eWatch the full webinar above before you commit. No credit card to trial.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"problem-section\"\u003e\n\u003cdiv class=\"td-container\"\u003e\n\u003cspan class=\"problem-eyebrow\"\u003eWhy this exists\u003c\/span\u003e\n\u003ch2 class=\"problem-headline\"\u003eMost evals get blown by the trader, not the strategy.\u003c\/h2\u003e\n\u003cp class=\"problem-text\"\u003eYou find a setup that looks profitable. You scroll back two weeks, count winners, convince yourself it's an edge. You take it live, hesitate on the first entry, miss the overnight move, take the revenge trade after a loss, and bleed the account. The strategy wasn't bad. The hands on the mouse were the bottleneck.\u003c\/p\u003e\n\u003cp class=\"problem-text\"\u003eAuto Strategy Builder removes those hands. You point it at any indicator you already trust, it builds and stress-tests thousands of rule combinations, kills the fragile ones, and exports a native NinjaScript bot that runs the result for you. No coding, no babysitting fills, no revenge trades at 2 a.m.\u003c\/p\u003e\n\u003cp class=\"problem-text\"\u003eThere's also a second way evals die: the strategy was fine, but the firm's rules killed it. A trailing drawdown that locks at balance, a consistency cap that penalizes one big winner, an EOD flatten you forgot to wire. As of v1.2.6.6, you tell ASB which firm and account you're on and the optimizer rejects anything that would have blown those rules. The leaderboard you see is the leaderboard you can actually trade.\u003c\/p\u003e\n\u003cp class=\"problem-text\"\u003eThat is what Sam used to pass the Apex eval above. The full process is in the recording.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"pas-section\"\u003e\n\u003cdiv class=\"td-container\"\u003e\n\u003cdiv class=\"pas-header\"\u003e\n\u003ch2 class=\"td-heading-1\"\u003eWhy hand-tuning indicators rarely holds up live.\u003c\/h2\u003e\n\u003cp class=\"td-text-lead\" style=\"margin: 0 auto;\"\u003eThe settings that look perfect on yesterday's chart usually break by next month. Three reasons that happens, and what ASB does about each.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pas-grid\"\u003e\n\u003cdiv class=\"pas-card\"\u003e\n\u003cdiv class=\"pas-icon-wrap\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n              \u003cpath d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"\u003e\u003c\/path\u003e\n            \u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3 class=\"td-heading-3\"\u003eYou can't test enough\u003c\/h3\u003e\n\u003cp class=\"td-text-body\"\u003eA real edge needs thousands of parameter combinations across years of data, then validated on data the optimizer never saw. Doing that by eye on a chart is impossible. ASB does 40,000 combinations in roughly 10 minutes on a normal laptop.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pas-card\"\u003e\n\u003cdiv class=\"pas-icon-wrap\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n              \u003cpolyline points=\"22 12 18 12 15 21 9 3 6 12 2 12\"\u003e\u003c\/polyline\u003e\n            \u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3 class=\"td-heading-3\"\u003eYou curve-fit without knowing it\u003c\/h3\u003e\n\u003cp class=\"td-text-body\"\u003eSettings that look perfect for the last 30 days usually break in week two of live trading. ASB runs walk-forward analysis (train on the first part of history, test on data the optimizer never touched) and Monte Carlo (shuffle trade order, add random slippage) so you find this out before you risk capital, not after.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pas-card\"\u003e\n\u003cdiv class=\"pas-icon-wrap\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n              \u003ccircle cx=\"12\" cy=\"12\" r=\"10\"\u003e\u003c\/circle\u003e\n              \u003cline x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\u003e\u003c\/line\u003e\n              \u003cline x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\u003e\u003c\/line\u003e\n            \u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3 class=\"td-heading-3\"\u003eYou can't tell fragile from real\u003c\/h3\u003e\n\u003cp class=\"td-text-body\"\u003eIf your strategy breaks when you change a 20 EMA to a 22 EMA, it was never an edge. ASB shifts every parameter by plus\/minus 25 percent across 20 variations and gives you a Rock-Solid to Fragile score. Only the robust ones survive to the export step.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"visual-proof-section wide-layout\"\u003e\n\u003cdiv class=\"td-container\"\u003e\n\u003ch2 class=\"td-heading-2\" style=\"text-align: center; margin-bottom: 3rem;\"\u003eBuild, test, and deploy without writing a line of code.\u003c\/h2\u003e\n\u003cdiv class=\"video-proof-container\"\u003e\u003ciframe title=\"Auto Strategy Builder product demo\" src=\"https:\/\/www.youtube.com\/embed\/bMAQK3A0Hjk?autoplay=0\u0026amp;loop=0\u0026amp;mute=0\u0026amp;controls=1\u0026amp;enablejsapi=1\u0026amp;rel=0\u0026amp;modestbranding=1\"\u003e\u003c\/iframe\u003e\u003c\/div\u003e\n\u003cdiv class=\"ape-test-wrapper\"\u003e\n\u003cimg alt=\"Auto Strategy Builder leaderboard and equity curves\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6286\/3047\/files\/strat1_c49ab593-93da-4cc4-933e-3a38bf352974.png\" loading=\"lazy\"\u003e\n\u003cp class=\"ape-test-caption\"\u003eStrategy leaderboard and equity curves, generated by ASB in one run.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"outcomes-section\"\u003e\n\u003cdiv class=\"td-container\"\u003e\n\u003cdiv class=\"outcome-row\"\u003e\n\u003cdiv class=\"outcome-media\"\u003e\u003cimg alt=\"Leaderboard showing ranked strategies generated by the builder\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6286\/3047\/files\/leaderboard.png\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"outcome-text\"\u003e\n\u003cspan class=\"outcome-badge\"\u003eGenetic Algorithm Engine\u003c\/span\u003e\n\u003ch2 class=\"td-heading-2\"\u003eWorks with any indicator you already own.\u003c\/h2\u003e\n\u003cp class=\"td-text-body\"\u003eIf it loads in NinjaTrader, ASB can use it. EMA, MACD, your favorite paid order-flow tool, an indicator your developer wrote you two years ago. It reads the plots, tests thousands of entry and exit combinations against the data, and ranks the survivors on a leaderboard.\u003c\/p\u003e\n\u003cul class=\"outcome-list\"\u003e\n\u003cli\u003eBuilt-in, custom, and third-party NT8 indicators.\u003c\/li\u003e\n\u003cli\u003eTriggers on specific plot values (lines, dots, bands).\u003c\/li\u003e\n\u003cli\u003eUp to 40,000 rule variations per run, finished in minutes.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"wide-layout\"\u003e\n\u003cdiv class=\"td-container\" style=\"padding-top: 0; padding-bottom: 0;\"\u003e\n\u003cdiv class=\"conversion-banner\"\u003e\n\u003csvg viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n\u003ch4\u003eTry it for 7 days. No credit card, no auto-renew, full feature access.\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"outcome-row\"\u003e\n\u003cdiv class=\"outcome-text\"\u003e\n\u003cspan class=\"outcome-badge\"\u003eDynamic Strategy Profiles\u003c\/span\u003e\n\u003ch2 class=\"td-heading-2\"\u003eTell it what kind of trader you want the bot to be.\u003c\/h2\u003e\n\u003cp class=\"td-text-body\"\u003ePick a behavioral profile before you run the optimizer and ASB constrains the rules to match. Useful when you already know your risk tolerance and how often you want the bot in the market.\u003c\/p\u003e\n\u003cul class=\"outcome-list\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eTrend following:\u003c\/strong\u003e larger wins, wider trailing stops, fewer trades.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMean reversion:\u003c\/strong\u003e high win-rate snap-back trades, tighter targets.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eScalping:\u003c\/strong\u003e short hold times, lots of trades, small targets and tight stops.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"outcome-media\"\u003e\u003cimg alt=\"Auto Strategy Builder interface showing strategy selection\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6286\/3047\/files\/strat1_c49ab593-93da-4cc4-933e-3a38bf352974.png\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"outcome-row\"\u003e\n\u003cdiv class=\"outcome-media\"\u003e\u003ciframe style=\"width: 100%; aspect-ratio: 16\/9; border: 1px solid var(--border-subtle); border-radius: 8px;\" title=\"NinjaScript Export Overview\" src=\"https:\/\/www.youtube.com\/embed\/xQVH7oIJWnw?autoplay=0\u0026amp;loop=0\u0026amp;mute=0\u0026amp;controls=1\u0026amp;enablejsapi=1\u0026amp;rel=0\u0026amp;modestbranding=1\"\u003e\u003c\/iframe\u003e\u003c\/div\u003e\n\u003cdiv class=\"outcome-text\"\u003e\n\u003cspan class=\"outcome-badge\"\u003eOne-click NinjaScript export\u003c\/span\u003e\n\u003ch2 class=\"td-heading-2\"\u003eFrom leaderboard to live in one click.\u003c\/h2\u003e\n\u003cp class=\"td-text-body\"\u003eWhen you've picked a strategy, ASB writes it as a native NinjaScript file. You don't get a black-box plugin or an obfuscated wrapper. You get a real, readable C# strategy you can drop on a chart, run in the strategy analyzer, or hand to a developer if you want to tweak it.\u003c\/p\u003e\n\u003cul class=\"outcome-list\"\u003e\n\u003cli\u003eClean, readable, execution-ready NinjaScript.\u003c\/li\u003e\n\u003cli\u003eSession timing and prop-firm trade rules handled automatically.\u003c\/li\u003e\n\u003cli\u003eYou own the code. Cancel your subscription, the strategies you generated still run.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"outcome-row\"\u003e\n\u003cdiv class=\"outcome-text\"\u003e\n\u003cspan class=\"outcome-badge\" style=\"background: var(--accent-primary); color: #fff;\"\u003eNEW v1.2.6.6\u003c\/span\u003e\n\u003ch2 class=\"td-heading-2\"\u003eThe strategy passed every backtest. Then the trailing drawdown killed you.\u003c\/h2\u003e\n\u003cp class=\"td-text-body\"\u003eYou found something that looked clean. Sharpe was good, Monte Carlo was green, equity curve climbed. You loaded it on your Apex 50K and on day two a normal losing afternoon dragged the trail to balance and the account was done. The strategy wasn't the problem. The firm's rules were never in the fitness function.\u003c\/p\u003e\n\u003cp class=\"td-text-body\"\u003eTell ASB which firm and which account size you're trading. The optimizer stops chasing pretty equity curves and starts rejecting anything that would have busted you on the actual rules: trailing drawdown, daily loss limit, consistency rule, EOD flatten, contract caps, automation policy. The leaderboard you read is the leaderboard you can actually trade.\u003c\/p\u003e\n\u003cul class=\"outcome-list\"\u003e\n\u003cli\u003eWorks with Apex, Topstep \/ TopstepX, MyFundedFutures, Bulenox, Tradeify, TradeDay, and 9 more, all account sizes, rules refreshed as the firms update them.\u003c\/li\u003e\n\u003cli\u003eSame firm-aware optimization is wired into ASP's ATM tuner. The strategy you trust keeps trusting itself when you move it to a different funded account.\u003c\/li\u003e\n\u003cli\u003eStop building strategies that beat the market and lose to the rulebook.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"outcome-media\"\u003e\u003cimg alt=\"Prop Firm Mode dialog showing firm and account selection\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6286\/3047\/files\/strat2_c77d0e5b-692a-44b6-a412-2f2ff9358709.png\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"asb-compare\" aria-label=\"Auto strategy builder comparison\"\u003e\n  \u003ch2\u003eHow Auto Strategy Builder Compares\u003c\/h2\u003e\n  \u003cp class=\"asb-sub\"\u003eA side-by-side look at the most popular auto\/visual strategy tools for NinjaTrader traders.\u003c\/p\u003e\n\n  \u003cdiv class=\"asb-table-wrap\"\u003e\n    \u003ctable class=\"asb-compare-table\"\u003e\n      \u003cthead\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"col\"\u003eCapability\u003c\/th\u003e\n          \u003cth scope=\"col\" class=\"asb-us-col\"\u003e\n            Auto Strategy Builder\n            \u003cspan class=\"asb-badge\"\u003eOURS\u003c\/span\u003e\n          \u003c\/th\u003e\n          \u003cth scope=\"col\"\u003eNinza Strategy Builder\u003c\/th\u003e\n          \u003cth scope=\"col\"\u003eBloodhound \/ Blackbird\u003c\/th\u003e\n          \u003cth scope=\"col\"\u003eStrategyQuant X\u003c\/th\u003e\n          \u003cth scope=\"col\"\u003eBuild Alpha\u003c\/th\u003e\n          \u003cth scope=\"col\"\u003eNinjaTrader Strategy Builder\u003c\/th\u003e\n        \u003c\/tr\u003e\n      \u003c\/thead\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eRuns natively inside NinjaTrader 8\u003c\/th\u003e\n          \u003ctd class=\"asb-us-col\"\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\n\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eStandalone desktop app\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\n\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eStandalone desktop app\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eAuto-generates strategies (Genetic Algorithm)\u003c\/th\u003e\n          \u003ctd class=\"asb-us-col\"\u003e\n\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eUp to 40,000 combos in ~10 min\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\n\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eManual rule builder\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\n\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eVisual logic designer, not auto-gen\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr style=\"background: rgba(169, 35, 35, 0.08);\"\u003e\n          \u003cth scope=\"row\" style=\"background: rgba(169, 35, 35, 0.08);\"\u003e\n            Rejects strategies that would blow your prop firm's rules\n            \u003cspan style=\"display: inline-block; background: var(--accent-primary); color: #fff; font-size: 0.65rem; font-weight: 800; padding: 0.15rem 0.45rem; border-radius: 4px; margin-left: 0.5rem; vertical-align: middle; letter-spacing: 0.05em;\"\u003eONLY ON ASB\u003c\/span\u003e\n          \u003c\/th\u003e\n          \u003ctd class=\"asb-us-col\"\u003e\n\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003e15 firms (Apex, Topstep, MFF, Bulenox, Tradeify, TradeDay, +9 more). Trailing DD, daily loss, consistency rule, EOD flatten, contract caps, automation policy — all enforced in the GA, and rechecked against every Monte Carlo permutation so a single reshuffle that breaches survival rules fails the candidate.\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\n\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eGeneric risk filters, no firm-specific rules\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\n\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eGeneric risk filters, no firm-specific rules\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eWalk-Forward Analysis\u003c\/th\u003e\n          \u003ctd class=\"asb-us-col\"\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eMonte Carlo robustness testing\u003c\/th\u003e\n          \u003ctd class=\"asb-us-col\"\u003e\n\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003e8-metric 0–100 dashboard\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr style=\"background: rgba(169, 35, 35, 0.08);\"\u003e\n          \u003cth scope=\"row\" style=\"background: rgba(169, 35, 35, 0.08);\"\u003e\n            Selection-bias filter (Vs-Random edge test)\n            \u003cspan style=\"display: inline-block; background: var(--accent-primary); color: #fff; font-size: 0.65rem; font-weight: 800; padding: 0.15rem 0.45rem; border-radius: 4px; margin-left: 0.5rem; vertical-align: middle; letter-spacing: 0.05em;\"\u003eONLY ON ASB\u003c\/span\u003e\n          \u003c\/th\u003e\n          \u003ctd class=\"asb-us-col\"\u003e\n\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003e500 same-risk random strategies per candidate, real must beat the top 20% to survive. Rejection, not a report.\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\n\u003cspan class=\"asb-mid\"\u003ePartial\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eStatistical reporting, not a rejection gate\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\n\u003cspan class=\"asb-mid\"\u003ePartial\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eStatistical reporting, not a rejection gate\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eParameter stress test (±25% shift)\u003c\/th\u003e\n          \u003ctd class=\"asb-us-col\"\u003e\n\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eRock-Solid → Fragile scoring\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\n\u003cspan class=\"asb-mid\"\u003ePartial\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eVia optimizer, manual setup\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eOut-of-sample incubation period\u003c\/th\u003e\n          \u003ctd class=\"asb-us-col\"\u003e\n\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eUnseen data held out by default\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-mid\"\u003ePartial\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eStyle-based generation (trend \/ mean-reversion \/ scalping)\u003c\/th\u003e\n          \u003ctd class=\"asb-us-col\"\u003e\n\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eBehavioral scoring per style\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eWorks with any NinjaTrader indicator (built-in, custom, 3rd-party)\u003c\/th\u003e\n          \u003ctd class=\"asb-us-col\"\u003e\n\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eAuto-detects params \u0026amp; plots\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-mid\"\u003ePartial\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\n\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eIts own indicator library\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\n\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eIts own signal library\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eExports NinjaScript (C#) ready for live trading\u003c\/th\u003e\n          \u003ctd class=\"asb-us-col\"\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\n\u003cspan class=\"asb-mid\"\u003ePartial\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eVia plugin, often rewrite needed\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-mid\"\u003ePartial\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr style=\"background: rgba(169, 35, 35, 0.08);\"\u003e\n          \u003cth scope=\"row\" style=\"background: rgba(169, 35, 35, 0.08);\"\u003e\n            Built-in news-event blackout in exported strategies\n            \u003cspan style=\"display: inline-block; background: var(--accent-primary); color: #fff; font-size: 0.65rem; font-weight: 800; padding: 0.15rem 0.45rem; border-radius: 4px; margin-left: 0.5rem; vertical-align: middle; letter-spacing: 0.05em;\"\u003eONLY ON ASB\u003c\/span\u003e\n          \u003c\/th\u003e\n          \u003ctd class=\"asb-us-col\"\u003e\n\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eAuto-skips entries around scheduled high-impact news, configurable window before and after. Critical for prop firm accounts that prohibit news trading. Baked into the exported .cs — no external dependencies.\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\n\u003cspan class=\"asb-mid\"\u003ePartial\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eNews filter in their app, not in the NinjaScript export\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\n\u003cspan class=\"asb-mid\"\u003ePartial\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eNews filter in their app, not in the NinjaScript export\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003e11 optimization metrics (Sharpe, Sortino, MAR, K-Ratio, …)\u003c\/th\u003e\n          \u003ctd class=\"asb-us-col\"\u003e\n\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eCustom weighted combos\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-mid\"\u003ePartial\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eAutomatic overfitting \/ quality filters\u003c\/th\u003e\n          \u003ctd class=\"asb-us-col\"\u003e\n\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eOOS\/IS ratio, WF variance, duplicate detection\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-no\"\u003eNo\u003c\/span\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eNo-code interface\u003c\/th\u003e\n          \u003ctd class=\"asb-us-col\"\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-yes\"\u003eYes\u003c\/span\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eLearning curve\u003c\/th\u003e\n          \u003ctd class=\"asb-us-col\"\u003e\n\u003cspan class=\"asb-yes\"\u003eLow\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003ePick indicators, click Start\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-mid\"\u003eMedium\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\n\u003cspan class=\"asb-mid\"\u003eHigh\u003c\/span\u003e\u003cspan class=\"asb-note\"\u003eNode-graph logic\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-mid\"\u003eHigh\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-mid\"\u003eHigh\u003c\/span\u003e\u003c\/td\u003e\n          \u003ctd\u003e\u003cspan class=\"asb-mid\"\u003eMedium\u003c\/span\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003ePricing\u003c\/th\u003e\n          \u003ctd class=\"asb-us-col\"\u003e\n\u003cstrong\u003e$149 \/ month\u003c\/strong\u003e\u003cspan class=\"asb-note\"\u003eCancel anytime\u003c\/span\u003e\n\u003c\/td\u003e\n          \u003ctd\u003e~$400 one-time\u003c\/td\u003e\n          \u003ctd\u003e~$800–$1,200 + add-ons\u003c\/td\u003e\n          \u003ctd\u003e~$990–$3,990\u003c\/td\u003e\n          \u003ctd\u003e~$2,499–$3,999\u003c\/td\u003e\n          \u003ctd\u003eFree with NT8\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003cp class=\"asb-foot\"\u003e\n    Comparison reflects publicly documented features at time of writing. Pricing for third-party products is approximate and may change. Check vendor sites for current figures. Trademarks belong to their respective owners.\n  \u003c\/p\u003e\n\n\u003c\/section\u003e\n\n\u003csection class=\"pas-section\" style=\"background: var(--bg-surface); border-top: 1px solid var(--border-subtle); border-bottom: 1px solid var(--border-subtle);\"\u003e\n\u003cdiv class=\"td-container\"\u003e\n\u003cdiv class=\"pas-header\"\u003e\n\u003cspan class=\"problem-eyebrow\"\u003eBuilt for robustness, not for screenshots\u003c\/span\u003e\n\u003ch2 class=\"td-heading-1\"\u003eOther builders ship the best-looking backtest. ASB ships the one that survives.\u003c\/h2\u003e\n\u003cp class=\"td-text-lead\" style=\"margin: 1rem auto 0 auto;\"\u003eStrategy generators are not new. SQX, Build Alpha and EA Studio have been around for years and they do real work. Where ASB is different: we treat robustness as a hard rejection gate, not as an optional report you read after the fact. If a candidate strategy can't pass these checks, you never see it on the leaderboard.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pas-grid\"\u003e\n\u003cdiv class=\"pas-card\"\u003e\n\u003cdiv class=\"pas-icon-wrap\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n  \u003cpath d=\"M3 3v18h18\"\u003e\u003c\/path\u003e\n  \u003cpath d=\"M7 14l4-4 4 4 5-5\"\u003e\u003c\/path\u003e\n\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3 class=\"td-heading-3\"\u003eWalk-forward, not just backtest\u003c\/h3\u003e\n\u003cp class=\"td-text-body\"\u003eEvery candidate is trained on one slice of history and then tested on a slice the optimizer never saw. If it only worked on the data it learned from, it gets rejected. No exceptions, no manual override.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pas-card\"\u003e\n\u003cdiv class=\"pas-icon-wrap\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n  \u003cpolyline points=\"20 12 4 12\"\u003e\u003c\/polyline\u003e\n  \u003cpolyline points=\"8 8 4 12 8 16\"\u003e\u003c\/polyline\u003e\n  \u003cpolyline points=\"16 16 20 12 16 8\"\u003e\u003c\/polyline\u003e\n\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3 class=\"td-heading-3\"\u003eMonte Carlo trade shuffling\u003c\/h3\u003e\n\u003cp class=\"td-text-body\"\u003eRun the same trades in a different order with random slippage and the equity curve has to still hold up. This catches strategies that only profited because the wins happened to land before the losses.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pas-card\"\u003e\n\u003cdiv class=\"pas-icon-wrap\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n  \u003ccircle cx=\"12\" cy=\"12\" r=\"3\"\u003e\u003c\/circle\u003e\n  \u003cpath d=\"M12 2v4M12 18v4M2 12h4M18 12h4M5 5l3 3M16 16l3 3M19 5l-3 3M8 16l-3 3\"\u003e\u003c\/path\u003e\n\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3 class=\"td-heading-3\"\u003eParameter stress, plus or minus 25%\u003c\/h3\u003e\n\u003cp class=\"td-text-body\"\u003eEvery input gets shifted by up to 25 percent across 20 variations. If a 20 EMA only works as a 20 EMA, the strategy was never an edge, it was a coincidence. Fragile candidates are flagged and dropped before export.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pas-card\"\u003e\n\u003cdiv class=\"pas-icon-wrap\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n  \u003crect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"\u003e\u003c\/rect\u003e\n  \u003cline x1=\"15\" y1=\"3\" x2=\"15\" y2=\"21\"\u003e\u003c\/line\u003e\n  \u003cpath d=\"M18 8l-2 4 2 4\"\u003e\u003c\/path\u003e\n\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3 class=\"td-heading-3\"\u003eOut-of-sample incubation lock\u003c\/h3\u003e\n\u003cp class=\"td-text-body\"\u003eYou can ring-fence the most recent slice of data (typically the last 10 percent) so the optimizer literally cannot touch it. The bot then has to perform on that untouched window before it gets approved as a finalist.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pas-card\"\u003e\n\u003cdiv class=\"pas-icon-wrap\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n  \u003cpath d=\"M12 2l3 6 6 .9-4.5 4.3 1.1 6.3L12 16.8 6.4 19.5l1.1-6.3L3 8.9 9 8z\"\u003e\u003c\/path\u003e\n\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3 class=\"td-heading-3\"\u003eGolden Ticket Score\u003c\/h3\u003e\n\u003cp class=\"td-text-body\"\u003eA composite robustness score that combines mean return, performance versus buy-and-hold, equity-curve linearity (R-squared), and downside deviation, multiplicatively. If any one component is bad, the whole score collapses to zero. Lucky outlier trades, lumpy equity curves, or strategies that can't even beat sitting in the index all get caught here.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pas-card\"\u003e\n\u003cdiv class=\"pas-icon-wrap\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n  \u003ccircle cx=\"9\" cy=\"9\" r=\"4\"\u003e\u003c\/circle\u003e\n  \u003ccircle cx=\"15\" cy=\"15\" r=\"4\"\u003e\u003c\/circle\u003e\n  \u003cline x1=\"3\" y1=\"3\" x2=\"21\" y2=\"21\"\u003e\u003c\/line\u003e\n\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3 class=\"td-heading-3\"\u003eDuplicate strategy penalty\u003c\/h3\u003e\n\u003cp class=\"td-text-body\"\u003eEvery candidate's daily equity curve is correlated against everything already on the leaderboard. If the correlation crosses 70 percent, fitness is penalized up to 30 percent. The leaderboard ends up with genuinely different edges instead of twenty mutations of the same strategy with slightly tweaked lookbacks.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pas-card\"\u003e\n\u003cdiv class=\"pas-icon-wrap\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n  \u003cpath d=\"M12 2v6M12 22v-6\"\u003e\u003c\/path\u003e\n  \u003ccircle cx=\"12\" cy=\"12\" r=\"3\"\u003e\u003c\/circle\u003e\n  \u003cpath d=\"M4 12l4 0M16 12l4 0M5.6 5.6l2.8 2.8M15.6 15.6l2.8 2.8M5.6 18.4l2.8-2.8M15.6 8.4l2.8-2.8\"\u003e\u003c\/path\u003e\n\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3 class=\"td-heading-3\"\u003eVs-Random edge test\u003c\/h3\u003e\n\u003cp class=\"td-text-body\"\u003eFor every candidate we generate 500 synthetic \"random\" strategies with the same trade sizes but random direction. The real strategy has to land in the top 20 percent of that distribution to survive. If it can't beat a coin flip with its own risk profile, it gets cut. Catches the curves that look like edge but are statistically noise.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"pas-card\"\u003e\n\u003cdiv class=\"pas-icon-wrap\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n  \u003cpath d=\"M12 22s-8-5-8-12a8 8 0 0 1 16 0c0 7-8 12-8 12z\"\u003e\u003c\/path\u003e\n  \u003ccircle cx=\"12\" cy=\"10\" r=\"3\"\u003e\u003c\/circle\u003e\n\u003c\/svg\u003e\u003c\/div\u003e\n\u003ch3 class=\"td-heading-3\"\u003eProp firm rules vs every Monte Carlo path\u003c\/h3\u003e\n\u003cp class=\"td-text-body\"\u003eThe prop firm survival check doesn't just run on one trade order. It re-runs on every Monte Carlo permutation. A single trailing-drawdown or daily-loss breach in any reshuffled run flips the candidate to fail. So the leaderboard only contains strategies that survive the firm's rules across every plausible sequence the live market could throw at them, not just the lucky historical one.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"td-text-body\" style=\"text-align: center; margin: 2.5rem auto 0 auto; max-width: 720px; color: var(--text-dim);\"\u003eA strategy must pass \u003cstrong style=\"color: var(--text-main);\"\u003eevery one of these\u003c\/strong\u003e before it shows up on the leaderboard. If it doesn't, you never see it. That isn't gatekeeping. It's the whole point of building strategies you can actually risk capital on.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"vault-section wide-layout\"\u003e\n\u003cdiv class=\"td-container\"\u003e\n\u003ch2 class=\"td-heading-2\" style=\"text-align: center; margin-bottom: 1rem;\"\u003eThe Nerd Vault\u003c\/h2\u003e\n\u003cp class=\"td-text-lead\" style=\"margin: 0 auto 1.5rem auto; text-align: center;\"\u003eWant every parameter, every metric, every option spelled out?\u003c\/p\u003e\n\u003cdiv style=\"text-align: center; margin-bottom: 3rem;\"\u003e\n\u003ca class=\"btn-secondary\" href=\"https:\/\/tradedevils-indicators.com\/pages\/auto-strategy-builder-full-documentation\" target=\"_blank\" rel=\"noopener\"\u003eRead the full documentation\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-container\" id=\"vault-accordions\"\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eAutomated Validation Metrics\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003e\n\u003cp class=\"td-text-body\" style=\"margin-bottom: 1.5rem;\"\u003eThe Auto Strategy Builder doesn't just run simple backtests. It utilizes computational stress testing to programmatically quantify edge stability.\u003c\/p\u003e\n\u003cul class=\"outcome-list\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eWalk-Forward Analysis (WFA):\u003c\/strong\u003e Slices historical data into discrete training and testing windows, ensuring the generated logic works on \"blind\" Out-Of-Sample (OOS) data before rendering a positive score.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMonte Carlo Sequence Randomization:\u003c\/strong\u003e Runs hundreds of simulations shuffling the precise order of winning and losing trades, proving that account survival isn't dependent on a mathematically \"lucky\" sequence.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eParameter Stress Distribution:\u003c\/strong\u003e Shifts every optimized input variable by +\/- 25% simultaneously. If the profit curve collapses, the strategy is flagged as curve-fit and instantly rejected.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIncubation Isolation:\u003c\/strong\u003e Optionally locks the most recent percentage of market data (e.g., 10%) as a final, untouchable proving ground for the generated bot.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eVersion Changelog\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003e\n\u003cul class=\"changelog-list\"\u003e\n\u003cli\u003e\n\u003cspan class=\"changelog-date\"\u003ev1.3.0.0\u003c\/span\u003e \u003cstrong\u003e(Latest)\u003c\/strong\u003e\n\u003cul\u003e\n\u003cli\u003eNew Half-Hour PnL tab for every leaderboard strategy: 48 columns covering 00:00 to 23:30, green for profit and red for loss, so you can see which half-hour windows your strategy actually makes money in.\u003c\/li\u003e\n\u003cli\u003eNews blackout filter on every exported strategy: skip entries around scheduled high-impact news events, with a configurable window before and after. Stops your deployed strategies from getting chopped up by news-driven volatility.\u003c\/li\u003e\n\u003cli\u003eVs-Random filter: each candidate is now tested against random strategies with the same risk profile. Only strategies with a real, measurable edge over noise make the leaderboard, so lucky-looking equity curves that won't replicate live get filtered out before you ever see them.\u003c\/li\u003e\n\u003cli\u003eProp Firm verdict now checked against every Monte Carlo permutation, not just the baseline run. A single survival-rule breach (trailing drawdown, daily loss limit) in any permutation flips the candidate to fail, so the leaderboard only contains strategies that survive prop firm rules across the full distribution of plausible trade orderings.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eUnderwater chart\u003c\/strong\u003e — how deep and how long the equity sat below its highest point. Critical for prop firm trailing-drawdown accounts: catches strategies that look profitable overall but spend weeks at a time in a deep hole.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWalk-Forward Efficiency chart\u003c\/strong\u003e — side-by-side IS vs OOS profit factor per window. Instantly see which training windows held up on unseen data (green) and which collapsed (red), without reading three pages of metrics.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRolling Sharpe + Profit Factor charts\u003c\/strong\u003e — 30-trade sliding window of both metrics across the strategy's lifetime. A trending-down line means the edge died mid-period even if the aggregate numbers still look fine.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTrade P\u0026amp;L Histogram\u003c\/strong\u003e — distribution of per-trade profits. A broad mound = many small wins (robust). A tall spike at the right = one or two giant trades carried everything (fragile).\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVs-Random Fan chart\u003c\/strong\u003e — your equity drawn on top of the percentile bands of 500 fake strategies with the same trade sizes but random direction. Above the blue band = a real edge; inside it = indistinguishable from luck.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCalendar Heatmap\u003c\/strong\u003e — PnL grouped by weekday and hour. Spots concentrated edges (\"all the profit is Tuesday morning\") that decay fast once the regime shifts.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMAE\/MFE Scatter\u003c\/strong\u003e — per-trade max pain vs max gain before exit. Green dots in the upper-left = you let winners run and cut losers fast. Lots of dots near the stop = stops parked in the noise.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eStrategy Correlation chart\u003c\/strong\u003e — Pearson correlation between the selected strategy and every other leaderboard entry. Low bars = unique diversifier. Tall bars = you have duplicates in your top 100.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePlain-English grades on every new chart\u003c\/strong\u003e — each of the eight new charts now shows a Poor → Outstanding rating with a one-line interpretation of the numbers, using the same color scale as the existing Monte Carlo and Parameter Stress Test charts. No quant background needed to read them.\u003c\/li\u003e\n\u003cli\u003eEnd-of-session boundary fix: trades held to session close no longer mis-stamp into the wrong half-hour bucket.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"changelog-date\"\u003ev1.2.6.6\u003c\/span\u003e - Prop Firm Mode: pick your firm and account size, the optimizer rejects anything that would have busted the trailing drawdown, daily loss limit, consistency rule, EOD flatten or contract cap. 15 firms covered (Apex, Topstep, MFF, Bulenox, Tradeify, TradeDay and more), all account sizes, kept current as the firms change rules. Same engine wired into the ASP ATM Optimizer. Also: long optimization runs no longer leak memory across generations.\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"changelog-date\"\u003ev1.2.6.0\u003c\/span\u003e - Added Parameter Stress Test to catch curve-fitting. Implemented Leaderboard filtering, advanced Enum parameter support, and 2.5x faster generation via Pre-sampling optimization.\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"changelog-date\"\u003ev1.2.5.1\u003c\/span\u003e - Introduced Strategy Styles (Trend Following, Mean Reversion, Scalping) with unique exit mechanisms. Added Trailing Stop logic and 0-100 Style Scoring.\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"changelog-date\"\u003ev1.2.5.0\u003c\/span\u003e - Added Profit Consistency Monte Carlo metric, mandatory\/optional indicator constraints, and same-bar trade prevention logic. Fixed decimal handling for standard deviations.\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"changelog-date\"\u003ev1.2.4.6\u003c\/span\u003e - Initial core release featuring Genetic Algorithm engine, Walk-Forward Analysis, and NinjaScript export.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"faq-section\"\u003e\n\u003cdiv class=\"td-container\"\u003e\n\u003ch2 class=\"td-heading-2\" style=\"text-align: center; margin-bottom: 1rem;\"\u003eFrequently Asked Questions\u003c\/h2\u003e\n\u003cp class=\"td-text-lead\" style=\"margin: 0 auto 3rem auto; text-align: center;\"\u003eThe questions traders ask most before buying ASB. If yours isn't here, ask us in Discord.\u003c\/p\u003e\n\u003cdiv class=\"accordion-container\" id=\"master-faq\"\u003e\n\n\u003ch3 class=\"faq-category\"\u003eAbout Auto Strategy Builder\u003c\/h3\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eWhat does ASB actually do?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eYou point it at one or more NinjaTrader indicators. It tests up to 40,000 combinations of entry rules, exit rules, stop placement, target placement, session filters, and risk parameters against historical data. It runs walk-forward, Monte Carlo, and parameter-shift validation on every survivor, ranks them on a leaderboard, and exports the one you pick as a native NinjaScript bot you can drop on a chart and trade live.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eHow is this different from NinjaTrader's built-in Strategy Builder?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eNinjaTrader's Strategy Builder lets you write rules manually. You still have to know what rules to write. ASB's genetic algorithm searches the rule space for you, so you don't have to guess which indicator combination, lookback length, or stop distance is best. NT's builder also has no walk-forward, no Monte Carlo, no parameter-shift testing, and no overfitting filters. ASB does all of that automatically before showing you the leaderboard.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eHow is this different from StrategyQuant X or Build Alpha?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eSQX and Build Alpha are powerful but live in their own desktop apps with their own indicator libraries. You generate strategies there, then export them through a plugin to NT8, often needing rewrites. ASB runs natively inside NT8 and works on any indicator NT8 already has loaded, including third-party paid indicators. Pricing is also a fraction (149 USD per month vs 990 to 3,990 USD upfront).\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003ch3 class=\"faq-category\"\u003eUsing ASB\u003c\/h3\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eDo I need to know how to code?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eNo. The whole interface is visual. You pick indicators from a dropdown, choose what you want optimized (entries, exits, stops, etc.), set a date range, and click Start. The exported NinjaScript is readable C# if you ever want to look under the hood, but you never have to write any of it.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eDoes it work with my custom or third-party indicator?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eYes. If the indicator loads in NT8 and exposes plot values (lines, dots, bands), ASB can read those plots and use them as entry or exit triggers. Built-in NT indicators, custom ones you wrote, and paid third-party indicators all work the same way. You don't need source code access.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eHow long does an optimization run take?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eRoughly 10 minutes for a 40,000-combination run on 5 years of 1-minute data with one or two indicators on a modern laptop (Ryzen 7 \/ i7 class, 16 GB RAM). Tick-data runs and multi-indicator runs take longer, anywhere from 20 minutes to a few hours depending on combination count. You can leave it running while you do something else.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eWhat data and what feed do I need?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eFor optimization, NT8's built-in historical data is enough for most strategies. Three to five years of 1-minute data is the sweet spot. For tick-level strategies, a feed that delivers tick data (Rithmic, CQG, Kinetick, Continuum) gives more granular results. For live trading, the bot uses whatever feed your NT8 connection is on.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eWhat instruments does it work on?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eAnything NT8 charts. Futures (ES, NQ, MES, MNQ, CL, GC, etc.), forex pairs, equities, crypto via supported feeds. ASB doesn't care what the symbol is. It just optimizes against the bars it sees.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eRecommended hardware?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eGenetic optimization is CPU-bound. Multi-core CPUs help a lot. Ryzen 7 \/ Intel i7 minimum, Ryzen 9 \/ i9 ideal. 16 GB RAM minimum, 32 GB if you want to keep NT8 + several charts open during runs. NVMe SSD makes data loading faster. GPU doesn't matter, this is not a deep-learning workload.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003ch3 class=\"faq-category\"\u003eStrategies \u0026amp; Real Results\u003c\/h3\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eCan I really pass a prop firm eval with this?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eYes, and the recording at the top of this page is exactly that. Sam built one strategy in ASB and ran it for 30 days on a real Apex 50K eval. He re-optimized it once each weekend (takes a few minutes), and the bot traded automatically the rest of the week. Account passed. Watch the webinar for the full setup.\u003cbr\u003e\u003cbr\u003eSince that webinar, we've gone one step further. In v1.2.6.6 you tell the optimizer which firm and account size you're trading (Apex, Topstep, MyFundedFutures, Bulenox, Tradeify, TradeDay and 9 others), and it rejects any strategy that would have busted the actual rules: trailing drawdown, daily loss limit, consistency rule, EOD flatten time, contract caps, automation policy. The leaderboard you read is the leaderboard you can actually trade on your funded account.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eWhat happens when the strategy stops working?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eMarkets shift. Strategies decay. The standard workflow is weekly re-optimization on a rolling window of recent data. ASB makes that one click. If the new run can't find a strategy that survives walk-forward and Monte Carlo on the latest data, that's a real signal that conditions changed and you should sit out (or switch instrument). Better to know than to keep trading a dead edge.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eCan I run multiple bots on different instruments at once?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eYes. Each exported strategy is a normal NinjaScript strategy. You can run as many as your account, margin, and CPU can handle. People typically run 2 to 5 strategies concurrently across different instruments to spread risk.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eDo I need to be at the screen while it trades?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eNo, that's the point. Once a strategy is on a chart and enabled, NT8 handles execution as long as it's running. Most users put NT8 on a VPS so it keeps trading even when their PC is off. We have a recommended VPS setup in the Discord.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eCan I edit the exported NinjaScript?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eYes. The export is unlocked, readable C#. If you want to add a custom risk filter, change the order entry method, or hook in your own alerting, the file is yours to modify. Most users never need to. The export is production-ready out of the box.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eAre there starter strategy templates?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eYes. The product ships with a set of pre-built configurations for common setups (trend following on ES, mean reversion on NQ, scalping on MES, etc.). You can run those out of the box, or use them as a starting point and modify the indicators and parameters.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003ch3 class=\"faq-category\"\u003eTrial, Pricing \u0026amp; Licensing\u003c\/h3\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eHow does the 7-day trial work?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eFull feature access for 7 days. No credit card to start. The clock starts when you first load ASB onto a chart, not when you sign up, so you can take your time getting NT8 ready. We don't auto-charge you when the trial ends. If you want to keep using it, you start a subscription manually.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eWhat does it cost and what does the subscription include?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003e149 USD per month. Cancel anytime. Includes the full ASB software, all updates, all starter strategy templates, Discord support, and example videos. No per-instrument fees, no per-strategy fees, no profit-sharing.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eIf I cancel, do my exported strategies still run?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eYes. The strategies you exported during your subscription are native NinjaScript files, you own them, and they keep running after you cancel. You only lose the ability to run new optimizations or re-optimize existing ones. This is intentional. We don't believe in holding your trading hostage.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eCan I use it on two computers?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eLicense is tied to one active machine at a time. You can deactivate one and activate another (e.g., desktop to laptop, or local to VPS) from your account page in seconds. No support ticket, no waiting period.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eWhere do I find my Contact ID for activation?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eProfile \/ Account Details on tradedevils-indicators.com. It's automated, you'll see it the moment you sign up. No 24-hour wait for an email key.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eIs support included?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eYes. Discord and email. Most questions get answered within a few hours during European or US trading hours. Free updates for the life of your subscription.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"accordion-item\"\u003e\n\u003cbutton class=\"accordion-header\" aria-expanded=\"false\"\u003e \u003cspan\u003eWhat platforms is ASB available on?\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"accordion-icon\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"accordion-content\"\u003e\n\u003cdiv class=\"accordion-content-inner\"\u003eNinjaTrader 8 only. ASB is built natively against NT8's strategy and indicator APIs, which is why it can read any NT8 indicator's plots without source code. There's no TradingView, MT4, or Sierra Chart version planned. The exported strategies run wherever NT8 runs, including any prop firm that uses NT8 (Apex, TopstepX, etc.).\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"bottom-cta-section wide-layout\"\u003e\n\u003cdiv class=\"td-container\"\u003e\n\u003cdiv class=\"bottom-cta-content\"\u003e\n\u003ch2 class=\"td-heading-1\"\u003eReady to let the bot do the trading?\u003c\/h2\u003e\n\u003cp class=\"td-text-lead\" style=\"margin: 0 auto 3rem auto;\"\u003eStop guessing. Start executing.\u003c\/p\u003e\n\u003cdiv class=\"cta-button-row\"\u003e\n\u003ca class=\"btn-primary\" href=\"https:\/\/tradedevils-indicators.com\/pages\/free-trial\"\u003e Start your 7-day trial \u003csvg viewbox=\"0 0 24 24\"\u003e\u003cpath d=\"M5 12h14M12 5l7 7-7 7\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\u003c\/svg\u003e \u003c\/a\u003e\n\u003ca class=\"btn-secondary\" href=\"https:\/\/tradedevils-indicators.com\/pages\/auto-strategy-builder-full-documentation\" target=\"_blank\" rel=\"noopener\"\u003eRead the full documentation\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n  (function() {\n    function initAsbSalesFunnel() {\n      \/\/ Accordion Logic — scoped per-section so multiple accordion groups stay independent\n      const accordionHeaders = document.querySelectorAll('.accordion-header');\n\n      accordionHeaders.forEach(header =\u003e {\n        \/\/ Guard against double-binding if script is re-evaluated by PageFly\/Shopify\n        if (header.dataset.asbBound === '1') return;\n        header.dataset.asbBound = '1';\n\n        header.addEventListener('click', function() {\n          const item = this.parentElement;\n          const content = item.querySelector('.accordion-content');\n          if (!content) return;\n\n          \/\/ Scope \"close others\" to the same accordion-container so the Nerd Vault\n          \/\/ and the FAQ don't fight each other.\n          const group = item.closest('.accordion-container') || document;\n          group.querySelectorAll('.accordion-item').forEach(otherItem =\u003e {\n            if (otherItem !== item \u0026\u0026 otherItem.classList.contains('active')) {\n              otherItem.classList.remove('active');\n              const otherHeader = otherItem.querySelector('.accordion-header');\n              const otherContent = otherItem.querySelector('.accordion-content');\n              if (otherHeader) otherHeader.setAttribute('aria-expanded', 'false');\n              if (otherContent) otherContent.style.maxHeight = null;\n            }\n          });\n\n          \/\/ Toggle current\n          if (item.classList.contains('active')) {\n            item.classList.remove('active');\n            this.setAttribute('aria-expanded', 'false');\n            content.style.maxHeight = null;\n          } else {\n            item.classList.add('active');\n            this.setAttribute('aria-expanded', 'true');\n            content.style.maxHeight = content.scrollHeight + \"px\";\n          }\n        });\n      });\n\n      \/\/ Scroll-to-buy\n      document.querySelectorAll('.scroll-to-buy').forEach(btn =\u003e {\n        if (btn.dataset.asbBound === '1') return;\n        btn.dataset.asbBound = '1';\n        btn.addEventListener('click', function(e) {\n          e.preventDefault();\n          window.scrollTo({ top: 0, behavior: 'smooth' });\n        });\n      });\n    }\n\n    \/\/ Run immediately if the DOM is already parsed (PageFly \/ Shopify often inject\n    \/\/ these blocks AFTER DOMContentLoaded fires, which is why the original handler\n    \/\/ never ran). Otherwise wait for it.\n    if (document.readyState === 'loading') {\n      document.addEventListener('DOMContentLoaded', initAsbSalesFunnel);\n    } else {\n      initAsbSalesFunnel();\n    }\n  })();\n\u003c\/script\u003e","brand":"tradedevils-indicators","offers":[{"title":"Default Title","offer_id":45908364591303,"sku":null,"price":149.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6286\/3047\/files\/nano-banana-2025-12-01T07-21-15.png?v=1764573684","url":"https:\/\/tradedevils-indicators.com\/products\/auto-strategy-builder-monthly","provider":"tradedevils-indicators","version":"1.0","type":"link"}