Uit ons onderzoeksnotitieboek

Multi-timeframelogica zonder dubbelzinnigheid

We leggen uit hoe meerdere timeframes ons dwongen om één beslismoment, duidelijke rollen en de geldigheidsduur van setups vast te leggen.

“Hoger voor richting, lager voor entry” klinkt eenvoudig. In het ontwikkelwerk bleek de moeilijkere vraag welke informatie iedere laag op hetzelfde moment mocht gebruiken.

We gaven elk timeframe een rol

We onderscheiden context, setup en trigger en bepalen wie mag toestaan, blokkeren of annuleren. Zo zien we of een lagere gebeurtenis alleen de entry timet of de marktinterpretatie verandert.

We zetten de metingen op één klok

Als een lagere candle sluit, kan de hogere nog open zijn. We bewaren bronbar en tijd bij iedere invoer en controleren de historie. Een snapshot helpt ons de beslissing later met dezelfde informatie te bekijken.

We bepalen hoelang overeenstemming geldt

Sommige methoden vragen gelijktijdigheid, andere laten een setup wachten. We beschrijven verval en ongeldigmaking, ook bij een nieuwe hogere candle. Rollover, gaps en herstarts zijn belangrijke controlemomenten.

Bekijk de technische uitwerkingOpen de volledige methode, uitgewerkte voorbeelden en implementatievragen. We bewaren die verdieping hier, zodat je de redenering zo ver kunt volgen als je wilt.

Multi-timeframesystemen klinken eenvoudig: hogere timeframe voor richting en lagere voor entry. De verborgen moeilijkheid is tijd. Op een lager event kan de hogere candle nog open staan, historiek onvolledig zijn en elke bevestiging naar een andere marktsnapshot verwijzen.

Elf afgeronde records waren expliciet als multi-timeframewerk gemarkeerd. Ze omvatten trendfilters, fractalstructuur, indicatorovereenstemming, custom-timeframelogica, tradebeheer en beslissingsbomen met drie lagen. De gedeelde les was één klok en één definitie van geldige informatie.

Engineeringnota · ENG-03

Hoe de EA één beslissing neemt

De EA wacht op het afgesproken moment, leest de gekozen candles samen, past de regels in volgorde toe en neemt daarna één geregistreerde beslissing.

  1. 01
    Kies het startmomentWacht op het afgesproken event, zoals een nieuwe candle op het lagere timeframe.
  2. 02
    Kies de candlesGebruik per timeframe de afgesproken huidige of gesloten candle onder één tijdbeleid.
  3. 03
    Lees alles samenMaak één gecombineerd beeld in plaats van waarden uit verschillende momenten te mengen.
  4. 04
    Pas regels in volgorde toeControleer richting, setup, trigger, blokkeringen en verval in de afgesproken volgorde.
  5. 05
    Beslis eenmaalKeur de actie eenmaal goed of af en registreer daarna inputs en brokerresultaat.

Geef elk timeframe een rol

Een hogere timeframe kan regime, richting, structuur of niveau bepalen. Een middelste laag kan de setup beschrijven en een lagere de trigger. Problemen beginnen wanneer die rollen impliciet blijven of de lagere laag stilzwijgend de hogere overschrijft.

De specificatie benoemt rol en bevoegdheid. Een filter laat toe of blokkeert; een trigger timet een entry maar herdefinieert het regime niet tenzij de methode dat expliciet vraagt.

Leg het barbeleid vast

Bar nul is de open candle; bar één meestal de laatste voltooide candle. Na historiekload of aan een sessiegrens vraagt zelfs dat nuance. Een dagbar gelezen op een uurevent kan uren onveranderd blijven, of heel de dag wijzigen wanneer bar nul wordt gebruikt.

Closed-bar beleid verbetert vaak reproduceerbaarheid. Intrabar kan ook, maar ontwikkeling, backtest en live evaluatie moeten hetzelfde beleid beoordelen.

Bouw één snapshot

Voorwaarden na elkaar lezen zonder snapshot kan subtiele verschillen maken: een tick komt binnen of een indicator herberekent tussen twee reads. Kies daarom eerst het decision event, controleer data en lees elke waarde eenmaal met de bronbartijd.

De log kan dan tonen dat een dagfilter op één tijd gold, de uursetup later ontstond en de lagere trigger pas na verval kwam.

Definieer geheugen en verval

Sommige systemen eisen alle voorwaarden tegelijk. Andere laten een hogere setup gewapend tot een latere lagere trigger. Beide zijn mogelijk, maar geven andere trades.

Een blijvende toestand heeft een maximumleeftijd, reset en invalidatie nodig. Een nieuwe hogere bar moet de setup volgens een vaste regel vernieuwen, annuleren of als nieuwe kans behandelen.

Test tijdsgrenzen

Test vooral de eerste tick van een nieuwe bar, dagrollover, marktopening, zomertijd, weekendgap, ontbrekende historiek en terminalherstart. Daar kan een nette chart een andere livebeslissing verbergen.

Goed bewijs bevat brontimestamps en eenmaal-per-event controles. Het doel is niet winst bewijzen, maar aantonen dat de hiërarchie elke keer hetzelfde wordt geëvalueerd.

  • Geef elk timeframe een vaste rol en bevoegdheid.
  • Definieer barindex, timezone, update-event en datagereedheid.
  • Lees een gesynchroniseerde snapshot en bewaar de tijd van elke toestand.
  • Definieer bevestigingsgeheugen, maximumleeftijd, refresh, reset en invalidatie.
  • Test bargrenzen, sessiewissels, herstart en ontbrekende historiek.

Vragen die je misschien hebt

Maken meer timeframes een EA veiliger?

Niet vanzelf. Ze kunnen context toevoegen, maar ook vertraging, conflicten en overfitting. Elk timeframe heeft een duidelijke taak nodig.

Moeten alle timeframes gesloten candles gebruiken?

Niet noodzakelijk. Belangrijk is een expliciet en consistent beleid dat in development, backtest en live wordt herhaald.

Waarom de bartijd bij elke toestand bewaren?

Zo is bewijsbaar welke informatie op het beslismoment beschikbaar was en zijn synchronisatiefouten sneller te vinden.

Geef elk timeframe tijd en vervaldatum

Schuif het diagram horizontaal of open het op volledige grootte.

Geef elk timeframe tijd en vervaldatum
Educatief ontwerpvoorbeeld — waarden en toestanden zijn geen liveprestaties.

Beslissing 11:00:02; gebruik bevestigde candles; stippellijn = in opbouw.

Serverklokvoorbeeld; gereedheid moet uit de datafeed komen.

Volledig diagram openen ↗

Geef elk timeframe tijd en vervaldatum

Beslis op de eerste tick na M5-close. H1 geeft context, M15 setup en M5 trigger. Alleen gesloten bars; na het lezen controleert het systeem opnieuw of alle timestamps één snapshot vormen.

Tijdlijn rond 11:00 servertijd
Event H1 M15 M5 Resultaat
10:55:01 09–10 10:30–10:45 10:50–10:55 snapshot v1
11:00:00 kalender Nieuwe bar mogelijk nog niet gezien Nog niet gezien Wacht tick Geen beslissing
11:00:02 eerste tick 10–11 10:45–11 10:55–11 verifieer, snapshot v2
11:00:02 M15 laat 10–11 Niet ready 10:55–11 snapshot weigeren

H1-context blijft tot nieuwe bevestiging; M15-setup vervalt na twee M15-bars. Volgorde op één tijdstip: readiness, oude state laten vervallen, nieuwe context publiceren, trigger beoordelen. Zo leent een oude setup geen nieuwe context.

Incomplete historie of missende candle is ‘not ready’, niet false. Restart bouwt uit gesloten timestamped bars en herstelt consumed IDs. Een trigger met verlopen context wordt gelogd en geweigerd.

Wat te controleren

  • Lees timestamps vóór en na buffers; weiger bij verandering.
  • Test incomplete historie, ontbrekende M15, restart en verlopen H1.
  • Vergelijk dezelfde grenzen in tester en live logs.

Grenzen van dit voorbeeld

De geldigheidsduur is een ontwerpkeuze; ze moet geschreven, timestamped en getest zijn.

Redactioneel eigenaarschap en primaire bronnen

Beoordeeld door POLARIS Research

Bewijskader

Dit artikel combineert officieel platformgedrag met terugkerende, geanonimiseerde implementatiepatronen. Exacte handelsregels en klantmateriaal zijn uitgesloten.

Primaire bronnen

Deze bronnen ondersteunen platformgedrag of onderzoeksconcepten. Ze valideren geen POLARIS-prestaties en garanderen geen toekomstige resultaten.

Verken de volgende relevante laag

Ga gericht verder tussen onderzoek, systeemengineering en portefeuilleconstructie zonder de context van deze pagina te verliezen.

Neem contact op met POLARIS via WhatsApp