Under construction This website is currently being rebuilt. Content is provisional — messages are welcome at any time. kontakt@jkhd.de

// Simulation

You against the JKHD Algo.

A small, made-up gold market: you and the JKHD Algo start with $100,000 each, and the first to reach $1,000,000 wins. The algo is a simplified game opponent — not JKHD’s trading system.

The game

// Rules

How to play

Every rule applies to you and the JKHD Algo alike.

Goal

Both start with $100,000. The first to reach $1,000,000 in capital wins. Whoever drops below $10,000 is broke and loses; their position is closed. There is no time limit — this is the only way a game ends. If it happens to both at the same moment, the higher capital decides.

Trading

You trade contracts of 10 ounces each: buy (long) or sell (short, even without holding any). You buy at the ask and sell at the bid; the gap between them is $1.00 per ounce, $2.00 in a hectic market and shortly after news. There is also a fee of $2 per contract on every buy and every sell. “Close” ends the whole position.

Price impact

Every contract traded moves the price by $0.01 per ounce — up on a buy, down on a sell. Large orders therefore pay more on average. The shift fades within a few seconds and hits both players alike.

Stop-loss and take-profit

For an open position you can place one stop-loss (SL) and one take-profit (TP); both apply to the whole position. In the chart, click your dashed entry line and drag it away: upwards creates a TP for a long position and downwards an SL, the other way round for a short. With a finger, tap the line first and then drag it; that way a swipe across the chart scrolls the page instead of moving a line. For a long position a TP must be above the bid and an SL below it, for a short a TP below the ask and an SL above it; a line on the wrong side says so while you drag and is not placed. While the game is running you can grab placed lines at any time and move them; the × on the label removes them, and Escape cancels a drag. The label shows the result of the whole position if the order is triggered exactly there, fees and price impact included. Without dragging, the fields below the chart do the same, also by keyboard. The game keeps running while you drag, and the scale never shrinks; if the price leaves the chart, it grows with it, and if you hold the line beyond the top or bottom edge of the chart, the scale grows in that direction.

How SL and TP are filled

They are checked on every tick, after the price has moved. An SL is triggered as soon as the bid (for a long position) or the ask (for a short) reaches its level, and then goes out as a market order: in fast moves it is filled beyond the level (slippage), plus your own price impact — the result is then worse than on the label. A TP is filled only once the whole position can be closed at its price or better. Because your own price impact counts, for a long position the bid has to exceed the TP by half the price impact of the whole position — half of $0.01 per contract — and for a short the ask has to be that far below it. The price line in the chart is also the mid price, half a spread away from bid and ask: if it has just crossed your TP, the TP has not been reached yet. When the position ends — by closing, by switching sides or through the other order — SL and TP are cancelled; adding to or reducing the position leaves them in place. The JKHD Algo has the same orders with the same rules; if its order and yours are due on the same tick, the one whose level the price has passed further goes first.

Capital and position limit

Your capital is what you would keep if you closed now — after spread, price impact and fee. Right after a buy it is therefore a little lower. An order is allowed only if the value of your position (at the mid price) is then at most 20 times your capital; “Max” uses this in full. As your capital grows, the limit grows with it and you can add to your position. An open position is not reduced when it loses, though: the leverage can then rise far above 20 times, and a price jump can even push your capital below zero.

Market and news

The market is made up. It moves in ticks of 0.25 seconds (at speed 1×), sometimes in trends — in pushes with pullbacks in between — sometimes sideways, sometimes hectically back and forth. News is announced in advance; when it is released, the price jumps — nobody knows beforehand in which direction.

Zones and liquidity

Zones form at highs and lows where the price has turned — that is where many stop orders of other market participants sit. When the price runs into such a zone again, it usually bounces off the first time and then mostly comes back, also after a pullback within a trend. The more often it has bounced, the more likely it is to pierce the zone: sometimes it only briefly takes out the stops behind it and then turns sharply (a liquidity grab), sometimes it really breaks out and keeps going, sometimes it simply bounces once more. When a trend runs into a zone, it usually breaks through. Which of these happens, and how deep the price pierces, is chance and cannot be seen in advance. The market does not see your stops and does not aim at you; but if your stop sits just behind a zone, a liquidity grab easily takes it along — and every stop that is triggered, yours or the algo’s, drives the price further in the direction of the pierce as a market order. The chart does not draw the zones; like the algo, you recognise them from the price history.

Display

One candle covers 2 seconds. The bar under the capital runs from the bust line (left) to the goal (right), on a logarithmic scale: every doubling has the same length, and the marker shows the start. “Open P&L” is the result that closing would report right now: the change in your capital since the position was opened, all costs included. The chart marks a triggered SL with × and a triggered TP with ○, each at its level — yours bold, the algo’s thin and grey. Every game has a number from which its market, news included, is generated; it is shown on the result card after the game.

Pause and speed

While paused the market rests and nobody trades — not even you; you set or move SL and TP only afterwards. After “Resume”, buying, selling and closing stay locked for 1.5 seconds, about the time it takes to react: whoever decides at leisure during the pause does not get to trade at the very price they studied. SL and TP work right after “Resume”. If the tab moves to the background, the game pauses by itself. At speed 2× the market runs twice as fast. “New game” first pauses a running game and asks; only a second press starts over.

Keys

B buy, S sell, X close, Space pause and resume. The keys work while the game has the focus — after a click into it. Typing anywhere else on the page, such as in the question bubble, never trades. On the keyboard, press buttons in the game with Enter; the space bar belongs to the pause. In the SL and TP fields you type prices, and the keys never trade there: the arrow keys change the price by $1, with Shift or Page Up/Down by $10; Enter sets the order, Escape undoes the change. Escape also cancels a drag in the chart.

How the JKHD Algo plays

The JKHD Algo is a simplified game algorithm with fixed rules, set in advance. It sees only what you see: the price history so far, its own account including its orders, and the announced news. It does not know the market’s future, nor your SL and TP.

  • For the first 22 seconds it only watches. Then it compares two moving averages over 2.5 and 14 seconds and measures the usual price move per tick, averaged over 16 seconds.
  • It enters when the short average is more than 7.75 times that move above or below the long one — always in the direction of the trend.
  • It finds highs and lows in the price history itself: it treats any turning point from which the price has pulled back by at least 6 usual moves as a zone. If the price pierces such a zone by at least 1 move and is back within 3 seconds, it takes that as a liquidity grab and does not enter in that direction for 2 seconds. If the price stays beyond it for longer, it was a breakout: the high becomes support for it, the low becomes resistance.
  • It trades as much as the position limit allows, but trades smaller as soon as its stop would cost more than 53% of its capital.
  • When its capital grows, the limit grows with it. As soon as the limit allows at least 2% more than its position, it adds to it — again only so far that its stop costs at most 53% of its capital.
  • With every entry it places a resting stop like yours, 2 usual moves away. If one of its lows (for a long position) or highs (for a short) is closer than 3 moves to the stop, it places the stop 3 moves beyond that zone — never just behind it, where the others’ stops sit. If the price runs its way, it trails the stop once per candle: at most 14 moves behind the best price since entry, again never just behind a zone, and never backwards. If the lead of the short average drops below 0.83 times the move, it exits.
  • In the last 4 seconds before announced news it opens nothing and adds nothing; 2 s before, it is flat. After the news it waits 1 s.
  • After 3 losses in a row it takes a break of 25 seconds.
  • It trades at the same prices, with the same price impact, the same fees, the same position limit and the same resting orders as you: its stop is triggered the same way and can be taken out the same way as yours. It does not see your stops. It is faster only because it does not have to click.
A game. The market and its prices are made up — these are not real gold prices, and no real money is involved. That gold is traded here says nothing about which markets JKHD trades. The opponent is a simplified game algorithm with fixed rules, not JKHD’s trading system. Not investment advice. The game runs only in your browser: it stores nothing and sends nothing.