diff --git a/Projects/Superalgos/GIFs/Docs/design-space/Thumbs.db b/Projects/Superalgos/GIFs/Docs/design-space/Thumbs.db index 322d973b9..e6d0550c7 100644 Binary files a/Projects/Superalgos/GIFs/Docs/design-space/Thumbs.db and b/Projects/Superalgos/GIFs/Docs/design-space/Thumbs.db differ diff --git a/Projects/Superalgos/GIFs/Docs/design-space/establish-and-remove-references-02.gif b/Projects/Superalgos/GIFs/Docs/design-space/establish-and-remove-references-02.gif new file mode 100644 index 000000000..3b1da06bf Binary files /dev/null and b/Projects/Superalgos/GIFs/Docs/design-space/establish-and-remove-references-02.gif differ diff --git a/Projects/Superalgos/Schemas/Docs-Reviews/superalgos-project-review-002-superalgos-review-harrell-initial-review.json b/Projects/Superalgos/Schemas/Docs-Reviews/superalgos-project-review-002-superalgos-review-harrell-initial-review.json new file mode 100644 index 000000000..641a0b1d6 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Reviews/superalgos-project-review-002-superalgos-review-harrell-initial-review.json @@ -0,0 +1,53 @@ +{ + "review": "Superalgos Project Review", + "pageNumber": 2, + "type": "Superalgos Review - Harrell Initial Review", + "definition": { + "text": "Amazing platform that will definitely surpass all the proprietary bots in the future. A true testiment to the power of the open source community.", + "updated": 1615948612321 + }, + "paragraphs": [ + { + "style": "Text", + "text": "Wow I am very impressed with the scope of this project! I have seen so many trading bot platforms that are more like scams than actual tools. Whether it be from outragious subscriptions prices to completely hidden trading logic. Superalgos is a breath of fresh air. I am a hobbist programmer and even with my limited experience I can see the massive amount of work that has gone into this platform already. I firmly believe that the relationship we have with the tools we use should not be blind consumerism. The community drive behind this project is a wonderful example of what can be accomplished with open source. I am excited to have found it and am looking forward to continuing to learn and improve it.", + "updated": 1615948666225 + }, + { + "style": "Text", + "text": "I was overwhelmed at first with Superalgos. Just the sheer size of the system is a lot to wrap your head around at first. However, the tutorials where an excellent method to break things down and learn bit by bit. Also having the documentation directly accessible in the user interface is such a time saver and lowers the learning barrier as well. ", + "updated": 1615948794237 + }, + { + "style": "Text", + "text": "However, this project still has some work to do with making the barrier to entry a little more managable for less technical users. Having some experience with github and node.js made the techincal side of setting up straightforward for myself, but I can only imagine how daunting it would be to try and take on trading concepts and techincal concepts all at once." + }, + { + "style": "Text", + "text": "I appreciate the focus on visual scripting and seperation from hard code in the design space. It has made trying to learn the concepts of trading much easier without having to try and code at the same time. I am very new to the relm of crypto trading and have had to give myself a crash course into trading concepts and ideas to help suppliment the material I am learning in tutorials. It would be helpful for new traders like myself to have some more resources for basic trading concepts more easily accessible within the first few moments on the platform. It has taken me a hot minute to figure out what is in the documentation/tutorials and what I need to research more on my own." + }, + { + "style": "Text", + "text": "Overall, Superalgos is the best crypto trading project I have come across by far. There is no comparison. The amount of control and extensiblity of the project is absolutely magical. As the project grows and hardens I can only imagine how powerful and accessible it will be for the whole world." + }, + { + "style": "Text", + "text": "Brenden Harrell" + }, + { + "style": "Text", + "text": "harrellbm" + }, + { + "style": "Text", + "text": "" + }, + { + "style": "Text", + "text": "" + }, + { + "style": "Text", + "text": "" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Topics/app-commands-messages-004-app-message-update-done-new-version-found.json b/Projects/Superalgos/Schemas/Docs-Topics/app-commands-messages-004-app-message-update-done-new-version-found.json index a8f338a12..3a018e105 100644 --- a/Projects/Superalgos/Schemas/Docs-Topics/app-commands-messages-004-app-message-update-done-new-version-found.json +++ b/Projects/Superalgos/Schemas/Docs-Topics/app-commands-messages-004-app-message-update-done-new-version-found.json @@ -17,8 +17,8 @@ "paragraphs": [ { "style": "Success", - "text": "You now have the latest version of Superalgos. Just remember to restart the Client and the UI. If you have Tasks running, you should first stop the tasks, and then restart the Client, so that you can run those task again using the updated codebase.", - "updated": 1615458633005, + "text": "You now have the latest version of Superalgos. Just remember to restart the Client and the UI. If you have Tasks running, you should first stop the tasks, and then restart the Client, so that you can run those tasks again using the updated codebase.", + "updated": 1616081292001, "translations": [ { "language": "ID", @@ -30,7 +30,7 @@ }, { "style": "Note", - "text": "The update you made, only affects the Client which you are connected to via http using your browser. If you have more Clients running as part of a Network, you will need to update them too, etither manually using Git or by navigating with your browser to their URL and doing running the App Update Command there.", + "text": "The update you made only affects the Client which you are connected to via http using your browser. If you have more Clients running as part of a Network, you will need to update them too, either manually using Git, or by navigating with your browser to their URL and running the App Update Command there.", "translations": [ { "language": "ID", @@ -39,7 +39,7 @@ "style": "Note" } ], - "updated": 1615458652244 + "updated": 1616081262353 } ] } \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Topics/crypto-ecosystem-004-how-to-set-up-a-new-exchange.json b/Projects/Superalgos/Schemas/Docs-Topics/crypto-ecosystem-004-how-to-set-up-a-new-exchange.json deleted file mode 100644 index 804b4328b..000000000 --- a/Projects/Superalgos/Schemas/Docs-Topics/crypto-ecosystem-004-how-to-set-up-a-new-exchange.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "topic": "Crypto Ecosystem", - "pageNumber": "4", - "type": "How to Set Up a New Exchange", - "definition": { - "text": "To set up a new exchange, find it in the Untested crypto exchanges node and bring it to a less crowded crypto exchanges node to make room for the new setup. Then add the assets and the markets you wish to work with, and finally, install the markets.", - "updated": 1611651356918 - }, - "paragraphs": [ - { - "style": "Text", - "text": "Not all tested exchanges are set up in the default workspace. If you wish to use an exchange that is not set up in the workspace, you may set it up yourself following the instructions below.", - "updated": 1611651386757 - }, - { - "style": "Title", - "text": "Start Here", - "updated": 1611651407421 - }, - { - "style": "Text", - "text": "1. Expand the Untested crypto exchanges node in the crypto ecosystem hierarchy." - }, - { - "style": "Text", - "text": "2. Locate the desired exchange, detach it from its parent, and attach it to the Testing Queue crypto exchanges node. You may choose to attach your select exchange node to any other crypto exchanges node, or even add a new one. This is merely for organizational purposes and to keep the workspace tidy." - }, - { - "style": "Note", - "text": "If the exchange you are looking for is not available there, it means it can not be setup in Superalgos at this point, likely for either or both of the following reasons: 1. The exchange does not provide one-minute candles; 2. The exchange does not provide a list of markets. Not all exchanges supported by the CCXT library comply in full with the standards proposed.", - "updated": 1611651421882 - }, - { - "style": "Success", - "text": "There are over 60 exchanges complying with the CCXT library API standard, an open-source effort to standardize communications with crypto exchanges, to the level required by Superalgos. If your exchange is not among those 60 plus exchanges, you may want to consider trading somewhere else. This is why: automating trading at your exchange requires building and maintaining a custom connector to speak with their API. It is unlikely that you will find an open-source project—or even a commercial solution—willing to do that, unless your exchange is in the top-10 list of exchanges in the world by volume traded.", - "updated": 1611651429157 - }, - { - "style": "Success", - "text": "Alternative approach 1: Convince your exchange to comply with the standard.", - "updated": 1611651439395 - }, - { - "style": "Success", - "text": "Alternative approach 2: Develop your own connector. We’ll be happy to guide you and help you along the way!", - "updated": 1611651447177 - } - ] -} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Topics/crypto-ecosystem-006-how-to-test-new-exchanges.json b/Projects/Superalgos/Schemas/Docs-Topics/crypto-ecosystem-006-how-to-test-new-exchanges.json deleted file mode 100644 index dc71db6e0..000000000 --- a/Projects/Superalgos/Schemas/Docs-Topics/crypto-ecosystem-006-how-to-test-new-exchanges.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "topic": "Crypto Ecosystem", - "pageNumber": "6", - "type": "How to Test New Exchanges", - "definition": { - "text": "While only a few exchanges have been tested by the team, you may wish to test other exchanges you may be interested in. This is how.", - "updated": 1611651607248 - }, - "paragraphs": [ - { - "style": "Text", - "text": "Testing new exchanges is a technical endeavor that requires a good understanding of how Superalgos works with data. These are a few logical steps you should take to test the OHLCV and trading capabilities…", - "updated": 1611651621128 - }, - { - "style": "Title", - "text": "Start Here" - }, - { - "style": "Text", - "text": "1. Set up the exchange you wish to test." - }, - { - "style": "Text", - "text": "2. Install the market you wish to test." - }, - { - "style": "Text", - "text": "3. Run the Sensor Bot task and monitor the console for errors. If everything seems to be working fine, then proceed." - }, - { - "style": "Text", - "text": "4. Run the indicator bot tasks required to run a trading session with the trading system of your choice." - }, - { - "style": "Text", - "text": "5. Run a backtesting session." - }, - { - "style": "Text", - "text": "6. Run a paper trading session." - }, - { - "style": "Text", - "text": "7. Run a live trading session." - }, - { - "style": "Title", - "text": "What to Do If You Encounter Problems" - }, - { - "style": "Text", - "text": "You may encounter all sorts of issues while testing a new exchange, at any one of the steps listed above. If you are really interested in working with the exchange and are willing to put some time and effort into investigating the issues, we will be happy to work with you and develop fixes that may help overcome any problems you may run into. Superalgos is prepared to send arbitrary parameters to API calls, so solving the issue may be quite easy. All we need from you is to point us in the right direction by contributing the initial research." - }, - { - "style": "Text", - "text": "These are a few things we’ve learnt while testing exchanges, that may help you in the process:" - }, - { - "style": "List", - "text": "Study the exchange’s API documentation." - }, - { - "style": "List", - "text": "Be aware that exchanges may publish more than one API, or an API with mutliple versions." - }, - { - "style": "List", - "text": "There may be more than one way to make a certain request and Superalgos may be making it in the non-optimal way for that particular exchange. For example, we may be querying the wrong API." - }, - { - "style": "List", - "text": "Some exchanges may behave differently when the user is authenticated with API keys, even when retrieving data. For example, Binance allows downloading up to one-day worth of historical trades information when the user is not authenticated, but allows downloading trades spanning the whole market when authenticated." - }, - { - "style": "Text", - "text": "" - } - ] -} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Topics/how-to-002-establish-and-remove-references.json b/Projects/Superalgos/Schemas/Docs-Topics/how-to-002-establish-and-remove-references.json index 3336634f0..263a622fe 100644 --- a/Projects/Superalgos/Schemas/Docs-Topics/how-to-002-establish-and-remove-references.json +++ b/Projects/Superalgos/Schemas/Docs-Topics/how-to-002-establish-and-remove-references.json @@ -31,15 +31,28 @@ "updated": 1609949517565 }, { - "style": "Title", + "style": "Anchor", "text": "What If the Nodes Are Far Away or in Different Hierarchies?", "updated": 1611941072895 }, + { + "style": "Title", + "text": "What If the Nodes Are Far Away or in Different Hierarchies?" + }, + { + "style": "Title", + "text": "" + }, { "style": "Text", "text": "The process is exactly the same. All you need to do is master a few tricks so that you may drag one of the nodes all the way to where the second node is.", "updated": 1611940896508 }, + { + "style": "Youtube", + "text": "_7Qp8KmNmWU", + "updated": 1616097593760 + }, { "style": "Text", "text": "These UI tricks may make your life easier:", diff --git a/Projects/Superalgos/Schemas/Docs-Topics/how-to-debug-exchange-raw-data-sensor-bot-001-exchange-raw-data-your-favorite-exchange-is-not-working.json b/Projects/Superalgos/Schemas/Docs-Topics/how-to-debug-exchange-raw-data-sensor-bot-001-exchange-raw-data-your-favorite-exchange-is-not-working.json deleted file mode 100644 index 957ad28e4..000000000 --- a/Projects/Superalgos/Schemas/Docs-Topics/how-to-debug-exchange-raw-data-sensor-bot-001-exchange-raw-data-your-favorite-exchange-is-not-working.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "topic": "How To Debug Exchange Raw Data Sensor Bot", - "pageNumber": "1", - "type": "Exchange Raw Data - Your Favorite Exchange Is Not Working", - "definition": { - "text": "This is not really a surprise, since there are hundreds of exchanges and if noone tried to put the one you like most to work before, it will most likely don't work with the default configuration.", - "updated": 1614590122351 - }, - "paragraphs": [ - { - "style": "Title", - "text": "CCXT Library", - "updated": 1614590456998 - }, - { - "style": "Text", - "text": "CCXT is a popular open source library that acts as a gateway to exchanges API. It's goal is to standarize the access to diverse APIs so that software built using CCXT does not need to know the special dealings of each exchange. Even though it does a pretty good job, it is not perfect and there are still special configurations that needs to be applied to different exchanges." - }, - { - "style": "Text", - "text": "The root of this problems is that there is no starndard at all across the industry and each exchange invents it's own way to deal with each functionality." - }, - { - "style": "Link", - "text": "CCXT at Github->https://github.com/ccxt/ccxt", - "updated": 1614590739125 - }, - { - "style": "Title", - "text": "Tested on Binance" - }, - { - "style": "Text", - "text": "Superalgos a system develops fast but it leaves to its users te fine details and setups, and this is the most common case. We testes only Binance just because it is the most popular exchange as of today. It did not work by itself with the default configuration so a special setting was done and it is at the config of the Binance Crypto Exchange node." - }, - { - "style": "Subtitle", - "text": "Biance Config" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"binance\",\n \"API\": [\n {\n \"method\": \"fetchTrades\",\n \"fetchType\": \"by Id\",\n \"fetchTradesMethod\": \"publicGetHistoricalTrades\",\n \"firstId\": \"f\"\n }\n ]\n}", - "updated": 1614590679126 - }, - { - "style": "Title", - "text": "Other Exchanges" - }, - { - "style": "Text", - "text": "Over time some users tested Binanceus, which works with the same config as Binance and some other users ventured into others with unknown results. If you manage to put an exhange to work please let us know with which config so that we can move that exchange to the Tested Exchanges branch of the Crypto Ecosystem." - }, - { - "style": "Title", - "text": "Your Favorite Exchange is not Listed" - }, - { - "style": "Text", - "text": "There are many reasons why an exchange might not be listed even at the Untested Exchanges node. Hera are some of them:", - "updated": 1614949670526 - }, - { - "style": "Text", - "text": "1. When the list was created it did not exist (you can try Add Missing Exchanges menu item of the Crypto Exchanges node)" - }, - { - "style": "Text", - "text": "2. It is not listed at the CCXT library included with Superalgos (an npm update would be needed at the right folder to update the library). If it appears after the update, please inform the team so as to update it for all.", - "updated": 1614949724133 - }, - { - "style": "Text", - "text": "3. The exchange does not support historical data at 1 min (you can check the exchange API docs). Escahnges that do not support this are filtered out while running Add Missing Exchanges command.", - "updated": 1614949756265 - }, - { - "style": "Text", - "text": "4. The exchange does not support the function to list it's markets. (Also check the exchange API docs)" - }, - { - "style": "Title", - "text": "Getting Started" - }, - { - "style": "Text", - "text": "We will assume for the rest of this guide, that you are currently at the Getting Started worksace that comes as a Plugin. If you are not, please load that workpace and close the tutorial that auto starts." - }, - { - "style": "Text", - "text": "" - } - ] -} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Topics/how-to-debug-exchange-raw-data-sensor-bot-001-how-to-test-new-exchanges.json b/Projects/Superalgos/Schemas/Docs-Topics/how-to-debug-exchange-raw-data-sensor-bot-001-how-to-test-new-exchanges.json new file mode 100644 index 000000000..9545de2da --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Topics/how-to-debug-exchange-raw-data-sensor-bot-001-how-to-test-new-exchanges.json @@ -0,0 +1,107 @@ +{ + "topic": "How To Debug Exchange Raw Data Sensor Bot", + "pageNumber": "1", + "type": "How to Test New Exchanges", + "definition": { + "text": "Testing exchanges is an ongoing Community effort. If you wish to work with an exchange that is not tested, this topic covers everything you need to know to debug the Sensor Bot and find out what needs to be done to achieve the goal.", + "updated": 1616007833424 + }, + "paragraphs": [ + { + "style": "Title", + "text": "CCXT Library", + "updated": 1614590456998 + }, + { + "style": "Text", + "text": "CCXT is a popular open-source library that acts as a gateway to exchanges APIs. Its goal is to standardize access to different APIs so that software built using CCXT does not need to know the special dealings of each exchange. Even though it does a pretty good job, it is not perfect and there are still special configurations that must be used with different exchanges.", + "updated": 1616008057862 + }, + { + "style": "Text", + "text": "The root of this problem is that there is no standard across the industry and each exchange invents its own way to deal with each functionality." + }, + { + "style": "Link", + "text": "CCXT at Github->https://github.com/ccxt/ccxt", + "updated": 1614590739125 + }, + { + "style": "Title", + "text": "Original Tests on Binance", + "updated": 1616008377556 + }, + { + "style": "Text", + "text": "The Superalgos software evolves fast as the team chooses to leave the fine-tuning and setups to the Community. The team tested Binance early on because it is the most popular exchange. It didn't work on the first try with the default configuration, so a special configuration was created.", + "updated": 1616009190093 + }, + { + "style": "Subtitle", + "text": "Binance Configuration", + "updated": 1616007864841 + }, + { + "style": "Json", + "text": "{\n \"codeName\": \"binance\",\n \"API\": [\n {\n \"method\": \"fetchTrades\",\n \"fetchType\": \"by Id\",\n \"fetchTradesMethod\": \"publicGetHistoricalTrades\",\n \"firstId\": \"f\"\n }\n ]\n}", + "updated": 1614590679126 + }, + { + "style": "Title", + "text": "Community Effort", + "updated": 1616008789934 + }, + { + "style": "Text", + "text": "If you get to test an untested exchange, please participate in a Community Effort to Test Exchanges documenting the results!", + "updated": 1616009463804 + }, + { + "style": "Success", + "text": "Testing exchanges is a valuable contribution! It enables everyone coming next —including less technical users— to enjoy working with their favorite exchange!" + }, + { + "style": "Title", + "text": "Your Favorite Exchange Is Not Listed", + "updated": 1616008875311 + }, + { + "style": "Text", + "text": "There are many reasons why an exchange may not be listed even at the Untested Exchanges node. Here are some of them:", + "updated": 1616009095135 + }, + { + "style": "List", + "text": "When the list was created it did not exist (you can try the Add Missing Exchanges menu item of the Crypto Exchanges node).", + "updated": 1616009129072 + }, + { + "style": "List", + "text": "It is not listed at the CCXT library included with Superalgos (an npm update would be needed at the right folder to update the library). If the exchange appears after the update, please inform the team so as to update it for all users.", + "updated": 1616009133874 + }, + { + "style": "List", + "text": "The exchange does not provide historical data in 1-minute candles (you can check the exchange API docs). Exchanges that do not support this basic feature are filtered out while running Add Missing Exchanges command.", + "updated": 1616009139987 + }, + { + "style": "List", + "text": "The exchange does not support the function to list markets (check the exchange API docs).", + "updated": 1616009144377 + }, + { + "style": "Title", + "text": "Getting Started" + }, + { + "style": "Text", + "text": "For the rest of this guide, we will assume that you are using the Getting Started workspace that comes as a Plugin. If you are not, please load that workpace and close the Welcome tutorial.", + "updated": 1616009292308 + }, + { + "style": "Text", + "text": "" + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-001-community-effort-to-test-exchanges.json b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-001-community-effort-to-test-exchanges.json new file mode 100644 index 000000000..339ae4559 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-001-community-effort-to-test-exchanges.json @@ -0,0 +1,41 @@ +{ + "topic": "Tested Exchanges", + "pageNumber": 1, + "type": "Community Effort to Test Exchanges", + "definition": { + "text": "This topic covers the results of the Community work testing exchanges. Each page in the topic describes the results of the tests performed on one exchange, and explains whether the exchange is usable or not.", + "updated": 1616010652806 + }, + "paragraphs": [ + { + "style": "Text", + "text": "Superalgos uses the CCXT library to communicate with exchanges. CCXT is an open-source project attempting to standardize access to exchanges APIs.", + "updated": 1616009621936 + }, + { + "style": "Text", + "text": "The project lists more than 120 exchanges as \"supported\" and a few dozen exchanges as \"certified\". See the list in the following ink:", + "updated": 1616006648441 + }, + { + "style": "Link", + "text": "CCXT List of Exchange Markets->github.com/ccxt/ccxt/wiki/Exchange-Markets", + "updated": 1616006289241 + }, + { + "style": "Text", + "text": "However, it is not clear what exactly is supported nor what is certified. Current experience shows that standardization has still a long way to go.", + "updated": 1616006593509 + }, + { + "style": "Success", + "text": "To know if your preferred exchange is ready to be used in Superalgos, consult the corresponding page in this topic.", + "updated": 1616006719622 + }, + { + "style": "Note", + "text": "If your preferred exchange doesn't show up in this list, it means that it hasn't been tested. You may want to ask in the Develop Group to see if anyone has started tests. If you are a developer, you may want to learn How to Test New Exchanges.", + "updated": 1616009576971 + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-001-binance-test-status.json b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-002-binance-test-status.json similarity index 73% rename from Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-001-binance-test-status.json rename to Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-002-binance-test-status.json index c362d379b..71ea34697 100644 --- a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-001-binance-test-status.json +++ b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-002-binance-test-status.json @@ -1,6 +1,6 @@ { "topic": "Tested Exchanges", - "pageNumber": "1", + "pageNumber": 2, "type": "Binance Test Status", "definition": { "text": "Binance is fully tested for data mining and trading.", @@ -14,7 +14,8 @@ }, { "style": "List", - "text": "1-min OHLCVs Capability [*]: Yes." + "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.", + "updated": 1616003523813 }, { "style": "List", @@ -23,22 +24,14 @@ }, { "style": "List", - "text": "Trading Capability [**]: Yes.", - "updated": 1615143016205 + "text": "Trading Capability: Yes. The ability to run strategies in live-trading mode has been verified.", + "updated": 1616003541160 }, { "style": "List", "text": "Comments: Fully tested. Starting with Binance is recommended as the experience is seamless.", "updated": 1615142951363 }, - { - "style": "Text", - "text": "[*] The ability to fetch historic data for backtesting purposes has been verified." - }, - { - "style": "Text", - "text": "[**] The ability to run strategies in live-trading mode has been verified." - }, { "style": "Title", "text": "Configuration" diff --git a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-002-ftx-test-status.json b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-003-ftx-test-status.json similarity index 65% rename from Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-002-ftx-test-status.json rename to Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-003-ftx-test-status.json index 04a95ef1d..d53f8c266 100644 --- a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-002-ftx-test-status.json +++ b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-003-ftx-test-status.json @@ -1,10 +1,10 @@ { "topic": "Tested Exchanges", - "pageNumber": "2", + "pageNumber": 3, "type": "FTX Test Status", "definition": { - "text": "FTX is tested for data mining but not for live trading", - "updated": 1615204721150 + "text": "FTX is tested for data mining but not for live trading.", + "updated": 1616003850379 }, "paragraphs": [ { @@ -14,8 +14,8 @@ }, { "style": "List", - "text": "1-min OHLCVs Capability [*]: Yes", - "updated": 1615204617519 + "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.", + "updated": 1616003666832 }, { "style": "List", @@ -24,23 +24,14 @@ }, { "style": "List", - "text": "Trading Capability [**]: Unknown", - "updated": 1615204866750 + "text": "Trading Capability: Unknown. The ability to run strategies in live-trading mode has not been verified.", + "updated": 1616003699055 }, { "style": "List", "text": "Comments: Raw Data mining can be slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API", "updated": 1615205045729 }, - { - "style": "Text", - "text": "[*] The ability to fetch historic data for backtesting purposes has been verified." - }, - { - "style": "Text", - "text": "[**] The ability to run strategies in live-trading mode has not been verified.", - "updated": 1615211002861 - }, { "style": "Title", "text": "Configuration" diff --git a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-003-binance-us-test-status.json b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-004-binance-us-test-status.json similarity index 69% rename from Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-003-binance-us-test-status.json rename to Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-004-binance-us-test-status.json index 2d35dbb4c..6136428bf 100644 --- a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-003-binance-us-test-status.json +++ b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-004-binance-us-test-status.json @@ -1,10 +1,10 @@ { "topic": "Tested Exchanges", - "pageNumber": "3", + "pageNumber": 4, "type": "Binance-US Test Status", "definition": { - "text": "Binance US is tested for data mining and live trading", - "updated": 1615210764406 + "text": "Binance US is tested for data mining and live trading.", + "updated": 1616003840094 }, "paragraphs": [ { @@ -14,8 +14,8 @@ }, { "style": "List", - "text": "1-min OHLCVs Capability [*]: Yes", - "updated": 1615204617519 + "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.", + "updated": 1616003754475 }, { "style": "List", @@ -24,23 +24,14 @@ }, { "style": "List", - "text": "Trading Capability [**]: Yes", - "updated": 1615210793722 + "text": "Trading Capability: Yes. The ability to run strategies in live-trading mode has not been verified.", + "updated": 1616003748968 }, { "style": "List", "text": "Comments: Raw Data mining can be slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API", "updated": 1615205045729 }, - { - "style": "Text", - "text": "[*] The ability to fetch historic data for backtesting purposes has been verified." - }, - { - "style": "Text", - "text": "[**] The ability to run strategies in live-trading mode has not been verified.", - "updated": 1615210884706 - }, { "style": "Title", "text": "Configuration" diff --git a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-004-bitfinex-test-status.json b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-005-bitfinex-test-status.json similarity index 56% rename from Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-004-bitfinex-test-status.json rename to Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-005-bitfinex-test-status.json index 3eecff423..4b9ef176c 100644 --- a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-004-bitfinex-test-status.json +++ b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-005-bitfinex-test-status.json @@ -1,10 +1,10 @@ { "topic": "Tested Exchanges", - "pageNumber": "4", + "pageNumber": 5, "type": "Bitfinex Test Status", "definition": { - "text": "Bitfinex is tested for data mining but not for live trading", - "updated": 1615211117153 + "text": "Bitfinex is tested for data mining but not for live trading.", + "updated": 1616003876885 }, "paragraphs": [ { @@ -14,32 +14,23 @@ }, { "style": "List", - "text": "1-min OHLCVs Capability [*]: Yes", - "updated": 1615204617519 + "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.", + "updated": 1616003797511 }, { "style": "List", - "text": "Market History: Starting on Genuary 2020", - "updated": 1615211056787 + "text": "Market History: 1 year.", + "updated": 1616004049653 }, { "style": "List", - "text": "Trading Capability [**]: Unknown", - "updated": 1615204866750 + "text": "Trading Capability: Unknown. The ability to run strategies in live-trading mode has not been verified.", + "updated": 1616003817998 }, { "style": "List", - "text": "Comments: Raw Data mining can be slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API", - "updated": 1615205045729 - }, - { - "style": "Text", - "text": "[*] The ability to fetch historic data for backtesting purposes has been verified." - }, - { - "style": "Text", - "text": "[**] The ability to run strategies in live-trading mode has not been verified.", - "updated": 1615211026605 + "text": "Comments: Raw Data mining can be slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API.", + "updated": 1616004065179 }, { "style": "Title", diff --git a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-005-kucoin-test-status.json b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-006-kucoin-test-status.json similarity index 62% rename from Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-005-kucoin-test-status.json rename to Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-006-kucoin-test-status.json index ccce57e20..f2add690d 100644 --- a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-005-kucoin-test-status.json +++ b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-006-kucoin-test-status.json @@ -1,10 +1,10 @@ { "topic": "Tested Exchanges", - "pageNumber": "5", + "pageNumber": 6, "type": "Kucoin Test Status", "definition": { - "text": "Kucoin is not tested for data mining nor for live trading", - "updated": 1615211178818 + "text": "Kucoin is not tested for data mining nor for live trading.", + "updated": 1616003885667 }, "paragraphs": [ { @@ -14,8 +14,8 @@ }, { "style": "List", - "text": "1-min OHLCVs Capability [*]: Yes", - "updated": 1615204617519 + "text": "1-min OHLCVs Capability: Unknown. The ability to fetch historic data for backtesting purposes has not been verified.", + "updated": 1616003998850 }, { "style": "List", @@ -24,24 +24,14 @@ }, { "style": "List", - "text": "Trading Capability [**]: Unknown", - "updated": 1615204866750 + "text": "Trading Capability: Unknown. The ability to run strategies in live-trading mode has not been verified.", + "updated": 1616003950201 }, { "style": "List", "text": "Comments: While testing with standard configuration it was possible to fetch 1 day of historical Raw Data", "updated": 1615211286656 }, - { - "style": "Text", - "text": "[*] The ability to fetch historic data for backtesting purposes has not been verified", - "updated": 1615211296452 - }, - { - "style": "Text", - "text": "[**] The ability to run strategies in live-trading mode has not been verified", - "updated": 1615211304255 - }, { "style": "Title", "text": "Configuration" diff --git a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-006-luno-test-status.json b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-006-luno-test-status.json deleted file mode 100644 index 8cfc8ac2a..000000000 --- a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-006-luno-test-status.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "topic": "Tested Exchanges", - "pageNumber": "6", - "type": "Luno Test Status", - "definition": { - "text": "Luno is tested for data mining and for live trading", - "updated": 1615550142553 - }, - "paragraphs": [ - { - "style": "Title", - "text": "Properties", - "updated": 1615143100216 - }, - { - "style": "List", - "text": "1-min OHLCVs Capability [*]: Yes", - "updated": 1615204617519 - }, - { - "style": "List", - "text": "Market History: Unknown", - "updated": 1615204614502 - }, - { - "style": "List", - "text": "Trading Capability [**]: Yes", - "updated": 1615550165906 - }, - { - "style": "List", - "text": "Comments: Raw Data mining is extremely slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API. One day of Raw Data takes about 5 minutes to download. Keep this in mind when setting a start date. The reason for this is because they do not support fetching of OHCLV data - this data has to be compiled by fetching individual trades. The fetching of trades is limited to 100 trades per request, and the rate limit is 1 second.", - "updated": 1615456853257 - }, - { - "style": "Text", - "text": "[*] The ability to fetch historic data for backtesting purposes has been verified.", - "updated": 1615456911815 - }, - { - "style": "Text", - "text": "[**] The ability to run strategies in live-trading mode is now possible. Ensure that the version of the CCXT library being used by Superalgos is 1.42.77 or better - earlier versions of this library did not correctly apply the precision settings of the exchange in the amounts specified for creating orders.", - "updated": 1615550355806 - }, - { - "style": "Title", - "text": "Configuration" - }, - { - "style": "Json", - "text": "{\n \"codeName\": \"luno\",\n \"API\": [\n {\n \"method\": \"fetch_ohlcv\",\n \"useFetchTradesForFetchOHLCVs\": true,\n \"maxTradesPerFetch\": 100,\n \"limit\": 200,\n \"rateLimit\": 1100\n }\n ]\n}", - "updated": 1615211372349 - }, - { - "style": "Text", - "text": "" - } - ] -} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-007-luno-test-status.json b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-007-luno-test-status.json new file mode 100644 index 000000000..c4253f7f8 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-007-luno-test-status.json @@ -0,0 +1,40 @@ +{ + "topic": "Tested Exchanges", + "pageNumber": 7, + "type": "Luno Test Status", + "definition": { + "text": "Luno is tested for data mining and for live trading.", + "updated": 1616004109619 + }, + "paragraphs": [ + { + "style": "Title", + "text": "Properties", + "updated": 1615143100216 + }, + { + "style": "List", + "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.", + "updated": 1616004152806 + }, + { + "style": "List", + "text": "Trading Capability [**]: Yes. The ability to run strategies in live-trading mode is now possible. Ensure that the version of the CCXT library being used by Superalgos is 1.42.77 or better - earlier versions of this library did not correctly apply the precision settings of the exchange in the amounts specified for creating orders.", + "updated": 1616004171327 + }, + { + "style": "List", + "text": "Comments: Raw Data mining is extremely slow due to exchange restrictions on their API that limit the number of data it can be requested via Rest API. One day of Raw Data takes about 5 minutes to download. Keep this in mind when setting a start date. The reason for this is because they do not support fetching of OHCLV data - this data has to be compiled by fetching individual trades. The fetching of trades is limited to 100 trades per request, and the rate limit is 1 second.", + "updated": 1616004526344 + }, + { + "style": "Title", + "text": "Configuration" + }, + { + "style": "Json", + "text": "{\n \"codeName\": \"luno\",\n \"API\": [\n {\n \"method\": \"fetch_ohlcv\",\n \"useFetchTradesForFetchOHLCVs\": true,\n \"maxTradesPerFetch\": 100,\n \"limit\": 200,\n \"rateLimit\": 1100\n }\n ]\n}", + "updated": 1615211372349 + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-007-kraken-test-status.json b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-008-kraken-test-status.json similarity index 64% rename from Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-007-kraken-test-status.json rename to Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-008-kraken-test-status.json index 25549b0aa..5aa382934 100644 --- a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-007-kraken-test-status.json +++ b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-008-kraken-test-status.json @@ -1,10 +1,10 @@ { "topic": "Tested Exchanges", - "pageNumber": "7", + "pageNumber": 8, "type": "Kraken Test Status", "definition": { - "text": "Kraken is tested for data mining but not for live trading", - "updated": 1615204721150 + "text": "Kraken is tested for data mining but not for live trading.", + "updated": 1616005542987 }, "paragraphs": [ { @@ -14,8 +14,8 @@ }, { "style": "List", - "text": "1-min OHLCVs Capability [*]: Yes", - "updated": 1615204617519 + "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has been verified.", + "updated": 1616005497164 }, { "style": "List", @@ -24,24 +24,14 @@ }, { "style": "List", - "text": "Trading Capability [**]: Unknown", - "updated": 1615204866750 + "text": "Trading Capability [**]: Unknown. The ability to run strategies in live-trading mode has not been verified.", + "updated": 1616005523609 }, { "style": "List", "text": "Comments: With standard settings only one day worth of Raw Data is fetched. To retrieve Raw Data in Kraken, pairs in config are reversed. Backtesting and Live Trading behaviour unknown", "updated": 1615278620667 }, - { - "style": "Text", - "text": "[*] The ability to fetch historic data for backtesting purposes has not been verified", - "updated": 1615211359233 - }, - { - "style": "Text", - "text": "[**] The ability to run strategies in live-trading mode has not been verified", - "updated": 1615211364516 - }, { "style": "Title", "text": "Configuration" diff --git a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-008-bittrex-test-status.json b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-009-bittrex-test-status.json similarity index 59% rename from Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-008-bittrex-test-status.json rename to Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-009-bittrex-test-status.json index f3829220a..1d37801cc 100644 --- a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-008-bittrex-test-status.json +++ b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-009-bittrex-test-status.json @@ -1,10 +1,10 @@ { "topic": "Tested Exchanges", - "pageNumber": "8", + "pageNumber": 9, "type": "Bittrex Test Status", "definition": { - "text": "Bittrex is not fully tested for data mining nor for live trading", - "updated": 1615450372178 + "text": "Bittrex is not fully tested for data mining nor for live trading.", + "updated": 1616005578529 }, "paragraphs": [ { @@ -14,34 +14,24 @@ }, { "style": "List", - "text": "1-min OHLCVs Capability [*]: Yes", - "updated": 1615204617519 + "text": "1-min OHLCVs Capability: Unknown. The ability to fetch historic data for backtesting purposes has not been verified.", + "updated": 1616005666238 }, { "style": "List", - "text": "Market History: Unknown", - "updated": 1615450231832 + "text": "Market History: Unknown.", + "updated": 1616005647200 }, { "style": "List", - "text": "Trading Capability [**]: Unknown", - "updated": 1615204866750 + "text": "Trading Capability [**]: Unknown. The ability to run strategies in live-trading mode has not been verified.", + "updated": 1616005641922 }, { "style": "List", "text": "Comments: Raw Data mining it's extremely slow due to API restriction", "updated": 1615450349464 }, - { - "style": "Text", - "text": "[*] The ability to fetch historic data for backtesting purposes has not been verified", - "updated": 1615211296452 - }, - { - "style": "Text", - "text": "[**] The ability to run strategies in live-trading mode has not been verified", - "updated": 1615211304255 - }, { "style": "Title", "text": "Configuration" diff --git a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-009-coinbasepro-test-status.json b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-010-coinbasepro-test-status.json similarity index 59% rename from Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-009-coinbasepro-test-status.json rename to Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-010-coinbasepro-test-status.json index 7abf7f26f..b85b8b9f9 100644 --- a/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-009-coinbasepro-test-status.json +++ b/Projects/Superalgos/Schemas/Docs-Topics/tested-exchanges-010-coinbasepro-test-status.json @@ -1,10 +1,10 @@ { "topic": "Tested Exchanges", - "pageNumber": "9", + "pageNumber": 10, "type": "CoinbasePro Test Status", "definition": { - "text": "Coinbase Pro is not fully tested for data mining nor for live trading", - "updated": 1615453123690 + "text": "Coinbase Pro is not fully tested for data mining nor for live trading.", + "updated": 1616005773803 }, "paragraphs": [ { @@ -14,8 +14,8 @@ }, { "style": "List", - "text": "1-min OHLCVs Capability [*]: Yes", - "updated": 1615204617519 + "text": "1-min OHLCVs Capability: Yes. The ability to fetch historic data for backtesting purposes has not been fully verified.", + "updated": 1616005829277 }, { "style": "List", @@ -24,23 +24,13 @@ }, { "style": "List", - "text": "Trading Capability [**]: Unknown", - "updated": 1615204866750 + "text": "Trading Capability: Unknown.The ability to run strategies in live-trading mode has not been verified.", + "updated": 1616005834904 }, { "style": "List", - "text": "Comments: Raw Data fetching extremely slow due to API restrictions, see config", - "updated": 1615453110186 - }, - { - "style": "Text", - "text": "[*] The ability to fetch historic data for backtesting purposes has not been fully verified", - "updated": 1615453130798 - }, - { - "style": "Text", - "text": "[**] The ability to run strategies in live-trading mode has not been verified", - "updated": 1615211304255 + "text": "Comments: Raw Data fetching extremely slow due to API restrictions, see config.", + "updated": 1616005813658 }, { "style": "Title", diff --git a/Projects/Superalgos/Schemas/Docs-Topics/trading-logic-002-syntax-overview.json b/Projects/Superalgos/Schemas/Docs-Topics/trading-logic-002-syntax-overview.json index f34a62463..23365ba29 100644 --- a/Projects/Superalgos/Schemas/Docs-Topics/trading-logic-002-syntax-overview.json +++ b/Projects/Superalgos/Schemas/Docs-Topics/trading-logic-002-syntax-overview.json @@ -160,11 +160,13 @@ }, { "style": "Javascript", - "text": "productName.[currentCandleIndex-n].propertyName" + "text": "productName.[tradingEngine.tradingCurrent.tradingEpisode.candle.index.value-n].propertyName", + "updated": 1616079715540 }, { "style": "Text", - "text": "... where currentCandleIndex represents the last closed candle and n may be replaced by any integer number." + "text": "... where tradingEngine.tradingCurrent.tradingEpisode.candle.index.value represents the last closed candle and n may be replaced by any integer number.", + "updated": 1616079709332 }, { "style": "Text", @@ -173,7 +175,8 @@ }, { "style": "Javascript", - "text": "chart.at01hs.candle.[currentCandleIndex-5].max" + "text": "chart.at01hs.candle.[tradingEngine.tradingCurrent.tradingEpisode.candle.index.value-5].max", + "updated": 1616079725136 }, { "style": "Text", diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-004-tutorial-step-starting-from-a-plugin.json b/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-004-tutorial-step-starting-from-a-plugin.json new file mode 100644 index 000000000..08b17681b --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-004-tutorial-step-starting-from-a-plugin.json @@ -0,0 +1,25 @@ +{ + "tutorial": "Basic Education", + "pageNumber": "4", + "type": "Tutorial Step - Starting From a Plugin", + "definition": { + "text": "A typical case is when you wish to introduce changes to a strategy shipping with the system to start with a proven setup!", + "icon": { + "name": "trading-system", + "project": "Superalgos" + }, + "updated": 1615995229226 + }, + "paragraphs": [ + { + "style": "Text", + "text": "Let's say you are just starting with Superalgos, did a few tutorials, and are ready to start playing with a strategy. You want to start with an existing strategy and introduce minor modifications to better understand how things work. The strategy in question is included as a plugin in a specific workspace.", + "updated": 1615995721361 + }, + { + "style": "Success", + "text": "In such cases, you must delete the Plugin File node corresponding to the Trading System and restore the original file in the \\Plugins\\Trading-Systems folder as if it was a backup: drag the file and drop it on the Design Space!", + "updated": 1615995483240 + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-022-tutorial-step-dealing-with-references.json b/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-022-tutorial-step-dealing-with-references.json index 97954025f..0552db846 100644 --- a/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-022-tutorial-step-dealing-with-references.json +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-022-tutorial-step-dealing-with-references.json @@ -32,8 +32,8 @@ }, { "style": "Note", - "text": "The later concept —references' scope— is crucial to understand the differences between Backups and Clones.", - "updated": 1615797959970 + "text": "The later concept —the scope of a reference— is crucial to understand the differences between Backups and Clones.", + "updated": 1616066720346 } ] } \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-026-tutorial-step-lets-get-on-with-it.json b/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-026-tutorial-step-lets-get-on-with-it.json index 568a35e85..806d207fc 100644 --- a/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-026-tutorial-step-lets-get-on-with-it.json +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-026-tutorial-step-lets-get-on-with-it.json @@ -3,8 +3,8 @@ "pageNumber": "26", "type": "Tutorial Step - Let's Get On With It!", "definition": { - "text": "The tricky bit is when the destination node is far away from the originator node, maybe even in different hierarchies!", - "updated": 1615807480540, + "text": "What if the nodes are far away from each other, maybe even in different hierarchies? Watch the video to learn a few tricks!", + "updated": 1616098998366, "icon": { "name": "mouse-right-click", "project": "Superalgos" diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-041-tutorial-step-placing-plugins.json b/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-041-tutorial-step-placing-plugins.json index 81ac26247..7a2db2860 100644 --- a/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-041-tutorial-step-placing-plugins.json +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-041-tutorial-step-placing-plugins.json @@ -13,18 +13,18 @@ "paragraphs": [ { "style": "Callout", - "text": "Let's give it a shot! Select Add Missing Trading Systems in the Plugin Trading Systems node! Confirm with a second click...", - "updated": 1615926026799 + "text": "Let's give it a shot! Select Add Missing Trading Systems in the Plugin Trading Systems node!", + "updated": 1615926961650 }, { "style": "Text", - "text": "That's it! The rest of the plugins available in the Trading-Systems folder are added as Plugin File nodes! You may delete the Plugin File nodes of the trading systems you don't need and keep the ones you need!", - "updated": 1615925783068 + "text": "New Plugin File nodes are created for every plugin in the \\Plugins\\Trading-Systems folder! You may delete the Plugin File nodes you don't need and keep the ones you do need! Now you may pin the Plugin File Position node where you wish to place the actual plugin data structure!", + "updated": 1615927372538 }, { "style": "Success", - "text": "Now you may use the Plugin File Position node to place the plugin in the desired position!", - "updated": 1615925560412 + "text": "Plugins will be added the next time you load the workspace! If you wish to test it, refresh!", + "updated": 1615978260752 } ] } \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-042-tutorial-step-non-persistence-of-changes.json b/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-042-tutorial-step-non-persistence-of-changes.json new file mode 100644 index 000000000..480b3ae37 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-042-tutorial-step-non-persistence-of-changes.json @@ -0,0 +1,25 @@ +{ + "tutorial": "Basic Education", + "pageNumber": "42", + "type": "Tutorial Step - Non-Persistence of Changes", + "definition": { + "text": "Remember I said that the plugin file is loaded every time the workspace is loaded? This feature has an immediate consequence...", + "icon": { + "name": "bullet-error", + "project": "Superalgos" + }, + "updated": 1615978752612 + }, + "paragraphs": [ + { + "style": "Warning", + "text": "Hierarchies included in the workspace as plugins are not saved at the workspace level. As such, changes made in those hierarchies do not persist. If you wish to modify a plugin and keep working with the modified version in the future, you must either clone or backup the plugin and work on the resulting copy instead.", + "updated": 1615978808209 + }, + { + "style": "Success", + "text": "I will go through some specific use cases in the next few steps!", + "updated": 1615978913703 + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-044-tutorial-step-improving-a-plugin.json b/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-044-tutorial-step-improving-a-plugin.json new file mode 100644 index 000000000..f2ded0510 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-044-tutorial-step-improving-a-plugin.json @@ -0,0 +1,25 @@ +{ + "tutorial": "Basic Education", + "pageNumber": "44", + "type": "Tutorial Step - Improving a Plugin", + "definition": { + "text": "Let's say you are a developer and are testing a new exchange. You wish to modify the Sensor Bot to introduce a new feature or param.", + "icon": { + "name": "sensor-bot", + "project": "Superalgos" + }, + "updated": 1615996858987 + }, + "paragraphs": [ + { + "style": "Text", + "text": "The Sensor Bot is part of the Masters Data Mine, which is usually included as a plugin in most plugin workspaces. In such a case, you must proceed like in the previous case: delete the Plugin File node corresponding to the Masters data mine and restore the data mine file from the Plugins\\Data-Mines folder as if it was a backup.", + "updated": 1615997651482 + }, + { + "style": "Success", + "text": "Once you finish, take a backup of the modified Masters Data Mine node and use the backup file to replace the Masters plugin file! Make sure you give it the same name! Then, submit a PR to contribute the improvements on the bot!", + "updated": 1615998024660 + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-045-tutorial-step-talking-exchanges.json b/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-045-tutorial-step-talking-exchanges.json new file mode 100644 index 000000000..ed2a79aa9 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-045-tutorial-step-talking-exchanges.json @@ -0,0 +1,30 @@ +{ + "tutorial": "Basic Education", + "pageNumber": "45", + "type": "Tutorial Step - Talking Exchanges", + "definition": { + "text": "Now that I mentioned testing exchanges, let's talk a bit about how Superalgos deals with them and which ones you may use...", + "icon": { + "name": "crypto-exchange", + "project": "Superalgos" + }, + "updated": 1615999626738 + }, + "paragraphs": [ + { + "style": "Text", + "text": "Superalgos uses CCXT, an open-source library proposing a standard for exchange API comms. The system works with exchanges complying with the standard:", + "updated": 1616000957350 + }, + { + "style": "Link", + "text": "List of Exchanges Pledging Compliance With CCXT->github.com/ccxt/ccxt/wiki/Exchange-Markets?r=Superalgos", + "updated": 1616001030925 + }, + { + "style": "Note", + "text": "However, appearing in the list is not enough! Many exchanges don't really comply! As a result, there is an ongoing community effort to test exchanges and document which may be used with Superalgos and how! This is the topic in the Docs covering the effort. Look at the TOC to find which exchanges have been tested and to which extent.", + "updated": 1616010477500 + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-046-tutorial-step-testing-new-exchanges.json b/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-046-tutorial-step-testing-new-exchanges.json new file mode 100644 index 000000000..f16163951 --- /dev/null +++ b/Projects/Superalgos/Schemas/Docs-Tutorials/basic-education-046-tutorial-step-testing-new-exchanges.json @@ -0,0 +1,30 @@ +{ + "tutorial": "Basic Education", + "pageNumber": "46", + "type": "Tutorial Step - Testing New Exchanges", + "definition": { + "text": "If you are a developer and your preferred exchange hasn't been tested, you may join the effort and help with testing!", + "icon": { + "name": "crypto-exchange", + "project": "Superalgos" + }, + "updated": 1616062624384 + }, + "paragraphs": [ + { + "style": "Text", + "text": "This topic in the Docs explains how to debug the Sensor Bot to get it to fetch data from an exchange. If the exchange supports the basic features required by Superalgos, you should end up with a solution!", + "updated": 1616062282282 + }, + { + "style": "Success", + "text": "Sharing the solution with the Community is a valuable contribution. Everyone that comes next may enjoy their favorite exchange too!", + "updated": 1616062506777 + }, + { + "style": "Important", + "text": "We highly recommend you complete your education on Superalgos doing all tutorials before you dive into setting up other exchanges.", + "updated": 1616062367623 + } + ] +} \ No newline at end of file diff --git a/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Announcements.js b/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Announcements.js index a0674a84f..c9c345b63 100644 --- a/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Announcements.js +++ b/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/Announcements.js @@ -37,7 +37,7 @@ exports.newSuperalgosBotModulesAnnouncements = function (processIndex) { conditionValue = eval(announcement.announcementCondition.code) } catch (err) { - const message = 'Annoucement Condition Evaluation Error' + const message = 'Announcement Condition Evaluation Error' let docs = { project: 'Superalgos', category: 'Topic', @@ -53,8 +53,29 @@ exports.newSuperalgosBotModulesAnnouncements = function (processIndex) { } if (canAnnounce === true) { let text = announcement.config.text - if (announcement.formula !== undefined) { - text = tradingSystem.formulas.get(announcement.formula.id) + if (announcement.announcementFormula !== undefined) { + let formulaValue + let errorMessage + + try { + formulaValue = eval(announcement.announcementFormula.code) + } catch (err) { + + errorMessage = err.message + const message = 'Announcement Formula Evaluation Error' + let docs = { + project: 'Superalgos', + category: 'Topic', + type: 'TS LF Trading Bot Error - ' + message, + placeholder: {} + } + + TS.projects.superalgos.utilities.docsFunctions.buildPlaceholder(docs, err, announcement.announcementFormula.name, announcement.announcementFormula.code, undefined, undefined, undefined) + + tradingSystem.addError([announcement.announcementFormula.id, err.message, docs]) + } + if (errorMessage == undefined) { text = formulaValue } + } if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots !== undefined) { @@ -75,4 +96,4 @@ exports.newSuperalgosBotModulesAnnouncements = function (processIndex) { } } } -} \ No newline at end of file +} diff --git a/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingRecords.js b/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingRecords.js index 76191f27a..fbe0894f2 100644 --- a/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingRecords.js +++ b/Projects/Superalgos/TS/Bot-Modules/Trading-Bot/Low-Frequency-Trading/TradingRecords.js @@ -195,12 +195,13 @@ exports.newSuperalgosBotModulesTradingRecords = function (processIndex) { from its value property. */ value = targetNode.value - - if (recordProperty.config.decimals !== undefined) { - try { - value = Number(value.toFixed(recordProperty.config.decimals)) - } catch (err) { - badDefinitionUnhandledException(err, 'Error applying configured decimals.', product, recordProperty) + if (value !== undefined) { + if (recordProperty.config.decimals !== undefined) { + try { + value = Number(value.toFixed(recordProperty.config.decimals)) + } catch (err) { + badDefinitionUnhandledException(err, 'Error applying configured decimals.', product, recordProperty) + } } } } else { diff --git a/Projects/Superalgos/UI/Function-Libraries/TradingSessionFunctions.js b/Projects/Superalgos/UI/Function-Libraries/TradingSessionFunctions.js index c4f1f71a7..d644bc354 100644 --- a/Projects/Superalgos/UI/Function-Libraries/TradingSessionFunctions.js +++ b/Projects/Superalgos/UI/Function-Libraries/TradingSessionFunctions.js @@ -65,7 +65,6 @@ function newSuperalgosFunctionLibraryTradingSessionFunctions() { 'Dynamic Indicators->Indicator Function->Formula->' + 'Trading Strategy->' + 'Trigger Stage->Trigger On Event->Trigger Off Event->Take Position Event->' + - 'Announcement->Announcement Formula->' + 'Open Stage->' + 'Manage Stage->' + 'Managed Stop Loss->Managed Take Profit->' + @@ -74,7 +73,7 @@ function newSuperalgosFunctionLibraryTradingSessionFunctions() { 'Situation->Condition->Javascript Code->' + 'Close Stage->' + 'Initial Targets->Target Size In Base Asset->Target Size In Quoted Asset->Target Rate->Formula->' + - 'Announcement->Announcement Formula->' + + 'Announcement->Announcement Formula->Announcement Condition->' + 'Open Execution->Close Execution->' + 'Execution Algorithm->Market Buy Order->Market Sell Order->Limit Buy Order->Limit Sell Order->' + 'Order Rate->Formula->' + diff --git a/Projects/Superalgos/UI/Utilities/Docs.js b/Projects/Superalgos/UI/Utilities/Docs.js index 81182f38d..d6eba8154 100644 --- a/Projects/Superalgos/UI/Utilities/Docs.js +++ b/Projects/Superalgos/UI/Utilities/Docs.js @@ -271,7 +271,7 @@ function newSuperalgosUtilitiesDocs() { let HTML = '' HTML = HTML + '
' - HTML = HTML + '' + HTML = HTML + '' HTML = HTML + '
' return HTML