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/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/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/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->' +