Skip to content
Marius edited this page Sep 25, 2026 · 3 revisions

Emulator - Runs uitvoeren

Er zijn drie manieren om een emulator-run te starten, afhankelijk van wat je wilt testen.

Enkele run (Start)

De eenvoudigste modus. Klik op "Start" en de emulator draait één keer met de huidige instellingen. Het resultaat verschijnt als een enkele rij in de resultaten-tabel.

Geschikt voor: snel testen of een bepaalde configuratie werkt.

Algoritme-sweep (Run algorithms...)

Hiermee test je meerdere strategieën achter elkaar met dezelfde instellingen:

  1. Klik op "Run algorithms..."
  2. Vink de gewenste algoritmen aan (STOBB, SBM, DLZ, etc.)
  3. Klik OK

De emulator draait nu iedere geselecteerde strategie als een aparte run. Iedere run krijgt zijn eigen rij in de resultaten-tabel, zodat je de strategieën direct kunt vergelijken.

De vorige selectie wordt onthouden voor een volgende keer.

Queue folder (Run queue folder)

De krachtigste modus. Hiermee kun je parameter-sweeps uitvoeren zonder handmatig instellingen te wijzigen tussen runs.

Hoe werkt het

De emulator leest JSON-bestanden uit de map Queue in de datafolder. Elk bestand bevat een array van queue-entries met verschillende parameters.

  1. Maak de map Queue aan in de datafolder (als die nog niet bestaat)
  2. Zet er een of meer .json-bestanden in (elk met een array van entries)
  3. Klik op "Run queue folder"
  4. De emulator pakt het eerste bestand op (alfabetisch), draait alle entries daarin, en verplaatst het afgeronde bestand naar Queue\Done
  5. Daarna pakt hij het volgende bestand, enzovoort
  6. Na het laatste bestand blijft de emulator elke 30 seconden kijken of er nieuwe bestanden zijn bijgekomen, totdat je op Stop drukt

Je kunt tijdens een lopende batch nieuwe bestanden in de Queue-map droppen — de emulator pikt ze automatisch op.

Duplicaatcontrole

De emulator berekent een vingerafdruk van elke entry (instellingen + periode + symbolen). Als er al een voltooide run bestaat met dezelfde vingerafdruk, wordt de entry overgeslagen. Dit voorkomt dat een herstart van de batch alles opnieuw draait.

Met "Force": true sla je de duplicaatcontrole over. Na afloop zet de emulator die vlag automatisch terug naar false, zodat een volgende herstart hem niet opnieuw forceert.

Wat een entry kan overschrijven

Elk veld is optioneel. Wat je niet opgeeft, blijft op de waarde uit de scanner-instellingen.

Algemeen:

Veld Beschrijving
Label Naam voor deze entry (verschijnt in het run-label)
Algorithm Beperk tot een specifiek algoritme (leeg = alle geselecteerde)
BaseInterval Overschrijf het basisinterval ("1m", "5m", "15m")
FromDate / ToDate Overschrijf de replayperiode per entry
StartCapital Overschrijf het startkapitaal
UseAssetManagement Papiersaldo begrenst de run (true/false)
CalculateBarometer Barometerbrekening aan/uit
ExcludeSymbols Lijst van symbolen die je wilt uitsluiten
Force Duplicaatcontrole overslaan (zie hierboven)

Trading:

Veld Beschrijving
StopLossPercentage Stop loss percentage
TpList Take profit niveaus: lijst van {"Factor": ..., "Percentage": ...}
DcaList DCA ladder: lijst van {"Factor": ..., "Percentage": ...}
Trading Genest object met StopLossPercentage, TpList en DcaList (heeft voorrang op de losse velden)

Signalen en zijden:

Veld Beschrijving
Intervals Overschrijf de signaal-intervallen
Long / Short Per-side configuratie (zie hieronder)
MirrorFrom Spiegel de configuratie van "Long" of "Short" naar de andere kant
SignalOverrides Willekeurige overschrijvingen van signaal-instellingen
TradingOverrides Willekeurige overschrijvingen van trading-instellingen

Per-side configuratie (Long / Short):

Veld Beschrijving
Enabled Zijde aan/uit
Strategy Strategie voor deze zijde
Intervals Intervallen voor deze zijde
TrendIntervals Trendintervallen
Barometer Barometerdrempels
BarometerConsensusActive Barometerconsensus aan/uit
BarometerMinConsensus Minimale consensus
SymbolTrend Filter op de trend van de munt zelf
SymbolTrendSecondary Hetzelfde met de secundaire trendinstelling

Voorbeeld

Eén bestand 01-sl-sweep.json in de Queue-map:

[
  {
    "Label": "sl-1.5",
    "StopLossPercentage": 1.5,
    "TpList": [{"Factor": 100, "Percentage": 1.5}],
    "DcaList": []
  },
  {
    "Label": "sl-2.0-dca",
    "StopLossPercentage": 2.0,
    "TpList": [{"Factor": 100, "Percentage": 1.5}],
    "DcaList": [{"Factor": 200, "Percentage": 3.0}]
  },
  {
    "Label": "sl-3.0-dca",
    "StopLossPercentage": 3.0,
    "TpList": [{"Factor": 100, "Percentage": 1.5}],
    "DcaList": [{"Factor": 200, "Percentage": 3.0}],
    "ExcludeSymbols": ["DOGEUSDT"]
  }
]

Bestandsafhandeling

Situatie Wat er gebeurt
Alle entries afgerond Bestand verplaatst naar Queue\Done met tijdstempel
JSON niet leesbaar Bestand verplaatst naar Queue\Failed
Stop ingedrukt tijdens een bestand Bestand blijft in Queue; bij herstart worden de al afgeronde entries overgeslagen via de duplicaatcontrole
Bestand vergrendeld (ander programma) Wordt overgeslagen en bij de volgende ronde opnieuw geprobeerd

Let op: een bestand moet minstens 10 seconden ongewijzigd zijn voordat de emulator het oppakt. Zo voorkom je dat een half geschreven bestand wordt ingelezen.

Run stoppen

Klik op "Stop" om de huidige run (of de hele queue-batch) te annuleren. De run krijgt de status "cancelled" in de resultaten.

Voortgang

Tijdens een run wordt onderaan het scherm de voortgang getoond:

  • Bij een enkele run: percentage afgerond
  • Bij een queue-run: [N/totaal] X%

Clone this wiki locally