Iscriviti alla lista d'attesa
Strategie / Momentum / Seasonal Momentum Long

Seasonal Momentum Long

Il sistema compra quando il true range della bar è sopra 25 punti e TEMA(4) si trova sopra EMA(4), ma solo nelle mezze mensilità consentite dalla tabella stagionale. Esce quando Repulse(3) scende sotto -0.3 o viene raggiunto uno stop del 5%. I weekend sono esclusi e non va mai short.

MomentumSolo longIntradayOro10 min
1.57Profit factor
905Profitto netto EUR
48.72%Percentuale di successo
195Operazioni
-177Max drawdown
4.64Media operazione

Migliore esecuzione su 20. Gold, 10 min, spread 0.6, da esecuzione pf:2026-09-24-GOLD-10m.tsv:1.

Regole di ingresso, long

  1. Solo dal lunedì al venerdì
  2. Il true range della bar è sopra 25 punti
  3. TEMA(4) è sopra EMA(4)

Regole di uscita

  1. Stop loss al 5% dall'ingresso

Condizioni di test

PeriodoFino al 2026-09-24
StrumentoGold, 10 minuti
Spread0.6 punti
Contratti1
Capitale iniziale1,000,000
CostiSolo spread. Commissioni e finanziamento overnight non sono inclusi.
BarreFino a 200,000 barre, meno dove lo strumento ha meno storico
Ultimo test2026-09-24
Parametri (32)
positionSize
Contratti per operazione
1
halfMonthDay
Ultimo giorno conteggiato come prima metà del mese
15
minTrueRange
True range minimo della bar in punti di prezzo
25
temaPeriod
Lunghezza della TEMA
4
emaPeriod
Lunghezza dell'EMA confrontata con la TEMA
4
repulsePeriod
Lunghezza di Repulse per l'uscita
3
repulseExitLevel
Esci quando Repulse scende sotto questo valore
-0.3
stopLossPct
Stop protettivo come percentuale del prezzo di ingresso
5
janFirstHalf
Peso stagionale, gennaio giorni da 1 a 15 (0 blocca gli ingressi)
3
janSecondHalf
Peso stagionale, gennaio dal giorno 16 in poi (0 blocca gli ingressi)
0
febFirstHalf
Peso stagionale, febbraio giorni da 1 a 15 (0 blocca gli ingressi)
3
febSecondHalf
Peso stagionale, febbraio dal giorno 16 in poi (0 blocca gli ingressi)
3
marFirstHalf
Peso stagionale, marzo giorni da 1 a 15 (0 blocca gli ingressi)
3
marSecondHalf
Peso stagionale, marzo dal giorno 16 in poi (0 blocca gli ingressi)
2
aprFirstHalf
Peso stagionale, aprile giorni da 1 a 15 (0 blocca gli ingressi)
3
aprSecondHalf
Peso stagionale, aprile dal giorno 16 in poi (0 blocca gli ingressi)
3
mayFirstHalf
Peso stagionale, maggio giorni da 1 a 15 (0 blocca gli ingressi)
1
maySecondHalf
Peso stagionale, maggio dal giorno 16 in poi (0 blocca gli ingressi)
1
junFirstHalf
Peso stagionale, giugno giorni da 1 a 15 (0 blocca gli ingressi)
1
junSecondHalf
Peso stagionale, giugno dal giorno 16 in poi (0 blocca gli ingressi)
2
julFirstHalf
Peso stagionale, luglio giorni da 1 a 15 (0 blocca gli ingressi)
3
julSecondHalf
Peso stagionale, luglio dal giorno 16 in poi (0 blocca gli ingressi)
2
augFirstHalf
Peso stagionale, agosto giorni da 1 a 15 (0 blocca gli ingressi)
2
augSecondHalf
Peso stagionale, agosto dal giorno 16 in poi (0 blocca gli ingressi)
3
sepFirstHalf
Peso stagionale, settembre giorni da 1 a 15 (0 blocca gli ingressi)
3
sepSecondHalf
Peso stagionale, settembre dal giorno 16 in poi (0 blocca gli ingressi)
0
octFirstHalf
Peso stagionale, ottobre giorni da 1 a 15 (0 blocca gli ingressi)
3
octSecondHalf
Peso stagionale, ottobre dal giorno 16 in poi (0 blocca gli ingressi)
2
novFirstHalf
Peso stagionale, novembre giorni da 1 a 15 (0 blocca gli ingressi)
1
novSecondHalf
Peso stagionale, novembre dal giorno 16 in poi (0 blocca gli ingressi)
3
decFirstHalf
Peso stagionale, dicembre giorni da 1 a 15 (0 blocca gli ingressi)
3
decSecondHalf
Peso stagionale, dicembre dal giorno 16 in poi (0 blocca gli ingressi)
2

Ogni esecuzione

Mercati e timeframe testati

MercatoTimeframePFOperazioni% successoNettoMax DD
OroMiglior esecuzione10 min1.57 19548.72905 EUR-177
DAX 404 ore1.18 2,44538.7317,921 EUR-3,328
DAX 40Giornaliero1.18 1,04339.0211,563 EUR-2,819
ArgentoGiornalieron/a 75236.8426,593 USD-9,081
Dow JonesGiornalieron/a 1,19438.1116,900 EUR-8,908
Dow Jones15 minn/a 3,88437.3313,052 EUR-9,190
Dow Jones4 oren/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 oren/a 1,81838.179,565 EUR-3,611
Dow Jones1 oran/a 2,03936.649,229 EUR-8,470
Nasdaq 100Giornalieron/a 82440.297,322 EUR-5,082
Petrolio BrentGiornalieron/a 59540.346,984 EUR-4,208
Petrolio greggio USA4 oren/a 2,29737.446,353 EUR-5,078
S&P 500Giornalieron/a 46741.331,648 EUR-966
Oro30 minn/a 32243.17765 EUR-441
Oro5 minn/a 14145.39683 EUR-245
FTSE 1003 minn/a 18641.94600 EUR-551
Oro15 minn/a 22943.67582 EUR-297
Oro1 minn/a 1850.00140 EUR-119

Grafici

Risultati per esecuzione

Prime 10 esecuzioni su 20. L'elenco completo è nella tabella qui sopra.

Sopra 1.0 ha guadagnato, sotto 1.0 ha perso.

Il codice

ProBuilder, riscritto secondo lo standard interno

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

Altre 18 righe: le regole di ingresso e di uscita.

Configurazione

Come caricarla

  1. Copia il codice con il pulsante di copia nel blocco di codice.
  2. In ProRealTime, apri un grafico dello strumento e del timeframe che vuoi testare, poi apri ProOrder > Nuovo sistema di trading e scegli "Crea con programmazione".
  3. Incolla il codice, dai un nome al sistema e salvalo.
  4. Clicca "Backtest", imposta il tuo spread e la tua position size, ed eseguila prima di considerare di operare in reale.

Indicatori utilizzati

TEMAEMARepulseTrue Range
Storico più lungoRieseguito su un massimo di 1,000,000 barreOro · 10 min · dati più vecchi 590.60 EUR

Con 734,000 bar disponibili su Gold 10 minuti, il profitto netto è salito a EUR 1,495.5 dagli EUR 904.9 dell'esecuzione standard, e i soli dati più vecchi hanno aggiunto EUR 590.6.

Oro · 10 min

Barre disponibili734,000
Netto, esecuzione standard di 200,000 barre904.90 EUR
Netto, esecuzione lunga1,495.50 EUR
Netto sui soli dati più vecchi590.60 EUR
Leggi prima questoDebolezze note4 punti
  • Il mese usato dalla tabella stagionale è il mese in cui il sistema viene eseguito, non il mese della bar. Un backtest eseguito in settembre opera solo nella prima metà di ogni mese, quindi i risultati dipendono da quando lo esegui.
  • La migliore esecuzione su Gold 10 minuti ha avuto solo 195 operazioni e ha prodotto EUR 904.90.
  • La soglia di true range di 25 punti è specifica per lo strumento, e la maggior parte delle righe sono dati di sweep senza un profit factor registrato.
  • La percentuale di successo resta sotto il 50% su ogni mercato testato, da 36.64% su Dow Jones 1 ora a 48.72% nella migliore esecuzione.

Domande

Su questa strategia

La Seasonal Momentum Long può funzionare in reale?

Sì, è un sistema ProOrder solo long con uno stop percentuale. Il codice è stato riscritto ma non verificato in compilazione, e le statistiche provengono dalla versione precedente.

Quali mercati e timeframe sono stati testati?

Nove strumenti da 1 minuto a Giornaliero. Gold 10 minuti ha avuto il miglior profit factor (1.57), e DAX 40 su 4 ore ha prodotto il massimo in termini di euro, EUR 17,920.50 su 2,445 operazioni con un profit factor di 1.18.

Quale drawdown ha comportato la miglior esecuzione?

Con 1 contratto, Gold 10 minuti ha avuto un max drawdown di EUR 176.50. DAX 40 4 ore ha raggiunto EUR 3,327.60, quindi la size dipende molto dal mercato scelto.

Perché una tabella stagionale?

Alcune mezze mensilità, come la seconda metà di gennaio e settembre, hanno peso zero e bloccano nuovi long. L'idea è evitare le parti dell'anno che storicamente sono andate peggio per gli ingressi long.

Correlati

Strategie come questa

Monday Dip Buy

Usa lo stesso indicatore.

n/a PF · 146 operazioni

Triple Band Market Model

Miglior esecuzione sullo stesso mercato, Gold.

2.27 PF · 203 operazioni

Brent SMI Trend

Un profit factor simile.

1.57 PF · 106 operazioni

Vuoi seguire come i filtri stagionali vengono testati sui vari mercati? Unisciti alla community ProRealAlgos.

La community ProRealAlgos ottiene le regole complete, il codice completo e il portafoglio automatizzato.

I risultati passati dei backtest non garantiscono risultati futuri. Questo non è un consiglio finanziario. Curato e mantenuto da ProRealAlgos. ProRealTime™ è un marchio di ProRealTime SAS. prorealalgos.comStatisticheDocumentazione