Trading strategies tested under identical conditions
Enter your rule, pick up to five markets and press Test. Three tests a day, no account, no sign-up, no e-mail. You get the same verdict as everyone else — on the same data, with the same fees, across the same fifteen time windows.
We also test on data that did not exist when you submitted. That data cannot be overfitted — not even by us.
1 — Indicators
2 — Rules
Allowed: > < >= <= and or not + − × ÷ numbers
and the names of your indicators. No code — nothing is executed.
3 — Markets
A rule that only works on one market has memorised that market. Several markets in a single run show the difference.
4 — Appear in the register as
A random handle is filled in by default. If you want to be named, overwrite it — otherwise no name appears. The handle stays the same so the attempt counter cannot be sidestepped by changing names.
This is what gets submitted
A readable file, not a program. Download it, pass it on, submit it again whenever you like.
Out-of-sample return per market
Forward test: still open. From submission onward your strategy is evaluated every Monday on everything that has arrived since — on prices nobody knew when it was submitted. It is the one number that cannot be massaged.
The result appears in the register further down once enough new prices have come in.
Same prices, same fees, same windows. The data revision and its checksum are printed in every report — anyone can recompute it.
Submit twenty variants and one will shine by chance. So every verdict states which attempt it was. Yours included.
From submission onward, only what happens next counts. Nobody can overfit that number — we cannot either.
3tests a day
pruefstand/p/a7f3c2 — bookmark it or pass it on, it stays valid20tests a day
9 €per month, incl. VAT
Three a day sounds like very little, and that is the point. Anyone working through twenty variants is no longer searching — they are waiting for one to shine by chance. That is exactly what this service warns about one heading further up. A limit that guards against it is not a gate at the door; it is part of the method.
Which is why no amount of money buys unlimited tests. The Workbench costs something because it computes more — every market instead of ten, a portfolio instead of a single rule, every week instead of once. It does not cost something so you may submit the same idea more often. The attempt counter keeps running on every tier and is never reset. It appears in your report and in the public register, visible to all — including for those who paid.
| Strategy | Author | Attempt | Windows + | Return out-of-sample | Forward | Verdict |
|---|
Every strategy tested is listed here with its attempt counter and verdict — including the ones that fail. A service where most strategies pass is not testing properly.
A service that evaluates trading strategies against historical price data. You describe your rule in a form, we run it across fifteen consecutive time windows (walk-forward) and tell you whether the result is stable or rests on a few lucky hits. Nothing is traded and nothing is executed.
Three tests a day across up to five markets are free and need no account. With an e-mail address you get twenty across up to ten markets, also free. The Workbench tier costs 9 € per month (incl. VAT, cancel monthly) and computes with no market cap as well as in portfolio mode.
Instead of running the strategy once across the whole period, it is fitted on one section and evaluated on the section immediately after — fifteen times in a row. Only the section the fitting never saw is scored. This exposes what a simple backtest hides.
Because a rule that looks good on past prices has usually learned the quirks of those particular prices. The more variants someone works through, the more certain they are to find one that shines by pure chance. A testing service where the majority passes is not measuring that effect.
Because the number of attempts is part of the result. The third variant of the same idea has to do markedly better than the first to mean the same thing. The counter appears in the report and in the public register — on every tier, paid ones included.
Only if you want it to. The default is a random handle such as “anon-3f9c”, generated in your browser — we never get to see a real name unless you enter one. The handle stays the same across your submissions, because otherwise the attempt counter could be sidestepped by changing names. The verdict itself stays in the register, including a poor one.
Candle data from public exchanges denominated in euro, in 1h, 4h or daily steps depending on your choice. Every report names the data revision with a checksum so the result stays reproducible. Trading fees are deducted at a realistic rate, and so is slippage.
No. Prüfstand evaluates; it does not trade. There is no exchange connection, no API keys, no orders. What you submit is a description, not a program — it is never executed.
Draft. This policy describes what the site actually does. Once hosting, payment provider and mail delivery are settled, those sections must be completed with names, registered offices and the contractual basis. Have it reviewed legally before launch.
The controller within the meaning of Art. 4(7) GDPR is:
Daniel von Lühmann, Hauptstraße 154, 01833 Dürrröhrsdorf-Dittersbach, Germany,
mail@feif.space
No data protection officer has been appointed; the conditions of § 38 BDSG are not met. Review before launch — this changes above 20 people regularly engaged in data processing.
You can test strategies without signing up and without giving an e-mail address. In doing so the following arises:
This site sets no cookies for advertising, analytics or recognition purposes and embeds no third-party services. The three browser-storage entries are strictly necessary for the service you expressly requested, within the meaning of § 25(2)(2) TDDDG: without the counter the free quota could not be limited, without the handle no submission could be matched to an earlier one, and without the language choice the page would come back in the wrong language on every visit. No consent is required for this — which is why none is requested.
If you sign in, you get exactly one cookie: pruefstand_sitzung. It keeps
you signed in, lasts 30 days and is deleted when you sign out. It holds a random key,
no address, and cannot be read by scripts. This cookie too is strictly necessary within
the meaning of § 25(2)(2) TDDDG: without it you would have to sign in again on every
visit.
This assessment is to be confirmed by a lawyer before launch. It changes the moment analytics, advertising or embedded services are added, and a real consent mechanism then becomes necessary.
If you leave an address, we store it in order to notify you as soon as the forward verdict on your submission is available — once per submission, or weekly instead on the Workbench for as long as the subscription runs. The same address is what you sign in with, since there is no password. The legal basis is Art. 6(1)(b) GDPR, since that notification is the service you requested. The address is not used for marketing and not passed on. Every message carries an unsubscribe link; after you unsubscribe, or after the last pending verdict has been delivered, the address is deleted, at the latest after 24 months without activity.
If you used the same address to open an account (tier 2 or 3), section 5 applies instead: it stays for as long as the account does. Otherwise this section would promise you a deletion your own account prevents.
For the tiers with sign-in we store your e-mail address, the time of your first sign-in, the times of your last ten sign-ins and your submissions (Art. 6(1)(b) GDPR). There is no password; sign-in works through a link sent by e-mail. The link is valid for 15 minutes and works once. Of the link and of your sessions (at most five, 30 days each) we store checksums only, not the keys themselves.
Requesting a link without ever using it does not create an account: the address is deleted once the link has expired. For signed-in users the daily quota is counted per account; the server stores a checksum of the address for this, not the address itself.
For the paid tier, Stripe (Stripe Payments Europe, Limited, Ireland) processes payment data under its own responsibility. Card numbers and bank details never reach us. We only receive the information whether a payment succeeded.
If you pay by PayPal, that too runs through Stripe — PayPal is a payment method there, not a second contractual partner of ours. PayPal still sees your payment, since it is settled through your PayPal account.
Invoice data is retained for ten years under § 147 AO and § 257 HGB; that retention obligation overrides a deletion request.
Every strategy tested appears in a publicly visible register with its name, the handle, the attempt counter and the verdict. This is not a side effect but the core of the service: the visible failure rate is what makes the results credible. The legal basis is Art. 6(1)(b) GDPR.
A random handle is the default, not a name. It is generated in your browser; we never get to see a real name unless you enter one. That is the data-protection-friendly default required by Art. 25(2) GDPR: only those who explicitly want to be named are named.
The handle stays the same across your submissions. This is necessary because the attempt counter could otherwise be sidestepped by changing names — and it is half the method. On request we will replace a published handle with a new random one. That changes what the register shows — not what is counted: your submissions stay linked to one another and the attempt counter keeps running. Were it otherwise, the swap would be exactly the loophole the previous paragraph closes. The evaluation itself remains too — a register from which poor results could be removed would be worthless.
The site and the mail dispatch both run at Uberspace (Jonas Pasche, Kaiserstr. 15, 55116 Mainz, Germany) under a data processing agreement pursuant to Art. 28 GDPR. As long as you pay nothing, that is the only processor that gets to see any data about you; on the paid tier Stripe is added (see section 5).
There are no other recipients: no analytics, no ad networks, no maps. The typefaces, too, are served from our own machine rather than through Google Fonts — otherwise Google would see your IP address on every visit. Price data comes from public exchange interfaces; nothing about you leaves with those requests.
Third countries: as long as you pay nothing, your data does not leave the EU. Paying is different: by its own account Stripe transfers data to the United States and India, relying on the EU standard contractual clauses and the EU-U.S. Data Privacy Framework. This cannot be opted out of without giving up the paid tier — which is why it says so here and not in the small print.
You have the right of access (Art. 15), rectification (Art. 16), erasure (Art. 17), restriction of processing (Art. 18), data portability (Art. 20) and the right to object to processing based on legitimate interests (Art. 21 GDPR). Any consent given can be withdrawn at any time with effect for the future.
Contact mail@feif.space for this. Independently, you have the right to lodge a complaint with a supervisory authority (Art. 77 GDPR), for instance the Saxon Data Protection Commissioner, the authority responsible for Saxony.
One limitation, so it does not come as a surprise: we cannot promise deletion of a register entry that has already been published — see section 6. What we will do on request is replace the handle, so the entry can no longer be attributed to you. Whether that suffices in a given case is for the supervisory authority to decide, not for us.
The verdict on a strategy is produced automatically. It has no legal effect on you and does not similarly significantly affect you, since it evaluates a submitted calculation rule only and makes no statement about you as a person. An automated individual decision under Art. 22 GDPR therefore does not arise.
This policy applies in the version dated 15 Sep 2026 — the day of the last substantive change, not the day you happen to read it. The terms and this policy each carry their own date, because they change independently of one another; where both show the same date, both were touched on the same day.
Still open: the bracketed fields — VAT identification number and payment provider. Everything else is the real provider data. The legal notice, terms, privacy policy and withdrawal policy are legally binding texts under German law — have a lawyer review them before launch. A defective Impressum can trigger a formal warning with costs.
Daniel von Lühmann
Hauptstraße 154
01833 Dürrröhrsdorf-Dittersbach
Germany
E-mail: mail@feif.space
Telephone: +49 611 94584300
VAT identification number under § 27a UStG: [to be added]
Daniel von Lühmann, Hauptstraße 154, 01833 Dürrröhrsdorf-Dittersbach, Germany
Our terms and conditions apply. An existing subscription is ended through the “Cancel contracts here” button; the right of withdrawal is set out in the withdrawal policy.
We are neither willing nor obliged to take part in dispute resolution proceedings before a consumer arbitration board (§ 36 VSBG).
Note: the EU Online Dispute Resolution platform was shut down on 20 July 2025. The link that used to be required no longer belongs in a legal notice.
As a service provider I am responsible for my own content on these pages under § 7 (1) DDG. Under §§ 8 to 10 DDG there is no obligation to monitor transmitted or stored third-party information. Obligations to remove or block the use of information under general law remain unaffected; liability in this respect, however, arises only from the point at which a specific infringement becomes known. On becoming aware of such infringements, the content concerned is removed without delay.
External pages linked here were checked for possible legal infringements at the time of linking. Responsibility for their content always lies with the respective provider. Links are removed without delay if infringements become known.
Reproduction, adaptation, distribution and any kind of exploitation beyond the limits of copyright require my written consent. Strategies submitted by users remain their work; the rights to them are governed by § 7 of the terms.
Test results are based on historical price data and constitute a technical evaluation. They are not investment advice and not a recommendation to buy or sell financial instruments. Past results permit no reliable inference about future ones. No liability is accepted for decisions taken on the basis of these evaluations.
Here you can end the paid tier — without signing in, without a phone call, without giving reasons. The button leads straight to the form, and that one form is all there is. The free tiers need no cancellation; they simply carry on.
Signed up only recently? Within the first fourteen days, withdrawal serves you better than cancellation: withdrawal gets your money back, whereas cancellation merely lets the month you paid for run out.
Draft. These terms must match the withdrawal policy and the actual billing — particularly on commencement, term and cancellation. Have them reviewed legally before launch.
These terms govern use of Prüfstand, operated by Daniel von Lühmann, Hauptstraße 154, 01833 Dürrröhrsdorf-Dittersbach, Germany (“we”). Deviating terms of the user do not become part of the contract, even if we do not expressly object to them.
Prüfstand evaluates submitted trading strategies against historical price data and issues a verdict. Added to that are publication in the register and, depending on the tier, notification of the forward verdict, the history of your submissions, portfolio computation and the export of the raw data. What a tier covers is set out under Tiers.
The service does not trade. There is no connection to any exchange, no orders are placed and no credentials are accepted. Submitted strategies are descriptions and are never executed.
No particular result is owed. In particular we do not owe a favourable verdict or any given number of passing tests.
How many tests a day and how many markets per test each tier allows is set out under Tiers and forms part of the description of the service.
The two free tiers can be used without entering into a contract for payment; these terms nonetheless govern that use.
For the paid “Workbench” tier the contract is formed when we confirm the order or unlock access. Before the order is placed, the essential characteristics, the total price, the term and the cancellation conditions are displayed.
The Workbench costs 9 € per month including statutory VAT. Billing is in advance for each billing month via Stripe (Stripe Payments Europe, Limited, Ireland). Which payment methods are available there — card, direct debit, PayPal — is for Stripe to determine; no second provider is involved. Invoices are provided electronically.
If the user falls into arrears, we may suspend access to the paid tier after prior notice. The free tiers remain usable.
The subscription runs for one month and renews for a further month unless cancelled before the end of the current period. There is no minimum term.
Cancellation is possible at any time without giving reasons — via the “Cancel contracts here” button under § 312k BGB, or informally by e-mail. The button is permanently available and reachable without signing in; it leads directly to the confirmation form. We confirm receipt without delay by e-mail, stating the time of receipt and the end date, for your records. Access continues until the end date; thereafter the free tier limits apply. The month already paid for is not refunded pro rata — you use it up. It is different if we suspend access: then we refund the unused part (§ 8).
The right of either party to terminate for cause remains unaffected.
Consumers have a statutory right of withdrawal in respect of the paid tier. The details are set out in the withdrawal policy, which forms part of these terms.
The user retains all rights in the strategies they submit. They grant us the non-exclusive right to store and evaluate the strategy and to display the result together with the strategy name, the chosen handle, the attempt counter and the verdict in the public register. This display is part of the service and cannot be switched off. The right lasts as long as the register entry does; a submission not yet evaluated is deleted on request, immediately.
The handle is random by default. The user decides whether to replace it with a name. On request we will replace an already published handle with a random one; the attempt counter is not reset in the process — otherwise this swap would be a way around § 8. The verdict itself remains — a register from which poor results could be removed would be worthless, and the service with it.
The user warrants that their submission infringes no third-party rights.
The following are prohibited in particular: circumventing the daily quotas through multiple handles, addresses or technical means; automated submission at scale; systematic scraping of the register; and any use that disrupts operation.
In the event of serious or repeated breaches we may suspend access. Where access was paid for, we will refund the fee for the unused part of the billing period.
We aim for continuous operation but owe no particular availability. Maintenance is announced where possible. We compute the forward test weekly. Delivering it, however, needs an address: without an account you see the verdict when you revisit your result address — we cannot notify you there. With an e-mail address we write once, as soon as the verdict is settled; on the Workbench every week. Delays caused by outages at the data sources are outside our control.
We are liable without limitation for intent and gross negligence, for damage arising from injury to life, body or health, and under the German Product Liability Act.
For slightly negligent breach of an obligation whose fulfilment is essential to the proper performance of the contract and on whose observance the user may regularly rely, liability is limited to the foreseeable damage typical for this type of contract. Liability is otherwise excluded.
Prüfstand provides no investment advice, no investment broking and no portfolio management within the meaning of the German Banking Act or Securities Trading Act. The evaluations are technical statements about historical data and not a recommendation to acquire, hold or dispose of any financial instrument.
Past results permit no reliable inference about future ones. Anyone trading on the basis of a strategy tested here does so on their own responsibility and bears the risk of loss alone, up to and including total loss.
We will notify changes in text form at least six weeks before they take effect. If the user does not object before they take effect, the changes are deemed accepted; we will point this consequence out separately in the notice. If the user objects, either party may terminate with effect from that date.
Users with no address on file — that is, on the tier without an account — cannot be reached in text form. For them, changes apply from a clearly visible notice on this page; no contract for payment exists there in any case.
German law applies. Mandatory consumer protection provisions of the state in which the user has their habitual residence remain unaffected.
Should any provision be invalid, the remainder of the contract stays in force.
Version: 14 Sep 2026 — day of the last substantive change. The privacy policy carries its own date.
Applies to the paid “Workbench” tier. The two free tiers do not create a contract for payment.
Withdrawal is not the same as cancellation. Withdrawal unwinds the contract retroactively and is only possible in the first fourteen days. Cancellation ends it at the next effective date and is possible at any time. Anyone who "withdraws" after the fourteen days has not cancelled — and the contract runs on.
You have the right to withdraw from this contract within fourteen days without giving any reason. The withdrawal period expires fourteen days from the day the contract was concluded.
To exercise your right of withdrawal you must inform us (Daniel von Lühmann, Hauptstraße 154, 01833 Dürrröhrsdorf-Dittersbach, Germany, mail@feif.space, phone +49 611 94584300) by an unequivocal statement — for example a letter or an e-mail — of your decision to withdraw from this contract. You may use the model withdrawal form below, but it is not obligatory.
To meet the withdrawal deadline it is sufficient for you to send your communication concerning the exercise of the right of withdrawal before the withdrawal period has expired.
If you withdraw from this contract, we shall reimburse all payments received from you without undue delay and no later than fourteen days from the day on which we are informed about your decision to withdraw. We will carry out such reimbursement using the same means of payment as you used for the initial transaction, unless you have expressly agreed otherwise; in any event, you will not incur any fees as a result of such reimbursement.
If you requested that the service begin during the withdrawal period, you shall pay us an amount which is in proportion to what has been provided until you communicated your withdrawal, in comparison with the full coverage of the contract.
For a contract for the supply of services, the right of withdrawal expires once we have fully performed the service, provided that performance began only after you gave your express consent and simultaneously acknowledged that you would lose your right of withdrawal upon complete performance of the contract (§ 356 (4) BGB).
Practical consequence for sign-up: checkout must carry two separate tick boxes — one for immediate commencement, one acknowledging the loss of the right. Without both, the tier must not be activated immediately but only after fourteen days.
If you wish to withdraw from the contract, complete this form and return it.
To Daniel von Lühmann, Hauptstraße 154, 01833 Dürrröhrsdorf-Dittersbach, Germany, mail@feif.space:
I/We (*) hereby give notice that I/We (*) withdraw from my/our (*) contract for the supply of the following service:
Ordered on (*) / received on (*): ____________
Name of consumer(s): ____________
Address of consumer(s): ____________
Signature (only if this form is notified on paper): ____________
Date: ____________
(*) Delete as appropriate.