Merge pull request #2601 from Superalgos/develop

Develop into Master - Beta 12 - SP1
This commit is contained in:
Luis Fernando Molina authored and GitHub committed 2021-11-12 05:47:26 -04:00
commit 8492350495
263 files changed
+130949 -191006

No files matched your search

+10
View File
@@ -0,0 +1,10 @@
{
"folders": [
{
"path": "C:\\Superalgos"
}
],
"settings": {
"search.maintainFileSearchCache": true
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"folders": [
{
"path": "C:\\Superalgos"
}
],
"settings": {
"search.maintainFileSearchCache": true
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"folders": [
{
"path": "C:\\Superalgos"
}
],
"settings": {
"search.maintainFileSearchCache": true
}
}
+14 -5
View File
@@ -5,8 +5,9 @@ exports.newDesktopApp = function newDesktopApp() {
p2pNetworkClient: undefined,
p2pNetwork: undefined,
p2pNetworkPeers: undefined,
webSocketsClient: undefined,
webSocketsInterface: undefined,
webAppInterface: undefined,
p2pNetworkInterface: undefined,
socialGraph: undefined,
run: run
}
@@ -17,8 +18,8 @@ exports.newDesktopApp = function newDesktopApp() {
async function run() {
setupNetwork()
setupServices()
await setupNetwork()
await setupServices()
async function setupNetwork() {
/*
@@ -49,6 +50,14 @@ exports.newDesktopApp = function newDesktopApp() {
}
async function setupServices() {
/*
This is where we will process all the messages comming from our web app.
*/
thisObject.webAppInterface = DK.projects.socialTrading.modules.webAppInterface.newSocialTradingModulesWebAppInterface()
/*
This is where we will process all the events comming from the p2p network.
*/
thisObject.p2pNetworkInterface = DK.projects.socialTrading.modules.p2pNetworkInterface.newSocialTradingModulesP2PNetworkInterface()
/*
This is the Personal Social Graph for the user running this App.
*/
@@ -59,11 +68,11 @@ exports.newDesktopApp = function newDesktopApp() {
*/
thisObject.webSocketsInterface = DK.projects.socialTrading.modules.webSocketsInterface.newDesktopModulesWebSocketsInterface()
thisObject.webSocketsInterface.initialize()
console.log('Desktop Client Web Sockets Interface ....................................... Listening at port ' + global.env.DESKTOP_WEB_SOCKETS_INTERFACE_PORT)
console.log('Desktop Client Web Sockets Interface ......................................... Listening at port ' + JSON.parse(DK.desktopApp.p2pNetworkClient.node.config).webSocketsPort)
thisObject.httpInterface = DK.projects.socialTrading.modules.httpInterface.newDesktopModulesHttpInterface()
thisObject.httpInterface.initialize()
console.log('Desktop Client Http Interface .............................................. Listening at port ' + global.env.DESKTOP_HTTP_INTERFACE_PORT)
console.log('Desktop Client Http Interface ................................................ Listening at port ' + JSON.parse(DK.desktopApp.p2pNetworkClient.node.config).webPort)
}
}
}
+2 -1
View File
@@ -4,7 +4,8 @@ let UI = {
projects: {},
schemas: { projectSchema: undefined },
environment: undefined,
running: {}
clientNode: undefined,
webApp: undefined
}
let SA = { projects: {} }
+10 -5
View File
@@ -5,6 +5,7 @@ function newWebApp() {
Everything is being coded here until some structure emerges.
*/
let thisObject = {
messageReceived: messageReceived,
initialize: initialize,
finalize: finalize
}
@@ -19,7 +20,7 @@ function newWebApp() {
try {
setupRootObject(UI, 'UI')
setupRootObject(SA, 'SA')
await UI.projects.socialTrading.modules.webSocketsWebClient.initialize()
await UI.projects.socialTrading.modules.webSocketsWebAppClient.initialize()
loadWUserProfileTimeline()
loadWhoToFollow()
setupEventHandlers()
@@ -113,7 +114,7 @@ function newWebApp() {
queryMessage: JSON.stringify(queryMessage)
}
await UI.projects.socialTrading.modules.webSocketsWebClient.sendMessage(
await UI.projects.socialTrading.modules.webSocketsWebAppClient.sendMessage(
JSON.stringify(query)
)
.then(addToContentDiv)
@@ -183,7 +184,7 @@ function newWebApp() {
queryMessage: JSON.stringify(queryMessage)
}
await UI.projects.socialTrading.modules.webSocketsWebClient.sendMessage(
await UI.projects.socialTrading.modules.webSocketsWebAppClient.sendMessage(
JSON.stringify(query)
)
.then(addWhoToFollowTable)
@@ -360,7 +361,7 @@ function newWebApp() {
eventMessage: JSON.stringify(eventMessage)
}
await UI.projects.socialTrading.modules.webSocketsWebClient.sendMessage(
await UI.projects.socialTrading.modules.webSocketsWebAppClient.sendMessage(
JSON.stringify(event)
)
.then(resolve)
@@ -396,7 +397,7 @@ function newWebApp() {
eventMessage: JSON.stringify(eventMessage)
}
await UI.projects.socialTrading.modules.webSocketsWebClient.sendMessage(
await UI.projects.socialTrading.modules.webSocketsWebAppClient.sendMessage(
JSON.stringify(event)
)
.then(resolve)
@@ -409,4 +410,8 @@ function newWebApp() {
}
}
}
function messageReceived(message) {
window.alert(message)
}
}
+2 -2
View File
@@ -98,8 +98,8 @@ function newWebAppLoader() {
if (downloadedCounter === modulesArray.length) {
setTimeout(() => {
UI.running.webApp = newWebApp()
UI.running.webApp.initialize()
UI.webApp = newWebApp()
UI.webApp.initialize()
}, 500)
}
+9
View File
@@ -22,6 +22,15 @@ function loadSuperalgos() {
function onResponse(err, file) {
UI.environment = JSON.parse(file)
setupClientNode()
}
}
function setupClientNode() {
httpRequest(undefined, 'ClientNode', onResponse)
function onResponse(err, file) {
UI.clientNode = JSON.parse(file)
setupProjectsSchema()
}
}
+5 -1
View File
@@ -10,7 +10,7 @@ exports.newDesktopRoot = function newDesktopRoot() {
return thisObject
async function run() {
async function run(debugSettings) {
/*
The DK object is accessible everywhere at the Superalgos Desktop App.
It provides access to all modules built for this App.
@@ -25,6 +25,10 @@ exports.newDesktopRoot = function newDesktopRoot() {
let ENVIRONMENT = require('./Environment.js');
let ENVIRONMENT_MODULE = ENVIRONMENT.newEnvironment()
global.env = ENVIRONMENT_MODULE
if (debugSettings !== undefined && debugSettings.DESKTOP_APP_SIGNING_ACCOUNT !== undefined) {
global.env.DESKTOP_APP_SIGNING_ACCOUNT = debugSettings.DESKTOP_APP_SIGNING_ACCOUNT
}
/*
First thing is to load the project schema file.
*/
+5 -5
View File
@@ -12,11 +12,11 @@ exports.newEnvironment = function () {
BASE_PATH: basePath,
WEB_SERVER_URL: 'localhost',
PLATFORM_WEB_SOCKETS_INTERFACE_PORT: 18041,
DESKTOP_WEB_SOCKETS_INTERFACE_PORT: 17042,
NETWORK_WEB_SOCKETS_INTERFACE_PORT: 18042,
NETWORK_WEB_SOCKETS_INTERFACE_PORT: 17041,
DESKTOP_WEB_SOCKETS_INTERFACE_PORT: 16041,
DESKTOP_WEB_SOCKETS_INTERFACE_HOST: 'localhost',
PLATFORM_HTTP_INTERFACE_PORT: 34248,
DESKTOP_HTTP_INTERFACE_PORT: 34249,
DESKTOP_HTTP_INTERFACE_PORT: 33248,
PATH_TO_DATA_STORAGE: path.join(basePath, './Platform/My-Data-Storage'),
PATH_TO_PROJECTS: path.join(basePath, './Projects'),
PATH_TO_LOG_FILES: path.join(basePath, './Platform/My-Log-Files'),
@@ -28,12 +28,12 @@ exports.newEnvironment = function () {
PATH_TO_MY_WORKSPACES: path.join(basePath, './Platform/My-Workspaces'),
PATH_TO_FONTS: path.join(basePath, './Platform/WebServer/Fonts'),
DESKTOP_APP_SIGNING_ACCOUNT: 'Social-Trading-Desktop-App-1',
DESKTOP_APP_MAX_OUTGOING_PEERS: 2,
DESKTOP_APP_MAX_OUTGOING_PEERS: 1,
MOBILE_APP_SIGNING_ACCOUNT: 'Social-Trading-Mobile-App-1',
SERVER_APP_SIGNING_ACCOUNT: 'Social-Trading-Server-App-1',
PLATFORM_APP_SIGNING_ACCOUNT: 'Algo-Traders-Platform-1',
P2P_NETWORK_NODE_SIGNING_ACCOUNT: 'P2P-Network-Node-1',
P2P_NETWORK_NODE_MAX_INCOMING_CLIENTS: 20,
P2P_NETWORK_NODE_MAX_INCOMING_CLIENTS: 1,
P2P_NETWORK_NODE_MAX_INCOMING_PEERS: 2,
P2P_NETWORK_NODE_MAX_OUTGOING_PEERS: 2
}
+1 -1
View File
@@ -64,7 +64,7 @@ exports.newNetworkNode = function newNetworkNode() {
*/
thisObject.webSocketsInterface = NT.projects.network.modules.webSocketsInterface.newNetworkModulesWebSocketsInterface()
thisObject.webSocketsInterface.initialize()
console.log('Network Node Web Sockets Interface ....................................... Listening at port ' + JSON.parse(NT.networkNode.p2pNetworkNode.node.config).webSocketsPort)
console.log('Network Node Web Sockets Interface ........................................... Listening at port ' + JSON.parse(NT.networkNode.p2pNetworkNode.node.config).webSocketsPort)
}
}
}
+23 -40
View File
@@ -128,50 +128,33 @@ cursor: pointer;
line-height: inherit;
}
/* Tooltip text */
.docs-tooltip .docs-tooltiptext {
visibility: hidden;
width: 240px;
background-color: #0295aa;
color: #fff;
font-weight: normal;
font-style: normal;
font-size: 15px;
line-height: 130%;
text-align: center;
padding: 15px;
border-radius: 6px;
/* Position the docs-tooltip text */
position: absolute;
z-index: 0;
bottom: 125%;
left: 50%;
margin-left: -120px;
/* Fade in docs-tooltip */
opacity: 0;
transition: opacity 0.3s;
/* Tooltip Settings */
.tippy-box[data-theme~='superalgos'] {
background-color: #0295aa;
color: #fff;
font: normal normal normal 14px/1 "segoeui";
width: 240px;
padding: 15px;
font-weight: normal;
font-style: normal;
font-size: 15px;
line-height: 130%;
text-align: center;
}
/* Tooltip arrow */
.docs-tooltip .docs-tooltiptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #0295aa transparent transparent transparent;
.tippy-box[data-theme~='superalgos'][data-placement^='top'] > .tippy-arrow::before {
border-top-color: #0295aa;
}
.tippy-box[data-theme~='superalgos'][data-placement^='bottom'] > .tippy-arrow::before {
border-bottom-color: #0295aa;
}
.tippy-box[data-theme~='superalgos'][data-placement^='left'] > .tippy-arrow::before {
border-left-color: #0295aa;
}
.tippy-box[data-theme~='superalgos'][data-placement^='right'] > .tippy-arrow::before {
border-right-color: #0295aa;
}
/* Show the tooltip text when you mouse over the tooltip container */
.docs-tooltip:hover .docs-tooltiptext {
visibility: visible;
opacity: 1;
}
/* Headings */
+6
View File
@@ -0,0 +1,6 @@
/**
* @popperjs/core v2.10.2 - MIT License
*/
"use strict";!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Popper={})}(this,(function(e){function t(e,t){return{width:(e=e.getBoundingClientRect()).width/1,height:e.height/1,top:e.top/1,right:e.right/1,bottom:e.bottom/1,left:e.left/1,x:e.left/1,y:e.top/1}}function n(e){return null==e?window:"[object Window]"!==e.toString()?(e=e.ownerDocument)&&e.defaultView||window:e}function o(e){return{scrollLeft:(e=n(e)).pageXOffset,scrollTop:e.pageYOffset}}function r(e){return e instanceof n(e).Element||e instanceof Element}function i(e){return e instanceof n(e).HTMLElement||e instanceof HTMLElement}function a(e){return"undefined"!=typeof ShadowRoot&&(e instanceof n(e).ShadowRoot||e instanceof ShadowRoot)}function s(e){return e?(e.nodeName||"").toLowerCase():null}function f(e){return((r(e)?e.ownerDocument:e.document)||window.document).documentElement}function p(e){return t(f(e)).left+o(e).scrollLeft}function c(e){return n(e).getComputedStyle(e)}function l(e){return e=c(e),/auto|scroll|overlay|hidden/.test(e.overflow+e.overflowY+e.overflowX)}function u(e,r,a){void 0===a&&(a=!1);var c=i(r);i(r)&&r.getBoundingClientRect();var u=f(r);e=t(e);var d={scrollLeft:0,scrollTop:0},m={x:0,y:0};return(c||!c&&!a)&&(("body"!==s(r)||l(u))&&(d=r!==n(r)&&i(r)?{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}:o(r)),i(r)?((m=t(r)).x+=r.clientLeft,m.y+=r.clientTop):u&&(m.x=p(u))),{x:e.left+d.scrollLeft-m.x,y:e.top+d.scrollTop-m.y,width:e.width,height:e.height}}function d(e){var n=t(e),o=e.offsetWidth,r=e.offsetHeight;return 1>=Math.abs(n.width-o)&&(o=n.width),1>=Math.abs(n.height-r)&&(r=n.height),{x:e.offsetLeft,y:e.offsetTop,width:o,height:r}}function m(e){return"html"===s(e)?e:e.assignedSlot||e.parentNode||(a(e)?e.host:null)||f(e)}function h(e){return 0<=["html","body","#document"].indexOf(s(e))?e.ownerDocument.body:i(e)&&l(e)?e:h(m(e))}function v(e,t){var o;void 0===t&&(t=[]);var r=h(e);return e=r===(null==(o=e.ownerDocument)?void 0:o.body),o=n(r),r=e?[o].concat(o.visualViewport||[],l(r)?r:[]):r,t=t.concat(r),e?t:t.concat(v(m(r)))}function g(e){return i(e)&&"fixed"!==c(e).position?e.offsetParent:null}function b(e){for(var t=n(e),o=g(e);o&&0<=["table","td","th"].indexOf(s(o))&&"static"===c(o).position;)o=g(o);if(o&&("html"===s(o)||"body"===s(o)&&"static"===c(o).position))return t;if(!o)e:{if(o=-1!==navigator.userAgent.toLowerCase().indexOf("firefox"),-1===navigator.userAgent.indexOf("Trident")||!i(e)||"fixed"!==c(e).position)for(e=m(e);i(e)&&0>["html","body"].indexOf(s(e));){var r=c(e);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||o&&"filter"===r.willChange||o&&r.filter&&"none"!==r.filter){o=e;break e}e=e.parentNode}o=null}return o||t}function y(e){function t(e){o.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){o.has(e)||(e=n.get(e))&&t(e)})),r.push(e)}var n=new Map,o=new Set,r=[];return e.forEach((function(e){n.set(e.name,e)})),e.forEach((function(e){o.has(e.name)||t(e)})),r}function w(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}function x(e){return e.split("-")[0]}function O(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&a(n))do{if(t&&e.isSameNode(t))return!0;t=t.parentNode||t.host}while(t);return!1}function j(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function E(e,r){if("viewport"===r){r=n(e);var a=f(e);r=r.visualViewport;var s=a.clientWidth;a=a.clientHeight;var l=0,u=0;r&&(s=r.width,a=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(l=r.offsetLeft,u=r.offsetTop)),e=j(e={width:s,height:a,x:l+p(e),y:u})}else i(r)?((e=t(r)).top+=r.clientTop,e.left+=r.clientLeft,e.bottom=e.top+r.clientHeight,e.right=e.left+r.clientWidth,e.width=r.clientWidth,e.height=r.clientHeight,e.x=e.left,e.y=e.top):(u=f(e),e=f(u),s=o(u),r=null==(a=u.ownerDocument)?void 0:a.body,a=U(e.scrollWidth,e.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),l=U(e.scrollHeight,e.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),u=-s.scrollLeft+p(u),s=-s.scrollTop,"rtl"===c(r||e).direction&&(u+=U(e.clientWidth,r?r.clientWidth:0)-a),e=j({width:a,height:l,x:u,y:s}));return e}function D(e,t,n){return t="clippingParents"===t?function(e){var t=v(m(e)),n=0<=["absolute","fixed"].indexOf(c(e).position)&&i(e)?b(e):e;return r(n)?t.filter((function(e){return r(e)&&O(e,n)&&"body"!==s(e)})):[]}(e):[].concat(t),(n=(n=[].concat(t,[n])).reduce((function(t,n){return n=E(e,n),t.top=U(n.top,t.top),t.right=z(n.right,t.right),t.bottom=z(n.bottom,t.bottom),t.left=U(n.left,t.left),t}),E(e,n[0]))).width=n.right-n.left,n.height=n.bottom-n.top,n.x=n.left,n.y=n.top,n}function L(e){return e.split("-")[1]}function P(e){return 0<=["top","bottom"].indexOf(e)?"x":"y"}function M(e){vaLine truncated
//# sourceMappingURL=popper.min.js.map
@@ -0,0 +1,2 @@
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t=t||self).tippy=e(t.Popper)}(this,(function(t){"use strict";var e="undefined"!=typeof window&&"undefined"!=typeof document,n=!!e&&!!window.msCrypto,r={passive:!0,capture:!0},o=function(){return document.body};function i(t,e,n){if(Array.isArray(t)){var r=t[e];return null==r?Array.isArray(n)?n[e]:n:r}return t}function a(t,e){var n={}.toString.call(t);return 0===n.indexOf("[object")&&n.indexOf(e+"]")>-1}function s(t,e){return"function"==typeof t?t.apply(void 0,e):t}function u(t,e){return 0===e?t:function(r){clearTimeout(n),n=setTimeout((function(){t(r)}),e)};var n}function p(t,e){var n=Object.assign({},t);return e.forEach((function(t){delete n[t]})),n}function c(t){return[].concat(t)}function f(t,e){-1===t.indexOf(e)&&t.push(e)}function l(t){return t.split("-")[0]}function d(t){return[].slice.call(t)}function v(t){return Object.keys(t).reduce((function(e,n){return void 0!==t[n]&&(e[n]=t[n]),e}),{})}function m(){return document.createElement("div")}function g(t){return["Element","Fragment"].some((function(e){return a(t,e)}))}function h(t){return a(t,"MouseEvent")}function b(t){return!(!t||!t._tippy||t._tippy.reference!==t)}function y(t){return g(t)?[t]:function(t){return a(t,"NodeList")}(t)?d(t):Array.isArray(t)?t:d(document.querySelectorAll(t))}function w(t,e){t.forEach((function(t){t&&(t.style.transitionDuration=e+"ms")}))}function x(t,e){t.forEach((function(t){t&&t.setAttribute("data-state",e)}))}function E(t){var e,n=c(t)[0];return null!=n&&null!=(e=n.ownerDocument)&&e.body?n.ownerDocument:document}function O(t,e,n){var r=e+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(e){t[r](e,n)}))}function C(t,e){for(var n=e;n;){var r;if(t.contains(n))return!0;n=null==n.getRootNode||null==(r=n.getRootNode())?void 0:r.host}return!1}var T={isTouch:!1},A=0;function L(){T.isTouch||(T.isTouch=!0,window.performance&&document.addEventListener("mousemove",D))}function D(){var t=performance.now();t-A<20&&(T.isTouch=!1,document.removeEventListener("mousemove",D)),A=t}function k(){var t=document.activeElement;if(b(t)){var e=t._tippy;t.blur&&!e.state.isVisible&&t.blur()}}var R=Object.assign({appendTo:o,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),P=Object.keys(R);function j(t){var e=(t.plugins||[]).reduce((function(e,n){var r,o=n.name,i=n.defaultValue;o&&(e[o]=void 0!==t[o]?t[o]:null!=(r=R[o])?r:i);return e}),{});return Object.assign({},t,e)}function M(t,e){var n=Object.assign({},e,{content:s(e.content,[t])},e.ignoreAttributes?{}:function(t,e){return(e?Object.keys(j(Object.assign({},R,{plugins:e}))):P).reduce((function(e,n){var r=(t.getAttribute("data-tippy-"+n)||"").trim();if(!r)return e;if("content"===n)e[n]=r;else try{e[n]=JSON.parse(r)}catch(t){e[n]=r}return e}),{})}(t,e.plugins));return n.aria=Object.assign({},R.aria,n.aria),n.aria={expanded:"auto"===n.aria.expanded?e.interactive:n.aria.expanded,content:"auto"===n.aria.content?e.interactive?null:"describedby":n.aria.content},n}function V(t,e){t.innerHTML=e}function I(t){var e=m();return!0===t?e.className="tippy-arrow":(e.className="tippy-svg-arrow",g(t)?e.appendChild(t):V(e,t)),e}function S(t,e){g(e.content)?(V(t,""),t.appendChild(e.content)):"function"!=typeof e.content&&(e.allowHTML?V(t,e.content):t.textContent=e.content)}function B(t){var e=t.firstElementChild,n=d(e.children);return{box:e,content:n.find((function(t){return t.classList.contains("tippy-content")})),arrow:n.find((function(t){return t.classList.contains("tippy-arrow")||t.classList.contains("tippy-svg-arrow")})),backdrop:n.find((function(t){return t.classList.contains("tippy-backdrop")}))}}function N(t){var e=m(),n=m();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=m();function o(n,r){var o=B(e),i=o.box,a=o.content,s=o.arrow;r.theme?i.setAttribute("data-theme",r.theme):i.removeAttribute("data-theme"),"string"==typeof r.animation?i.setAttribute("data-animation",r.animation):i.removeAttribute("data-animation"),r.inertia?i.setAttribute("data-inertia",""):i.removeAttribute("data-inertia"),i.style.maxWidth="number"==Line truncated
//# sourceMappingURL=tippy-bundle.umd.min.js.map
+2
View File
@@ -18,6 +18,8 @@
<script src="externalScripts/CCapture.all.min.js"></script>
<script src="externalScripts/prism.js"></script>
<script src="externalScripts/flexsearch.bundle.js"></script>
<script src="externalScripts/popper.min.js"></script>
<script src="externalScripts/tippy-bundle.umd.min.js"></script>
<script type="text/javascript">
function loadApp() {
File diff suppressed because it is too large. Load diff
@@ -12,6 +12,11 @@
"language": "RU",
"text": "Торговая система - это структура, управляющая логикой низкого уровня, которая служит для структурирования процессов и методов, используемых для реализации и развертывания торговых стратегий.",
"updated": 1636194401995
},
{
"language": "DE",
"text": "Ein Handelssystem ist ein Framework, der die Low-Level-Logik handhabt, die dazu dient, die Prozesse und Methoden zu strukturieren, die zur Umsetzung und Anwendung von trading strategies verwendet werden.",
"updated": 1636658948319
}
]
},
@@ -13,6 +13,17 @@
"actionFunction": "payload.executeAction",
"actionProject": "Community-Plugins"
},
{
"action": "Add Specified Plugin Data Mine",
"label": "Add Specified Plugin Data Mine",
"iconPathOn": "data-mine",
"iconPathOff": "data-mine",
"iconProject": "Data-Mining",
"actionProject": "Community-Plugins",
"relatedUiObject": "Data Mine",
"dontShowAtFullscreen": true,
"actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
@@ -27,6 +38,9 @@
"addLeftIcons": true,
"level": 1,
"propertyNameAtParent": "pluginDataMines",
"editors": {
"list": true
},
"attachingRules": {
"compatibleTypes": "->Plugin Project->"
},
@@ -1,7 +1,14 @@
{
"type": "Plugin Tutorials",
"definition": {
"text": "The plugin tutorials node features the definitions of tutorials to be included as plugins in the current workspace."
"text": "The plugin tutorials node features the definitions of tutorials to be included as plugins in the current workspace.",
"translations": [
{
"language": "ES",
"text": "El nodo plugin tutorials presenta las definiciones de tutoriales que se incluirán como complementos en el workspace.",
"updated": 1636559382952
}
]
},
"paragraphs": [
{
@@ -22,7 +29,14 @@
},
{
"style": "Text",
"text": "Select Configure on the menu to access the configuration."
"text": "Select Configure on the menu to access the configuration.",
"translations": [
{
"language": "ES",
"text": "Seleccione Configure en el menu para acceder a la configuración.",
"updated": 1636559608194
}
]
}
]
}
@@ -38,6 +38,11 @@ function newCommunityPluginsActionSwitch() {
UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginDataMines(action.node, action.rootNodes)
}
break
case 'Add Specified Plugin Data Mine':
{
UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addSpecifiedPluginDataMine(action.node, action.rootNodes)
}
break
case 'Add Missing Plugin Trading Mines':
{
UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginTradingMines(action.node, action.rootNodes)
@@ -3,6 +3,7 @@ function newPluginsFunctionLibraryPluginsFunctions() {
addMissingPluginProjects: addMissingPluginProjects,
addMissingPluginTypes: addMissingPluginTypes,
addMissingPluginDataMines: addMissingPluginDataMines,
addSpecifiedPluginDataMine: addSpecifiedPluginDataMine,
addMissingPluginTradingMines: addMissingPluginTradingMines,
addMissingPluginTradingSystems: addMissingPluginTradingSystems,
addMissingPluginTradingEngines: addMissingPluginTradingEngines,
@@ -65,6 +66,32 @@ function newPluginsFunctionLibraryPluginsFunctions() {
}
}
function addSpecifiedPluginDataMine(node, rootNodes) {
let action = { node: node }
let projectName = UI.projects.communityPlugins.utilities.plugins.getProjectName(node)
if (projectName === "" || projectName === undefined) {
if (node.payload.parentNode !== undefined) {
node.payload.parentNode.payload.uiObject.setErrorMessage("Config codeName must have the name of the project.")
return
}
}
UI.projects.communityPlugins.utilities.plugins.getPluginFileNames(projectName, 'Data-Mines', onNamesArrived)
function onNamesArrived(fileNames) {
let eventSubscriptionId = node.payload.uiObject.container.eventHandler.listenToEvent('listSelectorClicked', onListSelect)
node.payload.uiObject.listSelector.activate(action, fileNames, eventSubscriptionId)
function onListSelect(event) {
let selectedArray = []
selectedArray.push(event.selectedNode)
UI.projects.communityPlugins.utilities.plugins.addMissingPluginFiles(node, selectedArray, 'Data-Mines', 'Data Mine', 'Data-Mining')
node.payload.uiObject.container.eventHandler.stopListening('listSelectorClicked')
}
}
}
function addMissingPluginTradingMines(node, rootNodes) {
let projectName = UI.projects.communityPlugins.utilities.plugins.getProjectName(node)
if (projectName === "" || projectName === undefined) {
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -12,6 +12,11 @@
"language": "RU",
"text": "Бот-индикатор - это алгоритм, который обрабатывает информацию, сгенерированную другими ботами, и создает сложные наборы данных для использования другими.",
"updated": 1636192708246
},
{
"language": "DE",
"text": "Ein Indikator-Bot ist ein Algorithmus, der Informationen verarbeitet, die andere Bots generiert haben, und umfangreiche Datensätze erstellt, die von anderen genutzt werden können.",
"updated": 1636658543393
}
]
},
@@ -22,11 +27,25 @@
},
{
"style": "Text",
"text": "The indicator bot node holds all definitions required for an indicator bot to function. Definitions are split between the definition of processes and products. Processes are algorithms that go through an input dataset, perform certain calculations, and produce an output. Products are the outcome of the work produced by these algorithms, in the form of elaborate data sets."
"text": "The indicator bot node holds all definitions required for an indicator bot to function. Definitions are split between the definition of processes and products. Processes are algorithms that go through an input dataset, perform certain calculations, and produce an output. Products are the outcome of the work produced by these algorithms, in the form of elaborate data sets.",
"translations": [
{
"language": "DE",
"text": "Die indicator bot node enthält alle Definitionen, die für die Funktion eines indicator bot erforderlich sind. Die Definitionen sind aufgeteilt in die Definition von Prozessen und Produkten. Prozesse (Processes) sind Algorithmen, die einen Eingabedatensatz durchlaufen, bestimmte Berechnungen durchführen und eine Ausgabe erzeugen. Products sind das Ergebnis der von diesen Algorithmen geleisteten Arbeit in Form von ausgearbeiteten Datensätzen.",
"updated": 1636658558739
}
]
},
{
"style": "Text",
"text": "Most of the behavior expected from an indicator bot is defined by the structure of nodes in the hierarchy and the references among the nodes within these definitions. As such, you do not need to code any of the functions that make up the infrastructure functionality. Dependencies, outputs, data structures, execution sequences, and several other problems are handled by the definitions embodied in the structure of nodes that make up an indicator, and are configured in the visual environment of the design space. Coding is limited to the actual calculation and data building procedures."
"text": "Most of the behavior expected from an indicator bot is defined by the structure of nodes in the hierarchy and the references among the nodes within these definitions. As such, you do not need to code any of the functions that make up the infrastructure functionality. Dependencies, outputs, data structures, execution sequences, and several other problems are handled by the definitions embodied in the structure of nodes that make up an indicator, and are configured in the visual environment of the design space. Coding is limited to the actual calculation and data building procedures.",
"translations": [
{
"language": "DE",
"text": "Der Großteil des von einem indicator-Bot erwarteten Verhaltens wird durch die Struktur der nodes in der hierarchy und die references (Verweise) zwischen den nodes innerhalb dieser Definitionen festgelegt. Daher müssen Sie keine der Funktionen, die die infrastructure functionality ausmachen, programmieren. Dependencies, outputs, data structures, execution sequences und verschiedene andere Probleme werden durch die Definitionen in der Struktur der nodes, aus denen ein indicator bot besteht, gehandhabt und werden in der visuellen Umgebung des Design Space konfiguriert. Die Programmierung beschränkt sich auf die eigentlichen Berechnungs/Datenaufbau -Verfahren.",
"updated": 1636658578266
}
]
},
{
"style": "Block",
@@ -35,7 +54,14 @@
{
"style": "Title",
"text": "Indicator Bot Configuration",
"updated": 1609789150912
"updated": 1609789150912,
"translations": [
{
"language": "DE",
"text": "Indicator Bot Konfiguration:",
"updated": 1636658588076
}
]
},
{
"style": "Text",
@@ -44,7 +70,14 @@
},
{
"style": "List",
"text": "codeName is the name of the bot as used within the code of the system."
"text": "codeName is the name of the bot as used within the code of the system.",
"translations": [
{
"language": "DE",
"text": "codeName ist der Name des Bots, wie er im (Programm)-Code des Systems verwendet wird.",
"updated": 1636658601783
}
]
}
]
}
@@ -187,6 +187,10 @@ function newFoundationsDocsDocumentPage() {
*/
let docsContentDiv = document.getElementById('docs-content-div')
docsContentDiv.innerHTML = HTML + UI.projects.education.spaces.docsSpace.footer.addFooter()
// Create tooltip objects for all the elements
tippy('#tooltip-container', {
theme: "superalgos"
});
hightlightEmbeddedCode()
UI.projects.education.spaces.docsSpace.mainSearchPage.detectEnterOnSearchBox()
@@ -29,6 +29,7 @@ function newFoundationsDocsSearchEngine() {
function finalize() {
thisObject.docsIndex = undefined
thisObject.documentIndex = undefined
}
function setUpSearchEngine(callbackFunction) {
@@ -1543,7 +1543,10 @@ function newEducationTutorialSpace() {
tutorialDiv.innerHTML = html
_self.Prism.highlightAllUnder(tutorialDiv, true)
// Create tooltip objects for all the elements
tippy('#tooltip-container', {
theme: "superalgos"
});
}
}
+1 -1
View File
@@ -523,7 +523,7 @@ function newEducationUtilitiesDocs() {
function addToolTips(text, excludedType) {
const TOOL_TIP_HTML = '<div onClick="UI.projects.education.spaces.docsSpace.navigateTo(\'PROJECT\', \'CATEGORY\', \'TYPE\')" class="docs-tooltip">TYPE_LABEL<span class="docs-tooltiptext">DEFINITION</span></div>'
const TOOL_TIP_HTML = '<div onClick="UI.projects.education.spaces.docsSpace.navigateTo(\'PROJECT\', \'CATEGORY\', \'TYPE\')" class="docs-tooltip" id="tooltip-container" data-tippy-content="DEFINITION">TYPE_LABEL</div>'
const LINK_ONLY_HTML = '<div onClick="UI.projects.education.spaces.docsSpace.navigateTo(\'PROJECT\', \'CATEGORY\', \'TYPE\')" class="docs-link">TYPE_LABEL<span class="docs-tooltiptext"></span></div>'
let resultingText = ''
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -1749,7 +1749,7 @@
"projectTradingTasks": [
{
"type": "Project Trading Tasks",
"name": "Foundations",
"name": "Algorithmic-Trading",
"project": "Foundations",
"exchangeTradingTasks": [
{
@@ -2510,21 +2510,17 @@
},
"referenceParent": {
"type": "Project Definition",
"name": "Foundations",
"id": "a2a04e12-604e-43f8-a986-1b8ca3b043cb"
"name": "Algorithmic-Trading",
"id": "159d6c95-233b-4d79-8fe0-b1d75d40f90b"
},
"referenceParentCombinedNodePath": [
[
"New Foundations Project",
"Foundations Project",
"Foundations",
"cf9f8b3b-77c6-43c6-b01f-95cf366a91f6"
"New Algorithmic-Trading Project",
"Algorithmic-Trading Project"
],
[
"Foundations",
"Project Definition",
"Foundations",
"a2a04e12-604e-43f8-a986-1b8ca3b043cb"
"Algorithmic-Trading",
"Project Definition"
]
]
}
@@ -10241,7 +10237,7 @@
"673caa5f-511d-4688-9305-e5f0f0f780cd"
],
[
"Foundations",
"Algorithmic-Trading",
"Project Trading Tasks",
"Foundations",
"f79c3f13-37eb-4f88-ae83-78554db337c5"
@@ -44563,7 +44559,7 @@
"673caa5f-511d-4688-9305-e5f0f0f780cd"
],
[
"Foundations",
"Algorithmic-Trading",
"Project Trading Tasks",
"Foundations",
"f79c3f13-37eb-4f88-ae83-78554db337c5"
@@ -49578,7 +49574,7 @@
"referenceParent": {
"type": "Workspace",
"name": "Getting-Started-Tutorials",
"id": "88c7750c-4f14-492e-bbc9-462ce1a06f3a"
"id": "54ba909c-94c0-4115-9ae0-2e8ec771e0be"
},
"referenceParentCombinedNodePath": [
[
@@ -49728,10 +49724,41 @@
},
"referenceParent": {
"type": "Plugin File Position",
"name": "Masters-Lightning-Strike",
"id": "37ab4b0d-6bd8-46b6-9778-e193c32669a4"
"name": "Masters",
"id": "09e63cdb-2302-4f8a-a747-ef205912c685"
},
"referenceParentCombinedNodePath": []
"referenceParentCombinedNodePath": [
[
"New Plugins",
"Plugins",
"Community-Plugins",
"bfb0b514-3b9f-4e9a-85ca-d0ca714b09f6"
],
[
"Algorithmic-Trading",
"Plugin Project",
"Community-Plugins",
"252daf71-559e-4a54-a534-42ec1e7f1a31"
],
[
"New Plugin Trading Mines",
"Plugin Trading Mines",
"Community-Plugins",
"b784724f-9692-4365-8e01-032158248fc4"
],
[
"Masters",
"Plugin File",
"Community-Plugins",
"68bdcf8f-5b90-4683-bd24-0cbb90649cea"
],
[
"Masters",
"Plugin File Position",
"Community-Plugins",
"09e63cdb-2302-4f8a-a747-ef205912c685"
]
]
}
},
{
@@ -49766,9 +49793,28 @@
"referenceParent": {
"type": "Plugin Trading Systems",
"name": "New Plugin Trading Systems",
"id": "3569d452-c593-4e54-a356-7ff8c6b519f3"
"id": "ed5fbe5f-6957-47d7-b776-f4868b521378"
},
"referenceParentCombinedNodePath": []
"referenceParentCombinedNodePath": [
[
"New Plugins",
"Plugins",
"Community-Plugins",
"bfb0b514-3b9f-4e9a-85ca-d0ca714b09f6"
],
[
"Algorithmic-Trading",
"Plugin Project",
"Community-Plugins",
"252daf71-559e-4a54-a534-42ec1e7f1a31"
],
[
"New Plugin Trading Systems",
"Plugin Trading Systems",
"Community-Plugins",
"ed5fbe5f-6957-47d7-b776-f4868b521378"
]
]
}
},
{
@@ -55534,7 +55580,7 @@
"673caa5f-511d-4688-9305-e5f0f0f780cd"
],
[
"Foundations",
"Algorithmic-Trading",
"Project Trading Tasks",
"Foundations",
"f79c3f13-37eb-4f88-ae83-78554db337c5"
@@ -55971,7 +56017,7 @@
"673caa5f-511d-4688-9305-e5f0f0f780cd"
],
[
"Foundations",
"Algorithmic-Trading",
"Project Trading Tasks",
"Foundations",
"f79c3f13-37eb-4f88-ae83-78554db337c5"
@@ -56063,7 +56109,7 @@
"673caa5f-511d-4688-9305-e5f0f0f780cd"
],
[
"Foundations",
"Algorithmic-Trading",
"Project Trading Tasks",
"Foundations",
"f79c3f13-37eb-4f88-ae83-78554db337c5"
@@ -57117,7 +57163,7 @@
"floatingObject": {
"isPinned": true,
"isFrozen": false,
"isCollapsed": false,
"isCollapsed": true,
"angleToParent": 1,
"distanceToParent": 3,
"arrangementStyle": 0
@@ -76,7 +76,7 @@
"arrangementStyle": 0
},
"uiObject": {
"isRunning": true
"isRunning": false
},
"referenceParent": {
"type": "Process Definition",
@@ -128,7 +128,7 @@
"arrangementStyle": 0
},
"uiObject": {
"isRunning": true
"isRunning": false
},
"referenceParent": {
"type": "Process Definition",
@@ -200,7 +200,7 @@
"arrangementStyle": 0
},
"uiObject": {
"isRunning": true
"isRunning": false
}
}
}
@@ -224,7 +224,7 @@
"arrangementStyle": 0
},
"uiObject": {
"isRunning": true
"isRunning": false
}
}
}
@@ -248,7 +248,7 @@
"arrangementStyle": 0
},
"uiObject": {
"isRunning": true
"isRunning": false
},
"referenceParent": {
"type": "Data Mine",
@@ -380,7 +380,7 @@
"arrangementStyle": 0
},
"uiObject": {
"isRunning": true
"isRunning": false
}
}
},
@@ -541,7 +541,7 @@
"arrangementStyle": 0
},
"uiObject": {
"isRunning": true
"isRunning": false
}
}
}
@@ -565,7 +565,7 @@
"arrangementStyle": 0
},
"uiObject": {
"isRunning": true
"isRunning": false
}
}
}
@@ -589,7 +589,7 @@
"arrangementStyle": 0
},
"uiObject": {
"isRunning": true
"isRunning": false
},
"referenceParent": {
"type": "Data Mine",
@@ -626,7 +626,7 @@
"arrangementStyle": 0
},
"uiObject": {
"isRunning": true
"isRunning": false
},
"referenceParent": {
"type": "Market",
@@ -687,7 +687,7 @@
"arrangementStyle": 0
},
"uiObject": {
"isRunning": true
"isRunning": false
},
"referenceParent": {
"type": "Crypto Exchange",
@@ -736,7 +736,7 @@
"arrangementStyle": 0
},
"uiObject": {
"isRunning": true
"isRunning": false
},
"referenceParent": {
"type": "Project Definition",
@@ -779,7 +779,7 @@
"arrangementStyle": 0
},
"uiObject": {
"isRunning": true
"isRunning": false
}
}
},
@@ -2321,12 +2321,12 @@
"id": "f8a3ec60-ebb6-4d0a-9768-9c2314b5bbeb",
"savedPayload": {
"position": {
"x": 24837.19913560607,
"y": 31459.15985816277
"x": 25698.5771121102,
"y": 32435.574217628837
},
"targetPosition": {
"x": 24936.19913560607,
"y": 31559.15985816277
"x": 25583.772082400672,
"y": 32158.41035787545
},
"floatingObject": {
"isPinned": false,
@@ -2382,12 +2382,12 @@
"id": "0fe46371-7774-47ab-b78b-50cb9e8b10b9",
"savedPayload": {
"position": {
"x": 24936.19913560607,
"y": 31559.15985816277
"x": 25583.772082400672,
"y": 32158.41035787545
},
"targetPosition": {
"x": 24988.19913560607,
"y": 31497.15985816277
"x": 25468.967052691143,
"y": 31881.246498122066
},
"floatingObject": {
"isPinned": false,
@@ -2431,12 +2431,12 @@
"id": "c1d0a770-858a-4f4e-a35e-e76aa20cdd5f",
"savedPayload": {
"position": {
"x": 24988.19913560607,
"y": 31497.15985816277
"x": 25468.967052691143,
"y": 31881.246498122066
},
"targetPosition": {
"x": 25050.19913560607,
"y": 31584.15985816277
"x": 25354.162022981614,
"y": 31604.08263836868
},
"floatingObject": {
"isPinned": false,
@@ -2474,12 +2474,12 @@
"id": "32e7c122-fa5a-4d00-9d71-d54e890e32de",
"savedPayload": {
"position": {
"x": 25050.19913560607,
"y": 31584.15985816277
"x": 25354.162022981614,
"y": 31604.08263836868
},
"targetPosition": {
"x": 25089.356993272086,
"y": 31286.726399750627
"x": 25239.356993272086,
"y": 31326.918778615294
},
"floatingObject": {
"isPinned": false,
@@ -9481,12 +9481,12 @@
"id": "08489b84-68a9-4a3d-9a84-067b0cf50eef",
"savedPayload": {
"position": {
"x": 24815.356993272086,
"y": 31366.53402088596
"x": 25239.356993272086,
"y": 32526.918778615294
},
"targetPosition": {
"x": 24914.356993272086,
"y": 31379.53402088596
"x": 25239.356993272086,
"y": 32226.918778615294
},
"floatingObject": {
"isPinned": false,
@@ -9542,12 +9542,12 @@
"id": "dad1f99f-f5c0-4768-a18f-ab6f88f7e3ef",
"savedPayload": {
"position": {
"x": 24914.356993272086,
"y": 31379.53402088596
"x": 25239.356993272086,
"y": 32226.918778615294
},
"targetPosition": {
"x": 24867.356993272086,
"y": 31451.53402088596
"x": 25239.356993272086,
"y": 31926.918778615294
},
"floatingObject": {
"isPinned": false,
@@ -9591,12 +9591,12 @@
"id": "5d23f563-16c4-414d-9307-0263429f4e6b",
"savedPayload": {
"position": {
"x": 24867.356993272086,
"y": 31451.53402088596
"x": 25239.356993272086,
"y": 31926.918778615294
},
"targetPosition": {
"x": 24939.356993272086,
"y": 31546.53402088596
"x": 25239.356993272086,
"y": 31626.918778615294
},
"floatingObject": {
"isPinned": false,
@@ -9634,12 +9634,12 @@
"id": "e4e268f3-a677-4f90-90a1-d87244e647e5",
"savedPayload": {
"position": {
"x": 24939.356993272086,
"y": 31546.53402088596
"x": 25239.356993272086,
"y": 31626.918778615294
},
"targetPosition": {
"x": 25089.356993272086,
"y": 31286.726399750627
"x": 25239.356993272086,
"y": 31326.918778615294
},
"floatingObject": {
"isPinned": false,
@@ -9677,12 +9677,12 @@
"id": "ae136c4b-be48-48b5-b7bc-1ec09807042b",
"savedPayload": {
"position": {
"x": 24884.350991184714,
"y": 31365.354828453244
"x": 24780.136874433985,
"y": 32435.574217628837
},
"targetPosition": {
"x": 24790.350991184714,
"y": 31430.354828453244
"x": 24894.94190414351,
"y": 32158.41035787545
},
"floatingObject": {
"isPinned": false,
@@ -9738,12 +9738,12 @@
"id": "f0b00013-73b6-4b45-a394-c83b2bd85ea4",
"savedPayload": {
"position": {
"x": 24790.350991184714,
"y": 31430.354828453244
"x": 24894.94190414351,
"y": 32158.41035787545
},
"targetPosition": {
"x": 24843.350991184714,
"y": 31529.354828453244
"x": 25009.746933853035,
"y": 31881.246498122066
},
"floatingObject": {
"isPinned": false,
@@ -9787,12 +9787,12 @@
"id": "24b6c396-f3fe-4a0a-a8ba-5c0e4eb40a21",
"savedPayload": {
"position": {
"x": 24843.350991184714,
"y": 31529.354828453244
"x": 25009.746933853035,
"y": 31881.246498122066
},
"targetPosition": {
"x": 24851.350991184714,
"y": 31469.354828453244
"x": 25124.55196356256,
"y": 31604.08263836868
},
"floatingObject": {
"isPinned": false,
@@ -9830,12 +9830,12 @@
"id": "2845a687-becc-4c3b-bc79-b2293ba876ba",
"savedPayload": {
"position": {
"x": 24851.350991184714,
"y": 31469.354828453244
"x": 25124.55196356256,
"y": 31604.08263836868
},
"targetPosition": {
"x": 25089.356993272086,
"y": 31286.726399750627
"x": 25239.356993272086,
"y": 31326.918778615294
},
"floatingObject": {
"isPinned": false,
@@ -15197,7 +15197,7 @@
"viewport": {
"type": "Viewport",
"name": "New Viewport",
"config": "{\"zoom\":\"1.40\"}",
"config": "{\"zoom\":\"0.00\"}",
"project": "Foundations",
"id": "01713f1d-91b8-44f9-9c5d-a0c12fd09037",
"savedPayload": {
@@ -15222,8 +15222,8 @@
},
"frame": {
"position": {
"x": 0,
"y": -1702
"x": 550.5,
"y": 167.8125
}
}
}
@@ -19809,7 +19809,7 @@
},
"frame": {
"position": {
"x": 1530,
"x": 1311,
"y": 80
},
"width": 150,
@@ -21464,7 +21464,7 @@
},
"frame": {
"position": {
"x": 1380,
"x": 1311,
"y": 80
},
"width": 150,
@@ -28796,7 +28796,7 @@
},
"frame": {
"position": {
"x": 1230,
"x": 1311,
"y": 80
},
"width": 150,
@@ -160525,9 +160525,7 @@
"uiObject": {
"isRunning": false
},
"tutorial": {
"status": "Done"
},
"tutorial": {},
"referenceParent": {
"type": "Tutorial",
"name": "Hello World Tutorial",
@@ -160649,8 +160647,62 @@
"referenceParent": {
"type": "Trading Parameters",
"name": "New Trading Parameters",
"id": "85d5b9da-c460-4524-9559-e672af19d0e7"
}
"id": "5dba580a-bbc4-46b8-addc-897b707d8f13"
},
"referenceParentCombinedNodePath": [
[
"My LAN Network",
"LAN Network"
],
[
"My Computer",
"LAN Network Node"
],
[
"New Testing Trading Tasks",
"Testing Trading Tasks"
],
[
"Algorithmic-Trading",
"Project Trading Tasks"
],
[
"Binance",
"Exchange Trading Tasks"
],
[
" BTC/USDT",
"Market Trading Tasks"
],
[
"Masters",
"Trading Mine Tasks"
],
[
"Masters",
"Task Manager"
],
[
"Hello World Trading System",
"Task"
],
[
"Low Frequency",
"Trading Bot Instance"
],
[
"Low Frequency Trading",
"Trading Process Instance"
],
[
"Hello World Trading System",
"Backtesting Session"
],
[
"New Trading Parameters",
"Trading Parameters"
]
]
}
},
{
@@ -160741,8 +160793,26 @@
"referenceParent": {
"type": "Time Machine",
"name": "Hello World Trading System Backtesting Session My Computer Binance BTC/USDT",
"id": "ae3cca29-d5d8-4869-9203-0ad91dd0cba9"
}
"id": "49e4cc0a-afa5-4893-a38f-7e9cb73222ac"
},
"referenceParentCombinedNodePath": [
[
"New Charting Space",
"Charting Space"
],
[
"Foundations",
"Project Dashboards"
],
[
"Testing Trading Tasks My Computer",
"Dashboard"
],
[
"Hello World Trading System Backtesting Session My Computer Binance BTC/USDT",
"Time Machine"
]
]
}
},
{
@@ -160810,6 +160880,7 @@
"arrangementStyle": 0
},
"uiObject": {
"isPlaying": true,
"isRunning": false
},
"tutorial": {
@@ -87,7 +87,7 @@
"floatingObject": {
"isPinned": false,
"isFrozen": false,
"isCollapsed": true,
"isCollapsed": false,
"angleToParent": 1,
"distanceToParent": 3,
"arrangementStyle": 0
@@ -275,7 +275,7 @@
"floatingObject": {
"isPinned": true,
"isFrozen": false,
"isCollapsed": false,
"isCollapsed": true,
"angleToParent": 1,
"distanceToParent": 3,
"arrangementStyle": 0
@@ -7320,7 +7320,7 @@
"floatingObject": {
"isPinned": true,
"isFrozen": false,
"isCollapsed": false,
"isCollapsed": true,
"angleToParent": 1,
"distanceToParent": 3,
"arrangementStyle": 0
@@ -7373,12 +7373,12 @@
"id": "21d2ec55-9e56-4652-8e96-c7e451262c36",
"savedPayload": {
"position": {
"x": 18900.806237131383,
"y": 24983.35640053908
"x": 18880.806237131383,
"y": 18613.85640053908
},
"targetPosition": {
"x": 18900.806237131383,
"y": 24983.35640053908
"x": 18880.806237131383,
"y": 18613.85640053908
},
"floatingObject": {
"isPinned": true,
@@ -7412,12 +7412,12 @@
"id": "8c9db3d9-8970-4efd-9bac-8f28db5d157b",
"savedPayload": {
"position": {
"x": 31606.185902390363,
"y": 18507.802375894946
"x": 31608.185902390363,
"y": 10613.052375894946
},
"targetPosition": {
"x": 31346.37828125503,
"y": 18657.802375894946
"x": 31348.37828125503,
"y": 10763.052375894946
},
"floatingObject": {
"isPinned": false,
@@ -7440,12 +7440,12 @@
"id": "dbccf282-2f4b-4624-8752-5f139a5b6b60",
"savedPayload": {
"position": {
"x": 31606.185902390363,
"y": 18807.802375894946
"x": 31608.185902390363,
"y": 10913.052375894946
},
"targetPosition": {
"x": 31346.37828125503,
"y": 18657.802375894946
"x": 31348.37828125503,
"y": 10763.052375894946
},
"floatingObject": {
"isPinned": false,
@@ -7463,17 +7463,17 @@
"id": "c4e402d7-5228-408c-9d67-379d6ef40bae",
"savedPayload": {
"position": {
"x": 31346.37828125503,
"y": 18657.802375894946
"x": 31348.37828125503,
"y": 10763.052375894946
},
"targetPosition": {
"x": 31046.37828125503,
"y": 18657.802375894946
"x": 31048.37828125503,
"y": 10763.052375894946
},
"floatingObject": {
"isPinned": false,
"isFrozen": false,
"isCollapsed": false,
"isCollapsed": true,
"angleToParent": 1,
"distanceToParent": 3,
"arrangementStyle": 0
@@ -7501,12 +7501,12 @@
"id": "3ffcbfcf-1c5b-4d11-a5bf-9069afab5172",
"savedPayload": {
"position": {
"x": 31884.84760885612,
"y": 18618.717495194953
"x": 31886.84760885612,
"y": 10723.967495194955
},
"targetPosition": {
"x": 31598.431348903556,
"y": 18707.968411351514
"x": 31600.431348903556,
"y": 10813.218411351516
},
"floatingObject": {
"isPinned": false,
@@ -7525,12 +7525,12 @@
"id": "87fc9331-f0c6-438d-b06e-bfd25be562a8",
"savedPayload": {
"position": {
"x": 31598.431348903556,
"y": 18707.968411351514
"x": 31600.431348903556,
"y": 10813.218411351516
},
"targetPosition": {
"x": 31312.015088950993,
"y": 18797.219327508075
"x": 31314.015088950993,
"y": 10902.469327508077
},
"floatingObject": {
"isPinned": false,
@@ -7553,12 +7553,12 @@
"id": "f28f9562-17a1-40da-bfea-162e6db60bec",
"savedPayload": {
"position": {
"x": 31577.651896646956,
"y": 18936.636279121205
"x": 31579.651896646956,
"y": 11041.886279121207
},
"targetPosition": {
"x": 31312.015088950993,
"y": 18797.219327508075
"x": 31314.015088950993,
"y": 10902.469327508077
},
"floatingObject": {
"isPinned": false,
@@ -7583,15 +7583,42 @@
"name": "Low-Frequency",
"config": "{\"project\":\"Algorithmic-Trading\",\"fileName\":\"Low-Frequency\",\"folderName\":\"Trading-Engines\",\"nodeType\":\"Trading Engine\",\"saveWithWorkspace\":false}",
"project": "Community-Plugins",
"pluginFilePosition": {
"type": "Plugin File Position",
"name": "Low-Frequency",
"project": "Community-Plugins",
"id": "99344483-b01e-416c-af23-72f9868e5ee9",
"savedPayload": {
"position": {
"x": 31018.262986317583,
"y": 19677.00324056058
},
"targetPosition": {
"x": 31492.516921264116,
"y": 11475.301847413206
},
"floatingObject": {
"isPinned": true,
"isFrozen": false,
"isCollapsed": false,
"angleToParent": 2,
"distanceToParent": 3,
"arrangementStyle": 0
},
"uiObject": {
"isRunning": false
}
}
},
"id": "4d3c8659-e0c3-4155-985a-15481f37ed7c",
"savedPayload": {
"position": {
"x": 31490.516921264116,
"y": 19370.0518474132
"x": 31492.516921264116,
"y": 11475.301847413206
},
"targetPosition": {
"x": 31401.266005107555,
"y": 19083.635587460638
"x": 31403.266005107555,
"y": 11188.885587460642
},
"floatingObject": {
"isPinned": false,
@@ -7610,12 +7637,12 @@
"id": "507d031e-5985-4295-b5a2-49db47a3f7dc",
"savedPayload": {
"position": {
"x": 31401.266005107555,
"y": 19083.635587460638
"x": 31403.266005107555,
"y": 11188.885587460642
},
"targetPosition": {
"x": 31312.015088950993,
"y": 18797.219327508075
"x": 31314.015088950993,
"y": 10902.469327508077
},
"floatingObject": {
"isPinned": false,
@@ -7633,17 +7660,17 @@
"id": "bf802c43-c8d7-45e4-90e9-3758c9dcae62",
"savedPayload": {
"position": {
"x": 31312.015088950993,
"y": 18797.219327508075
"x": 31314.015088950993,
"y": 10902.469327508077
},
"targetPosition": {
"x": 31046.37828125503,
"y": 18657.802375894946
"x": 31048.37828125503,
"y": 10763.052375894946
},
"floatingObject": {
"isPinned": false,
"isFrozen": false,
"isCollapsed": false,
"isCollapsed": true,
"angleToParent": 1,
"distanceToParent": 3,
"arrangementStyle": 0
@@ -7745,12 +7772,12 @@
"id": "dd3b8e9e-402e-4b98-9b63-5947fad398e7",
"savedPayload": {
"position": {
"x": 31216.797705274377,
"y": 18904.697535663043
"x": 31218.797705274377,
"y": 11009.947535663043
},
"targetPosition": {
"x": 31046.37828125503,
"y": 18657.802375894946
"x": 31048.37828125503,
"y": 10763.052375894946
},
"floatingObject": {
"isPinned": false,
@@ -7773,12 +7800,12 @@
"id": "d20c1385-9022-45a6-b20b-1e0b1bffabe1",
"savedPayload": {
"position": {
"x": 31082.539285331626,
"y": 18955.61503812436
"x": 31084.539285331626,
"y": 11060.865038124362
},
"targetPosition": {
"x": 31046.37828125503,
"y": 18657.802375894946
"x": 31048.37828125503,
"y": 10763.052375894946
},
"floatingObject": {
"isPinned": false,
@@ -7808,20 +7835,47 @@
"name": "Candles",
"config": "{\"project\":\"Data-Mining\",\"fileName\":\"Candles\",\"folderName\":\"Data-Mines\",\"nodeType\":\"Data Mine\",\"saveWithWorkspace\":false}",
"project": "Community-Plugins",
"pluginFilePosition": {
"type": "Plugin File Position",
"name": "Candles",
"project": "Community-Plugins",
"id": "7732fc86-2ac3-4274-a912-5d8aaf29b8e9",
"savedPayload": {
"position": {
"x": 18870.069268429528,
"y": 10803.591121162674
},
"targetPosition": {
"x": 30729.233882916746,
"y": 11604.56699431182
},
"floatingObject": {
"isPinned": true,
"isFrozen": false,
"isCollapsed": false,
"angleToParent": 1,
"distanceToParent": 3,
"arrangementStyle": 0
},
"uiObject": {
"isRunning": false
}
}
},
"id": "9e93e70b-4274-4248-b9b0-ec72f4b6ebe0",
"savedPayload": {
"position": {
"x": 30727.233882916746,
"y": 19499.31699431182
"x": 30729.233882916746,
"y": 11604.56699431182
},
"targetPosition": {
"x": 30833.615349029507,
"y": 19218.812121506195
"x": 30835.615349029507,
"y": 11324.062121506195
},
"floatingObject": {
"isPinned": false,
"isFrozen": false,
"isCollapsed": false,
"isCollapsed": true,
"angleToParent": 1,
"distanceToParent": 3,
"arrangementStyle": 0
@@ -7835,12 +7889,12 @@
"id": "321b9508-9abe-4994-b974-c9efc81ec765",
"savedPayload": {
"position": {
"x": 30833.615349029507,
"y": 19218.812121506195
"x": 30835.615349029507,
"y": 11324.062121506195
},
"targetPosition": {
"x": 30939.99681514227,
"y": 18938.30724870057
"x": 30941.99681514227,
"y": 11043.55724870057
},
"floatingObject": {
"isPinned": false,
@@ -7858,17 +7912,17 @@
"id": "7f00fa26-d082-44ad-87fd-4a8e31f7d144",
"savedPayload": {
"position": {
"x": 30939.99681514227,
"y": 18938.30724870057
"x": 30941.99681514227,
"y": 11043.55724870057
},
"targetPosition": {
"x": 31046.37828125503,
"y": 18657.802375894946
"x": 31048.37828125503,
"y": 10763.052375894946
},
"floatingObject": {
"isPinned": false,
"isFrozen": false,
"isCollapsed": false,
"isCollapsed": true,
"angleToParent": 1,
"distanceToParent": 3,
"arrangementStyle": 0
@@ -7886,12 +7940,12 @@
"id": "9fdf465f-798f-4043-8fd5-f5f69dd7310e",
"savedPayload": {
"position": {
"x": 30821.8250568037,
"y": 18856.739173367183
"x": 30823.8250568037,
"y": 10961.989173367185
},
"targetPosition": {
"x": 31046.37828125503,
"y": 18657.802375894946
"x": 31048.37828125503,
"y": 10763.052375894946
},
"floatingObject": {
"isPinned": false,
@@ -7914,12 +7968,12 @@
"id": "9d61de94-a8d1-4638-8b79-5ff91bd8887d",
"savedPayload": {
"position": {
"x": 30755.095736027215,
"y": 18729.597075181213
"x": 30757.095736027215,
"y": 10834.847075181213
},
"targetPosition": {
"x": 31046.37828125503,
"y": 18657.802375894946
"x": 31048.37828125503,
"y": 10763.052375894946
},
"floatingObject": {
"isPinned": false,
@@ -7942,12 +7996,12 @@
"id": "594e691e-aae1-41e0-9cd4-d99145a4b3a8",
"savedPayload": {
"position": {
"x": 30755.095736027215,
"y": 18586.00767660868
"x": 30757.095736027215,
"y": 10691.257676608679
},
"targetPosition": {
"x": 31046.37828125503,
"y": 18657.802375894946
"x": 31048.37828125503,
"y": 10763.052375894946
},
"floatingObject": {
"isPinned": false,
@@ -7970,12 +8024,12 @@
"id": "a7715b91-2832-4692-8444-6e2f6286b976",
"savedPayload": {
"position": {
"x": 30821.8250568037,
"y": 18458.86557842271
"x": 30823.8250568037,
"y": 10564.115578422707
},
"targetPosition": {
"x": 31046.37828125503,
"y": 18657.802375894946
"x": 31048.37828125503,
"y": 10763.052375894946
},
"floatingObject": {
"isPinned": false,
@@ -7998,12 +8052,12 @@
"id": "d2cd1d5a-b8d1-4f81-9b43-1d7e805df244",
"savedPayload": {
"position": {
"x": 30939.99681514227,
"y": 18377.29750308932
"x": 30941.99681514227,
"y": 10482.547503089321
},
"targetPosition": {
"x": 31046.37828125503,
"y": 18657.802375894946
"x": 31048.37828125503,
"y": 10763.052375894946
},
"floatingObject": {
"isPinned": false,
@@ -8026,12 +8080,12 @@
"id": "a1b2d79c-ce89-47b7-9b4b-42a0bf6ab854",
"savedPayload": {
"position": {
"x": 31082.539285331626,
"y": 18359.98971366553
"x": 31084.539285331626,
"y": 10465.239713665529
},
"targetPosition": {
"x": 31046.37828125503,
"y": 18657.802375894946
"x": 31048.37828125503,
"y": 10763.052375894946
},
"floatingObject": {
"isPinned": false,
@@ -8054,12 +8108,12 @@
"id": "6aa5c0e7-9f3d-4dfc-a912-41741efc17c4",
"savedPayload": {
"position": {
"x": 31216.797705274377,
"y": 18410.90721612685
"x": 31218.797705274377,
"y": 10516.157216126849
},
"targetPosition": {
"x": 31046.37828125503,
"y": 18657.802375894946
"x": 31048.37828125503,
"y": 10763.052375894946
},
"floatingObject": {
"isPinned": false,
@@ -8082,12 +8136,12 @@
"id": "53a8a500-754d-47cb-ac63-974255336c52",
"savedPayload": {
"position": {
"x": 31312.015088950993,
"y": 18518.385424281816
"x": 31314.015088950993,
"y": 10623.635424281816
},
"targetPosition": {
"x": 31046.37828125503,
"y": 18657.802375894946
"x": 31048.37828125503,
"y": 10763.052375894946
},
"floatingObject": {
"isPinned": false,
@@ -8106,12 +8160,12 @@
"id": "bfb0b514-3b9f-4e9a-85ca-d0ca714b09f6",
"savedPayload": {
"position": {
"x": 31057.37828125503,
"y": 17890.802375894946
"x": 31048.37828125503,
"y": 10763.052375894946
},
"targetPosition": {
"x": 31057.37828125503,
"y": 17890.802375894946
"x": 31048.37828125503,
"y": 10763.052375894946
},
"floatingObject": {
"isPinned": true,
@@ -9275,7 +9329,6 @@
"arrangementStyle": 0
},
"uiObject": {
"isPlaying": false,
"isRunning": false
},
"tutorial": {
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -34,7 +34,7 @@
"config": true
},
"initialValues": {
"config": "{ \n\"startDate\": \"2020-01-01\"\n}"
"config": "{ \n\"startDate\": \"2021-01-01\"\n}"
},
"level": 3,
"attachingRules": {
@@ -45,6 +45,13 @@
"relatedUiObject": "Workspace",
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Fix Missing References",
"label": "Fix Missing References",
"relatedUiObject": "Workspace",
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Foundations"
}
],
"initialValues": {
@@ -19,21 +19,49 @@
},
{
"style": "Text",
"text": "Tutorials provide the ultimate hands-on learning experience. Doing all existing tutorials has proven to be the most effective way to tackle the learning curve."
"text": "Tutorials provide the ultimate hands-on learning experience. Doing all existing tutorials has proven to be the most effective way to tackle the learning curve.",
"translations": [
{
"language": "ES",
"text": "Los Tutoriales proveen la mejor experiencia de aprendizaje práctico. Hacer todos los tutoriales existentes ha demostrado ser la forma más eficaz de abordar la curva de aprendizaje.",
"updated": 1636560408468
}
]
},
{
"style": "Success",
"text": "To do a tutorial, load the corresponding plugin workspace, find the tutorial at the bottom of the design space, and select Play on the menu.",
"updated": 1617036749800
"updated": 1617036749800,
"translations": [
{
"language": "ES",
"text": "Para hacer un tutorial, cargue el correspondiente plugin workspace,busque el tutorial en la parte inferior del espacio de diseño y seleccione Play en el menu.",
"updated": 1636560468727
}
]
},
{
"style": "Text",
"text": "When you need a quick refresher, you may always go back and redo the whole tutorial or a few steps. Because tutorials are made of searchable pages, you may also scan the content without actually doing the tutorial."
"text": "When you need a quick refresher, you may always go back and redo the whole tutorial or a few steps. Because tutorials are made of searchable pages, you may also scan the content without actually doing the tutorial.",
"translations": [
{
"language": "ES",
"text": "Cuando necesite un repaso rápido, siempre puede volver atrás y rehacer todo el tutorial o algunos pasos. Debido a que los tutoriales se componen de páginas en las que se pueden realizar búsquedas, también puede escanear el contenido sin hacer el tutorial.",
"updated": 1636560519878
}
]
},
{
"style": "Text",
"text": "The recommended order is given by the list below, but the truth is doing all tutorials is what matters, regardless of the order.",
"updated": 1617036785768
"updated": 1617036785768,
"translations": [
{
"language": "ES",
"text": "El orden recomendado viene dado por la lista a continuación, pero la verdad es que hacer todos los tutoriales es lo que importa, sin importar el orden.",
"updated": 1636560552820
}
]
},
{
"style": "Title",
@@ -42,7 +70,14 @@
{
"style": "Text",
"text": "For your convenience, find a relation of Plugin Workspaces and the tutorials each of them feature.",
"updated": 1617105574778
"updated": 1617105574778,
"translations": [
{
"language": "ES",
"text": "Para su conveniencia, encuentre la relación del Plugin Workspaces y los tutoriales de cada uno de ellos.",
"updated": 1636560626471
}
]
},
{
"style": "Include",
@@ -6,8 +6,8 @@
"translations": [
{
"language": "ES",
"text": "CCXT es una biblioteca de código abierto popular que tiene como objetivo estandarizar los exchanges de criptomonedas APIs para que sea más fácil paralos trading bots developers to access crypto exchanges.",
"updated": 1628045764972
"text": "CCXT es una biblioteca de código abierto popular que tiene como objetivo estandarizar los exchanges de criptomonedas APIs para que sea más fácil para los trading bots developers to access crypto exchanges.",
"updated": 1636383036907
}
]
},
@@ -15,7 +15,14 @@
{
"style": "Text",
"text": "Superalgos uses this library to fetch one minute candles from exchanges as the raw piece of information with witch it later builds the rest of the indicators. It also use it to place orders from the LF Trading Bot.",
"updated": 1621694429513
"updated": 1621694429513,
"translations": [
{
"language": "ES",
"text": "Superalgos usa esta blilioteca para buscar candles ( velas) de un minuto de los exchanges como la pieza clave de información con la cual luego se construye el resto de los indicadores. Es también utilizada para colocar órdenes del LF Trading Bot.",
"updated": 1636383060758
}
]
}
]
}
@@ -2,12 +2,26 @@
"type": "Expand Structure of Nodes",
"definition": {
"text": "Clicking the plus button expands the structure of offspring nodes.",
"updated": 1610029039731
"updated": 1610029039731,
"translations": [
{
"language": "DE",
"text": "Wenn Sie auf die Plus-Schaltfläche klicken, wird die Struktur der offspring-nodes (nodes die mit der node referenziert sind) erweitert.",
"updated": 1636659245778
}
]
},
"paragraphs": [
{
"style": "Text",
"text": "Right click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode."
"text": "Right click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode.",
"translations": [
{
"language": "DE",
"text": "Klicken Sie mit der rechten Maustaste auf \"Edit\", um in den Bearbeitungsmodus zu gelangen und diesen Text zu ändern. ENTER, um neue Absätze zu schreiben. ESC, um den Bearbeitungsmodus zu verlassen.",
"updated": 1636659327164
}
]
}
]
}
@@ -40,15 +40,6 @@
"text": "Trading Bot Layers Tutorial",
"updated": 1616703658875
},
{
"style": "Subtitle",
"text": "Hello World Tutorial",
"updated": 1621872363400
},
{
"style": "List",
"text": "Hello World Tutorial"
},
{
"style": "Subtitle",
"text": "Trading System Design Tutorials"
@@ -75,8 +66,16 @@
},
{
"style": "Subtitle",
"text": "Install a New Market Tutorial",
"updated": 1622625477601
"text": "Hello World Tutorial",
"updated": 1636633400046
},
{
"style": "List",
"text": "Hello World Tutorial"
},
{
"style": "Subtitle",
"text": "Install a New Market Tutorial"
},
{
"style": "List",
@@ -1,99 +1,120 @@
{
"type": "Crypto Exchange",
"definition": {
"text": "A crypto exchange node holds the definitions of assets and markets in a specific exchange.",
"translations": [
{
"language": "ES",
"text": "Un nodo crypto exchangecontiene las definiciones de assets y mercados en un exchange.",
"updated": 1628205315370
}
]
},
"paragraphs": [
{
"style": "Block",
"text": "Configuring"
},
{
"style": "Title",
"text": "Tested Exchanges",
"updated": 1615200855230
},
{
"style": "Text",
"text": "In theory, Superalgos supports dozens of exchanges. However, each exchange must go through a testing process, as not all of them conform to the standard proposed by the CCXT library.",
"updated": 1615201479524
},
{
"style": "List",
"text": "Binance Test Status",
"updated": 1615203667257
},
{
"style": "List",
"text": "Binance Futures USDⓈ-M/COIN-M Test Status",
"updated": 1615203667257
},
{
"style": "List",
"text": "Binance-US Test Status"
},
{
"style": "List",
"text": "Bitfinex Test Status"
},
{
"style": "List",
"text": "Bittrex Test Status"
},
{
"style": "List",
"text": "CoinbasePro Test Status"
},
{
"style": "List",
"text": "FTX Test Status",
"updated": 1615203669878
},
{
"style": "List",
"text": "Kraken Test Status",
"updated": 1615453046113
},
{
"style": "List",
"text": "Kucoin Test Status"
},
{
"style": "List",
"text": "Luno Test Status"
},
{
"style": "Title",
"text": "Crypto Exchange Configuration"
},
{
"style": "Text",
"text": "Each exchange may require a very specific configuration. This is determined during the exchange testing process. Consult the page of each exchange as listed above. If you are interested in testing a new exchange, go to the How to Test New Exchanges page.",
"updated": 1615201685376
},
{
"style": "Subtitle",
"text": "Properties",
"updated": 1609771684679
},
{
"style": "List",
"text": "codeName is the name of the exchange as handled in the code of the system."
},
{
"style": "List",
"text": "sandBox setting this parameter to true allows SuperAlgos to perform live trading on the exchanges sandbox or testnet if one is available."
},
{
"style": "List",
"text": "API holds a series of definitions used only in the case in which the sensor bot fetches trades (using the Historic-Trades process) instead of the OHLCV process that fetches one-minute candles and is the current default. In such a case, finding the right set of parameters to work with a specific exchange may be challenging, nd involves understanding how the exchanges API and the CCXT Library API work. In other words, there is no hard rule as of what each of the values should be. Determining each of this values requires exploring the exchange's API documentation, as well as the documentation of the CCXT Library."
}
]
{
"type": "Crypto Exchange",
"definition": {
"text": "A crypto exchange node holds the definitions of assets and markets in a specific exchange.",
"translations": [
{
"language": "ES",
"text": "Un nodo crypto exchange contiene las definiciones de assets y mercados en un exchange.",
"updated": 1636383115048
}
]
},
"paragraphs": [
{
"style": "Block",
"text": "Configuring"
},
{
"style": "Title",
"text": "Tested Exchanges",
"updated": 1615200855230
},
{
"style": "Text",
"text": "In theory, Superalgos supports dozens of exchanges. However, each exchange must go through a testing process, as not all of them conform to the standard proposed by the CCXT library.",
"updated": 1615201479524,
"translations": [
{
"language": "ES",
"text": "En teoría, Superalgos soporta docenas de exchanges. De todas formas, cada exchange debe ir a través de un proceso de testeo, ya que no todos ellos están conformados bajo los estándares propuestos por la biblioteca CCXT.",
"updated": 1636383259902
}
]
},
{
"style": "List",
"text": "Binance Test Status",
"updated": 1615203667257
},
{
"style": "List",
"text": "Binance Futures USDⓈ-M/COIN-M Test Status",
"updated": 1615203667257
},
{
"style": "List",
"text": "Binance-US Test Status"
},
{
"style": "List",
"text": "Bitfinex Test Status"
},
{
"style": "List",
"text": "Bittrex Test Status"
},
{
"style": "List",
"text": "CoinbasePro Test Status"
},
{
"style": "List",
"text": "FTX Test Status",
"updated": 1615203669878
},
{
"style": "List",
"text": "Kraken Test Status",
"updated": 1615453046113
},
{
"style": "List",
"text": "Kucoin Test Status"
},
{
"style": "List",
"text": "Luno Test Status"
},
{
"style": "Title",
"text": "Crypto Exchange Configuration"
},
{
"style": "Text",
"text": "Each exchange may require a very specific configuration. This is determined during the exchange testing process. Consult the page of each exchange as listed above. If you are interested in testing a new exchange, go to the How to Test New Exchanges page.",
"updated": 1615201685376,
"translations": [
{
"language": "ES",
"text": "Cada exchange puede requerir una configuración muy específica. Esta se determina durante el proceso de testeo del exchange. Consulta la página de cada exchange como está listado aquí arriba. Si está interesado en testear un nuevo exchange, ve a la página de How to Test New Exchanges ( como testear un nuevo exchange).",
"updated": 1636383451633
}
]
},
{
"style": "Subtitle",
"text": "Properties",
"updated": 1609771684679
},
{
"style": "List",
"text": "codeName is the name of the exchange as handled in the code of the system.",
"translations": [
{
"language": "ES",
"text": "codeName es el nombre del exchange como se maneja en el código del sistema.",
"updated": 1636383499342
}
]
},
{
"style": "List",
"text": "sandBox setting this parameter to true allows SuperAlgos to perform live trading on the exchanges sandbox or testnet if one is available."
},
{
"style": "List",
"text": "API holds a series of definitions used only in the case in which the sensor bot fetches trades (using the Historic-Trades process) instead of the OHLCV process that fetches one-minute candles and is the current default. In such a case, finding the right set of parameters to work with a specific exchange may be challenging, nd involves understanding how the exchanges API and the CCXT Library API work. In other words, there is no hard rule as of what each of the values should be. Determining each of this values requires exploring the exchange's API documentation, as well as the documentation of the CCXT Library."
}
]
}
@@ -1,28 +1,63 @@
{
"type": "Crypto Exchanges",
"definition": {
"text": "The crypto exchanges node groups definitions of the different exchanges the user may interact with."
"text": "The crypto exchanges node groups definitions of the different exchanges the user may interact with.",
"translations": [
{
"language": "ES",
"text": "Los grupos de nodos de los exchanges cripto definen los diferentes exchanges con los que el usuario puede interactuar.",
"updated": 1636365203486
}
]
},
"paragraphs": [
{
"style": "Text",
"text": "The default workspace features several nodes of this type, each with a purpose:",
"updated": 1609771412437
"updated": 1609771412437,
"translations": [
{
"language": "ES",
"text": "El workspace (espacio de trabajo) predeterminado presenta varios tipos de nodos, cada uno con un propósito:",
"updated": 1636365369249
}
]
},
{
"style": "List",
"text": "Tested: features Crypto Exchange nodes of exchanges that have been thoroughly tested.",
"updated": 1609771181080
"updated": 1609771181080,
"translations": [
{
"language": "ES",
"text": "Tested ( testeados): Crypto Exchange caracteriza a nodos de exchanges que ya han sido testados minuciosamente.",
"updated": 1636365489754
}
]
},
{
"style": "List",
"text": "Untested: features a collection of Crypto Exchange nodes of untested exchanges that comply with the set of API requirements of the CCXT library that Superalgos needs to function.",
"updated": 1609771650992
"updated": 1609771650992,
"translations": [
{
"language": "ES",
"text": "Untested ( sin testear): presenta una colección de nodos de Crypto Exchange de exchangesno testeados que cumplen con el conjunto de requisitos de la API de la CCXT library que Superalgosnecesita para funcionar function.",
"updated": 1636365625749
}
]
},
{
"style": "List",
"text": "Testing Queue: you may use this node to deploy Crypto Exchange nodes while testing them.",
"updated": 1609771442675
"updated": 1609771442675,
"translations": [
{
"language": "ES",
"text": "Testing Queue (fila de testeo): puede usar este nodo para implementar nodos Crypto Exchange mientras los testea.",
"updated": 1636365750538
}
]
},
{
"style": "Text",
@@ -7,6 +7,11 @@
"language": "ES",
"text": "El Data Building Procedure procesa la información que se enviará a las propiedades que se almacenan en el conjunto de datos de salida.",
"updated": 1624413867963
},
{
"language": "RU",
"text": "Процедура построения данных обрабатывает информацию, которая должна быть передана свойствам, хранящимся на выход�� данных.\n",
"updated": 1636569783197
}
]
},
@@ -7,6 +7,11 @@
"language": "ES",
"text": "Data mine products son referencias establecidas con minas de datos para facilitar el establecimiento de referencias de productos de datos con múltiples productos en la mina de datos dada.",
"updated": 1624413245579
},
{
"language": "RU",
"text": "Продукты добычи данных - это ссылки, установленные с помощью шахт данных, для облегчения установления ссылок на продукты данных с несколькими данными в этой шахте.",
"updated": 1636568841075
}
]
},
@@ -7,6 +7,11 @@
"language": "ES",
"text": "El layer manager determina qué capas serán visibles en el gráfico de línea de tiempo correspondiente.",
"updated": 1624410606482
},
{
"language": "RU",
"text": "Менеджер слоев определяет, какие слои будут видны на соответствующей временной диаграмме.",
"updated": 1636564822000
}
]
},
@@ -7,6 +7,11 @@
"language": "ES",
"text": "Un layer representa una referencia a un producto de datos en el nodo de almacenamiento de datos de la jerarquía de red. Conceptualmente, significa que un determinado producto de datos, que existe en una determinada ubicación de la red, contiene los datos que se van a representar en los gráficos.",
"updated": 1624410918494
},
{
"language": "RU",
"text": "Слой представляет собой ссылку на продукт данных в узле хранения данных сетевой иерархии. Концептуально это означает, что определенный продукт данных, который существует в определенном месте в сети, содержит данные для отображения на диаграммах.",
"updated": 1636566192630
}
]
},
@@ -3,10 +3,24 @@
"paragraphs": [
{
"style": "Text",
"text": "Right click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode."
"text": "Right click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode.",
"translations": [
{
"language": "DE",
"text": "Klicken Sie mit der rechten Maustaste auf \"Edit\", um in den Bearbeitungsmodus zu gelangen und diesen Text zu ändern. ENTER, um neue Absätze zu schreiben. ESC, um den Bearbeitungsmodus zu verlassen.",
"updated": 1636658179311
}
]
}
],
"definition": {
"text": "Right click to edit this text and replace it with a definition / summary for this page. ESC to exit edit mode."
"text": "Right click to edit this text and replace it with a definition / summary for this page. ESC to exit edit mode.",
"translations": [
{
"language": "DE",
"text": "Klicken Sie mit der rechten Maustaste, um diesen Text zu bearbeiten und ihn durch eine Definition / Summary für diese Seite zu ersetzen. ESC, um den Bearbeitungsmodus zu verlassen.",
"updated": 1636658134491
}
]
}
}
@@ -41,8 +41,8 @@
},
{
"style": "List",
"text": "icon is the name of the image that illustrates the corresponding layer in the Layers Panel. In case the icon is not specified, the default idon is used. Possible values are...",
"updated": 1609852182210
"text": "<code class=\"docs-code\">icon</code> is the name of the image that illustrates the corresponding layer in the Layers Panel. In case the icon is not specified, the default idon is used. Possible values are...",
"updated": 1636672891580
},
{
"style": "Javascript",
@@ -7,6 +7,11 @@
"language": "ES",
"text": "A plotter panel generalmente muestra representaciones numéricas de datos sobre los gráficos en una pequeña ventana o panel. El nodo plotter panel presenta definiciones para hacerlo posible.",
"updated": 1624410820906
},
{
"language": "RU",
"text": "Панель плоттера обычно отображает числовые представления данных на диаграммах в небольшом окне или панели. Узел панели плоттера содержит определения, позволяющие это сделать.",
"updated": 1636566746211
}
]
},
@@ -7,6 +7,11 @@
"language": "ES",
"text": "El time frame scale controla la configuración del marco de tiempo, es decir, el período representado por cada vela, ya sea de la máquina del tiempo o del gráfico de la línea de tiempo, dependiendo de dónde se encuentre el nodo.",
"updated": 1628898828318
},
{
"language": "RU",
"text": "Шкала временных рамок управляет настройкой временных рамок, т.е. периодом, представленным каждой свечой, либо машины времени, либо графика временной шкалы, в зависимости от месторасположения узла.",
"updated": 1636561017281
}
]
},
@@ -0,0 +1,12 @@
{
"type": "Trading",
"definition": {
"text": "Write the definition for this Node."
},
"paragraphs": [
{
"style": "Text",
"text": "Right click and select the pencil button to enter edit mode."
}
]
}
@@ -11,6 +11,11 @@
"text": "Proses pembaruan berhasil dilaksanakan. Versi terbaru Superalgos telah selesai diunduh dan mengganti versi yang sekarang. Agar perubahan diterapkan dengan baik, anda harus memulai ulang Client ini dan merefresh halaman UI ini.",
"updated": 1613891855110,
"style": "Definition"
},
{
"language": "ES",
"text": "El proceso de actualización ha finalizado exitosamente. Un nueva versión de Superalgos se ha bajado reemplazando a la actual. Para que los cambios se hagan efectivos, debe comenzar nuevamente el Client y refrescar la página UI.",
"updated": 1636624628502
}
]
},
@@ -25,6 +30,11 @@
"text": "Sekarang Superalgos berada diversi terbaru. Perlu diingat untuk selalu restart Client dan UI. Jika memiliki Task yang berjalan, maka anda harus menghentikan Task tersebut terlebih dahulu, lalu memulai ulang Client, sehingga anda dapat menjalankan Task tersebut lagi menggunakan codebase yang terupdate. ",
"updated": 1616762115115,
"style": "Success"
},
{
"language": "ES",
"text": "Tiene ahora la ´ltima versión de Superalgos. Solo recuerde comenzar otra vez el Client y el UI. Si tiene tareas activas, debería primero cerrar las tareas y luego restablecer el cliente, para que pueda ejecutar esas tareas nuevamente usando el código de base actualizado.",
"updated": 1636625028143
}
]
},
@@ -37,6 +47,11 @@
"text": "Pembaruan yang Anda buat, hanya berlaku di Client ini yang terkoneksi http dengan browser. Jika kamu memiliki banyak Client yang berjalan di Network, juga harus diperbaharui, baik secara manual menggunakan Git atau dengan menavigasikan browser ke URL tujuan dan menjalankan App Update Command di sana. ",
"updated": 1616762450808,
"style": "Note"
},
{
"language": "ES",
"text": "La actualización que ha hecho solo afecta al cliente al cual está conectado a través de http usando su navegador. Si tiene más Clientes ejecutándose como parte de una Red, también deberá actualizarlos, ya sea manualmente usando Git, o navegando con su navegador a su URL y ejecutando el comano de App Update ahí.",
"updated": 1636625003204
}
],
"updated": 1616081262353
@@ -15,6 +15,11 @@
"language": "TR",
"text": "Zaman Makinelerinde Zaman Ölçeği, Hız Ölçeği ve Zaman Çerçevesi Ölçeği bulunur. Zaman çizelgesi çizelgeleri son ikisini uygulayabilir.",
"updated": 1636095803708
},
{
"language": "RU",
"text": "Машины времени содержат Time Scale, Rate Scale и Time Frame Scale. Графики временной шкалы могут реализовать последние два.\n\n",
"updated": 1636563402808
}
]
},
@@ -10,6 +10,11 @@
"language": "RU",
"text": "Рабочее пространство плагина является первой точкой соприкосновения с Superalgos. Его цель - познакомить новых пользователей со всеми базовыми аспектами Superalgos.",
"updated": 1635628485258
},
{
"language": "ES",
"text": "Este workspace es el primer punto de contacto con Superalgos. Su propósito es familiarizar a los nuevs usuarios con lo aspectos básicos de Superalgos.",
"updated": 1636559957769
}
]
},
@@ -21,20 +26,48 @@
},
{
"style": "List",
"text": "Welcome to Superalgos Tutorial"
"text": "Welcome to Superalgos Tutorial",
"translations": [
{
"language": "ES",
"text": "Welcome to Superalgos Tutorial ( bienvenido al tutorial de Superalgos)",
"updated": 1636559981023
}
]
},
{
"style": "List",
"text": "Basic Education Tutorial"
"text": "Basic Education Tutorial",
"translations": [
{
"language": "ES",
"text": "Basic Education Tutorial (Tutorial de educación básica)",
"updated": 1636560011609
}
]
},
{
"style": "List",
"text": "Beyond the Basics Tutorial"
"text": "Beyond the Basics Tutorial",
"translations": [
{
"language": "ES",
"text": "Beyond the Basics Tutorial. ( Tutorial más allá de lo básico)",
"updated": 1636560038688
}
]
},
{
"style": "Important",
"text": "It's important to keep this workspace clean, light and simple, to ensure that the first experience is not cumbersome or limits users with small hardware.",
"updated": 1616145428799
"updated": 1616145428799,
"translations": [
{
"language": "ES",
"text": "Es importante mantener este workspace limpio, liviano y simple, to asegurarse de que la primera experiencia no sea engorrosa o limite a los usuarios con hardware pequeño",
"updated": 1636560111843
}
]
},
{
"style": "Title",
@@ -4,7 +4,14 @@
"type": "Trading System Design Tutorials Plugin Workspace",
"definition": {
"text": "This workspace features a series of tutorials about designing trading systems. It is the first step users should take to learn about building strategies after completing their basic education.",
"updated": 1616145724293
"updated": 1616145724293,
"translations": [
{
"language": "ES",
"text": "Este workspace incluye una serie de tutoriales sobre el diseño de sistemas comerciales. Es el primer paso que los usuarios deben dar para aprender a construir estrategias después de completar su educación básica.",
"updated": 1636560802341
}
]
},
"paragraphs": [
{
@@ -14,19 +21,47 @@
},
{
"style": "List",
"text": "Intro to Trading Systems Tutorial"
"text": "Intro to Trading Systems Tutorial",
"translations": [
{
"language": "ES",
"text": "Intro to Trading Systems Tutorial ( Tutorial Introducción a los sistemas de trading)",
"updated": 1636560845957
}
]
},
{
"style": "List",
"text": "Defining a Trading Idea Tutorial"
"text": "Defining a Trading Idea Tutorial",
"translations": [
{
"language": "ES",
"text": "Defining a Trading Idea Tutorial ( Tutorial definiendo una idea de trading)",
"updated": 1636560878176
}
]
},
{
"style": "List",
"text": "Testing a Trading Idea - The Trigger Stage Tutorial"
"text": "Testing a Trading Idea - The Trigger Stage Tutorial",
"translations": [
{
"language": "ES",
"text": "Testing a Trading Idea - The Trigger Stage Tutorial ( Tutorial probando una idea de trading- La etapa del gatillo)",
"updated": 1636560982680
}
]
},
{
"style": "List",
"text": "Testing a Trading Idea - The Other Stages Tutorial"
"text": "Testing a Trading Idea - The Other Stages Tutorial",
"translations": [
{
"language": "ES",
"text": "Testing a Trading Idea - The Other Stages Tutorial Tutorial testeando una idea de trading - Las otras etapas)",
"updated": 1636560974924
}
]
},
{
"style": "Important",
@@ -21,32 +21,74 @@
},
{
"style": "Text",
"text": "The Crypto Ecosystem hierarchy features five different Crypto Exchanges nodes reflecting the status of the tests of each of the exchanges."
"text": "The Crypto Ecosystem hierarchy features five different Crypto Exchanges nodes reflecting the status of the tests of each of the exchanges.",
"translations": [
{
"language": "ES",
"text": "La jerarquía Crypto Ecosystem (ecosistemas cripto) presenta cinco tipos diferentes de nodos Crypto Exchanges reflejando el status de los test de cada uno de los exchanges.",
"updated": 1636366812201
}
]
},
{
"style": "List",
"text": "Untested: Exchanges for which there is no recorded history of tests.",
"updated": 1616155760279
"updated": 1616155760279,
"translations": [
{
"language": "ES",
"text": "Untested ( no testeados): Exchanges para los cuales no existe ningun registro pasado de testeos.",
"updated": 1636366882316
}
]
},
{
"style": "List",
"text": "Testing Queue: Exchanges that developers are currently testing.",
"updated": 1616155779390
"updated": 1616155779390,
"translations": [
{
"language": "ES",
"text": "Testing Queue ( Testeando en fila): Exchanges que los developers están actualmente testeando.",
"updated": 1636366941024
}
]
},
{
"style": "List",
"text": "Failed OHLCVs Tests: Exchanges that were tested but failed to serve OHLCV data in the expected manner. Exchanges in this queue are not usable at the moment. Further efforts may be required to put them to work.",
"updated": 1616155913345
"updated": 1616155913345,
"translations": [
{
"language": "ES",
"text": "Failed OHLCVs Tests Testeo fallido): Exchanges que han sid testeados pero fallaron al servir los datos de OHLCV de la manera esperada. Exchanges en este listado no son utilizables por el momento. Mayores esfuerzos serán necesarios para lograr hacerlos trabajar.",
"updated": 1636367109571
}
]
},
{
"style": "List",
"text": "Trading Tests Pending: Exchanges that have passed the OHLCV tests (are able to serve data in the manner Superalgos expects it) and are awaiting live trading tests.",
"updated": 1616156044085
"updated": 1616156044085,
"translations": [
{
"language": "ES",
"text": "Trading Tests Pending (Tests de trading Pendientes): Exchanges que han pasado los test OHLCV (porporcionan datos en la manera en que Superalgos espera) y están a la espera de los test de trading en vivo.",
"updated": 1636367468491
}
]
},
{
"style": "List",
"text": "Tested: Exchanges that have been tested for data-mining and live trading, and that everyone should be able to use without hassle.",
"updated": 1616156004370
"updated": 1616156004370,
"translations": [
{
"language": "ES",
"text": "Tested ( testeados): Exchanges que han sido testeados con data-mining y trading en vivo, y que cualquiera debería poder usuarlos sin inconvenientes.",
"updated": 1636367462636
}
]
},
{
"style": "Title",
@@ -4,7 +4,14 @@
"type": "Custom Charts Tutorials Plugin Workspace",
"definition": {
"text": "This workspace will walk you through everything you need to know about setting up custom charts within the Design Space. The tutorials aim to offer step by step guidance taking you from charting beginner to charting expert.",
"updated": 1622624767597
"updated": 1622624767597,
"translations": [
{
"language": "ES",
"text": "Este workspace lo guiará a través de todo lo que necesita saber sobre la configuración de gráficos personalizados dentro del Design Space. ( espacio de diseño) Los tutorialse Su objetivo es ofrecer una guía paso a paso que lo lleve de principiante a experto en gráficos.",
"updated": 1636560253593
}
]
},
"paragraphs": [
{
@@ -14,7 +21,14 @@
{
"style": "List",
"text": "Setting Up a New Chart Tutorial",
"updated": 1621990804177
"updated": 1621990804177,
"translations": [
{
"language": "ES",
"text": "Setting Up a New Chart Tutorial ( Cómo configurar un nuevo tutorial de gráfico)",
"updated": 1636560294366
}
]
},
{
"style": "Title",
@@ -10,6 +10,11 @@
"language": "DE",
"text": "Data Mines ermöglichen die Verarbeitung von Daten, indem sie von anderen erstellte Datensätze nutzen, Berechnungen durchführen und ein neues Datenprodukt mit Mehrwert erzeugen, das von anderen genutzt werden kann. Mit anderen Worten: Data Mines sind vom Benutzer erstellte Definitionspakete. Diese Definitionen umfassen in der Regel Sensor Bot , Indicator Bot und Plotter Definitionen. Die mit Superalgos ausgelieferten Data Mines sind Pakete, die von den Benutzern der Software beigetragen wurden.",
"updated": 1634739156353
},
{
"language": "ES",
"text": "Las minas de datos permiten el procesamiento de datos consumiendo conjuntos de datos que otros han producido, realizando cálculos, y generar un nuevo producto de datos de valor agregado que otros puedan consumir. En otras palabras, Data Mines son paquetes de definiciones creados por el usuario. Estas definiciones suelen incluir Sensor Bot, Indicator Bot ay definiciones de Plotter. El Data Mines \nenviado con Superalgos son paquetes aportados por los usuarios del software.",
"updated": 1636382728489
}
]
},
@@ -23,6 +28,11 @@
"language": "DE",
"text": "Superalgos gibt Ihnen ein leistungsstarkes Datenverarbeitungs- und Visualisierungssystem an die Hand. Nutzen Sie es in vollem Umfang und Sie werden sehen, dass Ihre Fähigkeiten schnell zunehmen. ",
"updated": 1634747145524
},
{
"language": "ES",
"text": "Superalgos pone en sus manos un potente sistema de procesamiento y visualización de datos. Úsalo al máximo y verás aumentar tu inteligencia en órdenes de magnitud.",
"updated": 1636383683023
}
]
},
@@ -34,6 +44,11 @@
"language": "DE",
"text": "Jeder kann auf die Rohdaten der exchanges und Auftragsbuchdaten zugreifen. Jeder kann auf Informationen in Form von Standardindikatoren und technical studies zugreifen.",
"updated": 1634747953355
},
{
"language": "ES",
"text": "Cualquiera puede acceder a operaciones sin procesar y datos del libro de órdenes desde los exchanges. Cualquiera puede acceder a la información en forma de indicadores estándar y estudios técnicos.",
"updated": 1636383817080
}
]
},
@@ -45,6 +60,11 @@
"language": "DE",
"text": "Mit Superalgos können Sie jedoch jede Art von Verarbeitung vorhandener Informationen über die gesamte Marktspanne hinweg durchführen, die Ergebnisse in neuen Datasets (Datensätzen) speichern und sie für Handelsstrategien verfügbar machen. Darüber hinaus können Sie mit Superalgos aufwendige grafische Darstellungen von Daten erstellen, die sofort über die Charts abrufbar sind.",
"updated": 1634748282622
},
{
"language": "ES",
"text": "De todas maneras Superalgos le permite realizar cualquier tipo de procesamiento sobre la información existente en todo el mercado, almacenar los resultados en nuevos conjuntos de datos, y ponerlos a disposición de estrategias de trading strategies. Además, le permite producir representaciones gráficas elaboradas de datos, que se pueden explorar instantáneamente en los gráficos.",
"updated": 1636383997506
}
]
},
@@ -56,6 +76,11 @@
"language": "DE",
"text": "Die Funktionalität von Data Mines ist äußerst flexibel und funktioniert nach demselben Paradigma wie die Erstellung von Strategien. Sie bieten eine visuelle Schnittstelle und ein Framework, welches Sie durch den Prozess der Erstellung neuer Bots führt, wobei nur minimale Programmierkenntnisse erforderlich sind.",
"updated": 1634748682456
},
{
"language": "ES",
"text": "La funcionalidad de los Data mines’ es muy flexible ay trabaja bajo el mismo paradigma utilizado para la construcción de estrategias. Proporcionan una interfaz visual y un marco que lo guía a través del proceso de creación de nuevos bots, con un mínimo de habilidades de codificación requeridas.",
"updated": 1636384123688
}
]
},
@@ -67,6 +92,11 @@
"language": "DE",
"text": "Der überwiegende Teil der Komplexität der Datenverarbeitung wird intern von den Bots bewältigt, und Sie müssen sich nicht damit befassen oder sie gar verstehen. Das System isoliert die Komplexität und macht Sie nur mit den entscheidenden Elementen vertraut, die sich auf das auswirken, was Sie erreichen wollen.",
"updated": 1634749032287
},
{
"language": "ES",
"text": "Los bots manejan internamente la gran mayoría de la complejidad del procesamiento de datos, y no es necesario que se ocupe de ello ni siquiera que lo comprenda. El sistema aísla la complejidad y solo le expone a elementos cruciales que impactan lo que desea lograr.",
"updated": 1636384295778
}
]
},
@@ -78,6 +108,11 @@
"language": "DE",
"text": "Dieser Abschnitt der Dokumentation vermittelt Ihnen das technische Verständnis dafür, wie das System mit Daten umgeht. Der Kern der in diesem Abschnitt vorgestellten Funktionen umfasst im Wesentlichen die folgenden Punkte:",
"updated": 1634752754415
},
{
"language": "ES",
"text": "Esta sección de la documentación le proporciona la comprensión técnica de cómo el sistema maneja los datos. El núcleo de la funcionalidad que presenta esta sección cubre, en esencia, los siguientes puntos:",
"updated": 1636384399228
}
]
},
@@ -89,6 +124,11 @@
"language": "DE",
"text": "Die Fähigkeit, eine beliebige Anzahl von Berechnungsprozessen zu definieren, deren Ergebnisse sich gegenseitig füttern können (Das Ergebniss eines Prozess kann in einen anderen Prozess übergehen), was zu einer Fülle von Informationen führt, die von Handelsstrategien genutzt werden können.",
"updated": 1634752519271
},
{
"language": "ES",
"text": "La capacidad de definir cualquier número de procesos de cálculo que puedan alimentarse de los resultados de los demás, lo que da como resultado una gran cantidad de información que puede ser consumida por las estrategias comerciales.",
"updated": 1636384432870
}
]
},
@@ -100,6 +140,11 @@
"language": "DE",
"text": "Die Eigenschaften und Merkmale von Datensätzen, die sich aus der Ausführung solcher Prozesse ergeben, wie und wo sie gespeichert werden, in welchem Format, wie sie intern und möglicherweise von anderen Systemen genutzt werden.",
"updated": 1634753039133
},
{
"language": "ES",
"text": "Las propiedades y características de los conjuntos de datos resultantes de la ejecución de dichos procesos: cómo y dónde se almacenan, en qué formato, cómo se consumen internamente y, potencialmente, por otros sistemas",
"updated": 1636384459263
}
]
},
@@ -112,6 +157,11 @@
"language": "DE",
"text": "Die Fähigkeit, die Daten über die Charts/Diagramme zu visualisieren und sie mit allen in das Diagrammsystem eingebauten Funktionen zu durchsuchen.",
"updated": 1634753888946
},
{
"language": "ES",
"text": "La capacidad de visualizar los datos en los gráficos y navegar por ellos con todas las funciones integradas en el sistema de gráficos",
"updated": 1636384483648
}
]
},
@@ -134,6 +184,11 @@
"language": "DE",
"text": "Es ist wichtig zu verstehen, dass eine Data Mine ein Paket von Definitionen ist. Wenn Benutzer einen Bot ausführen, tun sie dies innerhalb einer Task. Diese Task muss wissen, wie der Bot ausgeführt werden soll. Um dies herauszufinden, muss der Bot innerhalb der Task einen Verweis auf eine Process Definition (Prozessdefinition) haben, die in einer Data Mine existiert. Wenn der Bot innerhalb der Task gestartet wird, erhält er in diesem Moment alle Informationen über die Task, die zum Starten des Bots verwendet wird, während er gleichzeitig auch die Informationen über die Definition des Bots von der Data Mine erhält.",
"updated": 1634754604505
},
{
"language": "ES",
"text": "Es muy importante entender que un Data Mine es un paquete de definiciones. Cuando los usuarios When users ejecutan un Bot, lo hacen dentro de un Task ( tarea).Esta tarea necesita saber cómo ejecutar el bot. Para averiguarlo, el bot dentro de la tarea debe tener una referencia a un Process Definition ( proceso de definición) exisitente en un Data Mine. Cuando el bot se lanza dentro de la tarea, en ese momento, recibe toda la información sobre la tarea que se está utilizando para lanzar el bot, mientras que al mismo tiempo también recibe la información sobre la definición del Bot del Data Mine.",
"updated": 1636384694647
}
]
},
@@ -146,6 +201,11 @@
"language": "DE",
"text": "Mit Hilfe beider Seiten dieser Informationen (Task data (Aufgabendaten) und Bot definition (Bot-Definition)) kann der Bot seine Aufgabe erfüllen.",
"updated": 1634754770662
},
{
"language": "ES",
"text": "Usando ambos lados de la información (Task data and Bot definition) el Bot es capaz de hacer su trabajo.",
"updated": 1636384762232
}
]
},
@@ -168,6 +228,11 @@
"language": "DE",
"text": "Data Mines werden von Power-Usern erstellt und zum Projekt beigesteuert (die, die mit der Software geliefert werden). Benutzer können Data Mines jedoch auch für ihren persönlichen Gebrauch erstellen und sie niemals mit dem Superalgos Projekt teilen. Wenn sie sie jedoch mit dem Superalgos Projekt teilen, erhalten sie dafür SA-Token und auch für die Anpassung und Pflege der Data-Mines, falls erforderlich erhalten sie SA-Tokens. Ebenfalls für jede neue Version.",
"updated": 1634756595052
},
{
"language": "ES",
"text": "Data Mines son creados por usuarios avanzados y contribuidos al proyecto (los que se envían con el software). Los usuarios pueden crear Data Mines para su uso personal y nunca compartirlos. De todas formas, si los comparten, reciben SA Tokens por ello, y también por adaptarlos y mantenerlos, si es necesario, para cada nueva distribución.",
"updated": 1636384942296
}
]
},
@@ -190,6 +255,11 @@
"language": "DE",
"text": "Es gibt drei Arten von Bots, die ihre Definitionen in einer Data Mine festhalten können.",
"updated": 1634756764876
},
{
"language": "ES",
"text": "Hay tres tipos de bots que pueden mantener sus definiciones en un Data Mine.",
"updated": 1636384975297
}
]
},
@@ -201,6 +271,11 @@
"language": "DE",
"text": "Sensor Bots: werden zum Abrufen von Daten aus einer Internetquelle,durch das Programmieren eines speziellen Algorithmus genutzt.",
"updated": 1634756898798
},
{
"language": "ES",
"text": "Sensor Bots: utilizado para obtener datos de alguna fuente de Internet mediante la codificación de un algoritmo especializado.",
"updated": 1636385020930
}
]
},
@@ -212,6 +287,11 @@
"language": "DE",
"text": "API Data Fetcher Bots: werden zum Abrufen von Daten aus einer Internet-API, ohne dass ein Programm-Code erforderlich ist genutzt.",
"updated": 1634757022813
},
{
"language": "ES",
"text": "API Data Fetcher Bots: utilizado para obtener datos de una API de Internet sin necesidad de codificar.",
"updated": 1636385047095
}
]
},
@@ -223,6 +303,11 @@
"language": "DE",
"text": "Indicator Bots: werden zur Verarbeitung von Daten verwendet.",
"updated": 1634757050012
},
{
"language": "ES",
"text": "Indicator Bots: usado para procesar data.",
"updated": 1636385065854
}
]
},
@@ -303,6 +388,11 @@
"language": "DE",
"text": "Data Mines können von anderen Data Mines abhängen. Das bedeutet, dass die Bots in einer Data Mine von Bots in anderen Data Mines abhängen können. Im weiteren Verlauf dieses Themas werden Sie mehr darüber erfahren, wie ein Bot im Detail von anderen Bots abhängen kann. Kurz gesagt können sie auf 3 Arten abhängig sein:",
"updated": 1634757580850
},
{
"language": "ES",
"text": "Data Mines pueden depender de otros other Data Mines. Lo que esto significa que los bots incluídos en un Data Mine puede depender de bots pertenecientes a otros Data Mines. Más adelante en este Tópico, aprenderá más sobre cómo un bot puede depender de otros bots en detalle. En pocas palabras, pueden depender de 3 formas. Pueden tener un:",
"updated": 1636385241455
}
]
},
@@ -314,6 +404,11 @@
"language": "DE",
"text": "Data Dependency (Daten-Abhängigkeit): Dies bedeutet, dass ein Bot die von einem anderen Bot produzierten Daten als Eingabe verwendet.",
"updated": 1634757922151
},
{
"language": "ES",
"text": "Data Dependency: Esto significa que un Bot utiliza como entrada los datos producidos por otro bot.",
"updated": 1636385280441
}
]
},
@@ -325,6 +420,11 @@
"language": "DE",
"text": "Status Dependency (Status-Abhängigkeit): Dies bedeutet, dass ein Bot den Status eines anderen Bots als Parameter für seine eigene Verarbeitung verwendet.",
"updated": 1634757876237
},
{
"language": "ES",
"text": "Status Dependency: Esto significa que un Bot usa el estado de otro Bot como parámetros para su propio procesamiento.",
"updated": 1636385317812
}
]
},
@@ -337,6 +437,11 @@
"language": "DE",
"text": "Der häufigste Anwendungsfall ist, wenn ein Bot das Datum benötigt, an dem ein Markt beginnt oder endet. Diese Information wird automatisch aus dem Status Report (Statusbericht) des Bots geholt, der die Rohdaten erzeugt, da er weiß, welche Daten die ältesten und die neuesten sind.",
"updated": 1634757753448
},
{
"language": "ES",
"text": "El caso de uso más común es cuando un bot necesita la fecha en la que un mercado comienza o termina. Esta información se obtiene automáticamente del Status Report ( reporte de estado) del bot que produce los datos sin procesar porque sabe qué datos son los más antiguos y los más nuevos en todo momento.",
"updated": 1636385485008
}
]
},
@@ -348,6 +453,11 @@
"language": "DE",
"text": "Execution Dependency (Ausführungsabhängigkeit): Das bedeutet, dass ein Bot darauf angewiesen ist, dass die Ausführung eines anderen Bots beendet ist, damit er seine eigene Ausführung starten kann.",
"updated": 1634757830197
},
{
"language": "ES",
"text": "Execution Dependency: Esto significa que un Bot depende de la ejecución de otro Bot para que finalice y comience su propia ejecución.",
"updated": 1636385521664
}
]
},
@@ -360,6 +470,11 @@
"language": "DE",
"text": "Wenn eine Data Mine von einer anderen Data Mine abhängt, müssen beide in dem Arbeitsbereich vorhanden sein, in dem sich die Task (Aufgabe) befindet, der den Bot ausführt.",
"updated": 1634757983421
},
{
"language": "ES",
"text": "Cuando un Data Mine depende de otro Data Mine, ambos necesitan estar presentes en el Workspace donde el Task ejecutando el Bot está ubicado.",
"updated": 1636385602230
}
]
}
@@ -4,7 +4,14 @@
"type": "How to Test New Exchanges",
"definition": {
"text": "Testing exchanges is an ongoing Community effort. If you wish to work with an exchange that is not tested, this topic covers everything you need to know to debug the Sensor Bot and find out what needs to be done to achieve the goal.",
"updated": 1616007833424
"updated": 1616007833424,
"translations": [
{
"language": "ES",
"text": "Testear exchanges es un esfuerzo continuo de la Community. Si desea trabajar con un exchange que no ha sido testeado, este topico cubre todo que necesita saber para depurar el Sensor Bot y descubrir lo que es necesario hacer para alcanzar el objetivo.",
"updated": 1636372905116
}
]
},
"paragraphs": [
{
@@ -15,11 +22,25 @@
{
"style": "Text",
"text": "CCXT is a popular open-source library that acts as a gateway to exchanges APIs. Its goal is to standardize access to different APIs so that software built using CCXT does not need to know the special dealings of each exchange. Even though it does a pretty good job, it is not perfect and there are still special configurations that must be used with different exchanges.",
"updated": 1616008057862
"updated": 1616008057862,
"translations": [
{
"language": "ES",
"text": "CCXT es una biblioteca (open-source) de código abierto) library que actúa como puerta de entrada a las APIs. de los exchanges. Su finalidad es estandarizar el ingreso a diferentes APIs para que el software construido usando CCXTno necesita conocer los asuntos especiales de cada exchange. Aunque hace un buen trabajo, no es perfecto y todavia hay algunas configuraciones especiales que necesitan ser utilizadas con diferentes exchanges.",
"updated": 1636373176510
}
]
},
{
"style": "Text",
"text": "The root of this problem is that there is no standard across the industry and each exchange invents its own way to deal with each functionality."
"text": "The root of this problem is that there is no standard across the industry and each exchange invents its own way to deal with each functionality.",
"translations": [
{
"language": "ES",
"text": "La raíz de este problema es que no existe un estándar en la industria y cada exchange inventa su propio modo para lidiar con cada funcionalidad.",
"updated": 1636373249035
}
]
},
{
"style": "Link",
@@ -34,7 +55,14 @@
{
"style": "Text",
"text": "The Superalgos software evolves fast as the team chooses to leave the fine-tuning and setups to the Community. The team tested Binance early on because it is the most popular exchange. It didn't work on the first try with the default configuration, so a special configuration was created.",
"updated": 1616009190093
"updated": 1616009190093,
"translations": [
{
"language": "ES",
"text": "El software de Superalgos software evoluciona rápido a medida que el equipo decide dejar la puesta a punto y configuraciones a la Community. El equipo testeó Binance al comienzo porque es el exchange más masivo.No funcionó en el primer intento con la configuración predeterminada , entonces se creó una configuración especial.",
"updated": 1636373526946
}
]
},
{
"style": "Subtitle",
@@ -54,7 +82,14 @@
{
"style": "Text",
"text": "If you get to test an untested exchange, please participate in the Community Effort to Test Exchanges by documenting the results!",
"updated": 1616099671162
"updated": 1616099671162,
"translations": [
{
"language": "ES",
"text": "Si llega a probar un exchange, participe en el Community Effort to Test Exchanges (esfuerzo de la comunidad para testear exchanges) documentando los resultados!",
"updated": 1636373617227
}
]
},
{
"style": "Success",
@@ -4,21 +4,49 @@
"type": "Syncing With the Exchange",
"definition": {
"text": "Syncing with the exchange involves calculating the actual size, the actual rate, the percentage filled, the fees paid, and the size filled, to update the trading engine data structure so that it matches with the actual situation of the order at the exchange.",
"updated": 1610221056957
"updated": 1610221056957,
"translations": [
{
"language": "ES",
"text": "La sincronización con el intercambio implica calcular el tamaño real, la tasa real, el porcentaje cumplimentado, las tarifas pagadas y el tamaño llenado, para actualizar la estructura de datos del motor de trading de modo que coincida con la situación real de la orden en el intercambio.",
"updated": 1636385740651
}
]
},
"paragraphs": [
{
"style": "Text",
"text": "The process of synchronizing the data in the trading engine with what actually happens at the exchange is crucial to monitoring and controlling a live trading operation from within Superalgos. It is this process that allows users to access the information at the exchange throughout the life cycle of each order, on the fly.",
"updated": 1610221245028
"updated": 1610221245028,
"translations": [
{
"language": "ES",
"text": "El proceso de sincronizar los datos en el motor de trading con lo que realmente sucede en el intercambio es crucial para monitorear y controlar una operación comercial en vivo desde Superalgos. Es este proceso el que permite a los usuarios acceder a la información en el intercambio a lo largo del ciclo de vida de cada pedido, sobre la marcha.",
"updated": 1636385801690
}
]
},
{
"style": "Text",
"text": "This is when all calculations involving the actual size, actual rate, actual fees, and so on are made. We will closely look into each of the calculations."
"text": "This is when all calculations involving the actual size, actual rate, actual fees, and so on are made. We will closely look into each of the calculations.",
"translations": [
{
"language": "ES",
"text": "Aquí es cuando se realizan todos los cálculos relacionados con el tamaño real, la tasa real, las tarifas reales, etc. Examinaremos de cerca cada uno de los cálculos.",
"updated": 1636385835284
}
]
},
{
"style": "Text",
"text": "Once the synchronization is done, the bot does the accounting (see Accounting), to keep the rest of the variables—like balances and the stage size—up to date with the reality of orders."
"text": "Once the synchronization is done, the bot does the accounting (see Accounting), to keep the rest of the variables—like balances and the stage size—up to date with the reality of orders.",
"translations": [
{
"language": "ES",
"text": "Una vez que se realiza la sincronización, el bot hace la contabilidad (see Accounting), para mantener el resto de variables —como los saldos y el tamaño del escenario— al día con la realidad de los pedidos.",
"updated": 1636385933973
}
]
},
{
"style": "Block",
@@ -30,16 +58,37 @@
},
{
"style": "Text",
"text": "While users may define the target size of the stage in either the base asset or the quoted asset, the size of orders is always denominated in the base asset, as per the CCXT Library API, and—likely—most exchange’s APIs."
"text": "While users may define the target size of the stage in either the base asset or the quoted asset, the size of orders is always denominated in the base asset, as per the CCXT Library API, and—likely—most exchange’s APIs.",
"translations": [
{
"language": "ES",
"text": "Si bien los usuarios pueden definir el tamaño objetivo de la etapa en el activo base o en el activo cotizado, el tamaño de las órdenes siempre se denomina en el activo base, según la blibioteca CCXT API, y, probablemente, la mayoría de los APIs de los exchanges.",
"updated": 1636386024768
}
]
},
{
"style": "Note",
"text": "It is a common occurrence that exchanges change the size slightly, for whatever reason, including issues with the precision of decimal places, for example. This is why the size of the order as defined by the user may need to be updated, synchronizing it with the actual size determined by the exchange.",
"updated": 1610221270715
"updated": 1610221270715,
"translations": [
{
"language": "ES",
"text": "Es una ocurrencia común que los intercambios cambian ligeramente el tamaño, por cualquier motivo, incluidos problemas con la precisión de los lugares decimales, por ejemplo. Es por eso que el tamaño del pedido definido por el usuario puede necesitar ser actualizado, sincronizándolo con el tamaño real determinado por el intercambio.",
"updated": 1636386104243
}
]
},
{
"style": "Text",
"text": "When the actual size of the order as reported by the exchange is different than the size defined by the user, the trading bot makes the adjustments described below."
"text": "When the actual size of the order as reported by the exchange is different than the size defined by the user, the trading bot makes the adjustments described below.",
"translations": [
{
"language": "ES",
"text": "Cuando el tamaño real de la orden según lo informado por el iexchange es diferente al tamaño definido por el usuario, el robot comercial realiza los ajustes que se describen a continuación.",
"updated": 1636386148631
}
]
},
{
"style": "Subtitle",
@@ -4,17 +4,25 @@
"type": "Trading System Hierarchy",
"definition": {
"text": "A Trading System carries the trading logic implemented by the Trading Bot during a trading session.",
"updated": 1610138743003
"updated": 1610138743003,
"translations": [
{
"language": "DE",
"text": "Ein Trading System trägt die vom Trading Bot implementierte Handelslogik während einer trading session (Handelssitzung).",
"updated": 1636658786831
}
]
},
"paragraphs": [
{
"style": "Include",
"text": "Foundations->Node->Trading System->Definition",
"updated": 1610138679068
"text": "Algorithmic-Trading->Node->Trading System->Definition",
"updated": 1636540615102
},
{
"style": "Include",
"text": "Foundations->Node->Trading System->Content"
"text": "Algorithmic-Trading->Node->Trading System->Content",
"updated": 1636540640617
}
]
}
@@ -0,0 +1,30 @@
{
"tutorial": "Aggregate data from different Exchanges in a Chart ",
"pageNumber": "1",
"type": "Combine Exchanges in a Chart Tutorial",
"definition": {
"text": "This Tutorial covers the process of pulling together the most diverse set of data: data from different exchanges! By the end of this tutorial you will be able to build charts almost impossible to find anywhere else.",
"updated": 1617376996248,
"translations": [
{
"language": "ES",
"text": "Este Tutorial cubre el proceso de reunir el conjunto de datos más diverso: datos de distintos exchanges! Al final de este tutorial, podrá crear gráficos casi imposibles de encontrar en ningún otro lugar..",
"updated": 1636367640855
}
]
},
"paragraphs": [
{
"style": "Text",
"text": "This Tutorial can be found in Workspace TBD.",
"updated": 1617376832024,
"translations": [
{
"language": "ES",
"text": "Este Tutorial puede encontrarlo en Workspace TBD.",
"updated": 1636383582477
}
]
}
]
}
@@ -16,6 +16,11 @@
"language": "DE",
"text": "Dieses Tutorial ergänzt die Informationen aus dem Welcome to Superalgos Tutorial und konzentriert sich auf Nodes Menu, Backups, Clones und Shares, Plugins, Workspaces, References, und mehr.",
"updated": 1634585384331
},
{
"language": "TR",
"text": "Bu eğitim, Superalgos'a Hoş Geldiniz Eğitiminde verilen bilgileri tamamlar ve Düğümler Menüsü, Yedeklemeler, Klonlar ve Paylaşımlar, Eklentiler, Çalışma Alanları, Referanslar ve daha fazlasına odaklanır.",
"updated": 1636699806597
}
]
},
@@ -34,11 +39,25 @@
},
{
"style": "List",
"text": "Workspace: Getting Started Plugin Workspace."
"text": "Workspace: Getting Started Plugin Workspace.",
"translations": [
{
"language": "TR",
"text": "Çalışma Alanı: Başlarken Eklenti Çalışma Alanı. (Getting Started Tutorials )",
"updated": 1636699919271
}
]
},
{
"style": "List",
"text": "Maintainer: @julianmolina (Telegram)."
"text": "Maintainer: @julianmolina (Telegram).",
"translations": [
{
"language": "TR",
"text": "İlgilenen: @julianmolina (Telegram).",
"updated": 1636699969845
}
]
}
]
}
@@ -26,6 +26,11 @@
"language": "DE",
"text": "Ich habe gehört, dass mein Freund, das Willkommens-Tutorial, dich herumgeführt und mit ein paar billigen Tricks hypnotisiert hat... Was für eine Angeber!",
"updated": 1634296891537
},
{
"language": "TR",
"text": "Arkadaşım Hoş Geldiniz dersinin size etrafı gösterdiğini ve birkaç ucuz numarayla sizi büyülediğini duydum... Ne gösteriş! :-)",
"updated": 1636698021188
}
]
},
@@ -51,6 +56,11 @@
"language": "DE",
"text": "Nun, jetzt ist es an der Zeit zu arbeiten!",
"updated": 1634296898849
},
{
"language": "TR",
"text": "Şimdi çalışma zamanı!",
"updated": 1636698045347
}
]
},
@@ -74,6 +84,11 @@
"language": "DE",
"text": "Superalgos zu lernen ist ein ziemliches Unterfangen! Nicht, weil es schwierig ist, sondern weil das System sehr umfangreich, extrem flexibel und auf einem neuen Paradigma aufgebaut ist, das am Anfang nicht offensichtlich ist...",
"updated": 1634296907253
},
{
"language": "TR",
"text": "Superalgos'u öğrenmek oldukça zahmetli bir iştir! Zor olduğu için değil, sistem çok geniş, son derece esnek ve yeni bir paradigma üzerine kurulu olduğu için...",
"updated": 1636698298697
}
]
},
@@ -98,6 +113,11 @@
"language": "DE",
"text": "Aber keine Sorge! Wenn Sie aufmerksam sind und alle verfügbaren Tutorials absolvieren, werden Sie die Lernkurve wie ein Champion meistern! Aber seien Sie gewarnt... die meisten Leute machen die Tutorials mehr als einmal!",
"updated": 1634296988459
},
{
"language": "TR",
"text": "Ama endişelenme! Dikkatinizi verir ve mevcut tüm eğitimleri yaparsanız, bir şampiyon gibi öğrenme eğrisinin üstesinden gelebileceksiniz! Yine de uyaralım... Çoğu insan öğreticileri bir kereden fazla kullanır!",
"updated": 1636698446384
}
]
}
@@ -8,18 +8,39 @@
"icon": {
"name": "tutorial",
"project": "Foundations"
}
},
"translations": [
{
"language": "TR",
"text": "Dürüst olmak gerekirse, konuksever arkadaşım, arayüzde gezinmek ve rahat hissetmek için bilmeniz gereken birçok temel işlemi size öğretti...",
"updated": 1636700031937
}
]
},
"paragraphs": [
{
"style": "Text",
"text": "With me, you are going to complete your basic education! Once you finish this tutorial, you will be ready to start learning how to build your own Trading System... That's what all is about after all, right?",
"updated": 1615459292734
"updated": 1615459292734,
"translations": [
{
"language": "TR",
"text": "Benimle temel eğitiminizi tamamlayacaksınız! Bu öğreticiyi bitirdikten sonra, kendi Ticaret Sisteminizi ( Trading System ) nasıl kuracağınızı öğrenmeye başlamaya hazır olacaksınız... Amacımız da değil mi?",
"updated": 1636700088723
}
]
},
{
"style": "Callout",
"text": "We will focus on completing the overview of the interface, dealing with workspaces, backups, plugins, and more!",
"updated": 1615311348229
"updated": 1615311348229,
"translations": [
{
"language": "TR",
"text": "Arayüzün genel görünümü, çalışma alanları, yedeklemeler, eklentiler ve daha fazlasına odaklanacağız!",
"updated": 1636700135746
}
]
},
{
"style": "Success",
@@ -26,6 +26,11 @@
"language": "DE",
"text": "Die linke Seite des Menüs eines Knotens ist für die meisten Knoten gleich. Die rechte Seite ist jedoch spezifisch für den Typ des Knotens!",
"updated": 1634297081552
},
{
"language": "TR",
"text": "Bir düğüm menüsünde sol taraftaki öğreler, çoğu düğüm için ortaktır. Ancak sağ taraftak öğeler düğüm tipine özeldir!",
"updated": 1636699172648
}
]
},
@@ -51,6 +56,11 @@
"language": "DE",
"text": "Schauen wir uns die linke Seite genau an!",
"updated": 1634297088928
},
{
"language": "TR",
"text": "Sol tarafa yakından bakalım!",
"updated": 1636699207312
}
]
},
@@ -74,6 +84,11 @@
"language": "DE",
"text": "Der Design Space funktioniert nach dem Paradigma eines sich selbst organisierenden Workspace, in dem die Knoten dazu neigen, ihren Platz zu finden, geleitet von bestimmten Anordnungseigenschaften, die Sie über das Menü des Knotens steuern können.",
"updated": 1634297127960
},
{
"language": "TR",
"text": "Tasarım alanı, düğümlerin, düğüm menüsünden kontrol edebileceğiniz belirli düzenleme özelliklerini bünyesinde barındıran, kendi kendini organize eden bir çalışma alanı paradigması altında işlev görür.",
"updated": 1636699360931
}
]
},
@@ -98,6 +113,11 @@
"language": "DE",
"text": "Klicken Sie auf die Schaltfläche \"Pin/Unpin\" in der oberen linken Ecke des Knotens \"Session Base Asset\". Ziehen Sie nun den Knoten weg und lassen Sie ihn los! Ziehen Sie nun einen beliebigen anderen Knoten weg, ohne ihn anzuheften. Sehen Sie den Unterschied?",
"updated": 1634297180198
},
{
"language": "TR",
"text": "Oturum Temel Varlık ( Session Base Asset ) düğümünün sol üst köşesindeki sabitle düğmesini tıklayarak düğümü uzağa sürükleyin ve bırakın! Şimdi başka bir düğümü sabitlemeden sürükleyip bırakın. Farkı gördünüz mü?",
"updated": 1636699433193
}
]
}
@@ -26,6 +26,11 @@
"language": "DE",
"text": "Wenn ein Knoten gepinnt wird, wird er an einer Position fixiert, unabhängig von der Einstellung der übrigen Eigenschaften der Anordnung!",
"updated": 1634297246558
},
{
"language": "TR",
"text": "Bir düğüm sabitlendiğinizde, o düğüm diğer düzenleme özelliklerinin ayarından bağımsız olarak bir konuma sabitlenir!",
"updated": 1636699565557
}
]
},
@@ -51,6 +56,11 @@
"language": "DE",
"text": "Sie können einen Knoten, eine Struktur von Knoten und sogar die gesamte Hierarchie anheften. Lassen Sie uns etwas anderes ausprobieren...",
"updated": 1634297272287
},
{
"language": "TR",
"text": "Bir düğümü, bir düğüm yapısını ve hatta tüm hiyerarşiyi sabitleyebilirsiniz. Başka bir şey deneyelim...",
"updated": 1636699582052
}
]
},
@@ -74,6 +84,11 @@
"language": "DE",
"text": "Heften Sie den Knoten \"Trading Parameters\" an und ziehen Sie ihn weg!",
"updated": 1634297297063
},
{
"language": "TR",
"text": "İşlem Parametreleri ( Trading Parameters ) düğümünü sabitleyin ve sürükleyin!",
"updated": 1636699715298
}
]
},
@@ -98,6 +113,11 @@
"language": "DE",
"text": "Beachten Sie, wie w alle Nachfolgeknoten dem übergeordneten Knoten folgen. Der Knoten \"Session Base Asset\" bleibt jedoch an seiner Position! Bevor wir weitermachen, heben Sie die Anheftung aller Knoten auf, um den Workspace in Ordnung zu halten!",
"updated": 1634297334626
},
{
"language": "TR",
"text": "Tüm yavru düğümlerin ana düğümü nasıl takip ettiğine dikkat edin. Ancak, Oturum Temel Varlık ( Session Base Asset ) düğümü konumunda kalır! Devam etmeden önce, çalışma alanını düzenli tutmak için tüm düğümlerin sabitlemesini kaldırın!",
"updated": 1636699753332
}
]
}
@@ -26,6 +26,11 @@
"language": "DE",
"text": "Standardmäßig sind die Knoten auf eine Rotationssymmetrie um ihren übergeordneten Knoten festgelegt. Die Symmetrie kann 360 Grad oder weniger umfassen, je nach Einstellung!\n",
"updated": 1634331973308
},
{
"language": "TR",
"text": "Varsayılan olarak, düğümler, üst düğümlerinin etrafında bir dönme simetrisine kilitlenir. Simetri, ayara bağlı olarak 360 derece veya daha az olabilir!",
"updated": 1636700229623
}
]
},
@@ -51,6 +56,11 @@
"language": "DE",
"text": "Wenn Sie auf die Schaltfläche Winkel zum übergeordneten Knoten klicken, können Sie zwischen fünf verschiedenen Einstellungen wählen: 360, 180, 90 und 45 Grad sowie die Möglichkeit, die Rotationssymmetrie zu deaktivieren.",
"updated": 1634331981010
},
{
"language": "TR",
"text": "Ana düğümden Açı butonuna tıkladığınızda, beş farklı ayar arasında geçiş yaparsınız: 360, 180, 90 ve 45 derece ve ayrıca dönme simetrisini devre dışı bırakma seçeneği.",
"updated": 1636700351205
}
]
},
@@ -75,6 +85,11 @@
"language": "DE",
"text": "Werfen Sie einen kurzen Blick auf die Einstellung, die für die einzelnen Nachkommen des Knotens Lightning Strike Backtesting Session node: Trading Parameters, Trading System Reference und die Trading Engine Reference. Sie sind alle auf 180 Grad eingestellt, richtig?",
"updated": 1634297686941
},
{
"language": "TR",
"text": "Lightning Strike Geri Test Oturumu ( Lightning Strike Backtesting Session ) düğümünün her bir öğesinde seçilen ayara hızlıca göz atın: İşlem Parametreleri ( Trading Parameters ), İşlem Sistemi Referansı ( Trading System Reference ) ve İşlem Motoru Referansı ( Trading Engine Reference ). Hepsi 180 dereceye ayarlanmış, değil mi?",
"updated": 1636700489786
}
]
}
@@ -4,8 +4,8 @@
"type": "Tutorial Step - The Trading Process",
"definition": {
"icon": {
"project": "Foundations",
"name": "trading-system"
"name": "Trading\\trading-system",
"project": "Foundations"
},
"text": "The first dimension we should define is what type of strategy the hypothesis is aimed at."
},
@@ -4,8 +4,8 @@
"type": "Tutorial Step - The Appropriate Context",
"definition": {
"icon": {
"project": "Foundations",
"name": "layer-trends"
"name": "Layer\\layer-trends",
"project": "Foundations"
},
"text": "The second important dimension to define is the general context that the hypothesis is aimed at."
},
@@ -4,8 +4,8 @@
"type": "Tutorial Step - Let's Go On a Field Trip!",
"definition": {
"icon": {
"project": "Foundations",
"name": "tutorial"
"name": "Tutorial\\tutorial",
"project": "Foundations"
},
"text": "The rest of this tutorial is about putting into practice what we just discussed!"
},
@@ -4,8 +4,8 @@
"type": "Tutorial Step - BB On the Charts!",
"definition": {
"icon": {
"project": "Foundations",
"name": "layer-bands"
"name": "Layer\\layer-bands",
"project": "Foundations"
},
"text": "Let's take a look at the Bollinger Bands! If it's not on already, find the Bollinger Bands layer in the Masters layer manager."
},
@@ -4,8 +4,8 @@
"type": "Tutorial Step - Bollinger Bands Rules",
"definition": {
"icon": {
"project": "Foundations",
"name": "layer-bands"
"name": "Layer\\layer-bands",
"project": "Foundations"
},
"text": "Now that you've seen the bands on the charts, let's go through the rules that teach us how to interpret and use them!"
},
@@ -4,8 +4,8 @@
"type": "Tutorial Step - Breakdown of the BBs",
"definition": {
"icon": {
"project": "Foundations",
"name": "layer-candles"
"name": "Layer\\layer-candles",
"project": "Foundations"
},
"text": "Weak-hands Buster is based on the idea that a breakdown of the BB may predict a deepening of a downtrend and some reversals."
},
@@ -4,8 +4,8 @@
"type": "Tutorial Step - What Else is Going On?",
"definition": {
"icon": {
"project": "Foundations",
"name": "layer-candles"
"name": "Layer\\layer-candles",
"project": "Foundations"
},
"text": "We just took note of what happened after this breakdown of the bands on the 1H chart... What else is going on with the market?"
},
@@ -4,8 +4,8 @@
"type": "Tutorial Step - Let's Zoom Out!",
"definition": {
"icon": {
"project": "Foundations",
"name": "time-frame"
"name": "Time\\time-frame",
"project": "Foundations"
},
"text": "We've got an idea of what's going on in the 1H time frame. Let's zoom out a bit and take a look at the intermediate-term."
},
@@ -4,8 +4,8 @@
"type": "Tutorial Step - The Big Picture!",
"definition": {
"icon": {
"project": "Foundations",
"name": "time-frame"
"name": "Time\\time-frame",
"project": "Foundations"
},
"text": "The 4H chart showed a clear shift in the trend after the breakdown, but... what about the long-term? Let's check the daily chart!"
},
@@ -4,8 +4,8 @@
"type": "Tutorial Step - Look to Your Left!",
"definition": {
"icon": {
"project": "Foundations",
"name": "layer-candles"
"name": "Layer\\layer-candles",
"project": "Foundations"
},
"text": "Does the price action to your left ring a bell? Do you recognize this major market crash?"
},
@@ -4,8 +4,8 @@
"type": "Tutorial Step - Wouldn't It Be Nice?",
"definition": {
"icon": {
"project": "Foundations",
"name": "layer-candles"
"name": "Layer\\layer-candles",
"project": "Foundations"
},
"text": "How cool would it be to be able to predict the continuation of a downturn once the trend is already established?"
},
@@ -4,8 +4,8 @@
"type": "Tutorial Step - March 7th to March 12th",
"definition": {
"icon": {
"project": "Foundations",
"name": "layer-bands"
"name": "Layer\\layer-bands",
"project": "Foundations"
},
"text": "Back in the 1H time frame, let's take a look at what happened between these dates in the context of a daily downtrend."
},
@@ -4,8 +4,8 @@
"type": "Tutorial Step - We've got Two Hypotheses!",
"definition": {
"icon": {
"project": "Foundations",
"name": "nodes-highlights"
"name": "Nodes\\nodes-highlights",
"project": "Foundations"
},
"text": "Let's recover our previous hypothesis and come up with a new one for the most recent observations!"
},
@@ -4,8 +4,8 @@
"type": "Tutorial Step - Let's Define the First Two!",
"definition": {
"icon": {
"project": "Foundations",
"name": "layer-trends"
"name": "Layer\\layer-trends",
"project": "Foundations"
},
"text": "Let's advance with the definition of the trading process and the context in which these ideas should operate."
},
@@ -4,8 +4,8 @@
"type": "Tutorial Step - Predictions and Testing",
"definition": {
"icon": {
"project": "Foundations",
"name": "user-defined-statistic"
"name": "User\\user-defined-statistic",
"project": "Foundations"
},
"text": "It's not like we're trying to divine the future and will get graded on our accuracy! The prediction is more like an expectation!"
},
@@ -4,8 +4,8 @@
"type": "Tutorial Step - Et Voilà..!",
"definition": {
"icon": {
"project": "Foundations",
"name": "nodes-highlights"
"name": "Nodes\\nodes-highlights",
"project": "Foundations"
},
"text": "That's it! We finally have a proper hypothesis that we can test to decide if the idea is worth pursuing or not!"
},
@@ -4,8 +4,8 @@
"type": "Tutorial Step - Ready For The Next One..?",
"definition": {
"icon": {
"project": "Foundations",
"name": "tutorial"
"name": "Tutorial\\tutorial",
"project": "Foundations"
},
"text": "The tutorial to the right is the next in the series about designing trading systems. Shall we keep going?"
},
@@ -12,7 +12,13 @@
{
"language": "ES",
"text": "Si no hay un Market configurado con el par con el que deseas trabajar en Exchange Markets, debes configurar la definición de mercado antes de instalarlo.",
"updated": 1629164083032
"updated": 1629164083032,
"style": "Definition"
},
{
"language": "DE",
"text": "Wenn für das Paar, mit dem Sie arbeiten möchten, unter Exchange Markets kein Market eingerichtet ist, müssen Sie die Marktdefinition vor der Installation einrichten.",
"updated": 1635829019620
}
]
},
@@ -24,7 +30,13 @@
{
"language": "ES",
"text": "Los siguientes pasos te enseñarán cómo configurar el mercado para que puedas instalarlo más tarde.",
"updated": 1629164109911
"updated": 1629164109911,
"style": "Callout"
},
{
"language": "DE",
"text": "In den nächsten Schritten lernen Sie, wie Sie den Markt einrichten, damit Sie ihn später installieren können.",
"updated": 1635829102056
}
]
},
@@ -36,7 +48,13 @@
{
"language": "ES",
"text": "Asegúrese de que la combinación de Market Base Asset y Market Quoted Asset que desea definir como Market en Superalgos existe como un mercado que cotiza en el exchange.",
"updated": 1629164457557
"updated": 1629164457557,
"style": "Important"
},
{
"language": "DE",
"text": "Stellen Sie sicher, dass die Kombination aus Market Base Asset und Market Quoted Asset, die Sie als Market in Superalgos definieren möchten, als börsennotierter Markt existiert.",
"updated": 1635829254330
}
]
}
@@ -12,7 +12,13 @@
{
"language": "ES",
"text": "Añade un nuevo nodo Market usando el Add Market opción en el menú.",
"updated": 1629164947647
"updated": 1629164947647,
"style": "Definition"
},
{
"language": "DE",
"text": "Fügen Sie einen neuen Market knoten hinzu, indem Sie die Option Market hinzufügen im Menü wählen.\n",
"updated": 1635829868443
}
]
},
@@ -25,7 +31,13 @@
{
"language": "ES",
"text": "Se debe agregar un nodo de Market con dos descendientes: a Market Base Asset y a Market Quoted Asset.",
"updated": 1629165004233
"updated": 1629165004233,
"style": "Success"
},
{
"language": "DE",
"text": "Ein Market knoten sollte mit zwei Ablegern hinzugefügt werden: einem Market Base Asset und einem Market Quoted Asset.",
"updated": 1635830106575
}
]
},
@@ -36,7 +48,13 @@
{
"language": "ES",
"text": "Antes de continuar, asegúrate de cuál es la base y cuál es el asset cotizado en la cotización de el exchange. Por lo general, el asset base es el primero en el nombre del par, pero esto no se aplica en todos los exchanges, así que esté atento.",
"updated": 1629165598676
"updated": 1629165598676,
"style": "Important"
},
{
"language": "DE",
"text": "Bevor Sie fortfahren, vergewissern Sie sich, welches der Basiswert und welches der börsennotierte Vermögenswert in der Börsennotierung ist. In der Regel ist der Basiswert der erste im Namen des Paares, aber das wird nicht an jeder Börse durchgesetzt, also seien Sie wachsam.",
"updated": 1635830457846
}
]
}
@@ -12,7 +12,13 @@
{
"language": "ES",
"text": "Establecer una referencia de el nodo Market Base Asset en el Market que acabas de definir a el correspondiente nodo Asset definido bajo Exchange Assets.",
"updated": 1629165785229
"updated": 1629165785229,
"style": "Definition"
},
{
"language": "DE",
"text": "Stellen Sie einen Verweis vom Knoten Market Base Asset im soeben definierten Market auf den entsprechenden Asset Knoten unter Exchange Assets her.",
"updated": 1635832090712
}
]
},
@@ -24,7 +30,13 @@
{
"language": "ES",
"text": "Si no estás familiarizado con el establecimiento de referencias, lee sobre el tema en la documentación.",
"updated": 1629165919563
"updated": 1629165919563,
"style": "Note"
},
{
"language": "DE",
"text": "Wenn Sie mit der Erstellung von Verweisen nicht vertraut sind, lesen Sie bitte in der Dokumentation über dieses Thema.",
"updated": 1635832150842
}
]
}
@@ -12,7 +12,13 @@
{
"language": "ES",
"text": "Ahora establece una referencia del nodo Market Quoted Asset en el Market que acaba de definir a la correspondiente nodo Asset definido bajo Exchange Assets.",
"updated": 1629166070472
"updated": 1629166070472,
"style": "Definition"
},
{
"language": "DE",
"text": "Stellen Sie nun einen Verweis vom Knoten Market Quoted Asset im soeben definierten Market auf den entsprechenden Asset Knoten unter Exchange Assets her.",
"updated": 1635832310411
}
]
},
@@ -25,7 +31,13 @@
{
"language": "ES",
"text": "¡Ya casi has terminado con estas referencias!",
"updated": 1629166084110
"updated": 1629166084110,
"style": "Success"
},
{
"language": "DE",
"text": "Sie sind mit diesen Referenzen fast fertig!",
"updated": 1635832357018
}
]
}
@@ -14,6 +14,11 @@
"language": "ES",
"text": "Etiqueta el Market con los nombres de ticker correspondientes a el Market Base Asset ay el Market Quoted Asset, al igual que la lista de exchange.",
"updated": 1629247010585
},
{
"language": "DE",
"text": "Beschriften Sie den Market mit den Tickernamen, die dem Market Base Asset und dem Market Quoted Asset entsprechen, genau wie bei der Börsennotierung.",
"updated": 1636093674049
}
]
},
@@ -27,6 +32,11 @@
"language": "ES",
"text": "Por ejemplo: ETH/USDT.",
"updated": 1629247028876
},
{
"language": "DE",
"text": "Zum Beispiel: ETH/USDT",
"updated": 1636093747607
}
]
},
@@ -38,6 +48,11 @@
"language": "ES",
"text": "Manteniendo un ordenado Workspace con etiquetas adecuadas para nodos importantes, ayuda a gestionar grandes operaciones y a administrar la complejidad. ¡Estas etiquetas pueden ser utilizadas por otros nodos!",
"updated": 1629247073143
},
{
"language": "DE",
"text": "Ein aufgeräumter Workspace mit den richtigen Bezeichnungen für wichtige Knoten hilft bei der Verwaltung großer Vorgänge und der Beherrschung der Komplexität. Diese Bezeichnungen können von anderen Knoten verwendet werden!",
"updated": 1636093838222
}
]
}
@@ -14,6 +14,11 @@
"language": "ES",
"text": "¡Terminaste la configuración requerida para instalar el mercado! ¡El resto está completamente automatizado!",
"updated": 1629247436746
},
{
"language": "DE",
"text": "Sie haben die für die Installation des Marktes erforderliche Einrichtung abgeschlossen! Der Rest ist vollständig automatisiert!",
"updated": 1636093926793
}
]
},
@@ -27,6 +32,11 @@
"language": "ES",
"text": "Haz clic en el botón Install Market en el nodo Market que acabas de terminar de configurar. Ahora que el Market está configurado, instalarlo está a solo un clic de distancia.",
"updated": 1629247557848
},
{
"language": "DE",
"text": "Klicken Sie auf die Schaltfläche Install Market auf dem Market Knoten, den Sie gerade eingerichtet haben. Jetzt, wo der Market eingerichtet ist, ist die Installation nur noch einen Klick entfernt.",
"updated": 1636094308147
}
]
},
@@ -38,6 +48,11 @@
"language": "ES",
"text": "La Install Market La función configura muchas estructuras de datos en el local Network Node y en el Charting Space. Los siguientes pasos del tutorial te ayudarán a familiarizarse con la instalación.",
"updated": 1629247622619
},
{
"language": "DE",
"text": "Die Funktion Install Market richtet viele Datenstrukturen im lokalen Netzwerk Node und im Charting Space ein. Die nächsten Schritte des Tutorials werden Ihnen helfen, sich mit der Installation vertraut zu machen.",
"updated": 1636094597272
}
]
}
@@ -13,6 +13,11 @@
"language": "ES",
"text": "La instalación de la función Market configura muchas estructuras de datos en el local Network Node.",
"updated": 1629247715120
},
{
"language": "DE",
"text": "Die Funktion Install Market richtet im lokalen Netzwerk Node viele Datenstrukturen ein.",
"updated": 1636356142878
}
]
},
@@ -25,6 +30,11 @@
"language": "ES",
"text": "En los siguientes pasos, verificarás que cada una de las estructuras de datos esperadas se haya creado correctamente. Las estructuras esperadas son:",
"updated": 1629247883351
},
{
"language": "DE",
"text": "In den nächsten Schritten werden Sie überprüfen, ob jede der erwarteten Datenstrukturen erfolgreich erstellt wurde. Die erwarteten Strukturen sind:",
"updated": 1636356136312
}
]
},
@@ -36,6 +46,11 @@
"language": "ES",
"text": "1. Data Tasks tareas para todas las minas de datos incluidas en tu espacio de trabajo.2. Backtesting and live trading tasks for all included trading systems.3. The corresponding Data Storage definitions.",
"updated": 1629247909377
},
{
"language": "DE",
"text": "1. Data Tasks Aufgaben für alle in Ihrem Arbeitsbereich enthaltenen Datenminen.<br/><br/>2. Backtesting- und Live-Trading-Aufgaben für alle enthaltenen Handelssysteme.<br/><br/>3. Die entsprechenden Datenspeicher-Definitionen.",
"updated": 1636356007305
}
]
}
@@ -13,6 +13,11 @@
"language": "ES",
"text": "Verifica que las tareas del Data Tasks para el correspondiente Market fueron creadas con éxito.",
"updated": 1629248555223
},
{
"language": "DE",
"text": "Überprüfen Sie, ob die Data Tasks Aufgaben für den entsprechenden Market erfolgreich erstellt wurden.",
"updated": 1636356364788
}
]
},
@@ -25,6 +30,11 @@
"language": "ES",
"text": "Busca las siguientes estructuras de datos:",
"updated": 1629248659569
},
{
"language": "DE",
"text": "Suchen Sie nach den folgenden Datenstrukturen:",
"updated": 1636356678861
}
]
},
@@ -36,6 +46,11 @@
"language": "ES",
"text": "Un nodo Market Data Tasks para el nuevo mercado.",
"updated": 1629248644175
},
{
"language": "DE",
"text": "Ein Market Data Tasks Knoten für den neuen Markt.",
"updated": 1636356689571
}
]
},
@@ -47,6 +62,11 @@
"language": "ES",
"text": "Un nodo Data Mine Taskspor cada Data Mine incluido en el Workspace.",
"updated": 1629248688491
},
{
"language": "DE",
"text": "Ein Data Mine Tasks Knoten für jeden im Workspace enthaltene Data Mine.",
"updated": 1636356757955
}
]
},
@@ -58,6 +78,11 @@
"language": "ES",
"text": "Un Task Manager por Data Mine y un Task para cada bot definido en cada mina de datos.",
"updated": 1629248744863
},
{
"language": "DE",
"text": "Ein Task Manager pro Data Mine und ein Task für jeden Bot, der in jedem Datenmine definiert ist.",
"updated": 1636356814073
}
]
}
@@ -13,6 +13,11 @@
"language": "ES",
"text": "Verifica que las tareas del Testing Trading Tasks del correspondiente Market fueron creados con éxito.",
"updated": 1629248966784
},
{
"language": "DE",
"text": "Vergewissern Sie sich, dass die Testing Trading Tasks für den entsprechenden Market erfolgreich erstellt wurden.",
"updated": 1636468598028
}
]
},
@@ -25,6 +30,11 @@
"language": "ES",
"text": "Busca las siguientes estructuras de datos:",
"updated": 1629249005363
},
{
"language": "DE",
"text": "Suchen Sie nach den folgenden Datenstrukturen:",
"updated": 1636468630701
}
]
},
@@ -36,6 +46,11 @@
"language": "ES",
"text": "Un nodo Market Trading Tasks para el nuevo mercado.",
"updated": 1629249052629
},
{
"language": "DE",
"text": "Ein Market Trading Tasks Knoten für den neuen Markt.",
"updated": 1636468840153
}
]
},
@@ -47,6 +62,11 @@
"language": "ES",
"text": "Un Trading Mine Tasks nodo para cada mina comercial incluida en el Workspace.",
"updated": 1629249077978
},
{
"language": "DE",
"text": "Ein Knoten Trading Mine Tasks für jede im Workspace enthaltene Handelsmine.",
"updated": 1636468853305
}
]
},
@@ -58,6 +78,11 @@
"language": "ES",
"text": "Un Task Manager por mina comercial y un Task con un Backtesting Session para cada Trading System en el espacio de trabajo.",
"updated": 1629249127594
},
{
"language": "DE",
"text": "Ein Task Manager pro Handelsmine und ein Task mit einer Backtesting Session für jedes Trading System im Arbeitsbereich.",
"updated": 1636468875339
}
]
}
Loaded 100 of 263 files, more files were not shown because too many files have changed in this diff. Show more