Ga naar inhoud

Hoe het EA-algoritme werkt

In dit hoofdstuk bespreken we hoe het algoritme werkt met de onderdelen van je EA en hoe het zal handelen.

Hoe ticks/koersen worden verwerkt door je EA
Overzicht van hoe je EA marktdata verwerkt

Je EA bestaat uit modules waarmee het algoritme interactie heeft. Dankzij de modulariteit kun je elke EA maken. De modules zijn onderverdeeld in drie categorieen:

  • Modules die openen voorkomen
  • Modules voor openen
  • Modules voor sluiten

Lees meer over Modules. Zoals je in de afbeelding hierboven hebt gezien, zal het algoritme met een of meer modules interactie hebben. In het volgende hoofdstuk gaan we hier in detail op in.

Het algoritme van je EA gedraagt zich anders afhankelijk van de status:

  • Er zijn geen openstaande orders
  • Er zijn een of meer openstaande orders

Wanneer er geen orders open zijn, doet de EA niets anders dan wachten op een Open Signal. Wanneer het signaal activeert, wordt er een order geopend, tenzij een Voorkom openen-module dit blokkeert.

Tick-/koersverwerking wanneer er geen orders open zijn
Verwerkingsproces wanneer er geen orders open zijn

Wanneer er orders open zijn, evalueert je EA of de openstaande orders gesloten moeten worden, op basis van of een SL/TP is bereikt of een Close Signal is geactiveerd. Wanneer SL/TP is bereikt, of een Close Signal activeert, wordt eerst gecontroleerd of er een nieuwe order (hypothetisch) geopend zou worden na het sluiten van de huidige order. Dit wordt gedaan door Open Signals te evalueren (rekening houdend met modules die openen voorkomen) en Close Signals. Dus hetzelfde proces als wanneer er geen openstaande orders zijn, wordt geevalueerd. Als er (hypothetisch) geen order geopend zou worden, wordt de order gesloten. Daarnaast evalueert de EA of er extra orders geopend moeten worden. Extra orders worden alleen geopend wanneer een Open Signal activeert, dus nadat het minstens 1 verwerkte koers inactief is geweest.

Tick-/koersverwerking wanneer er orders open zijn
Verwerkingsproces wanneer er orders open zijn
  • Een order wordt gesloten wanneer de SL of TP wordt bereikt, of door een Close Signal. Alle Modules voor sluiten kunnen de SL/TP van de order beinvloeden. SL wordt onder de order geplaatst (vanuit een kooporder-perspectief) en kan alleen omhoog worden verplaatst door dezelfde of een andere module. Het tegenovergestelde geldt voor de TP: deze kan alleen mogelijk omlaag worden verplaatst. SL/TP-waarden worden momenteel niet naar de broker gestuurd.
  • Een order wordt alleen gesloten als de order niet direct na het sluiten opnieuw geopend zou worden, want als het algoritme de order zou sluiten, zou er onmiddellijk een andere order worden geopend en zou je nog een ronde Commission/spread verliezen. Om te valideren of dit het geval is, wordt het Open Signal opnieuw geevalueerd voordat er gesloten wordt, waarbij ook rekening wordt gehouden met Voorkom openen-modules. Bijv. wanneer een order seconden na opening gesloten moet worden, is het zeer waarschijnlijk dat het Open Signal nog actief is. Dit kan worden tegengegaan door een Voorkom openen-module te gebruiken, zoals de Time gap between orders-module. Wanneer je dit doet, wordt het Open Signal geblokkeerd na het sluiten van de order, zodat de order gesloten kan worden.
  • Bij gebruik van de Multiple order Open module worden extra orders geopend wanneer het Open Signal is omgeschakeld van actief (wat de vorige order opende) naar inactief en weer activeert, waarna een extra order wordt geopend.