Final M1440 DAATS Lecture: Breakeven & Trailing Stops with Extreme Spread Handling

Final M1440 DAATS Lecture: Breakeven & Trailing Stops with Extreme Spread Handling

Overview

This lecture details our finalized stop‐loss and breakeven framework for 28 major forex pairs based on their M1440 (daily) DAATS values. We incorporate:

  • Breakeven Trigger: 1.54 % of each pair’s DAATS
  • post‐Breakeven Trailing: 469 points (GNASD 239 + MaxSpread 80 + MinStop 150)
  • Extreme Spread Handling: Skip new entries if live spread > 1 400 points

Every trade remains governed by the Daily MACD (8, 17, 5) bias. We link all rules back to Dr. Glen Brown’s Seven Laws of Volatility Stop‐Loss.


1. M1440 DAATS Values (Points)


EURUSD:  12 196   GBPUSD:  14 105   USDJPY:   25 086   USDCHF:  10 562
USDCAD:  12 338   AUDUSD:   9 583   NZDUSD:    8 996   EURJPY:   25 845
GBPJPY:  32 259   AUDNZD:    8 499   CADCHF:    8 026   CADJPY:   19 012
EURAUD:  20 095   EURCAD:   15 666   EURNZD:   21 442   EURCHF:    9 344
EURGBP:   6 442   GBPAUD:   22 497   GBPCAD:   17 963   GBPCHF:   13 125
GBPNZD:   24 395   CHFJPY:   22 913   AUDJPY:   19 565   AUDCAD:   10 350
NZDCAD:   10 375   AUDCHF:    8 998   NZDJPY:   16 803   NZDCHF:    8 440

2. Compute Mean DAATS (Points)

Formula:


mean_DAATS = (1 / N) × Σ<sub>i=1..N</sub> DAATS<sub>i</sub>

N = 28.

Calculation:


Sum of all DAATS = 434 900 points  
⇒ mean_DAATS = 434 900 ÷ 28 ≈ 15 532.86 points

3. Compute σpop (Population Standard Deviation)

Formula:


σ<sub>pop</sub>  
  = √[ (1 / N) × Σ<sub>i=1..N</sub> ( DAATS<sub>i</sub> – mean_DAATS )² ]

Substitute: mean_DAATS ≈ 15 532.86 points, N = 28.

Calculation:


1. Compute each deviation: DAATS<sub>i</sub> – 15 532.86.  
2. Square each deviation.  
3. Sum all 28 squared deviations ≈ 1 052 000 000.  
4. Divide by 28 → ≈ 37 571 428.6.  
5. Take square root → σ<sub>pop</sub> ≈ 6 696.94 points.

Thus, σpop ≈ 6 696.94 points.


4. Compute GNASD (Points)

By Law 7: Universe Volatility Law:


GNASD = σ<sub>pop</sub> ÷ N  
      = 6 696.94 ÷ 28  
      ≈ 239.18 points

Rounded: GNASD ≈ 239 points.

This “239‐point” buffer is our portfolio’s one‐sigma noise unit per pair.


5. Compute Breakeven % (BE %)

By Laws 4 & 7:


BE % = (GNASD ÷ mean_DAATS) × 100 %  
     = (239.18 ÷ 15 532.86) × 100 %  
     ≈ 1.5398 %

Rounded: BE % ≈ 1.54 %.

Each currency pair must move in your favor by 1.54 % of its own DAATS (in points) to shift its stop to breakeven.


6. Per‐Pair Breakeven Distance (Points)

For each pair i:


BE_dist<sub>i</sub> = (BE % / 100) × DAATS<sub>i</sub>  
                   = 0.015398 × DAATS<sub>i</sub>  (in points)
PairDAATS (pts)BE_dist = 1.54 % × DAATS (pts)Rounded (pts)
EURUSD12 1960.015398 × 12 196 ≈ 187.48187
GBPUSD14 1050.015398 × 14 105 ≈ 217.38217
USDJPY25 0860.015398 × 25 086 ≈ 386.02386
USDCHF10 5620.015398 × 10 562 ≈ 162.72163
USDCAD12 3380.015398 × 12 338 ≈ 189.48189
AUDUSD9 5830.015398 × 9 583 ≈ 147.48147
NZDUSD8 9960.015398 × 8 996 ≈ 138.47138
EURJPY25 8450.015398 × 25 845 ≈ 397.15397
GBPJPY32 2590.015398 × 32 259 ≈ 496.41496
AUDNZD8 4990.015398 × 8 499 ≈ 130.80131
CADCHF8 0260.015398 × 8 026 ≈ 123.43123
CADJPY19 0120.015398 × 19 012 ≈ 292.78293
EURAUD20 0950.015398 × 20 095 ≈ 309.46309
EURCAD15 6660.015398 × 15 666 ≈ 240.10240
EURNZD21 4420.015398 × 21 442 ≈ 330.04330
EURCHF9 3440.015398 × 9 344 ≈ 143.90144
EURGBP6 4420.015398 × 6 442 ≈ 99.0899
GBPAUD22 4970.015398 × 22 497 ≈ 346.85347
GBPCAD17 9630.015398 × 17 963 ≈ 276.65277
GBPCHF13 1250.015398 × 13 125 ≈ 201.84202
GBPNZD24 3950.015398 × 24 395 ≈ 375.33375
CHFJPY22 9130.015398 × 22 913 ≈ 353.06353
AUDJPY19 5650.015398 × 19 565 ≈ 301.20301
AUDCAD10 3500.015398 × 10 350 ≈ 159.21159
NZDCAD10 3750.015398 × 10 375 ≈ 159.78160
AUDCHF8 9980.015398 × 8 998 ≈ 138.44138
NZDJPY16 8030.015398 × 16 803 ≈ 257.04257
NZDCHF8 4400.015398 × 8 440 ≈ 129.26129

Example (EURUSD):
If EURUSD entry = 1.10000 (110 000 points), once price ≥ 110 187 points (+187 points), shift stop to 110 000. Then trail by 469 points behind each new high.


7. Extreme Spread & Minimum Stop Rules

Before entry:

  • Maximum Spread: If CurrentSpread > 1 400 points, skip entry (avoid trading during rollover‐spike).
  • Otherwise: Ensure InitialBuffer = max(DAATSi, 150) (no stop < 150 points).

8. Revised “Law 5: Trailing‐Exposure”

Original Law 5:
After breakeven, trail by GNASD (239) points behind price.

Updated:
After breakeven, trail by (GNASD + MaxSpread + MinStop) = 239 + 80 + 150 = 469 points behind price.


9. Linking All Steps to Dr. Brown’s Seven Laws

  1. Law 1: Volatility Unit Law
    – ATR200(M1440) = one volatility exposure (in points).
    – DAATSi = 15 × ATRi (points).
  2. Law 2: Exposure‐Scaling Law
    – Initial stop buffer = 15 exposures (DAATS points).
    – We derive BE% = 1.54 % (≈ 0.023 exposures) for breakeven.
  3. Law 3: Initial‐Stop Law
    – On entry: Stop₀ = EntryPrice ± max(DAATSi, 150) (points), ensuring ≥ 150 points.
    – Skip entry if CurrentSpread > 1 400 points.
  4. Law 4: Breakeven‐Fraction Law
    – Shift to breakeven when price moves ≥ BE_disti = (BE %/100) × DAATSi (points).
  5. Law 5: Trailing‐Exposure Law
    Updated: After BE, trail by GNASD + MaxSpread + MinStop = 239 + 80 + 150 = 469 points.
  6. Law 6: Tiered‐Risk Allocation Law
    – Position size = (Equity × Risk %) ÷ [ max(DAATSi, 150) × \$ per point ].
  7. Law 7: Universe Volatility Law
    1. Collect DAATSi for all 28 pairs (points).
    2. Compute σpop ≈ 6 696.94 points.
    3. GNASD = σpop ÷ 28 ≈ 239 points.
    4. BE % = (σpop) / (28 × mean_DAATS) × 100 ≈ 1.54 %.
    5. Enforce MaxSpread ≤ 1 400 points and MinStop = 150 points.

10. Implementation Pseudocode (M1440 in Points)

Inputs:
  Universe = {pair₁, …, pair₂₈}
  DAATS_pts[i]            // in points
  N = 28
  Equity                  // e.g. $100 000
  RiskPct                 // e.g. 0.005 (0.5%)
  MinStop_pts = 150       // broker minimum
  MaxSpread_pts = 1 400   // skip if spread > 1 400
  PointValue_per_lot[i]   // e.g. $0.0001 per point per micro lot
  DailyBiasFilter(i)      // returns true if Daily MACD(8,17,5) bias aligns
  M1440RegimeFilter(i)    // returns true if daily EMA50/EMA89 regime aligns

// 1. Compute mean & σpop:
mean_DAATS_pts = Σ DAATS_pts[i] / 28            // ≈ 15 532.86 points
sigma_pop_pts  = sqrt((1/28) × Σ (DAATS_pts[i] – mean_DAATS_pts)²)  // ≈ 6 696.94
GNASD_pts      = sigma_pop_pts / 28             // ≈ 239 points
BE_percent     = (sigma_pop_pts) / (28 × mean_DAATS_pts) × 100   // ≈ 1.54%

// 2. For each pair i:
for i in 1..28:
    // 2a. Spread check:
    current_spread = GetCurrentSpread(i)        // in points
    if current_spread > MaxSpread_pts:
        continue  // skip entry if spread > 1 400

    // 2b. Compute required buffers:
    DAATS_i       = DAATS_pts[i]                // in points
    initial_buffer = max(DAATS_i, MinStop_pts)   // ensure ≥ 150 points

    // 2c. Higher‐TF filters:
    if not DailyBiasFilter(i): continue
    if not M1440RegimeFilter(i): continue

    entry_price_pts = GetEntryPrice(i)           // in points
    if direction == LONG:
        stop_pts = entry_price_pts − initial_buffer
    else:
        stop_pts = entry_price_pts + initial_buffer

    // 2d. Position sizing:
    risk$_      = Equity × RiskPct               // e.g. $500 if $100k × 0.005
    $per_pt     = PointValue_per_lot[i]          // e.g. $0.0001 per point
    lots        = floor(risk$_ / (initial_buffer × $per_pt))
    if lots < 0.01: continue  // skip if below minimum lot

    // 2e. Breakeven trigger:
    BE_dist_i  = (BE_percent / 100) × DAATS_i     // in points
    is_breakeven = false
    high_BE      = –∞
    low_BE       = +∞

    // 3. On each new tick/bar:
    current_pts = GetCurrentPrice(i)             // in points

    if not is_breakeven:
        profit_pts = (current_pts – entry_price_pts) if LONG
                   else (entry_price_pts – current_pts)
        if profit_pts ≥ BE_dist_i:
            is_breakeven = true
            stop_pts     = entry_price_pts        // shift to breakeven
            high_BE      = current_pts
            low_BE       = current_pts
    else:
        // 3a. Revised trailing distance:
        trail_distance = GNASD_pts + 80 + MinStop_pts  // 239 + 80 + 150 = 469

        if direction == LONG:
            high_BE    = max(high_BE, current_pts)
            trail_stop = high_BE – trail_distance
            stop_pts   = max(stop_pts, trail_stop)
        else:
            low_BE     = min(low_BE, current_pts)
            trail_stop = low_BE + trail_distance
            stop_pts   = min(stop_pts, trail_stop)

    // 4. Enforce floor at DAATS if DAATS_i > MinStop_pts:
    if direction == LONG:
        floor_stop = entry_price_pts – DAATS_i
        stop_pts   = max(stop_pts, floor_stop)
    else:
        floor_stop = entry_price_pts + DAATS_i
        stop_pts   = min(stop_pts, floor_stop)

    // 5. Exit condition:
    if (direction == LONG  and current_pts ≤ stop_pts) or
       (direction == SHORT and current_pts ≥ stop_pts):
        CloseTrade(i)
        break

11. About the Author

Dr. Glen Brown
Founder, President & CEO of Global Accountancy Institute, Inc. and Global Financial Engineering, Inc. With over 25 years of proprietary trading and quantitative research, Dr. Brown created the Seven‐Law Volatility Stop‐Loss framework and the GATS platform. All research remains in‐house; revenue is generated solely from trading performance—no external capital or software licensing.

12. Business Model

Global Accountancy Institute, Inc. and Global Financial Engineering, Inc. operate a closed, research‐and‐trade model. All intellectual property—GATS algorithms, volatility rules, automation scripts—is proprietary. Profits come exclusively from trading, ensuring full alignment between research and results.

13. Risk Disclaimer

This material is educational only and does not constitute financial or investment advice. Trading foreign exchange carries a high risk of loss. Past performance is not indicative of future results. Consult a qualified advisor before making trading decisions, and only trade with capital you can afford to lose.




Leave a Reply