Optimise TradingView Strategies An assistant for optimising (Optimize) & backtesting trading strategies in Tradingview

Latest Version

Version
1.58
Update
October 30, 2024
Size
1.82MiB
Developer
Category
Users
8,000+
Rating
4.27835 ★
Manifest Version
3
Web Store Status
Languages Support
English
See more
Permissions
Storage
UnlimitedStorage
ActiveTab
Alarms
See more

The Optimiser - TradingView Strategies Extension

Optimise TradingView Strategies An assistant for optimising & backtesting trading strategies in Tradingview.
An optimizing assistant for backtesting trading strategies and showing external signals in Tradingview
An assistant for backtesting trading strategies and checking (showing) external signals in Tradingview.

Functionality
1. Backtesting trading strategies, optimisation of the strategy's parameters:
* automatic getting a list of parameters and their types (numeric, lists and checkboxes are supported)
* generation of the testing range according to the rule: the beginning value is 2 times less than the current one, the end is 2 times more than the current one.
* saving the generated parameters of testing a trading strategy for their correction as a template in a file in CSV format
* Loading adjusted parameter ranges from a CSV file
* Configuring the optimisation model:
* Choosing the type of optimisation: searching for the maximum or minimum values
* Selecting an optimised value from the entire list of strategy results in Tradingview (Net Profit, Ratio Avg Win / Avg Loss, Sharpe Ratio, Sortino Ratio, etc.)
* Choosing a search strategy in the parameter space(random, sequential, annealing method)
* Filtering of unsuitable results. For example, the number of tradings is less than necessary
* Setting the number of cycles to search for parameters.
* Performing automatic selection of parameters with storing all the results in the browser storage and the ability to save them as CSV files after testing, including in case of an error or page reloading
* Showing backtesting results on 3d chartto analyze the effect of various parameters on the result.

2. Upload external signals to Tradingview chart

Loading external buy or sell signals by timestamps from a CSV file

Optimization Methods

The sequential improvements optimization method is implement adjusting the best value already found. It does not perform a complete search of the entire parameter space.
The logic of it work is as follows. The current best state (parameters for max results) is taken. The first parameter is taken and all its values in the range are checked sequentially. If the best result is found, then further verification is carried out from this state. Then the next parameter is taken and all its values in the range are checked and etc.

The brute force optimization method implement backtesting all values in strategy space of parameters.

The annealing method is an optimization method in which the search for the maximum possible result is carried out in fewer steps https://en.wikipedia.org/wiki/Simulated_annealing
The method works this way: first, the best state and its parameters are determined. One parameter is randomly determined, then its value from range of possible values is randomly selected. The status in this value is checked. If it is better, then it is remembered and further parameter changes are made from it.
As the number of tests increases, the spread of parameter values decreases around those already found. That is, if at the beginning of testing the values are randomly selected from the entire range of possible parameter values, then as optimization is carried out, this spread decreases (\"cools down\") near current values. So in first phase of test - this method is search the most possible state around all space on the finish stage this method trying to improve found best state.
So that the system does not get stuck in one parameter area, as it happens with the sequential method, not one random parameter changes periodically, but all at once.

The random improvements method is the simplest. One parameter is randomly determined and then a value is randomly selected for it from the entire range of possible values. If the condition is better, then it is remembered. And then the parameters from this state are randomly changed.

The random method - always selects random values for all parameters at once (default)


Declaimer.

This extension is open source and aims to reduce the manual operations of users when working with the Tradingview by implementing the technology of emulation of user actions. At the same time, parsing of the data displayed by the Tradingview's UI is used to obtain data. Extension do not interact with the Tradingview servers. If the interface changes, the extension may stop working and give errors.
The developer is not responsible for any possible violation by the user of the extension of the rules for using Tradingview.

Affiliations:

We are committed to transparency and responsible marketing. Our extension uses affiliate programs to support its development and provide enhanced features. Before installation and in our user interface, we want to inform you that we have partnerships with several affiliate platforms. These include ByBit, OKX, BingX, and BitGet. Participation in these programs helps us continue improving our service for you. For more details, please visit our Chrome Web Store page.

1.3.4
* Fixed color issues
* Fixed backtesting issues on Watch list.

1.4.1
* Added in & out of sample testing. Only for users with deep testing on TradingView.

1.4.6
* fixed a few updates
* added in and out of sample testing

1.5.6
* Updates for the placeholders on TradingView

1.5.8
* Removed the uploads of CSV feature.
Read more

Source Manifest.json

{"update_url": "https://clients2.google.com/service/update2/crx", "manifest_version": 3, "author": "Andrei Kuminov (akumidv)", "description": "Optimise TradingView Strategies An assistant for optimising (Optimize) & backtesting trading strategies in Tradingview", "name": "The Optimiser - TradingView Strategies", "version": "1.58", "icons": { "16": "images/clive_16.png", "32": "images/clive_32.png", "48": "images/clive_48.png", "64": "images/clive_64.png", "128": "images/clive_128.png" }, "content_scripts": [ { "matches": [ "https://*.tradingview.com/chart/*" ], "js": [ "content_scripts/selector.js", "content_scripts/page.js", "content_scripts/ui.js", "content_scripts/tv-ui.js", "content_scripts/tv-chart.js", "content_scripts/file.js", "content_scripts/html2canvas.js", "content_scripts/storage.js", "content_scripts/model.js", "content_scripts/signal.js", "content_scripts/backtest.js", "content_scripts/worker-api.js", "content_scripts/action.js", "content_scripts/controller.js" ], "run_at": "document_end" }, { "matches": [ "https://*.bybit.com/*", "https://*.bitget.com/*", "https://*.okx.com/*", "https://*.kucoin.com/*" ], "js": [ "content_scripts/auto.js", "content_scripts/page.js" ], "run_at": "document_idle" } ], "host_permissions": [ "https://SendToDiscord.davidd.tech/backtest/api/v1.0/results", "https://*.tradingview.com/chart/*", "https://SendToDiscord.davidd.tech/message", "https://daviddtech.com/wp-json/daviddtech/v1/verify" ], "permissions": [ "storage", "unlimitedStorage", "activeTab", "alarms" ], "action": { "default_icon": { "16": "images/clive_16.png", "32": "images/clive_32.png", "48": "images/clive_48.png", "64": "images/clive_64.png", "128": "images/clive_128.png" }, "default_title": "TradingView Strategy Helper", "default_popup": "popup/clive.html" }, "background": { "service_worker": "background-worker.js" }, "web_accessible_resources": [ { "resources": [ "page-context.js", "fonts/fa-solid-900.woff2", "lib/plotly.min.js" ], "matches": [ "" ] } ]}
Read more