Systemet köper när barens true range är över 25 punkter och TEMA(4) ligger över EMA(4), men bara i halvmånader som säsongstabellen tillåter. Det stänger när Repulse(3) faller under -0.3 eller när ett stopp på 5% träffas. Helger hoppas över och det går aldrig short.
Bästa körningen av 20. Gold, 10 min, spread 0.6, från körning pf:2026-09-24-GOLD-10m.tsv:1.
| Period | Fram till 2026-09-24 |
| Instrument | Gold, 10 minuter |
| Spread | 0.6 punkter |
| Kontrakt | 1 |
| Startkapital | 1,000,000 |
| Kostnader | Endast spread. Courtage och overnight-finansiering ingår inte. |
| Barer | Upp till 200,000 barer, färre där instrumentet har kortare historik |
| Senast testad | 2026-09-24 |
| positionSize Kontrakt per affär | 1 |
| halfMonthDay Sista dagen som räknas som månadens första halva | 15 |
| minTrueRange Minsta true range för en bar i prispunkter | 25 |
| temaPeriod TEMA-längd | 4 |
| emaPeriod EMA-längd jämförd med TEMA | 4 |
| repulsePeriod Repulse-längd för exiten | 3 |
| repulseExitLevel Exit när Repulse faller under detta | -0.3 |
| stopLossPct Skyddande stop som procent av entrypris | 5 |
| janFirstHalf Säsongsvikt, januari dag 1 till 15 (0 blockerar entries) | 3 |
| janSecondHalf Säsongsvikt, januari från dag 16 (0 blockerar entries) | 0 |
| febFirstHalf Säsongsvikt, februari dag 1 till 15 (0 blockerar entries) | 3 |
| febSecondHalf Säsongsvikt, februari från dag 16 (0 blockerar entries) | 3 |
| marFirstHalf Säsongsvikt, mars dag 1 till 15 (0 blockerar entries) | 3 |
| marSecondHalf Säsongsvikt, mars från dag 16 (0 blockerar entries) | 2 |
| aprFirstHalf Säsongsvikt, april dag 1 till 15 (0 blockerar entries) | 3 |
| aprSecondHalf Säsongsvikt, april från dag 16 (0 blockerar entries) | 3 |
| mayFirstHalf Säsongsvikt, maj dag 1 till 15 (0 blockerar entries) | 1 |
| maySecondHalf Säsongsvikt, maj från dag 16 (0 blockerar entries) | 1 |
| junFirstHalf Säsongsvikt, juni dag 1 till 15 (0 blockerar entries) | 1 |
| junSecondHalf Säsongsvikt, juni från dag 16 (0 blockerar entries) | 2 |
| julFirstHalf Säsongsvikt, juli dag 1 till 15 (0 blockerar entries) | 3 |
| julSecondHalf Säsongsvikt, juli från dag 16 (0 blockerar entries) | 2 |
| augFirstHalf Säsongsvikt, augusti dag 1 till 15 (0 blockerar entries) | 2 |
| augSecondHalf Säsongsvikt, augusti från dag 16 (0 blockerar entries) | 3 |
| sepFirstHalf Säsongsvikt, september dag 1 till 15 (0 blockerar entries) | 3 |
| sepSecondHalf Säsongsvikt, september från dag 16 (0 blockerar entries) | 0 |
| octFirstHalf Säsongsvikt, oktober dag 1 till 15 (0 blockerar entries) | 3 |
| octSecondHalf Säsongsvikt, oktober från dag 16 (0 blockerar entries) | 2 |
| novFirstHalf Säsongsvikt, november dag 1 till 15 (0 blockerar entries) | 1 |
| novSecondHalf Säsongsvikt, november från dag 16 (0 blockerar entries) | 3 |
| decFirstHalf Säsongsvikt, december dag 1 till 15 (0 blockerar entries) | 3 |
| decSecondHalf Säsongsvikt, december från dag 16 (0 blockerar entries) | 2 |
Varje körning
| Marknad | Tidsram | PF | Affärer | Träff % | Netto | Max DD |
|---|---|---|---|---|---|---|
| GuldBästa körning | 10 min | 1.57 | 195 | 48.72 | 905 EUR | -177 |
| DAX 40 | 4 timmar | 1.18 | 2,445 | 38.73 | 17,921 EUR | -3,328 |
| DAX 40 | Dag | 1.18 | 1,043 | 39.02 | 11,563 EUR | -2,819 |
| Silver | Dag | n/a | 752 | 36.84 | 26,593 USD | -9,081 |
| Dow Jones | Dag | n/a | 1,194 | 38.11 | 16,900 EUR | -8,908 |
| Dow Jones | 15 min | n/a | 3,884 | 37.33 | 13,052 EUR | -9,190 |
| Dow Jones | 4 timmar | n/a | 810 | 40.49 | 10,700 EUR | -7,832 |
| Dow Jones | 30 min | n/a | 2,920 | 36.95 | 10,020 EUR | -8,556 |
| Dow Jones | 10 min | n/a | 3,031 | 37.55 | 9,588 EUR | -7,551 |
| Nasdaq 100 | 4 timmar | n/a | 1,818 | 38.17 | 9,565 EUR | -3,611 |
| Dow Jones | 1 timme | n/a | 2,039 | 36.64 | 9,229 EUR | -8,470 |
| Nasdaq 100 | Dag | n/a | 824 | 40.29 | 7,322 EUR | -5,082 |
| Brentolja | Dag | n/a | 595 | 40.34 | 6,984 EUR | -4,208 |
| Amerikansk råolja | 4 timmar | n/a | 2,297 | 37.44 | 6,353 EUR | -5,078 |
| S&P 500 | Dag | n/a | 467 | 41.33 | 1,648 EUR | -966 |
| Guld | 30 min | n/a | 322 | 43.17 | 765 EUR | -441 |
| Guld | 5 min | n/a | 141 | 45.39 | 683 EUR | -245 |
| FTSE 100 | 3 min | n/a | 186 | 41.94 | 600 EUR | -551 |
| Guld | 15 min | n/a | 229 | 43.67 | 582 EUR | -297 |
| Guld | 1 min | n/a | 18 | 50.00 | 140 EUR | -119 |
Diagram
De 10 bästa av 20 körningar. Hela listan finns i tabellen ovan.
Över 1.0 gav vinst, under 1.0 gav förlust.
Koden
// ============================================================ // Seasonal Momentum Long // ProRealAlgos Strategy Library | prorealalgos.com // Type: Momentum // Direction: Long only // Timeframe tested: 10 minutes // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false // --- Parameters --- positionSize = 1 // contracts per trade halfMonthDay = 15 // last day of the first half of the month minTrueRange = 25 // bar true range must exceed this, in price points temaPeriod = 4 // TEMA length emaPeriod = 4 // EMA length compared with the TEMA repulsePeriod = 3 // Repulse length for the exit repulseExitLevel = -0.3 // exit when Repulse falls below this stopLossPct = 5 // protective stop, percent of entry price // Seasonal weight per half month. Zero blocks new entries in that half. janFirstHalf = 3 janSecondHalf = 0 febFirstHalf = 3 febSecondHalf = 3 marFirstHalf = 3 marSecondHalf = 2 aprFirstHalf = 3 aprSecondHalf = 3 mayFirstHalf = 1 maySecondHalf = 1 junFirstHalf = 1 junSecondHalf = 2 julFirstHalf = 3 julSecondHalf = 2 augFirstHalf = 2 augSecondHalf = 3 sepFirstHalf = 3 sepSecondHalf = 0 octFirstHalf = 3 octSecondHalf = 2 novFirstHalf = 1 novSecondHalf = 3 decFirstHalf = 3 decSecondHalf = 2 ONCE seasonWeight = 0 // --- Indicators --- // CurrentMonth is the calendar month the system runs in, Day is the bar's day. IF CurrentMonth = 1 THEN IF Day <= halfMonthDay THEN seasonWeight = janFirstHalf ELSE seasonWeight = janSecondHalf ENDIF ELSIF CurrentMonth = 2 THEN IF Day <= halfMonthDay THEN seasonWeight = febFirstHalf ELSE seasonWeight = febSecondHalf ENDIF ELSIF CurrentMonth = 3 THEN IF Day <= halfMonthDay THEN seasonWeight = marFirstHalf ELSE seasonWeight = marSecondHalf ENDIF ELSIF CurrentMonth = 4 THEN IF Day <= halfMonthDay THEN seasonWeight = aprFirstHalf ELSE seasonWeight = aprSecondHalf ENDIF ELSIF CurrentMonth = 5 THEN IF Day <= halfMonthDay THEN seasonWeight = mayFirstHalf ELSE seasonWeight = maySecondHalf ENDIF ELSIF CurrentMonth = 6 THEN IF Day <= halfMonthDay THEN seasonWeight = junFirstHalf ELSE seasonWeight = junSecondHalf ENDIF ELSIF CurrentMonth = 7 THEN IF Day <= halfMonthDay THEN seasonWeight = julFirstHalf ELSE seasonWeight = julSecondHalf ENDIF ELSIF CurrentMonth = 8 THEN IF Day <= halfMonthDay THEN seasonWeight = augFirstHalf ELSE seasonWeight = augSecondHalf ENDIF ELSIF CurrentMonth = 9 THEN IF Day <= halfMonthDay THEN seasonWeight = sepFirstHalf ELSE seasonWeight = sepSecondHalf ENDIF ELSIF CurrentMonth = 10 THEN IF Day <= halfMonthDay THEN seasonWeight = octFirstHalf ELSE seasonWeight = octSecondHalf ENDIF ELSIF CurrentMonth = 11 THEN IF Day <= halfMonthDay THEN seasonWeight = novFirstHalf ELSE seasonWeight = novSecondHalf ENDIF ELSIF CurrentMonth = 12 THEN IF Day <= halfMonthDay THEN seasonWeight = decFirstHalf ELSE seasonWeight = decSecondHalf ENDIF ENDIF weekday = DayOfWeek = 1 OR DayOfWeek = 2 OR DayOfWeek = 3 OR DayOfWeek = 4 OR DayOfWeek = 5 wideBar = TR(close) > minTrueRange temaAboveEma = TEMA[temaPeriod](close) > ExponentialAverage[emaPeriod](close) repulseValue = Repulse[repulsePeriod](close)
18 rader till: entry- och exitreglerna.
Uppsättning
Med 734,000 barer tillgängliga på Gold 10 minuter steg nettovinsten till EUR 1,495.5 från EUR 904.9 i standardkörningen, och den äldre datan lade på egen hand till EUR 590.6.
| Tillgängliga barer | 734,000 |
| Netto, standardkörning med 200,000 barer | 904.90 EUR |
| Netto, lång körning | 1,495.50 EUR |
| Netto på enbart den äldre datan | 590.60 EUR |
Frågor
Ja, det är ett ProOrder-system som bara går long, med ett procentstopp. Koden har skrivits om men är inte kompileringskontrollerad, och statistiken kommer från den tidigare versionen.
Nio instrument från 1 minut till Dag. Gold 10 minuter hade den bästa profit factor (1.57), och DAX 40 på 4 timmar gav mest i euro, EUR 17,920.50 över 2,445 affärer med en profit factor på 1.18.
Med 1 kontrakt hade Gold 10 minuter en max drawdown på EUR 176.50. DAX 40 4 timmar nådde EUR 3,327.60, så storleken beror i hög grad på vilken marknad du väljer.
Vissa halvmånader, som andra halvan av januari och september, har vikten noll och blockerar nya longs. Tanken är att undvika delar av året som historiskt gick sämre för long-entries.
Relaterat
ProRealAlgos-communityn får de fullständiga reglerna, den kompletta koden och den automatiserade portföljen.