From 396f5231174404cb8d43733b9cc174ddf8aef303 Mon Sep 17 00:00:00 2001 From: Brenden Harrell Date: Tue, 16 Mar 2021 21:46:11 -0500 Subject: [PATCH 1/4] My Superalgos Review --- ...eralgos-review-harrell-initial-review.json | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 Projects/Superalgos/Schemas/Docs-Reviews/superalgos-project-review-002-superalgos-review-harrell-initial-review.json 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 From d7a0dd698400f11fdfb9d587583edd0b5871e1eb Mon Sep 17 00:00:00 2001 From: Smidy13 <77650800+Smidy13@users.noreply.github.com> Date: Fri, 19 Mar 2021 01:36:42 +1300 Subject: [PATCH 2/4] Bug Fix: Telegram Announcement Formula and Condition Changes --- .../Low-Frequency-Trading/Announcements.js | 28 +++++++++++++++++-- .../TradingSessionFunctions.js | 3 +- 2 files changed, 26 insertions(+), 5 deletions(-) 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..c6cd6896c 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,30 @@ 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) { + console.log(announcement.announcementFormula) + 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) { 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->' + From 7c7f88f87833a9b02d7b6ff1780550f4ba8f5462 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Thu, 18 Mar 2021 15:09:32 +0100 Subject: [PATCH 3/4] Update Announcements.js --- .../Trading-Bot/Low-Frequency-Trading/Announcements.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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 c6cd6896c..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 @@ -54,7 +54,6 @@ exports.newSuperalgosBotModulesAnnouncements = function (processIndex) { if (canAnnounce === true) { let text = announcement.config.text if (announcement.announcementFormula !== undefined) { - console.log(announcement.announcementFormula) let formulaValue let errorMessage @@ -97,4 +96,4 @@ exports.newSuperalgosBotModulesAnnouncements = function (processIndex) { } } } -} \ No newline at end of file +} From 1593edc82808003d54ef6bbc4ef1baa87f559388 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Thu, 18 Mar 2021 16:02:45 +0100 Subject: [PATCH 4/4] Docs page updated --- .../Docs-Topics/trading-logic-002-syntax-overview.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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",