Each strategy consists of entry/exit rules, an underlying asset, and a timeframe (5-min, 30-min, etc). Entry/exit rules each have two indicators and one comparator, which are used to determine whether the rule is met when accounting for the underlying asset's latest oracle price. A strategy also has an on-chain synthetic trading bot that makes simulated trades based on the strategy's entry/exit rules.
Users can develop a wide range of strategies using the platform’s no-code strategy builder. The tool contains a variety of entry/exit rules and parameters for fine-tuning the strategy, such as underlying asset, profit target, stop loss, and maximum trade duration.
After a user develops a strategy, they can run backtests on that strategy to see how it performed in the past. If they’re satisfied with the strategy, they can submit the strategy 19 for community voting. Strategies that are approved by the community can be published to the platform, which creates a synthetic trading bot for users to invest in.
Developers can use templated contracts to build custom indicators and comparators. These smart contracts are submitted for manual approval by the Tradegen team (to check for uniqueness and to make sure there are no vulnerabilities) and can be sold on the Tradegen marketplace to users wanting to integrate them into their trading bots. This creates a ‘build to earn’ revenue source for smart contract developers and increases the number of possible trading bots.
Each strategy a user develops can be submitted for approval using an incentivized community voting system. Submitted strategies are first compared for uniqueness against other strategies submissions at the time. Strategies that are too similar to other submissions are filtered out, and remaining strategies are evaluated by their Alpha.
Alpha measures the performance of a strategy relative to holding the underlying asset, while taking into account the strategy’s volatility. Strategies with higher volatility have a lower Alpha because such strategies would likely be less consistent over the long run. By default, strategies that perform worse than holding the underlying asset have a negative Alpha and may get filtered out automatically depending on the difference in performance.
Users can validate strategy submissions by running backtests and cross-checking the results with both the developer’s results and the minimum criteria. Validators are also asked to check for inconsistencies in the strategy (such as requiring the latest price to 20 be both higher and lower) and to check for unique strategy name or symbol. They can vote to approve or reject the strategy based on the results they find.
When the strategy gets enough votes, the strategy is approved or rejected based on the majority vote. If less than 80% of the vote is for one decision, the strategy’s vote limit is raised and voting continues. If the strategy is approved, a synthetic trading bot for that strategy is generated. If the strategy is rejected, the submission gets removed from the voting page and the developer may submit the strategy again. Validators for that strategy will receive TGEN as compensation for validating the strategy, regardless of the final decision.
Once a strategy is created, the developer can verify its performance by running backtests on it. Backtests track historical market data to see how the strategy would have performed had it been trading at the time. Backtest results help gauge how successful a strategy might be in the future, but as with most investments, past performance cannot guarantee future returns.
Backtests are performed on a centralized server using historical market data from an external API. Once a strategy is published, livetest results for the strategy are collected from emitted blockchain events whenever the strategy’s trading bot makes a trade. The derived price of a strategy is calculated locally using the strategy’s order history and the historical prices of assets the strategy traded.