Op de wachtlijst
Strategieën / Momentum / Seasonal Momentum Long

Seasonal Momentum Long

Het systeem koopt wanneer de true range van de bar boven 25 punten staat en TEMA(4) boven EMA(4) ligt, maar alleen in halve maanden die de seizoenstabel toestaat. Het stapt uit wanneer Repulse(3) onder -0.3 zakt of een stop van 5% wordt geraakt. Weekends worden overgeslagen en het gaat nooit short.

MomentumAlleen longIntradayGoud10 min
1.57Profit factor
905Nettowinst EUR
48.72%Winstpercentage
195Trades
-177Max drawdown
4.64Gem. trade

Beste run van 20. Gold, 10 min, spread 0.6, uit run pf:2026-09-24-GOLD-10m.tsv:1.

Instapregels, long

  1. Alleen maandag tot vrijdag
  2. De true range van de bar staat boven 25 punten
  3. TEMA(4) staat boven EMA(4)

Uitstapregels

  1. Stop loss op 5% van de instap

Testomstandigheden

PeriodeTot 2026-09-24
InstrumentGold, 10 minuten
Spread0.6 punten
Contracten1
Startkapitaal1,000,000
KostenAlleen spread. Commissies en overnight financiering zijn niet meegerekend.
BarsTot 200,000 bars, minder waar het instrument minder historie heeft
Laatst getest2026-09-24
Parameters (32)
positionSize
Contracten per trade
1
halfMonthDay
Laatste dag die als eerste helft van de maand telt
15
minTrueRange
Minimale true range van de bar in prijspunten
25
temaPeriod
TEMA-lengte
4
emaPeriod
EMA-lengte vergeleken met de TEMA
4
repulsePeriod
Repulse-lengte voor de uitstap
3
repulseExitLevel
Uitstappen wanneer Repulse hieronder zakt
-0.3
stopLossPct
Beschermende stop als procent van de instapprijs
5
janFirstHalf
Seizoensgewicht, januari dag 1 tot 15 (0 blokkeert instappen)
3
janSecondHalf
Seizoensgewicht, januari vanaf dag 16 (0 blokkeert instappen)
0
febFirstHalf
Seizoensgewicht, februari dag 1 tot 15 (0 blokkeert instappen)
3
febSecondHalf
Seizoensgewicht, februari vanaf dag 16 (0 blokkeert instappen)
3
marFirstHalf
Seizoensgewicht, maart dag 1 tot 15 (0 blokkeert instappen)
3
marSecondHalf
Seizoensgewicht, maart vanaf dag 16 (0 blokkeert instappen)
2
aprFirstHalf
Seizoensgewicht, april dag 1 tot 15 (0 blokkeert instappen)
3
aprSecondHalf
Seizoensgewicht, april vanaf dag 16 (0 blokkeert instappen)
3
mayFirstHalf
Seizoensgewicht, mei dag 1 tot 15 (0 blokkeert instappen)
1
maySecondHalf
Seizoensgewicht, mei vanaf dag 16 (0 blokkeert instappen)
1
junFirstHalf
Seizoensgewicht, juni dag 1 tot 15 (0 blokkeert instappen)
1
junSecondHalf
Seizoensgewicht, juni vanaf dag 16 (0 blokkeert instappen)
2
julFirstHalf
Seizoensgewicht, juli dag 1 tot 15 (0 blokkeert instappen)
3
julSecondHalf
Seizoensgewicht, juli vanaf dag 16 (0 blokkeert instappen)
2
augFirstHalf
Seizoensgewicht, augustus dag 1 tot 15 (0 blokkeert instappen)
2
augSecondHalf
Seizoensgewicht, augustus vanaf dag 16 (0 blokkeert instappen)
3
sepFirstHalf
Seizoensgewicht, september dag 1 tot 15 (0 blokkeert instappen)
3
sepSecondHalf
Seizoensgewicht, september vanaf dag 16 (0 blokkeert instappen)
0
octFirstHalf
Seizoensgewicht, oktober dag 1 tot 15 (0 blokkeert instappen)
3
octSecondHalf
Seizoensgewicht, oktober vanaf dag 16 (0 blokkeert instappen)
2
novFirstHalf
Seizoensgewicht, november dag 1 tot 15 (0 blokkeert instappen)
1
novSecondHalf
Seizoensgewicht, november vanaf dag 16 (0 blokkeert instappen)
3
decFirstHalf
Seizoensgewicht, december dag 1 tot 15 (0 blokkeert instappen)
3
decSecondHalf
Seizoensgewicht, december vanaf dag 16 (0 blokkeert instappen)
2

Elke run

Geteste markten en tijdframes

MarktTijdframePFTradesWinst %NettoMax DD
GoudBeste run10 min1.57 19548.72905 EUR-177
DAX 404 uur1.18 2,44538.7317,921 EUR-3,328
DAX 40Dagelijks1.18 1,04339.0211,563 EUR-2,819
ZilverDagelijksn/a 75236.8426,593 USD-9,081
Dow JonesDagelijksn/a 1,19438.1116,900 EUR-8,908
Dow Jones15 minn/a 3,88437.3313,052 EUR-9,190
Dow Jones4 uurn/a 81040.4910,700 EUR-7,832
Dow Jones30 minn/a 2,92036.9510,020 EUR-8,556
Dow Jones10 minn/a 3,03137.559,588 EUR-7,551
Nasdaq 1004 uurn/a 1,81838.179,565 EUR-3,611
Dow Jones1 uurn/a 2,03936.649,229 EUR-8,470
Nasdaq 100Dagelijksn/a 82440.297,322 EUR-5,082
Brent-olieDagelijksn/a 59540.346,984 EUR-4,208
Amerikaanse ruwe olie4 uurn/a 2,29737.446,353 EUR-5,078
S&P 500Dagelijksn/a 46741.331,648 EUR-966
Goud30 minn/a 32243.17765 EUR-441
Goud5 minn/a 14145.39683 EUR-245
FTSE 1003 minn/a 18641.94600 EUR-551
Goud15 minn/a 22943.67582 EUR-297
Goud1 minn/a 1850.00140 EUR-119

Grafieken

Resultaten per run

Top 10 van 20 runs. De volledige lijst staat in de tabel hierboven.

Boven 1.0 werd geld verdiend, onder 1.0 werd geld verloren.

De code

ProBuilder, herschreven naar huisstandaard

// ============================================================
// 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)

Nog 18 regels: de instap- en uitstapregels.

Opzet

Zo laad je hem in

  1. Kopieer de code met de kopieerknop op het codeblok.
  2. Open in ProRealTime een grafiek van het instrument en tijdframe dat je wilt testen en open dan ProOrder > New trading system en kies "Create with programming".
  3. Plak de code, geef het systeem een naam en sla het op.
  4. Klik op "Backtest", stel je eigen spread en position size in en voer hem uit voordat je overweegt er live mee te traden.

Gebruikte indicatoren

TEMAEMARepulseTrue Range
Langere historieOpnieuw uitgevoerd op maximaal 1,000,000 barsGoud · 10 min · oudere data 590.60 EUR

Met 734,000 bars beschikbaar op Gold 10 minuten steeg de nettowinst naar EUR 1,495.5 vanaf EUR 904.9 in de standaardrun, en de oudere data alleen voegde EUR 590.6 toe.

Goud · 10 min

Beschikbare bars734,000
Netto, standaard run van 200,000 bars904.90 EUR
Netto, lange run1,495.50 EUR
Netto op alleen de oudere data590.60 EUR
Lees dit eerstBekende zwaktes4 punten
  • De maand die de seizoenstabel gebruikt, is de maand waarin het systeem draait, niet de maand van de bar. Een backtest die in september wordt uitgevoerd trade alleen in de eerste helft van elke maand, dus de resultaten hangen af van wanneer je hem uitvoert.
  • De beste run op Gold 10 minuten had maar 195 trades en maakte EUR 904.90.
  • De drempel van 25 punten true range is instrumentspecifiek, en de meeste rijen zijn sweepdata zonder vastgelegde profit factor.
  • Het winstpercentage ligt op elke geteste markt onder 50%, van 36.64% op Dow Jones 1 uur tot 48.72% in de beste run.

Vragen

Over deze strategie

Kan de Seasonal Momentum Long live draaien?

Ja, het is een alleen-long ProOrder-systeem met een procentuele stop. De code is herschreven maar niet op compileerfouten gecontroleerd, en de statistieken komen uit de vorige versie.

Welke markten en tijdframes zijn getest?

Negen instrumenten van 1 minuut tot Dagelijks. Gold 10 minuten had de beste profit factor (1.57), en DAX 40 op 4 uur maakte het meest in euro's, EUR 17,920.50 over 2,445 trades met een profit factor van 1.18.

Welke drawdown hoorde bij de beste run?

Bij 1 contract had Gold 10 minuten een max drawdown van EUR 176.50. DAX 40 4 uur kwam op EUR 3,327.60, dus de grootte hangt sterk af van welke markt je kiest.

Waarom een seizoenstabel?

Sommige halve maanden, zoals de tweede helft van januari en september, hebben gewicht nul en blokkeren nieuwe longs. Het idee is om delen van het jaar te vermijden die het historisch slechter deden voor long-instappen.

Gerelateerd

Strategieën zoals deze

Monday Dip Buy

Gebruikt dezelfde indicator.

n/a PF · 146 trades

Triple Band Market Model

Beste run op dezelfde markt, Gold.

2.27 PF · 203 trades

Brent SMI Trend

Een vergelijkbare profit factor.

1.57 PF · 106 trades

Wil je volgen hoe seizoensfilters over markten heen worden getest? Word lid van de ProRealAlgos-community.

De ProRealAlgos community krijgt de volledige regels, de complete code en de geautomatiseerde portefeuille.

Backtestresultaten uit het verleden bieden geen garantie voor de toekomst. Dit is geen financieel advies. Samengesteld en onderhouden door ProRealAlgos. ProRealTime™ is een handelsmerk van ProRealTime SAS. prorealalgos.comStatsDocumentatie