Merge pull request #2466 from krimsonkla/develop

Contribution: "Last of the typos"
This commit is contained in:
Luis Fernando Molina authored and GitHub committed 2021-11-04 04:02:36 -04:00
commit 347cace378
176 files changed
+449 -449

No files matched your search

@@ -49,7 +49,7 @@
/* these are module specific variables: */
let percentageBandwidthArray = []; // Here we keep the percentageBandwidthArray to be ploted every time the Draw() function is called by the AAWebPlatform.
let percentageBandwidthArray = []; // Here we keep the percentageBandwidthArray to be plotted every time the Draw() function is called by the AAWebPlatform.
let zoomChangedEventSubscriptionId
let offsetChangedEventSubscriptionId
@@ -63,7 +63,7 @@
function finalize() {
try {
/* Stop listening to the necesary events. */
/* Stop listening to the necessary events. */
UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId);
UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId);
@@ -72,7 +72,7 @@
marketFiles.eventHandler.stopListening(marketFilesUpdatedEventSubscriptionId);
dailyFiles.eventHandler.stopListening(dailyFilesUpdatedEventSubscriptionId);
/* Destroyd References */
/* Destroyed References */
marketFiles = undefined;
dailyFiles = undefined;
@@ -113,7 +113,7 @@
marketFile = marketFiles.getFile(pTimeFrame);
fileCursor = dailyFiles.getFileCursor(pTimeFrame);
/* Listen to the necesary events. */
/* Listen to the necessary events. */
zoomChangedEventSubscriptionId = UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged);
offsetChangedEventSubscriptionId = UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged);
@@ -354,7 +354,7 @@
currentDate = new Date(currentDate.valueOf() + ONE_DAY_IN_MILISECONDS);
}
/* Lests check if all the visible screen is going to be covered by percentageBandwidthArray. */
/* Lets check if all the visible screen is going to be covered by percentageBandwidthArray. */
let lowerEnd = leftDate.valueOf();
let upperEnd = rightDate.valueOf();
@@ -508,7 +508,7 @@
if (percentageBandwidthArray.length > 0) {
/* This next section is to get ready in order to be able to plot dinamically constrained to the viewport */
/* This next section is to get ready in order to be able to plot dynamically constrained to the viewport */
let visibleHeight = UI.projects.foundations.spaces.chartingSpace.viewport.visibleArea.bottomRight.y - UI.projects.foundations.spaces.chartingSpace.viewport.visibleArea.topLeft.y;
@@ -118,7 +118,7 @@ function newCandlesPlottersCandlesVolumesVolumesVolumePanel() {
y: Y_AXIS_BUY
};
/* Extra bounderies due to constrained space */
/* Extra boundaries due to constrained space */
const upperLimit = frameTitleHeight + frameBodyHeight * 0.15;
const downLimit = frameTitleHeight + frameBodyHeight * 0.85;
@@ -46,7 +46,7 @@
/* these are module specific variables: */
let volumes = []; // Here we keep the volumes to be ploted every time the Draw() function is called by the AAWebPlatform.
let volumes = []; // Here we keep the volumes to be plotted every time the Draw() function is called by the AAWebPlatform.
let onMouseOverEventSuscriptionId
let zoomChangedEventSubscriptionId
@@ -63,7 +63,7 @@
function finalize() {
try {
/* Stop listening to the necesary events. */
/* Stop listening to the necessary events. */
thisObject.container.eventHandler.stopListening(onMouseOverEventSuscriptionId)
UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.stopListening(zoomChangedEventSubscriptionId);
UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.stopListening(offsetChangedEventSubscriptionId);
@@ -72,7 +72,7 @@
marketFiles.eventHandler.stopListening(marketFilesUpdatedEventSubscriptionId);
dailyFiles.eventHandler.stopListening(dailyFilesUpdatedEventSubscriptionId);
/* Destroyd References */
/* Destroyed References */
marketFiles = undefined;
dailyFiles = undefined;
@@ -116,7 +116,7 @@
marketFile = marketFiles.getFile(pTimeFrame);
fileCursor = dailyFiles.getFileCursor(pTimeFrame);
/* Listen to the necesary events. */
/* Listen to the necessary events. */
zoomChangedEventSubscriptionId = UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.listenToEvent("Zoom Changed", onViewportZoomChanged);
offsetChangedEventSubscriptionId = UI.projects.foundations.spaces.chartingSpace.viewport.eventHandler.listenToEvent("Position Changed", onViewportPositionChanged);
@@ -352,7 +352,7 @@
currentDate = new Date(currentDate.valueOf() + ONE_DAY_IN_MILISECONDS);
}
/* Lests check if all the visible screen is going to be covered by volumes. */
/* Lets check if all the visible screen is going to be covered by volumes. */
let lowerEnd = leftDate.valueOf();
let upperEnd = rightDate.valueOf();
@@ -650,7 +650,7 @@
browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.GREEN + ', 0.40)';
if (userPositionDate >= volume.begin && userPositionDate <= volume.end) {
browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.TITANIUM_YELLOW + ', 0.40)'; // Current bar accroding to time
browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.TITANIUM_YELLOW + ', 0.40)'; // Current bar according to time
}
}
@@ -674,7 +674,7 @@
browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.RUSTED_RED + ', 0.40)';
if (userPositionDate >= volume.begin && userPositionDate <= volume.end) {
browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.TITANIUM_YELLOW + ', 0.40)'; // Current volume accroding to time
browserCanvasContext.fillStyle = 'rgba(' + UI_COLOR.TITANIUM_YELLOW + ', 0.40)'; // Current volume according to time
}
browserCanvasContext.fill();
@@ -13,7 +13,7 @@
"label": "Send Test Message",
"workingLabel": "Sending Message",
"workDoneLabel": "Message Sent",
"workFailedLabel": "Message not Delived",
"workFailedLabel": "Message not Delivered",
"iconPathOn": "run",
"iconPathOff": "run",
"actionFunction": "payload.executeAction"
@@ -1,13 +1,13 @@
{
"type": "Reviews",
"definition": {
"text": "This book is a cataloge of all types of reviews at the Docs.",
"text": "This book is a catalogue of all types of reviews at the Docs.",
"updated": 1621437863554
},
"paragraphs": [
{
"style": "Chapter",
"text": "I->Foundations->Review->Superalgos Project Review->These are reviews of the project submited by users.",
"text": "I->Foundations->Review->Superalgos Project Review->These are reviews of the project submitted by users.",
"updated": 1621437834465
}
]
@@ -1,7 +1,7 @@
{
"type": "Plugin Workspace",
"definition": {
"text": "Refers to a Workspace created by a user, contributed to the project as a plugin and distributed with the software package. Plugin workspaces are useful to give users access to ready-to-run strategies, demos, tutorials, or intoductions to areas of the system under development.",
"text": "Refers to a Workspace created by a user, contributed to the project as a plugin and distributed with the software package. Plugin workspaces are useful to give users access to ready-to-run strategies, demos, tutorials, or introductions to areas of the system under development.",
"updated": 1629895587555,
"translations": [
{
@@ -1,7 +1,7 @@
{
"type": "Project Schema File",
"definition": {
"text": "It is the most basic and low level system-wide configuration file. You will find it at the Projects folder. It contains a list of all integrated projects and for each one the list of javascript modules organized in different categories, like Function Libraries, Utilities, Spaces, Globals, etc; in turn organized into the broather categories UI, TS and PL.",
"text": "It is the most basic and low level system-wide configuration file. You will find it at the Projects folder. It contains a list of all integrated projects and for each one the list of javascript modules organized in different categories, like Function Libraries, Utilities, Spaces, Globals, etc; in turn organized into the broader categories UI, TS and PL.",
"updated": 1614939492529
},
"paragraphs": [
@@ -1,7 +1,7 @@
{
"type": "Remove Distance to Parent Node",
"definition": {
"text": "The distance setting is dissabled and the node may assume any distance to its parent.",
"text": "The distance setting is disabled and the node may assume any distance to its parent.",
"updated": 1610030359012
},
"paragraphs": [
@@ -137,7 +137,7 @@
},
{
"style": "List",
"text": "@BeginCurrentMinute: This will instruct the Bot to use a timestamp at the begining of the current minute."
"text": "@BeginCurrentMinute: This will instruct the Bot to use a timestamp at the beginning of the current minute."
},
{
"style": "Javascript",
@@ -1,7 +1,7 @@
{
"type": "Set Node Arrangement to Concave",
"definition": {
"text": "The node adopts a slot on a circumsference around its parent node. In the icon’s graphic, the orange dot represents the parent node, and the blue dots represent the node adopting the specific arrangement style.",
"text": "The node adopts a slot on a circumference around its parent node. In the icon’s graphic, the orange dot represents the parent node, and the blue dots represent the node adopting the specific arrangement style.",
"updated": 1610032139983
},
"paragraphs": [
@@ -42,7 +42,7 @@
},
{
"style": "Text",
"text": "The formulas nodes there are used to expand the record definition adding fields that are not actually going to be saved on disk, to minimize space used, and they are going to be calculated at runtime. This allows proceeses that consume this data to have ell the fields available at runtime even though some were not actually saved on disk."
"text": "The formulas nodes there are used to expand the record definition adding fields that are not actually going to be saved on disk, to minimize space used, and they are going to be calculated at runtime. This allows processes that consume this data to have ell the fields available at runtime even though some were not actually saved on disk."
}
]
}
@@ -21,7 +21,7 @@
},
{
"style": "Text",
"text": "A formula may act in slightly different ways depending on the isCaculated attribute in the record property configuration:"
"text": "A formula may act in slightly different ways depending on the isCalculated attribute in the record property configuration:"
},
{
"style": "List",
@@ -50,7 +50,7 @@
},
{
"style": "List",
"text": "isCalculated determines if the field is stored in the dataset or if, instead, is calculated at a later stage. A value true* means that the record is not stored. In the case isCaculated is not defined in the configuration, it is assumed to be false.",
"text": "isCalculated determines if the field is stored in the dataset or if, instead, is calculated at a later stage. A value true* means that the record is not stored. In the case isCalculated is not defined in the configuration, it is assumed to be false.",
"updated": 1621972714008
},
{
@@ -10,7 +10,7 @@
},
{
"style": "Text",
"text": "Serial numbers start at 1 and increment by 1 with each intance of the object that is opened."
"text": "Serial numbers start at 1 and increment by 1 with each instance of the object that is opened."
},
{
"style": "Block",
@@ -1,7 +1,7 @@
{
"type": "Space Settings",
"definition": {
"text": "The space settings node features controls over the phisics, proportions, and positioning of icons representing node, and their menus."
"text": "The space settings node features controls over the physics, proportions, and positioning of icons representing node, and their menus."
},
"paragraphs": [
{
@@ -53,7 +53,7 @@
},
{
"style": "List",
"text": "animationSteps adjusts the amount of steps the animation takes to open a node menu upon hovering over it. A higher value leads to smoother transtion.",
"text": "animationSteps adjusts the amount of steps the animation takes to open a node menu upon hovering over it. A higher value leads to smoother transition.",
"updated": 1631588728860
},
{
@@ -73,46 +73,46 @@
},
{
"style": "List",
"text": "radiusPercentage is the reference radious of the circular matrix that governs the distribution of items in the circular menu. Larger numbers cause items to spread appart while smaller numbers makes items lie closer to each other.",
"text": "radiusPercentage is the reference radius of the circular matrix that governs the distribution of items in the circular menu. Larger numbers cause items to spread apart while smaller numbers makes items lie closer to each other.",
"updated": 1631554041849
},
{
"style": "Subtitle",
"text": "Shorcut Properties"
"text": "Shortcut Properties"
},
{
"style": "Text",
"text": "Shorcuts are key stroke combinations that helps users execute certain actions very quickly. To execute a shorcut users need to simultaniously press CTRL + SHIFT + a pre-defined key.",
"text": "Shortcuts are key stroke combinations that helps users execute certain actions very quickly. To execute a Shortcut users need to simultaneously press CTRL + SHIFT + a pre-defined key.",
"updated": 1625419324367
},
{
"style": "Success",
"text": "Shorcuts default values can be seen below. You can modify those values by changing the Config Properties listed below.",
"text": "Shortcuts default values can be seen below. You can modify those values by changing the Config Properties listed below.",
"updated": 1625419754545
},
{
"style": "List",
"text": "toggleMapMode defines which key will be used as a Shorcut for entering and leaving the Map Mode.",
"text": "toggleMapMode defines which key will be used as a Shortcut for entering and leaving the Map Mode.",
"updated": 1625419803171
},
{
"style": "List",
"text": "toggleDrawRelationshipLines defines which key will be used as a Shorcut for turning on and off the drawing of Reference Lines.",
"text": "toggleDrawRelationshipLines defines which key will be used as a Shortcut for turning on and off the drawing of Reference Lines.",
"updated": 1625419810253
},
{
"style": "List",
"text": "toggleDrawParentLines defines which key will be used as a Shorcut for turning on and off the drawing of Parent Lines.",
"text": "toggleDrawParentLines defines which key will be used as a Shortcut for turning on and off the drawing of Parent Lines.",
"updated": 1625419816654
},
{
"style": "List",
"text": "saveWorkspace defines which key will be used as a Shorcut for saving the Workspace.",
"text": "saveWorkspace defines which key will be used as a Shortcut for saving the Workspace.",
"updated": 1625419822252
},
{
"style": "List",
"text": "adjustAspectRation defines which key will be used as a Shorcut for forcing a Time Machine to adjust it's aspect ratio according to the size of the screen a user currently have.",
"text": "adjustAspectRation defines which key will be used as a Shortcut for forcing a Time Machine to adjust it's aspect ratio according to the size of the screen a user currently have.",
"updated": 1625419830418
}
]
@@ -14,7 +14,7 @@
},
{
"style": "Text",
"text": "Therefore, this section of the data structure features information spaning those periods only."
"text": "Therefore, this section of the data structure features information spanning those periods only."
}
]
}
@@ -14,7 +14,7 @@
},
{
"style": "Text",
"text": "Therefore, this section of the data structure features information spaning those periods only."
"text": "Therefore, this section of the data structure features information spanning those periods only."
}
]
}
@@ -10,7 +10,7 @@
},
{
"style": "Text",
"text": "The trigger stage is active from the instant the trigger-on event is triggered until either the trigger-off event or the take position event gets triggered. Therefore, this section of the data structure features information spaning those periods only."
"text": "The trigger stage is active from the instant the trigger-on event is triggered until either the trigger-off event or the take position event gets triggered. Therefore, this section of the data structure features information spanning those periods only."
}
]
}
@@ -10,7 +10,7 @@
},
{
"style": "Text",
"text": "The super scripts hierarchy may be used by developers who wish to create their own scripts for automating the deployment or manitenance of all sorts of structures of nodes across any of the hierarchies in the design space."
"text": "The super scripts hierarchy may be used by developers who wish to create their own scripts for automating the deployment or maintenance of all sorts of structures of nodes across any of the hierarchies in the design space."
},
{
"style": "Text",
@@ -3,7 +3,7 @@
"pageNumber": 31,
"type": "Superalgos Review - My first Superalgos review",
"definition": {
"text": "I'm just grinding the tutorials for now, can't wait to run some backtests. I'm impressed how complex but also easy to use this software is. As a developer i am also higly motivated to contribute to the project.",
"text": "I'm just grinding the tutorials for now, can't wait to run some backtests. I'm impressed how complex but also easy to use this software is. As a developer i am also highly motivated to contribute to the project.",
"updated": 1633844141741
},
"paragraphs": [
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Each type of node, might have a definition with the initial values for it's configuration. The Initial Values are set at the node iwhen the Node is first created. ",
"text": "Each type of node, might have a definition with the initial values for it's configuration. The Initial Values are set at the node when the Node is first created. ",
"updated": 1609244634949
}
]
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Some types of nodes, might have code that defines their behaviour. The code can usually be accesed by users via the Edit menu item. When first created, the code of a Node is initialized with the initial value present at the Node's Definition Document. Some types of node represents Formulas and they hold code that defines those formulas at the Node Code.",
"text": "Some types of nodes, might have code that defines their behaviour. The code can usually be accessed by users via the Edit menu item. When first created, the code of a Node is initialized with the initial value present at the Node's Definition Document. Some types of node represents Formulas and they hold code that defines those formulas at the Node Code.",
"updated": 1609246211297
}
]
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Each Node Type, might have a menu which allow users to interact with the Node. There is no fixed set of menu items. Instead each menu items is defined at each Node's definition. Each menu item haave a set of properties that allow the system to execute some action when the menu item is clicked by users.",
"text": "Each Node Type, might have a menu which allow users to interact with the Node. There is no fixed set of menu items. Instead each menu items is defined at each Node's definition. Each menu item has a set of properties that allow the system to execute some action when the menu item is clicked by users.",
"updated": 1609240463871
}
]
@@ -16,7 +16,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Each Node Type, might have a set of rules that defines to which nodes it can be attached to. These rules are literally two lists of Node Type s, one for compatible types and the second one for uncompatible types. There is also the possiblity to replace the list of types for the keyword *Any Node*.",
"text": "Each Node Type, might have a set of rules that defines to which nodes it can be attached to. These rules are literally two lists of Node Type s, one for compatible types and the second one for incompatible types. There is also the possibility to replace the list of types for the keyword *Any Node*.",
"updated": 1609243750949
}
]
@@ -3,7 +3,7 @@
"pageNumber": "9",
"type": "Node Referencing Rules",
"definition": {
"text": "Each Node Type can have a set of rules that defines with which Node Type it can stablish a reference.",
"text": "Each Node Type can have a set of rules that defines with which Node Type it can Establish a reference.",
"updated": 1609244259240,
"translations": [
{
@@ -3,7 +3,7 @@
"pageNumber": "12",
"type": "Reference Parent",
"definition": {
"text": "The Reference Parent of a certain Node A, is the node with which A stablishes a Reference.",
"text": "The Reference Parent of a certain Node A, is the node with which A establishes a Reference.",
"updated": 1609240205404
},
"paragraphs": [
@@ -26,7 +26,7 @@
},
{
"style": "Text",
"text": "ARPS - Average Range Percentage Spread measures the amount force of Bull Power and Bear Power. Two separate indicators measuring the same thing, in order to be used either separatly or combined.",
"text": "ARPS - Average Range Percentage Spread measures the amount force of Bull Power and Bear Power. Two separate indicators measuring the same thing, in order to be used either separately or combined.",
"updated": 1617957855552
},
{
@@ -27,7 +27,7 @@
},
{
"style": "Text",
"text": "Two separate indicators that can be used either separatly or in combination with others."
"text": "Two separate indicators that can be used either separately or in combination with others."
},
{
"style": "Text",
@@ -67,7 +67,7 @@
},
{
"style": "List",
"text": "All values are multiplied by 100 to convert it to precentage form (%)."
"text": "All values are multiplied by 100 to convert it to percentage form (%)."
},
{
"style": "Subtitle",
@@ -43,7 +43,7 @@
},
{
"style": "List",
"text": "If it’s a backtesting or paper trading session, the order cancelation must be simulated (see Simulating Order Cancelation).",
"text": "If it’s a backtesting or paper trading session, the order cancellation must be simulated (see Simulating Order Cancellation).",
"updated": 1610222051378
},
{
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Text",
"text": "Simulating the cancelation of an order is almost trivial. Of course, the process applies to backtesting and paper trading sessions only.",
"text": "Simulating the cancellation of an order is almost trivial. Of course, the process applies to backtesting and paper trading sessions only.",
"updated": 1610223521328
},
{
@@ -26,7 +26,7 @@
},
{
"style": "Text",
"text": "Stage base aset, undoing the previous accounting:"
"text": "Stage base asset, undoing the previous accounting:"
},
{
"style": "Javascript",
@@ -3,7 +3,7 @@
"pageNumber": 1,
"type": "Sparta By @julian-molina",
"definition": {
"text": "The set of indicators built in the Sparta data mine include Simple Moving Average (SMA), Exponential Moving Averege (EMA), Relative Strength Index (RSI), and Moving Average convergence Divergence (MACD).",
"text": "The set of indicators built in the Sparta data mine include Simple Moving Average (SMA), Exponential Moving Average (EMA), Relative Strength Index (RSI), and Moving Average convergence Divergence (MACD).",
"updated": 1611685345604
},
"paragraphs": [
@@ -3,7 +3,7 @@
"pageNumber": 2,
"type": "Simple Moving Average (SMA) - Sparta Indicator",
"definition": {
"text": "The indicator produces the Simple Moving Avarge in multiple settings, including the popular 20, 50, 100, and 200, as well as less frequent base 7 and base 11 SMAs.",
"text": "The indicator produces the Simple Moving Average in multiple settings, including the popular 20, 50, 100, and 200, as well as less frequent base 7 and base 11 SMAs.",
"updated": 1611661320849
},
"paragraphs": [
@@ -3,7 +3,7 @@
"pageNumber": 3,
"type": "Exponential Moving Average (EMA) - Sparta Indicator",
"definition": {
"text": "The indicator produces the Exponential Moving Avarge in multiple settings, including the popular 20, 50, 100, and 200, as well as less frequent base 7 and base 11 SMAs.",
"text": "The indicator produces the Exponential Moving Average in multiple settings, including the popular 20, 50, 100, and 200, as well as less frequent base 7 and base 11 SMAs.",
"updated": 1611661783066
},
"paragraphs": [
@@ -23,7 +23,7 @@
},
{
"style": "Text",
"text": "The chart for this indicator shows the RSI oscillating in a scale ranging from 0 at the bottom to 100 at the top. The bottom section of the chart shows a blue background covering the range from 0 to 20, also marked by a dotted line. When the RSI value falls below the 20 mark, the RSI line turns red, for easier viasualization. Also in the bottom section, there is a second dotted line signaling the 30 mark."
"text": "The chart for this indicator shows the RSI oscillating in a scale ranging from 0 at the bottom to 100 at the top. The bottom section of the chart shows a blue background covering the range from 0 to 20, also marked by a dotted line. When the RSI value falls below the 20 mark, the RSI line turns red, for easier visualization. Also in the bottom section, there is a second dotted line signaling the 30 mark."
},
{
"style": "Text",
@@ -14,7 +14,7 @@
},
{
"style": "Text",
"text": "There are four different products, each configured with a specific setting for the fast and slow moving avarages and the MACD Signal line."
"text": "There are four different products, each configured with a specific setting for the fast and slow moving averages and the MACD Signal line."
},
{
"style": "Table",
@@ -31,7 +31,7 @@
},
{
"style": "Text",
"text": "The following is the Error Message of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following is the Error Message of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -43,7 +43,7 @@
},
{
"style": "Text",
"text": "The following is the Error Stack of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following is the Error Stack of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -55,7 +55,7 @@
},
{
"style": "Text",
"text": "The following is the Error Code of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following is the Error Code of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -67,7 +67,7 @@
},
{
"style": "Text",
"text": "The following are all the Error details of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following are all the Error details of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -55,7 +55,7 @@
},
{
"style": "Text",
"text": "The following is the Error Code of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following is the Error Code of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -67,7 +67,7 @@
},
{
"style": "Text",
"text": "The following are all the Error details of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following are all the Error details of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -3,7 +3,7 @@
"pageNumber": "6",
"type": "TS API Data Fetcher Bot Error - API Response Field Not Descendant From Endpoint",
"definition": {
"text": "Every API Response Field Node needs to descend from an API Endpoint node. Check this node's parent node, and it's parent, and continue until you find the API Endpoint. Find the place where the chain is broken and fix it in order for the API Data Fetcher Bot to be able to preccedd.",
"text": "Every API Response Field Node needs to descend from an API Endpoint node. Check this node's parent node, and it's parent, and continue until you find the API Endpoint. Find the place where the chain is broken and fix it in order for the API Data Fetcher Bot to be able to proceed.",
"updated": 1621860822884
},
"paragraphs": [
@@ -31,7 +31,7 @@
},
{
"style": "Text",
"text": "The following is the Error Message of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following is the Error Message of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -43,7 +43,7 @@
},
{
"style": "Text",
"text": "The following is the Error Stack of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following is the Error Stack of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -55,7 +55,7 @@
},
{
"style": "Text",
"text": "The following is the Error Code of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following is the Error Code of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -67,7 +67,7 @@
},
{
"style": "Text",
"text": "The following are all the Error details of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following are all the Error details of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -31,7 +31,7 @@
},
{
"style": "Text",
"text": "The following is the Error Message of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following is the Error Message of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -43,7 +43,7 @@
},
{
"style": "Text",
"text": "The following is the Error Stack of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following is the Error Stack of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -55,7 +55,7 @@
},
{
"style": "Text",
"text": "The following is the Error Code of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following is the Error Code of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -67,7 +67,7 @@
},
{
"style": "Text",
"text": "The following are all the Error details of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following are all the Error details of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -3,7 +3,7 @@
"pageNumber": "11",
"type": "TS API Data Fetcher Bot Error - Timestamp Record Property Missing",
"definition": {
"text": "The API Data Fetcher Bot expects that one of the Repord Property nodes is defined with a config property codeName as a timestamp. This is a special value and concept. This means that the Record Property will hold the timestamp value returned by the API, but at the same time it assures the Bot that the information will be well organized by time. To solve this issue simply make sure that you have a Timestamp Record Property that ultimately references the Timestamp API Response Field holding the actual timestamp of the information returned by the API server.",
"text": "The API Data Fetcher Bot expects that one of the Record Property nodes is defined with a config property codeName as a timestamp. This is a special value and concept. This means that the Record Property will hold the timestamp value returned by the API, but at the same time it assures the Bot that the information will be well organized by time. To solve this issue simply make sure that you have a Timestamp Record Property that ultimately references the Timestamp API Response Field holding the actual timestamp of the information returned by the API server.",
"updated": 1621860822884
},
"paragraphs": [
@@ -31,7 +31,7 @@
},
{
"style": "Text",
"text": "The following is the Error Message of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following is the Error Message of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -43,7 +43,7 @@
},
{
"style": "Text",
"text": "The following is the Error Stack of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following is the Error Stack of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -55,7 +55,7 @@
},
{
"style": "Text",
"text": "The following is the Error Code of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following is the Error Code of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -67,7 +67,7 @@
},
{
"style": "Text",
"text": "The following are all the Error details of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following are all the Error details of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -1,7 +1,7 @@
{
"topic": "TS Dataset Type Standard Converter Error",
"pageNumber": "1",
"type": "TS Dataset Type Standard Convertert Error - Only One Data Dependency Expected",
"type": "TS Dataset Type Standard Converter Error - Only One Data Dependency Expected",
"definition": {
"text": "For this type of Dataset conversion, the process needs to have only one Data Dependency defined. Zero or more than one where found. To fix this issue, define only one Data Dependency and try again.",
"updated": 1621859784437
@@ -31,7 +31,7 @@
},
{
"style": "Text",
"text": "The following is the Error Message of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following is the Error Message of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -43,7 +43,7 @@
},
{
"style": "Text",
"text": "The following is the Error Stack of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following is the Error Stack of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -55,7 +55,7 @@
},
{
"style": "Text",
"text": "The following is the Error Code of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following is the Error Code of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -67,7 +67,7 @@
},
{
"style": "Text",
"text": "The following are all the Error details of the Exception that occured at the API Data Fetcher Bot:"
"text": "The following are all the Error details of the Exception that occurred at the API Data Fetcher Bot:"
},
{
"style": "Placeholder",
@@ -1,7 +1,7 @@
{
"topic": "TS Dataset Type Standard Converter Error",
"pageNumber": "2",
"type": "TS Dataset Type Standard Convertert Error - Only One Output Dataset Expected",
"type": "TS Dataset Type Standard Converter Error - Only One Output Dataset Expected",
"definition": {
"text": "For this type of Dataset conversion, the process needs to have only one Output Datasety defined. Zero or more than one where found. To fix this issue, define only one Output Dataset and try again.",
"updated": 1621859784437
@@ -1,7 +1,7 @@
{
"topic": "TS Dataset Type Standard Converter Error",
"pageNumber": "3",
"type": "TS Dataset Type Standard Convertert Error - Status Report Is Corrupt",
"type": "TS Dataset Type Standard Converter Error - Status Report Is Corrupt",
"definition": {
"text": "The status report of one of the processes defined as Status Dependencies is corrupt and cannot be read. See below for details.",
"updated": 1621859784437
@@ -1,7 +1,7 @@
{
"topic": "TS Dataset Type Standard Converter Error",
"pageNumber": "4",
"type": "TS Dataset Type Standard Convertert Error - Get Context Variables Failed",
"type": "TS Dataset Type Standard Converter Error - Get Context Variables Failed",
"definition": {
"text": "It was not possible to get the context variables needed for running this process. See below for details.",
"updated": 1621859784437
@@ -3,7 +3,7 @@
"pageNumber": "1",
"type": "TS LF Learning Bot Error - Evaluating Condition Error",
"definition": {
"text": "An error occured while evaluating a user defined Condition in the Learning System.",
"text": "An error occurred while evaluating a user defined Condition in the Learning System.",
"updated": 1611925832560
},
"paragraphs": [
@@ -36,7 +36,7 @@
},
{
"style": "Text",
"text": "The following is the Error Message of the Exception that occured at the LF Learning Bot:",
"text": "The following is the Error Message of the Exception that occurred at the LF Learning Bot:",
"updated": 1611569424352
},
{
@@ -49,7 +49,7 @@
},
{
"style": "Text",
"text": "The following is the Error Stack of the Exception that occured at the LF Learning Bot:",
"text": "The following is the Error Stack of the Exception that occurred at the LF Learning Bot:",
"updated": 1611569434043
},
{
@@ -62,7 +62,7 @@
},
{
"style": "Text",
"text": "The following is the Error Code of the Exception that occured at the LF Learning Bot:",
"text": "The following is the Error Code of the Exception that occurred at the LF Learning Bot:",
"updated": 1611569440715
},
{
@@ -75,7 +75,7 @@
},
{
"style": "Text",
"text": "The following are all the Error details of the Exception that occured at the LF Learning Bot:",
"text": "The following are all the Error details of the Exception that occurred at the LF Learning Bot:",
"updated": 1611569446711
},
{
@@ -3,7 +3,7 @@
"pageNumber": "2",
"type": "TS LF Learning Bot Error - Evaluating Formula Error",
"definition": {
"text": "An error occured while evaluatiing a user-defined Formula at the Learning System.",
"text": "An error occurred while evaluating a user-defined Formula at the Learning System.",
"updated": 1611926309593
},
"paragraphs": [
@@ -36,7 +36,7 @@
},
{
"style": "Text",
"text": "The following is the Error Message of the Exception that occured at the LF Learning Bot:",
"text": "The following is the Error Message of the Exception that occurred at the LF Learning Bot:",
"updated": 1611569424352
},
{
@@ -49,7 +49,7 @@
},
{
"style": "Text",
"text": "The following is the Error Stack of the Exception that occured at the LF Learning Bot:",
"text": "The following is the Error Stack of the Exception that occurred at the LF Learning Bot:",
"updated": 1611569434043
},
{
@@ -62,7 +62,7 @@
},
{
"style": "Text",
"text": "The following is the Error Code of the Exception that occured at the LF Learning Bot:",
"text": "The following is the Error Code of the Exception that occurred at the LF Learning Bot:",
"updated": 1611569440715
},
{
@@ -75,7 +75,7 @@
},
{
"style": "Text",
"text": "The following are all the Error details of the Exception that occured at the LF Learning Bot:",
"text": "The following are all the Error details of the Exception that occurred at the LF Learning Bot:",
"updated": 1611569446711
},
{
@@ -3,7 +3,7 @@
"pageNumber": 1,
"type": "TS LF Trading Bot Error - Evaluating Condition Error",
"definition": {
"text": "An error occured while evaluating a user defined Condition in the Trading System.",
"text": "An error occurred while evaluating a user defined Condition in the Trading System.",
"updated": 1611925832560
},
"paragraphs": [
@@ -36,7 +36,7 @@
},
{
"style": "Text",
"text": "The following is the Error Message of the Exception that occured at the LF Trading Bot:",
"text": "The following is the Error Message of the Exception that occurred at the LF Trading Bot:",
"updated": 1611569424352
},
{
@@ -49,7 +49,7 @@
},
{
"style": "Text",
"text": "The following is the Error Stack of the Exception that occured at the LF Trading Bot:",
"text": "The following is the Error Stack of the Exception that occurred at the LF Trading Bot:",
"updated": 1611569434043
},
{
@@ -62,7 +62,7 @@
},
{
"style": "Text",
"text": "The following is the Error Code of the Exception that occured at the LF Trading Bot:",
"text": "The following is the Error Code of the Exception that occurred at the LF Trading Bot:",
"updated": 1611569440715
},
{
@@ -75,7 +75,7 @@
},
{
"style": "Text",
"text": "The following are all the Error details of the Exception that occured at the LF Trading Bot:",
"text": "The following are all the Error details of the Exception that occurred at the LF Trading Bot:",
"updated": 1611569446711
},
{
@@ -3,7 +3,7 @@
"pageNumber": 2,
"type": "TS LF Trading Bot Error - Evaluating Formula Error",
"definition": {
"text": "An error occurred while evaluatiing a user-defined Formula at the Trading System.",
"text": "An error occurred while evaluating a user-defined Formula at the Trading System.",
"updated": 1611926309593
},
"paragraphs": [
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Text",
"text": "The Session Base Asset and Session Quoted Asset Trading Parameters enable the setting of a maximumBalance. The parameter is optional. When you use it, the LF Trading Bot checks—for every candle during the Trading Session—that the balance has not reached the configured maximum. If it does, this error is triggered and the Trading Session stops immediatelly.",
"text": "The Session Base Asset and Session Quoted Asset Trading Parameters enable the setting of a maximumBalance. The parameter is optional. When you use it, the LF Trading Bot checks—for every candle during the Trading Session—that the balance has not reached the configured maximum. If it does, this error is triggered and the Trading Session stops immediately.",
"updated": 1611930588291
},
{
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Text",
"text": "The Session Base Asset and Session Quoted Asset Trading Parameters enable the setting of a minimumBalance. The parameter is optional. When you use it, the LF Trading Bot checks—for every candle during the Trading Session—that the balance has not reached the configured minimum. If it does, this error is triggered and the Trading Session stops immediatelly.",
"text": "The Session Base Asset and Session Quoted Asset Trading Parameters enable the setting of a minimumBalance. The parameter is optional. When you use it, the LF Trading Bot checks—for every candle during the Trading Session—that the balance has not reached the configured minimum. If it does, this error is triggered and the Trading Session stops immediately.",
"updated": 1611934902255
},
{
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Error",
"text": "Order Statistics Node Misssing",
"text": "Order Statistics Node Missing",
"updated": 1611650682469
},
{
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Error",
"text": "Annoucement Unexpected Error",
"text": "Announcement Unexpected Error",
"updated": 1611732817870
},
{
@@ -3,7 +3,7 @@
"pageNumber": 56,
"type": "TS LF Trading Bot Error - Invalid Exchange API Secret",
"definition": {
"text": "The secret in the Exchange API Key you provided was not recongnized by the Exchange as a valid secret for the particular key.",
"text": "The secret in the Exchange API Key you provided was not recognized by the Exchange as a valid secret for the particular key.",
"updated": 1611951391613
},
"paragraphs": [
@@ -45,7 +45,7 @@
},
{
"style": "Text",
"text": "The following is the Error Message of the Exception that occured at the LF Trading Bot:"
"text": "The following is the Error Message of the Exception that occurred at the LF Trading Bot:"
},
{
"style": "Placeholder",
@@ -57,7 +57,7 @@
},
{
"style": "Text",
"text": "The following is the Error Stack of the Exception that occured at the LF Trading Bot:"
"text": "The following is the Error Stack of the Exception that occurred at the LF Trading Bot:"
},
{
"style": "Placeholder",
@@ -69,7 +69,7 @@
},
{
"style": "Text",
"text": "The following is the Error Code of the Exception that occured at the LF Trading Bot:"
"text": "The following is the Error Code of the Exception that occurred at the LF Trading Bot:"
},
{
"style": "Placeholder",
@@ -81,7 +81,7 @@
},
{
"style": "Text",
"text": "The following are all the Error details of the Exception that occured at the LF Trading Bot:"
"text": "The following are all the Error details of the Exception that occurred at the LF Trading Bot:"
},
{
"style": "Placeholder",
@@ -117,7 +117,7 @@
},
{
"style": "Text",
"text": "The following is the context information preserved when the error occured:"
"text": "The following is the context information preserved when the error occurred:"
},
{
"style": "Placeholder",
@@ -3,7 +3,7 @@
"pageNumber": 58,
"type": "TS LF Trading Bot Error - Cancel Order Unexpected Error",
"definition": {
"text": "An Unexpected Error occured while trying to cancel an order at the exchange. The LF Trading Bot continued running after reporting this error.",
"text": "An Unexpected Error occurred while trying to cancel an order at the exchange. The LF Trading Bot continued running after reporting this error.",
"updated": 1611952604513
},
"paragraphs": [
@@ -40,7 +40,7 @@
},
{
"style": "Text",
"text": "The following is the Error Message of the Exception that occured at the LF Trading Bot:"
"text": "The following is the Error Message of the Exception that occurred at the LF Trading Bot:"
},
{
"style": "Placeholder",
@@ -52,7 +52,7 @@
},
{
"style": "Text",
"text": "The following is the Error Stack of the Exception that occured at the LF Trading Bot:"
"text": "The following is the Error Stack of the Exception that occurred at the LF Trading Bot:"
},
{
"style": "Placeholder",
@@ -64,7 +64,7 @@
},
{
"style": "Text",
"text": "The following is the Error Code of the Exception that occured at the LF Trading Bot:"
"text": "The following is the Error Code of the Exception that occurred at the LF Trading Bot:"
},
{
"style": "Placeholder",
@@ -76,7 +76,7 @@
},
{
"style": "Text",
"text": "The following are all the Error details of the Exception that occured at the LF Trading Bot:"
"text": "The following are all the Error details of the Exception that occurred at the LF Trading Bot:"
},
{
"style": "Placeholder",
@@ -112,7 +112,7 @@
},
{
"style": "Text",
"text": "The following is the context information preserved when the error occured:"
"text": "The following is the context information preserved when the error occurred:"
},
{
"style": "Placeholder",
@@ -3,7 +3,7 @@
"pageNumber": 59,
"type": "TS LF Trading Bot Error - Create Order Unexpected Error",
"definition": {
"text": "An Uncexpected Error occured while trying to cancel an order at the exchange. The LF Trading Bot continued running after reporting this error.",
"text": "An Unexpected Error occurred while trying to cancel an order at the exchange. The LF Trading Bot continued running after reporting this error.",
"updated": 1611736350925
},
"paragraphs": [
@@ -40,7 +40,7 @@
},
{
"style": "Text",
"text": "The following is the Error Message of the Exception that occured at the LF Trading Bot:"
"text": "The following is the Error Message of the Exception that occurred at the LF Trading Bot:"
},
{
"style": "Placeholder",
@@ -52,7 +52,7 @@
},
{
"style": "Text",
"text": "The following is the Error Stack of the Exception that occured at the LF Trading Bot:"
"text": "The following is the Error Stack of the Exception that occurred at the LF Trading Bot:"
},
{
"style": "Placeholder",
@@ -64,7 +64,7 @@
},
{
"style": "Text",
"text": "The following is the Error Code of the Exception that occured at the LF Trading Bot:"
"text": "The following is the Error Code of the Exception that occurred at the LF Trading Bot:"
},
{
"style": "Placeholder",
@@ -76,7 +76,7 @@
},
{
"style": "Text",
"text": "The following are all the Error details of the Exception that occured at the LF Trading Bot:"
"text": "The following are all the Error details of the Exception that occurred at the LF Trading Bot:"
},
{
"style": "Placeholder",
@@ -112,7 +112,7 @@
},
{
"style": "Text",
"text": "The following is the context information preserved when the error occured:"
"text": "The following is the context information preserved when the error occurred:"
},
{
"style": "Placeholder",
@@ -3,7 +3,7 @@
"pageNumber": 60,
"type": "TS LF Trading Bot Error - Execution Unexpected Error",
"definition": {
"text": "An Unexpected Error occurred while procesing the execution of orders. The LF Trading Bot continued running after reporting this error.",
"text": "An Unexpected Error occurred while processing the execution of orders. The LF Trading Bot continued running after reporting this error.",
"updated": 1611953087876
},
"paragraphs": [
@@ -3,7 +3,7 @@
"pageNumber": "3",
"type": "TS LF Trading Bot Info - Order Closed",
"definition": {
"text": "The order that triggered this Infor Message has been closed.",
"text": "The order that triggered this Info Message has been closed.",
"updated": 1611920136713
},
"paragraphs": [
@@ -1,7 +1,7 @@
{
"topic": "TS LF Trading Bot Warnings",
"pageNumber": "8",
"type": "TS LF Trading Bot Warning - Simulating - Actual Rate Too Hight",
"type": "TS LF Trading Bot Warning - Simulating - Actual Rate Too High",
"definition": {
"text": "The Actual Rate was adjusted to the Candle Max value because the original Actual Rate of the Buy Order was above the Current Candle Max.",
"updated": 1611924420717
@@ -14,7 +14,7 @@
},
{
"style": "Warning",
"text": "Actual Rate Too Hight"
"text": "Actual Rate Too High"
},
{
"style": "Title",
@@ -1,9 +1,9 @@
{
"topic": "TS LF Trading Bot Warnings",
"pageNumber": "13",
"type": "TS LF Trading Bot Warning - Order Size Shrinked",
"type": "TS LF Trading Bot Warning - Order Size Shrunk",
"definition": {
"text": "The Order Size was shrinked to enforce the cap set in the Target Size of the stage. Otherwise, the original definition of the order Size would have set the Size Placed higher than the Target Size.",
"text": "The Order Size was shrunk to enforce the cap set in the Target Size of the stage. Otherwise, the original definition of the order Size would have set the Size Placed higher than the Target Size.",
"updated": 1611916645008
},
"paragraphs": [
@@ -14,7 +14,7 @@
},
{
"style": "Warning",
"text": "Order Size Shrinked"
"text": "Order Size Shrunk"
},
{
"style": "Title",
@@ -3,7 +3,7 @@
"pageNumber": "2",
"type": "TS Trading Session Error - Invalid Initial Datetime Property Value",
"definition": {
"text": "The initialDatetime property configured at the Time Range node is not recongnized as a valid Javascript Datetime.",
"text": "The initialDatetime property configured at the Time Range node is not recognized as a valid Javascript Datetime.",
"updated": 1611322806779
},
"paragraphs": [
@@ -14,7 +14,7 @@
},
{
"style": "Success",
"text": "Check Node JS Javsacript docs to learn how to correctly express a datetime value.",
"text": "Check Node JS Javascript docs to learn how to correctly express a datetime value.",
"updated": 1611323830743
},
{
@@ -3,7 +3,7 @@
"pageNumber": "3",
"type": "TS Trading Session Error - Invalid Final Datetime Property Value",
"definition": {
"text": "The finalDatetime property configured at the Time Range node is not recongnized as a valid Javascript Datetime.",
"text": "The finalDatetime property configured at the Time Range node is not recognized as a valid Javascript Datetime.",
"updated": 1611323471271
},
"paragraphs": [
@@ -14,7 +14,7 @@
},
{
"style": "Success",
"text": "Check Node JS Javsacript docs to learn how to correctly express a datetime value.",
"text": "Check Node JS Javascript docs to learn how to correctly express a datetime value.",
"updated": 1611323848427
},
{
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Success",
"text": "Add a Time Frame Node at the Trading Parameters Node where this error poped up, check it's config and try running the Trading Session again.",
"text": "Add a Time Frame Node at the Trading Parameters Node where this error popped up, check it's config and try running the Trading Session again.",
"updated": 1611331091819
}
]
@@ -3,7 +3,7 @@
"pageNumber": "5",
"type": "TS Trading Session Error - Label Property Missing",
"definition": {
"text": "A property called label is expeceted at the Time Frame Node config, but it is missing.",
"text": "A property called label is expected at the Time Frame Node config, but it is missing.",
"updated": 1611332389501
},
"paragraphs": [
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Success",
"text": "Add a Session Base Asset Node at the Trading Parameters Node where this error poped up, check it's config and try running the Trading Session again.",
"text": "Add a Session Base Asset Node at the Trading Parameters Node where this error popped up, check it's config and try running the Trading Session again.",
"updated": 1611331221697
}
]
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Success",
"text": "Add a Session Quoted Asset Node at the Trading Parameters Node where this error poped up, check it's config and try running the Trading Session again.",
"text": "Add a Session Quoted Asset Node at the Trading Parameters Node where this error popped up, check it's config and try running the Trading Session again.",
"updated": 1611331377674
}
]
@@ -3,7 +3,7 @@
"pageNumber": "9",
"type": "TS Trading Session Error - Initial Balance Property Missing",
"definition": {
"text": "A property called initialBalance is expeceted at the Session Base Asset and Session Quoted Asset Node config.",
"text": "A property called initialBalance is expected at the Session Base Asset and Session Quoted Asset Node config.",
"updated": 1611335687259
},
"paragraphs": [
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Success",
"text": "At the Task Node where this error poped up, add a Key Reference Node and reference from it an Exchange Account Key with it. Then you can try to run the Trading Session again.",
"text": "At the Task Node where this error popped up, add a Key Reference Node and reference from it an Exchange Account Key with it. Then you can try to run the Trading Session again.",
"updated": 1611392617497
}
]
@@ -9,7 +9,7 @@
"paragraphs": [
{
"style": "Success",
"text": "From the Key Reference Node where this error poped up, you need to reference an Account Exchange Key holding your keys to access your account at the Exchange.",
"text": "From the Key Reference Node where this error popped up, you need to reference an Account Exchange Key holding your keys to access your account at the Exchange.",
"updated": 1611392779124
}
]
@@ -3,7 +3,7 @@
"pageNumber": "12",
"type": "TS Trading Session Error - Codename Property Missing",
"definition": {
"text": "A property called codeName is expeceted at the Exchange Account Key Node config.",
"text": "A property called codeName is expected at the Exchange Account Key Node config.",
"updated": 1611392953689
},
"paragraphs": [
@@ -3,7 +3,7 @@
"pageNumber": "13",
"type": "TS Trading Session Error - Secret Property Missing",
"definition": {
"text": "A property called secret is expeceted at the Exchange Account Key Node config.",
"text": "A property called secret is expected at the Exchange Account Key Node config.",
"updated": 1611393059925
},
"paragraphs": [
@@ -37,7 +37,7 @@
},
{
"style": "Text",
"text": "The whole purpose of the Network definition is to let the system know where each task must run and where the data is localted. ",
"text": "The whole purpose of the Network definition is to let the system know where each task must run and where the data is located. ",
"updated": 1614353600414
},
{
@@ -51,7 +51,7 @@
},
{
"style": "Text",
"text": "There are many different way you might want to organize the Tasks across several Clients. It is really up to you. The system doesn't care or have any preferred way for you to do so. It justs need to know where each Task runs, and where the Data is located. That's it.",
"text": "There are many different way you might want to organize the Tasks across several Clients. It is really up to you. The system doesn't care or have any preferred way for you to do so. It just need to know where each Task runs, and where the Data is located. That's it.",
"updated": 1617263562866
},
{
@@ -32,7 +32,7 @@
},
{
"style": "Important",
"text": "One of the most important things to undestand of this procedure is that it takes into account the things you have at the workspace at the moment you run this command. "
"text": "One of the most important things to understand of this procedure is that it takes into account the things you have at the workspace at the moment you run this command. "
},
{
"style": "Text",
@@ -82,7 +82,7 @@
},
{
"style": "Text",
"text": "Assuming you will go with the startegy of installing one Network Node first, this is what you need to know on how to move Task s to other Network Nodes.",
"text": "Assuming you will go with the strategy of installing one Network Node first, this is what you need to know on how to move Task s to other Network Nodes.",
"updated": 1614357184981
},
{
@@ -92,7 +92,7 @@
},
{
"style": "Text",
"text": "Always remember that the system just needs you to define where you want the Tasks to run and the Data to be Hosted, but there is an implcit relationship between Tasks and Data because a Task produces certain Data, and those definition needs to be consistent and be found at the same Network Node."
"text": "Always remember that the system just needs you to define where you want the Tasks to run and the Data to be Hosted, but there is an implicit relationship between Tasks and Data because a Task produces certain Data, and those definition needs to be consistent and be found at the same Network Node."
},
{
"style": "Warning",
@@ -105,7 +105,7 @@
},
{
"style": "Note",
"text": "When we say moving, what we are saying is detaching a Node branch and re-attaching that same branch somewhere else. Note that if you, for example, make a backup of a branch, restore that somehwhere else without deleting the original branch first, you will inadvertently be creating new ids for each Node at this branch and messing up the incoming references, which will cause things to not work anymore.",
"text": "When we say moving, what we are saying is detaching a Node branch and re-attaching that same branch somewhere else. Note that if you, for example, make a backup of a branch, restore that somewhere else without deleting the original branch first, you will inadvertently be creating new ids for each Node at this branch and messing up the incoming references, which will cause things to not work anymore.",
"updated": 1617264249424
},
{
@@ -56,11 +56,11 @@
},
{
"style": "Text",
"text": "The variables explained further down this section, written as described for each indicator, are not valid unless they are preceeded by the declaration of the time frame they refer to."
"text": "The variables explained further down this section, written as described for each indicator, are not valid unless they are proceeded by the declaration of the time frame they refer to."
},
{
"style": "Text",
"text": "To do that, you need to preceed the above syntax with the following:"
"text": "To do that, you need to proceed the above syntax with the following:"
},
{
"style": "Javascript",
@@ -262,7 +262,7 @@
},
{
"style": "Text",
"text": "You may use any valid piece of JavaScript code for your conditions and formulas. The system imposses no contraints whatsoever. The code on conditions and formulas is run through the eval() function, as follows:",
"text": "You may use any valid piece of JavaScript code for your conditions and formulas. The system imposes no constraints whatsoever. The code on conditions and formulas is run through the eval() function, as follows:",
"updated": 1610215780497
},
{
@@ -14,7 +14,7 @@
},
{
"style": "Text",
"text": "For example, let’s say you wish to access the value of the Begin node under Strategy Open Stage. The path to that node, as denoted by the structure of the hierachy below, is:",
"text": "For example, let’s say you wish to access the value of the Begin node under Strategy Open Stage. The path to that node, as denoted by the structure of the hierarchy below, is:",
"updated": 1610216746961
},
{
@@ -46,7 +46,7 @@
},
{
"style": "Text",
"text": "Such a feature may be useful, for instance, to include such definitions or parameters on Telegram accouncement messages, as in:"
"text": "Such a feature may be useful, for instance, to include such definitions or parameters on Telegram announcement messages, as in:"
},
{
"style": "Javascript",
@@ -3,7 +3,7 @@
"pageNumber": "6",
"type": "Order Definitions",
"definition": {
"text": "All types of orders have similar definitions. The one difference between market and limit orders is that market orders do no hace an Order Rate definition.",
"text": "All types of orders have similar definitions. The one difference between market and limit orders is that market orders do no have an Order Rate definition.",
"updated": 1610197366077
},
"paragraphs": [
@@ -3,7 +3,7 @@
"pageNumber": "8",
"type": "Position Management Phases",
"definition": {
"text": "You may manage a position using dynammic stop loss and take profit targets. Targets are dynamic in the sense that they are defined by formulas, which may change depending on defined market situations.",
"text": "You may manage a position using dynamic stop loss and take profit targets. Targets are dynamic in the sense that they are defined by formulas, which may change depending on defined market situations.",
"updated": 1610207512419
},
"paragraphs": [
@@ -100,7 +100,7 @@
},
{
"style": "Title",
"text": "Final Tunning and Testing"
"text": "Final Tuning and Testing"
},
{
"style": "Text",
@@ -95,7 +95,7 @@
},
{
"style": "Text",
"text": "There’s a handy built-in tool to meassure the performance of the animation that you may use to see the effects of turning off layers, lowering the density of information and so on."
"text": "There’s a handy built-in tool to measure the performance of the animation that you may use to see the effects of turning off layers, lowering the density of information and so on."
},
{
"style": "Text",
@@ -3,7 +3,7 @@
"pageNumber": "17",
"type": "Problems Saving The Workspace or Plugins",
"definition": {
"text": "Are you having problems saving your Workspace? Did your changes in the workspace disappear? Was the workspace reset? Or you believe the changes were lost? Are you confused on how the system handles the persistance of changes? Is your Workspace not saving your changes?",
"text": "Are you having problems saving your Workspace? Did your changes in the workspace disappear? Was the workspace reset? Or you believe the changes were lost? Are you confused on how the system handles the persistence of changes? Is your Workspace not saving your changes?",
"updated": 1620849519292
},
"paragraphs": [
@@ -19,7 +19,7 @@
},
{
"style": "Title",
"text": "Worksapces"
"text": "Workspaces"
},
{
"style": "Text",
@@ -59,11 +59,11 @@
},
{
"style": "Text",
"text": "Everytime you run Superalgos the system will try to load the latest loaded workspace. It remembers the last workspace because it stores at the browser's local storage the name of the lastest succesfully loaded workspace."
"text": "Everytime you run Superalgos the system will try to load the latest loaded workspace. It remembers the last workspace because it stores at the browser's local storage the name of the latest successfully loaded workspace."
},
{
"style": "Note",
"text": "This means that if you want Superalgos to forget the latesst loaded workspace you can do that by deleting the local storage variable at the browser.",
"text": "This means that if you want Superalgos to forget the latest loaded workspace you can do that by deleting the local storage variable at the browser.",
"updated": 1620846746582
},
{
@@ -73,12 +73,12 @@
},
{
"style": "Text",
"text": "If the system does not find any name at the browser's local storage, or if it finds a name but can not find the file of that workspace, it will then try to load the'default'workspace, which is the Getting Started Plugin Workspace.",
"text": "If the system does not find any name at the browser's local storage, or if it finds a name but can not find the file of that workspace, it will then try to load the 'default' workspace, which is the Getting Started Plugin Workspace.",
"updated": 1620846971983
},
{
"style": "Note",
"text": "This means that if you delete the latest workspace file from the My Workspaces folder, you will force the system to laod the defual workspace. "
"text": "This means that if you delete the latest workspace file from the My Workspaces folder, you will force the system to load the default workspace. "
},
{
"style": "Subtitle",
@@ -100,11 +100,11 @@
},
{
"style": "Text",
"text": "Every time you open the left side bar, the system will search the Plugin Workspaces folder and place all the files found there at the left side panel. It will also sacan all the My Workspaces folder and add those files to the bottom of the left side panel."
"text": "Every time you open the left side bar, the system will search the Plugin Workspaces folder and place all the files found there at the left side panel. It will also scan all the My Workspaces folder and add those files to the bottom of the left side panel."
},
{
"style": "Note",
"text": "To access a saved or renames workspace open the left side panel and scroll to the botton, after the list of Plugin Worksapces finishes, you will see the ones saved / renamed by you."
"text": "To access a saved or renames workspace open the left side panel and scroll to the bottom, after the list of Plugin Workspaces finishes, you will see the ones saved / renamed by you."
},
{
"style": "Subtitle",
@@ -127,7 +127,7 @@
},
{
"style": "Text",
"text": "If you are using a Plugin Workspace, the way to revover is by loading that Plugin Workspace again. The system will naturally then save a copy at My Worksapces folder overwritting any changes you made. From there all tasks should run well."
"text": "If you are using a Plugin Workspace, the way to recover is by loading that Plugin Workspace again. The system will naturally then save a copy at My Workspaces folder overwriting any changes you made. From there all tasks should run well."
},
{
"style": "Subtitle",
@@ -158,7 +158,7 @@
},
{
"style": "Success",
"text": "That menas that for instance, if you add version 1, 2, 3 to the end of the workspace node's name, you will be creating several backups of your works.",
"text": "That means that for instance, if you add version 1, 2, 3 to the end of the workspace node's name, you will be creating several backups of your works.",
"updated": 1620848010694
},
{
@@ -168,7 +168,7 @@
},
{
"style": "Subtitle",
"text": "How do I add plugins to my worksapce?",
"text": "How do I add plugins to my workspace?",
"updated": 1620848171711
},
{
@@ -192,7 +192,7 @@
},
{
"style": "Success",
"text": "Plugins within the workspace are recognized because the ring sorrounding the head of the hiererchy is closed. Not Plugins have that ring with openings.",
"text": "Plugins within the workspace are recognized because the ring surrounding the head of the hierarchy is closed. Not Plugins have that ring with openings.",
"updated": 1620848300738
},
{
@@ -220,7 +220,7 @@
},
{
"style": "Important",
"text": "If you backup a plugin structure and the throw it again into the workspace it will not be considered a plugin, bacuase it was not loaded as part of the mechanism defined by the Pluigins hierarchy, which means that it will be considered a non-plugin and become part of your workspace. The same happens when you drag and drop any file backed up, being a plugin or not. It will become part of your workspace and saved together with the workspace. Only plugin files loaded by the system when the workspace is loaded are considered plugins. Remember you tell the system which plugins to load at the Plugins Hiererchy."
"text": "If you backup a plugin structure and the throw it again into the workspace it will not be considered a plugin, because it was not loaded as part of the mechanism defined by the Plugins hierarchy, which means that it will be considered a non-plugin and become part of your workspace. The same happens when you drag and drop any file backed up, being a plugin or not. It will become part of your workspace and saved together with the workspace. Only plugin files loaded by the system when the workspace is loaded are considered plugins. Remember you tell the system which plugins to load at the Plugins Hierarchy."
},
{
"style": "Text",
@@ -3,7 +3,7 @@
"pageNumber": "18",
"type": "Problems With Computer Time",
"definition": {
"text": "Some exchanges force the computer that is running your bot to be highly syncronized with thier servers, and to achieve that you need that machine's time to keep itself syncronized with an Internet Time Server.",
"text": "Some exchanges force the computer that is running your bot to be highly synchronized with their servers, and to achieve that you need that machine's time to keep itself syncronized with an Internet Time Server.",
"updated": 1622140103759
},
"paragraphs": [
@@ -36,7 +36,7 @@
},
{
"style": "Text",
"text": "Sometimes Docker might not be in sync even though the underlaying OS it is. To fix this, you can run this command, which will force Docker to restart and wsl to pickup the correct time from the OS.",
"text": "Sometimes Docker might not be in sync even though the underlying OS it is. To fix this, you can run this command, which will force Docker to restart and wsl to pickup the correct time from the OS.",
"updated": 1622140496709
},
{
@@ -12,7 +12,7 @@
"paragraphs": [
{
"style": "Callout",
"text": "Acess the node's menu and click on the \"Copy Node Path\" button!",
"text": "Access the node's menu and click on the \"Copy Node Path\" button!",
"updated": 1622547599361
},
{
@@ -24,7 +24,7 @@
},
{
"style": "List",
"text": "It makes the strategy easier to maintain and upgrade: granular conditions make everything easier to undertand and follow."
"text": "It makes the strategy easier to maintain and upgrade: granular conditions make everything easier to understand and follow."
}
]
}
@@ -27,7 +27,7 @@
},
{
"style": "Text",
"text": "We should trigger off the stategy when either of these conditions validate true. How?"
"text": "We should trigger off the strategy when either of these conditions validate true. How?"
}
]
}
@@ -21,7 +21,7 @@
},
{
"style": "Note",
"text": "When the progress notice of the Trading Process Instance get's to the 100% mark, stop the task and click Next."
"text": "When the progress notice of the Trading Process Instance gets to the 100% mark, stop the task and click Next."
}
]
}
@@ -12,7 +12,7 @@
"paragraphs": [
{
"style": "Callout",
"text": "Take a few more minutes to explore the trigger off event of the strategy, as well as the rest of the triggers ocurring over the period tested."
"text": "Take a few more minutes to explore the trigger off event of the strategy, as well as the rest of the triggers occurring over the period tested."
},
{
"style": "Success",
@@ -7,7 +7,7 @@
"project": "Foundations",
"name": "bullet-error"
},
"text": "Touch the error bullet again and notice how the design space repositiones at the node most related to the error, in this case, a Condition node. This is a crucial piece of information!",
"text": "Touch the error bullet again and notice how the design space repositions at the node most related to the error, in this case, a Condition node. This is a crucial piece of information!",
"updated": 1622487759414
},
"paragraphs": [
@@ -16,7 +16,7 @@
},
{
"style": "Note",
"text": "When the progress notice of the Trading Process Instance get's to the 100% mark, stop the task and click Next."
"text": "When the progress notice of the Trading Process Instance gets to the 100% mark, stop the task and click Next."
}
]
}
@@ -22,7 +22,7 @@
},
{
"style": "Success",
"text": "Is it fair to say that our Trading Bot is 100% acccountable?"
"text": "Is it fair to say that our Trading Bot is 100% accountable?"
}
]
}
@@ -17,14 +17,14 @@ exports.newFoundationsFunctionLibrariesProcessFilesFunctions = function () {
let thisReport
let statusReport
/* We are going to use the start date as beging of market date. */
/* We are going to use the start date as beginning of market date. */
contextVariables.dateBeginOfMarket = TS.projects.foundations.utilities.dateTimeFunctions.removeTime(initialDatetime)
/*
Here we get the status report from the bot who knows which is the end of the market.
*/
statusReport = statusDependencies.reportsByMainUtility.get("Market Ending Point")
if (statusReport === undefined) { // This means the status report does not exist, that could happen for instance at the begining of a month.
if (statusReport === undefined) { // This means the status report does not exist, that could happen for instance at the beginning of a month.
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME,
"[WARN] start -> getContextVariables -> Status Report does not exist. Retrying Later. ")
callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE)
@@ -59,7 +59,7 @@ exports.newFoundationsFunctionLibrariesProcessFilesFunctions = function () {
/* Finally we get our own Status Report. */
statusReport = statusDependencies.reportsByMainUtility.get("Self Reference")
if (statusReport === undefined) { // This means the status report does not exist, that could happen for instance at the begining of a month.
if (statusReport === undefined) { // This means the status report does not exist, that could happen for instance at the beginning of a month.
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME,
"[WARN] start -> getContextVariables -> Status Report does not exist. Retrying Later. ")
callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_RETRY_RESPONSE)
@@ -89,7 +89,7 @@ exports.newFoundationsFunctionLibrariesProcessFilesFunctions = function () {
} else {
/*
We are here becuse either:
We are here because either:
1. There is no status report
2. There is no Last File (this happens on Market Files)
*/
@@ -15,7 +15,7 @@ exports.newFoundationsFunctionLibrariesProcessFunctions = function () {
/* Make sure that the logger associated to this process saves its cache */
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.persist()
/* Cancell this process timouput */
/* Cancel this process timeout */
clearTimeout(nextLoopTimeoutHandle)
let error = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).UNEXPECTED_ERROR
@@ -146,7 +146,7 @@
function inflateDatafiles(processIndex, dataFiles, dataDependencies, products, mainDependency, timeFrame) {
/*
For each dataDependencyNode in our data dependencies, we should have a dataFile containing the records needed as an imput for this process.
For each dataDependencyNode in our data dependencies, we should have a dataFile containing the records needed as an input for this process.
What we need to do first is transform those records into JSON objects that can be used by user-defined formulas.
The first step does that but with the not calculated properties, the second step adds the calculated properties.
*/
@@ -350,7 +350,7 @@
}
/*
This function allows users to locate an object at a dataset based on the begins and end properties
of another object provided to the function as a parameter. For example, users can localte the
of another object provided to the function as a parameter. For example, users can locate the
bollinger band object that has the same begin and end than a candle object.
*/
function getElement(dependencyName, currentRecordPrimaryDataDependency) {
@@ -360,7 +360,7 @@
/*
This function allows users to locate an object at a dataset whose objects does not have a begin and end
property but instead, they have a timestamp property. It receives an arbitrary begin / end object and
the function will search within the dependency dataset for the first record whose timestamp is whitin
the function will search within the dependency dataset for the first record whose timestamp is within
the begin and end of the received reference objet. For example, a user can get the News record that belong
to a certain Candle object.
*/
@@ -378,7 +378,7 @@
Indicators might have parameters that influences it's calculations. These parameters
are defined at the Product Definition config, and their values are set at the Process Instance config.
Parameters are extracted at the Procedure Initialization Code. In order to facilitate this extraction
we will create an object here that will be accesed from the Procedure Initialization with all parameters
we will create an object here that will be accessed from the Procedure Initialization with all parameters
and their defined values.
*/
let parameters = {}
@@ -410,7 +410,7 @@
lastInstantOfTheDay = currentDay.valueOf() + SA.projects.foundations.globals.timeConstants.ONE_DAY_IN_MILISECONDS - 1;
if (interExecutionMemory[productName] === undefined) {
/* The first time the intialization variables goes to the Inter Execution Memory. */
/* The first time the initialization variables goes to the Inter Execution Memory. */
interExecutionMemory[productName] = {}
interExecutionMemory[productName].variable = JSON.parse(JSON.stringify(variable))
}
@@ -420,7 +420,7 @@
}
}
/* Here we run the Prcedure Loop Code */
/* Here we run the Procedure Loop Code */
if (dataBuildingProcedure.loop !== undefined) {
if (dataBuildingProcedure.loop.procedureJavascriptCode !== undefined) {
let lastRecord
@@ -507,7 +507,7 @@
if (resultsWithIrregularPeriods === true) {
/*
Here we have an special problem that occurs when an object spans several time peridos. If not taken care of
Here we have an special problem that occurs when an object spans several time periods. If not taken care of
it can happen that the object gets splitted between 2 days, which we dont want since it would loose some of
its properties.
@@ -607,7 +607,7 @@
Here we check that the Task Node received, comes with all the upstream nodes that will be
needed to run this task in the context of a Single Market Bot.
*/
/* Validate that the minimun amount of input required are defined. */
/* Validate that the minimum amount of input required are defined. */
if (TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode === undefined) {
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE_OBJECT.write(MODULE_NAME,
"[ERROR] checkUpstreamOfTaskNode -> Task without a Task Manager. This bot process will not run. -> Process Instance = " + JSON.stringify(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex]));
@@ -1,8 +1,8 @@
exports.newFoundationsGlobalsProcessVariables = function () {
/*
We need to count how many process instances we deployd and how many of them have already finished their job, either
because they just finished or because there was a request to stop the proceses. In this way, once we reach the
amount of instances started, we can safelly destroy the rest of the objects running and let this nodejs process die.
because they just finished or because there was a request to stop the processes. In this way, once we reach the
amount of instances started, we can safely destroy the rest of the objects running and let this nodejs process die.
*/
let thisObject = {
ENDED_PROCESSES_COUNTER: 0,
@@ -13,7 +13,7 @@ exports.newFoundationsGlobalsProcessVariables = function () {
/*
VARIABLES_BY_PROCESS_INDEX_MAP
At the Task Server, a Task run Procesess, potentially many of them, depending on definitions external to the
At the Task Server, a Task run Processes, potentially many of them, depending on definitions external to the
Task Server. Each process is independent from each other and have a set of process level variables that help
the process do its job. You can consider these variables as the process state. All the modules running inside
a process know the processIndex, and with that index they can get this Map that contains all the needed variables
@@ -33,7 +33,7 @@ exports.newFoundationsGlobalsProcessVariables = function () {
IS_SESSION_STOPPING This tell us if a session is in the process of being stopped.
IS_SESSION_RESUMING This tell us if a session is resuming from the state at the previous execution.
IS_SESSION_FIRST_LOOP This tell us if we are at the execution of the first loop of the bot related to this session.
SIMULATION_STATE This is the state of a simulaation, as it is loaded from disk.
SIMULATION_STATE This is the state of a simulation, as it is loaded from disk.
PROCESS_DATETIME This holds the date currently being processed.
DAILY_FILES_PROCESS_DATETIME When processing daily files, this holds the date of the file being processed.
TRADING_PROCESSING_DAILY_FILES When in a trading process, this tell us if we are processing Daily Files or not.
@@ -1,6 +1,6 @@
exports.newFoundationsGlobalsTaskVariables = function () {
/*
Since the moment the task is stopped by the UI untiil the time the task can be stopped gracefully,
Since the moment the task is stopped by the UI until the time the task can be stopped gracefully,
we turn on this switch that will signal every internal procedure that it must stop.
*/
let thisObject = {
@@ -85,10 +85,10 @@
This means that if the same task, with the same process, pointing to the same
process definition in the same data mine, with the same exchange and market
configured, is at two different network nodes at the same time, the current task
is going to depend on the first one found, not necesarily the one running at the
is going to depend on the first one found, not necessarily the one running at the
same network node. If you need to control witch task specifically to depend on
and need to exactly the same task to exist, you should split the network in two
different networks, each one with unique tasks so as to avoid confussion.
different networks, each one with unique tasks so as to avoid confusion.
*/
for (let i = 0; i < network.lanNetworkNodes.length; i++) {
let lanNetworkNode = network.lanNetworkNodes[i]
@@ -15,7 +15,7 @@
function raiseEvents(lastFile, timeFrames, callBackFunction) {
try {
/* We will reaise the events for the datasets impacted by the process that just finished. */
/* We will raise the events for the datasets impacted by the process that just finished. */
if (TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processOutput !== undefined) {
let outputDatasets = TS.projects.visualScripting.utilities.nodeFunctions.nodeBranchToArray(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processOutput, 'Output Dataset')
@@ -15,7 +15,7 @@
function initialize(callBackFunction) {
try {
/* Basic Valdidations */
/* Basic Validations */
if (TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processDependencies !== undefined) {
if (TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processDependencies.statusDependencies !== undefined) {
thisObject.nodeArray = TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processDependencies.statusDependencies
Loaded 100 of 176 files, more files were not shown because too many files have changed in this diff. Show more