Merge branch 'develop' of https://github.com/Superalgos/Superalgos into pr/2736

This commit is contained in:
Luis Fernando Molina committed 2021-11-26 23:26:45 +01:00
commit 3f770ebc9e
65 files changed
+1982 -187

No files matched your search

+1 -4
View File
@@ -163,17 +163,14 @@ exports.newGithubServer = function newGithubServer() {
} }
} }
async function createGithubFork(repository, username, token) { async function createGithubFork(token) {
try { try {
username = unescape(username)
token = unescape(token) token = unescape(token)
await doGithub() await doGithub()
async function doGithub() { async function doGithub() {
try { try {
//const repo = 'Superalgos'
//const owner = username
const { Octokit } = SA.nodeModules.octokit const { Octokit } = SA.nodeModules.octokit
const octokit = new Octokit({ const octokit = new Octokit({
auth: token, auth: token,
+13 -2
View File
@@ -1315,8 +1315,6 @@ exports.newHttpInterface = function newHttpInterface() {
case 'createGithubFork': { case 'createGithubFork': {
let serverResponse = await PL.servers.GITHUB_SERVER.createGithubFork( let serverResponse = await PL.servers.GITHUB_SERVER.createGithubFork(
params.repository,
params.username,
params.token params.token
) )
@@ -1355,8 +1353,21 @@ exports.newHttpInterface = function newHttpInterface() {
let error let error
await checkFork()
await updateUser() await updateUser()
async function checkFork() {
let serverResponse = await PL.servers.GITHUB_SERVER.createGithubFork(
params.token
)
SA.projects.foundations.utilities.httpResponses.respondWithContent(JSON.stringify(serverResponse), httpResponse)
if(error != undefined) {
console.log('[ERROR] httpInterface -> Gov -> createFork -> You already have a fork. Good for you!')
}
}
async function updateUser() { async function updateUser() {
await doGithubUser() await doGithubUser()
@@ -27,23 +27,58 @@
}, },
{ {
"style": "Text", "style": "Text",
"text": "In practical terms, a trading system is a hierarchical arrangement organizing the actionable aspects of your investment plan. The hierarchy contains definitions regarding any number of trading strategies, all operating on the same market and sharing the same initial capital allocation." "text": "In practical terms, a trading system is a hierarchical arrangement organizing the actionable aspects of your investment plan. The hierarchy contains definitions regarding any number of trading strategies, all operating on the same market and sharing the same initial capital allocation.",
"translations": [
{
"language": "ES",
"text": "En términos prácticos, un Trading System es una disposición jerárquica que organiza los aspectos procesables de su plan de inversión. Esta jerarquía contiene definiciones respecto a un sinnúmero de estrategias de trading, todas operando en el mismo mercado y compartiendo la misma asignación de capital inicial.",
"updated": 1637880963165
}
]
}, },
{ {
"style": "Text", "style": "Text",
"text": "You use a trading system to define strategies following the Superalgos Protocol, splitting strategies into four stages: trigger, open, manage, and close." "text": "You use a trading system to define strategies following the Superalgos Protocol, splitting strategies into four stages: trigger, open, manage, and close.",
"translations": [
{
"language": "ES",
"text": "Se utiliza un Trading System para definir estrategias acorde al protocolo de Superalgos, dividiendo a éstas en cuatro etapas: activación, apertura, gestión y cierre.",
"updated": 1637880976135
}
]
}, },
{ {
"style": "Text", "style": "Text",
"text": "The concept of describing strategies in stages is fundamental to the methodical aspect of the trading system, as it provides a framework to run every strategy with the same framework, which contributes to developing scalable trading systems that may grow to any number of strategies." "text": "The concept of describing strategies in stages is fundamental to the methodical aspect of the trading system, as it provides a framework to run every strategy with the same framework, which contributes to developing scalable trading systems that may grow to any number of strategies.",
"translations": [
{
"language": "ES",
"text": "El concepto de describir estrategias en etapas es fundamental para el aspecto metódico del Trading System, ya que provee la infraestructura necesaria para ejecutar cualquier estrategia con la misma infraestructura. Esto contribuye a desarrollar Trading Systems escalables, que pueden alcanzar innumerable cantidad de estrategias.",
"updated": 1637880986625
}
]
}, },
{ {
"style": "Text", "style": "Text",
"text": "When a trading system features more than one strategy, the first strategy has precedence over the second, the second over the third, and so on. This means that strategies are evaluated in a sequence. When a given strategy is triggered-on, the remaining strategies in the queue are no longer evaluated until the strategy triggers off. In other words, when multiple strategies are deployed within a single trading system, only one strategy may trade at any given moment, and precedence is given by the order around the trading system node." "text": "When a trading system features more than one strategy, the first strategy has precedence over the second, the second over the third, and so on. This means that strategies are evaluated in a sequence. When a given strategy is triggered-on, the remaining strategies in the queue are no longer evaluated until the strategy triggers off. In other words, when multiple strategies are deployed within a single trading system, only one strategy may trade at any given moment, and precedence is given by the order around the trading system node.",
"translations": [
{
"language": "ES",
"text": "Cuando un Trading System ofrece más de una estrategia, la primera estrategia tiene prioridad sobre la segunda, la segunda sobre la tercera, y así sucesivamente. Esto significa que las estrategias son analizadas de manera secuencial. Cuando una estrategia dada es activada, las estrategias restantes no serán analizadas hasta que ésta se desactive. En otras palabras, cuando se implementan múltiples estrategias bajo un único Trading System, solo una estrategia puede operar en un momento dado, y la prioridad está dada por el orden especificado en el Nodo del Trading System.",
"updated": 1637881003253
}
]
}, },
{ {
"style": "Text", "style": "Text",
"text": "As a corollary to the above, if you wish strategies to operate in different markets, or you wish strategies to be able to take positions simultaneously, then you must set up those strategies in different trading systems." "text": "As a corollary to the above, if you wish strategies to operate in different markets, or you wish strategies to be able to take positions simultaneously, then you must set up those strategies in different trading systems.",
"translations": [
{
"language": "ES",
"text": "Como complemento a lo anterior, si se desea configurar estrategias que operen sobre diferentes mercados, o estrategias que tengan la posibilidad de abrir posiciones de forma simultánea, entonces se las deberá configurar bajo Trading Systems distintos.",
"updated": 1637881023208
}
]
} }
] ]
} }
@@ -8,6 +8,11 @@
"language": "ES", "language": "ES",
"text": "Este libro lo guía por el camino que lo ayudará a aprender Superalgos de la manera más eficiente posible. Los tutoriales interactivos son la mejor herramienta para abordar la curva de aprendizaje. Es muy recomendable hacer los tutoriales en el orden propuesto.", "text": "Este libro lo guía por el camino que lo ayudará a aprender Superalgos de la manera más eficiente posible. Los tutoriales interactivos son la mejor herramienta para abordar la curva de aprendizaje. Es muy recomendable hacer los tutoriales en el orden propuesto.",
"updated": 1628207193722 "updated": 1628207193722
},
{
"language": "RU",
"text": "Эта книга проведет вас по пути, который поможет вам изучить Superalgos наиболее эффективным способом. Интерактивные учебники - лучший инструмент для преодоления кривой обучения. Настоятельно рекомендуется выполнять учебники в предложенном порядке.",
"updated": 1637920073292
} }
] ]
}, },
@@ -15,7 +20,14 @@
{ {
"style": "Title", "style": "Title",
"text": "How to Use This Book", "text": "How to Use This Book",
"updated": 1610955545072 "updated": 1610955545072,
"translations": [
{
"language": "RU",
"text": "Как использовать эту книгу",
"updated": 1637920084060
}
]
}, },
{ {
"style": "Text", "style": "Text",
@@ -25,6 +37,11 @@
"language": "ES", "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.", "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 "updated": 1636560408468
},
{
"language": "RU",
"text": "Учебники обеспечивают максимальный практический опыт обучения. Изучение всех существующих учебников оказалось наиболее эффективным способом преодоления кривой обучения.",
"updated": 1637920111715
} }
] ]
}, },
@@ -37,6 +54,11 @@
"language": "ES", "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.", "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 "updated": 1636560468727
},
{
"language": "RU",
"text": "Чтобы сделать учебник, загрузите соответствующее рабочее пространство плагина, найдите учебник в нижней части пространства проектирования и выберите в меню пункт Play.",
"updated": 1637920130755
} }
] ]
}, },
@@ -48,6 +70,11 @@
"language": "ES", "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.", "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 "updated": 1636560519878
},
{
"language": "RU",
"text": "Когда вам нужно быстрое обновление, вы всегда можете вернуться и переделать весь учебник или несколько шагов. Поскольку учебники состоят из страниц с возможностью поиска, вы также можете сканировать содержимое, фактически не выполняя учебник.",
"updated": 1637920230871
} }
] ]
}, },
@@ -60,12 +87,24 @@
"language": "ES", "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.", "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 "updated": 1636560552820
},
{
"language": "RU",
"text": "Рекомендуемый порядок приведен в списке ниже, но правда в том, что все учебники имеют значение, независимо от порядка.",
"updated": 1637920246813
} }
] ]
}, },
{ {
"style": "Title", "style": "Title",
"text": "List of Plugin Workspaces and Tutorials" "text": "List of Plugin Workspaces and Tutorials",
"translations": [
{
"language": "RU",
"text": "Список рабочих пространств и учебников по плагинам",
"updated": 1637920261835
}
]
}, },
{ {
"style": "Text", "style": "Text",
@@ -76,6 +115,11 @@
"language": "ES", "language": "ES",
"text": "Para su conveniencia, encuentre la relación del Plugin Workspaces y los tutoriales de cada uno de ellos.", "text": "Para su conveniencia, encuentre la relación del Plugin Workspaces y los tutoriales de cada uno de ellos.",
"updated": 1636560626471 "updated": 1636560626471
},
{
"language": "RU",
"text": "Для вашего удобства приведено соотношение рабочих пространств плагинов (Plugin Workspaces) и учебников, которые есть в каждом из них.",
"updated": 1637920336885
} }
] ]
}, },
@@ -4,13 +4,27 @@
"type": "App Error - Contribution Not Sent", "type": "App Error - Contribution Not Sent",
"definition": { "definition": {
"text": "There was a problem trying to send your contribution to your fork of the Superalgos repository, or from your fork to the Superalgos/Superalgos main repository.", "text": "There was a problem trying to send your contribution to your fork of the Superalgos repository, or from your fork to the Superalgos/Superalgos main repository.",
"updated": 1611129378492 "updated": 1611129378492,
"translations": [
{
"language": "DE",
"text": "Es gab ein Problem beim Versuch, Ihren Beitrag (contribution) an Ihre Fork des Superalgos-Repositorys oder von Ihrer Fork an das Superalgos/Superalgos main repository zu senden.",
"updated": 1637847176279
}
]
}, },
"paragraphs": [ "paragraphs": [
{ {
"style": "Text", "style": "Text",
"text": "Check the following section for details on what may have happened. After you fix the issue that prevented the App Contribute Command to run, you may try again.", "text": "Check the following section for details on what may have happened. After you fix the issue that prevented the App Contribute Command to run, you may try again.",
"updated": 1611152997869 "updated": 1611152997869,
"translations": [
{
"language": "DE",
"text": "Lesen Sie den folgenden Abschnitt, um zu erfahren, was passiert sein könnte. Nachdem Sie das Problem behoben haben, das die Ausführung des App Contribute Command verhindert hat, können Sie es erneut versuchen.",
"updated": 1637847279708
}
]
}, },
{ {
"style": "Title", "style": "Title",
@@ -19,20 +33,48 @@
}, },
{ {
"style": "Text", "style": "Text",
"text": "In the following section, you will find the information recorded when the error occurred." "text": "In the following section, you will find the information recorded when the error occurred.",
"translations": [
{
"language": "DE",
"text": "Im folgenden Abschnitt finden Sie die Informationen, die beim Auftreten des Fehlers aufgezeichnet wurden.",
"updated": 1637847305339
}
]
}, },
{ {
"style": "Note", "style": "Note",
"text": "You will only see the information if you opened this page as a result of the error actually occurring.", "text": "You will only see the information if you opened this page as a result of the error actually occurring.",
"updated": 1611153032408 "updated": 1611153032408,
"translations": [
{
"language": "DE",
"text": "Hinweis: Diese Informationen werden nur angezeigt, wenn Sie diese Seite geöffnet haben, weil der Fehler tatsächlich aufgetreten ist.",
"updated": 1637847343322
}
]
}, },
{ {
"style": "Subtitle", "style": "Subtitle",
"text": "Error Message" "text": "Error Message",
"translations": [
{
"language": "DE",
"text": "Fehlermeldung (Error Message)",
"updated": 1637847408680
}
]
}, },
{ {
"style": "Text", "style": "Text",
"text": "The following is the Error Message of the Exception that occurred at the Client:" "text": "The following is the Error Message of the Exception that occurred at the Client:",
"translations": [
{
"language": "DE",
"text": "Im Folgenden wird die Fehlermeldung der beim Client aufgetretenen Ausnahme angezeigt:",
"updated": 1637847389630
}
]
}, },
{ {
"style": "Placeholder", "style": "Placeholder",
@@ -44,7 +86,14 @@
}, },
{ {
"style": "Text", "style": "Text",
"text": "The following is the Error Stack of the Exception that occurred at the Client:" "text": "The following is the Error Stack of the Exception that occurred at the Client:",
"translations": [
{
"language": "DE",
"text": "Im Folgenden ist der Error Stack der beim Client aufgetretenen Ausnahme dargestellt:",
"updated": 1637847442850
}
]
}, },
{ {
"style": "Placeholder", "style": "Placeholder",
@@ -56,7 +105,14 @@
}, },
{ {
"style": "Text", "style": "Text",
"text": "The following is the Error Code of the Exception that occurred at the Client:" "text": "The following is the Error Code of the Exception that occurred at the Client:",
"translations": [
{
"language": "DE",
"text": "Im Folgenden wird der Fehlercode der beim Client aufgetretenen Ausnahme angegeben:",
"updated": 1637847479023
}
]
}, },
{ {
"style": "Placeholder", "style": "Placeholder",
@@ -70,7 +126,14 @@
{ {
"style": "Text", "style": "Text",
"text": "The following are all the Error details of the Exception that occurred at the Client:", "text": "The following are all the Error details of the Exception that occurred at the Client:",
"updated": 1611154675224 "updated": 1611154675224,
"translations": [
{
"language": "DE",
"text": "Im Folgenden werden alle Fehlerdetails der beim Client aufgetretenen Ausnahme aufgeführt:",
"updated": 1637847501074
}
]
}, },
{ {
"style": "Placeholder", "style": "Placeholder",
@@ -9,7 +9,10 @@
{ {
"language": "ES", "language": "ES",
"text": "Para administrar las contribuciones desde la aplicación o actualizar la aplicación ejecutando un comando, primero debe proporcionar sus credenciales de Github.com para que el Client (Cliente) puede conseguir que se autentique cuando envíe sus cambios al repositorio remoto.", "text": "Para administrar las contribuciones desde la aplicación o actualizar la aplicación ejecutando un comando, primero debe proporcionar sus credenciales de Github.com para que el Client (Cliente) puede conseguir que se autentique cuando envíe sus cambios al repositorio remoto.",
"updated": 1637851982343 "updated": 1637851982343 }, {
"language": "DE",
"text": "Um Beiträge aus der App heraus zu verwalten oder die App durch Ausführen eines Befehls zu aktualisieren, müssen Sie zunächst Ihre Github.com Anmeldedaten (Github-credentials) angeben, damit der Client Sie authentifizieren kann, wenn Sie Ihre Änderungen an das remote Repository übertragen.",
"updated": 1637872276765
} }
] ]
}, },
@@ -22,7 +25,14 @@
{ {
"style": "Error", "style": "Error",
"text": "Github Credentials are Missing. Please solve this issue and try again.", "text": "Github Credentials are Missing. Please solve this issue and try again.",
"updated": 1620591786589 "updated": 1620591786589,
"translations": [
{
"language": "DE",
"text": "Die Github-Anmeldeinformationen (Github Credentials) fehlen. Bitte lösen Sie dieses Problem und versuchen Sie es erneut.",
"updated": 1637872324423
}
]
}, },
{ {
"style": "Text", "style": "Text",
@@ -32,7 +42,10 @@
{ {
"language": "ES", "language": "ES",
"text": "Para resolver este problema, siga las siguientes instrucciones sobre cómo configurar sus credenciales de GitHub.com para que el sistema pueda automatizar las tareas necesarias para enviar sus contribuciones al repositorio principal del proyecto Superalgos.", "text": "Para resolver este problema, siga las siguientes instrucciones sobre cómo configurar sus credenciales de GitHub.com para que el sistema pueda automatizar las tareas necesarias para enviar sus contribuciones al repositorio principal del proyecto Superalgos.",
"updated": 1637852010003 "updated": 1637852010003}, {
"language": "DE",
"text": "Um dieses Problem zu lösen, befolgen Sie die folgenden Anweisungen, um Ihre GitHub.com-Anmeldedaten (GitHub.com credentials) einzurichten, damit das System die Aufgaben automatisieren kann, die erforderlich sind, um Ihre Beiträge in das main repository des Superalgos-Projekts einzureichen.",
"updated": 1637872432244
} }
] ]
}, },
@@ -43,7 +56,14 @@
{ {
"style": "Error", "style": "Error",
"text": "Github Credentials are Missing. The Hierarchy APIs was not found at your workspace. Please create it following the guide below and try again.", "text": "Github Credentials are Missing. The Hierarchy APIs was not found at your workspace. Please create it following the guide below and try again.",
"updated": 1620591795457 "updated": 1620591795457,
"translations": [
{
"language": "DE",
"text": "Die Github-Anmeldeinformationen (Github Credentials) fehlen. Die Hierarchy APIs wurden in Ihrem Workspace nicht gefunden. Bitte erstellen Sie sie gemäß der unten stehenden Anleitung und versuchen Sie es erneut.",
"updated": 1637872483733
}
]
}, },
{ {
"style": "Anchor", "style": "Anchor",
@@ -53,7 +73,14 @@
{ {
"style": "Error", "style": "Error",
"text": "Github Credentials are Missing. The Hierarchy APIs does not have a child of type Github API. Please create it following the guide below and try again.", "text": "Github Credentials are Missing. The Hierarchy APIs does not have a child of type Github API. Please create it following the guide below and try again.",
"updated": 1620591802895 "updated": 1620591802895,
"translations": [
{
"language": "DE",
"text": "Github-Anmeldeinformationen (Github Credentials) fehlen. Die Hierarchie-APIs haben kein child (Node welche von Node abgeht) vom Typ Github API. Bitte erstellen Sie sie gemäß der unten stehenden Anleitung und versuchen Sie es erneut.",
"updated": 1637872623504
}
]
}, },
{ {
"style": "Anchor", "style": "Anchor",
@@ -63,7 +90,14 @@
{ {
"style": "Error", "style": "Error",
"text": "Github Credentials are Missing. The property username is missing or empty. Please create it following the guide below and try again.", "text": "Github Credentials are Missing. The property username is missing or empty. Please create it following the guide below and try again.",
"updated": 1620591810613 "updated": 1620591810613,
"translations": [
{
"language": "DE",
"text": "Github-Anmeldeinformationen (Github Credentials) fehlen. Die Eigenschaft username fehlt oder ist leer. Bitte erstellen Sie sie gemäß der unten stehenden Anleitung und versuchen Sie es erneut.",
"updated": 1637872711952
}
]
}, },
{ {
"style": "Anchor", "style": "Anchor",
@@ -73,7 +107,14 @@
{ {
"style": "Error", "style": "Error",
"text": "Github Credentials are Missing. The property token is missing or empty. Please create it following the guide below and try again.", "text": "Github Credentials are Missing. The property token is missing or empty. Please create it following the guide below and try again.",
"updated": 1610559900470 "updated": 1610559900470,
"translations": [
{
"language": "DE",
"text": "Github-Anmeldeinformationen (Github Credentials) fehlen. Das Property-Token fehlt oder ist leer. Bitte erstellen Sie sie gemäß der unten stehenden Anleitung und versuchen Sie es erneut.",
"updated": 1637872739244
}
]
}, },
{ {
"style": "Text", "style": "Text",
@@ -81,7 +122,14 @@
}, },
{ {
"style": "Title", "style": "Title",
"text": "Applies to" "text": "Applies to",
"translations": [
{
"language": "DE",
"text": "Gilt für:",
"updated": 1637872755816
}
]
}, },
{ {
"style": "List", "style": "List",
@@ -101,4 +149,4 @@
"updated": 1609945833844 "updated": 1609945833844
} }
] ]
} }
@@ -4,7 +4,14 @@
"type": "App Error - Update Failed", "type": "App Error - Update Failed",
"definition": { "definition": {
"text": "There was a problem trying to update the Client. Check the console for errors and make sure your GitHub.com credentials are correct.", "text": "There was a problem trying to update the Client. Check the console for errors and make sure your GitHub.com credentials are correct.",
"updated": 1611129344277 "updated": 1611129344277,
"translations": [
{
"language": "DE",
"text": "Es gab ein Problem beim aktualisieren ihres client`s. Überprüfen sie die Konsole nach error-Meldungen und vergewissern sie sich, das ihre Github.com credentials korrekt sind.",
"updated": 1637772440444
}
]
}, },
"paragraphs": [ "paragraphs": [
{ {
@@ -447,13 +447,13 @@
}, },
{ {
"style": "Subtitle", "style": "Subtitle",
"text": "Linux and iOS", "text": "Linux and macOS",
"updated": 1621085154588, "updated": 1637872934184,
"translations": [ "translations": [
{ {
"language": "DE", "language": "DE",
"text": "Linux und iOS", "text": "Linux und macOS",
"updated": 1636813726982 "updated": 1637873000919
} }
] ]
}, },
@@ -11,6 +11,11 @@
"text": "Use F11 to zoom in to the code once it stops at the breaking point, and use F5 to take it step by step forward. ", "text": "Use F11 to zoom in to the code once it stops at the breaking point, and use F5 to take it step by step forward. ",
"updated": 1614338803641, "updated": 1614338803641,
"style": "Definition" "style": "Definition"
},
{
"language": "DE",
"text": "Verwenden Sie F11, um in den Code zu zoomen, sobald er am breaking point anhält, und verwenden Sie F5, um ihn Schritt für Schritt weiterzuverfolgen.",
"updated": 1637875078405
} }
] ]
}, },
@@ -18,12 +23,26 @@
{ {
"style": "Title", "style": "Title",
"text": "Ssssh, be quiet... wait for it...", "text": "Ssssh, be quiet... wait for it...",
"updated": 1614512153973 "updated": 1614512153973,
"translations": [
{
"language": "DE",
"text": "Pssst, sei still... warte ...",
"updated": 1637875098578
}
]
}, },
{ {
"style": "Text", "style": "Text",
"text": "As soon as the data for your indicator is being processed, your IDE will pause the process at the break point we set earlier...", "text": "As soon as the data for your indicator is being processed, your IDE will pause the process at the break point we set earlier...",
"updated": 1614512188902 "updated": 1614512188902,
"translations": [
{
"language": "DE",
"text": "Sobald die Daten für Ihren Indikator verarbeitet werden, hält Ihre IDE den Prozess an dem zuvor festgelegten break point an...",
"updated": 1637875140804
}
]
}, },
{ {
"style": "Javascript", "style": "Javascript",
@@ -31,12 +50,26 @@
}, },
{ {
"style": "Text", "style": "Text",
"text": "... allowing you to zoom in to the details what's really going on." "text": "... allowing you to zoom in to the details what's really going on.",
"translations": [
{
"language": "DE",
"text": "...so dass Sie in die Details zoomen können, um zu sehen was wirklich vor sich geht.",
"updated": 1637875228203
}
]
}, },
{ {
"style": "Text", "style": "Text",
"text": "Keep an eye out for when your Breaking point changes from a dot to an arrow.", "text": "Keep an eye out for when your Breaking point changes from a dot to an arrow.",
"updated": 1614334261604 "updated": 1614334261604,
"translations": [
{
"language": "DE",
"text": "Achten Sie darauf, wann Ihr Breaking Point von einem Punkt zu einem Pfeil wird.",
"updated": 1637875252248
}
]
}, },
{ {
"style": "Png", "style": "Png",
@@ -50,15 +83,36 @@
}, },
{ {
"style": "Text", "style": "Text",
"text": "Use F11 to zoom into the code and F5 to step forward." "text": "Use F11 to zoom into the code and F5 to step forward.",
"translations": [
{
"language": "DE",
"text": "Benutze F11 um in den code zu zoomen und F5 um einen Schritt weiterzugehen.",
"updated": 1637875286767
}
]
}, },
{ {
"style": "Text", "style": "Text",
"text": "Keep stepping forward to follow the flow of data." "text": "Keep stepping forward to follow the flow of data.",
"translations": [
{
"language": "DE",
"text": "Treten Sie weiter vor, um dem Datenfluss zu folgen.",
"updated": 1637875300199
}
]
}, },
{ {
"style": "Text", "style": "Text",
"text": "Monitor what's going on in the code, and hover over your variables to check what values they get." "text": "Monitor what's going on in the code, and hover over your variables to check what values they get.",
"translations": [
{
"language": "DE",
"text": "Beobachten Sie, was im Code vor sich geht, und schweben sie mit ihrer Maus über Ihre Variablen, um zu sehen, welche Werte sie erhalten.",
"updated": 1637875367673
}
]
}, },
{ {
"style": "Png", "style": "Png",
@@ -66,9 +120,16 @@
"updated": 1623411423507 "updated": 1623411423507
}, },
{ {
"style": "Note", "style": "Success",
"text": "Tip: In cases where the values turn to \"NaN\" or stays \"undefined\" without a logical reason - There's a point to raise doubt.", "text": "In cases where the values turn to \"NaN\" or stays \"undefined\" without a logical reason - There's a point to raise doubt.",
"updated": 1614512232138 "updated": 1637882309343,
"translations": [
{
"language": "DE",
"text": "In Fällen, in denen die Werte ohne logischen Grund zu \"NaN\" werden oder \"undefiniert\" bleiben, ist es angebracht, Zweifel zu äußern.",
"updated": 1637875568347
}
]
} }
] ]
} }
@@ -28,6 +28,11 @@
"language": "DE", "language": "DE",
"text": "Der Befehl docs.save war erfolgreich und alle Änderungen wurden auf dem Superalgos Client gespeichert.", "text": "Der Befehl docs.save war erfolgreich und alle Änderungen wurden auf dem Superalgos Client gespeichert.",
"updated": 1633901325278 "updated": 1633901325278
},
{
"language": "RU",
"text": "Команда docs.save была выполнена успешно, и все изменения были сохранены в клиенте (Client) Superalgos .",
"updated": 1637920657694
} }
] ]
}, },
@@ -53,6 +58,11 @@
"language": "DE", "language": "DE",
"text": "Alle aktuellen Änderungen an node, concept, topic, tutorial, review, and book pages wurden auf der Festplatte gespeichert.", "text": "Alle aktuellen Änderungen an node, concept, topic, tutorial, review, and book pages wurden auf der Festplatte gespeichert.",
"updated": 1633901444521 "updated": 1633901444521
},
{
"language": "RU",
"text": "Все последние изменения на страницах узлов, концепций, тем, учебников, обзоров и книг были сохранены на диске.",
"updated": 1637920599631
} }
] ]
} }
@@ -10,6 +10,11 @@
"language": "DE", "language": "DE",
"text": "Die Docs-Seiten von Superalgos und anderen integrierten Projekten sind ursprünglich in Englisch verfasst. Das System ermöglicht es den Nutzern, die Seiten auch in anderen Sprachen zu suchen und zu durchsuchen, sofern die Nutzer zuvor die entsprechenden Übersetzungen beigetragen haben.", "text": "Die Docs-Seiten von Superalgos und anderen integrierten Projekten sind ursprünglich in Englisch verfasst. Das System ermöglicht es den Nutzern, die Seiten auch in anderen Sprachen zu suchen und zu durchsuchen, sofern die Nutzer zuvor die entsprechenden Übersetzungen beigetragen haben.",
"updated": 1636750003639 "updated": 1636750003639
},
{
"language": "RU",
"text": "Страницы Docs Superalgos и других интегрированных проектов изначально написаны на английском языке. Система позволяет пользователям искать и просматривать страницы и на других языках, при условии, что пользователи предварительно предоставили соответствующие переводы.",
"updated": 1637919515814
} }
] ]
}, },
@@ -23,6 +28,11 @@
"language": "DE", "language": "DE",
"text": "Englisch gilt als Standardsprache. Wenn Sie zu einer anderen Sprache wechseln, versucht das System, den Inhalt in der neuen Sprache anzuzeigen. Wenn die Übersetzung jedoch noch nicht verfügbar ist, wird stattdessen die englische Version angezeigt.", "text": "Englisch gilt als Standardsprache. Wenn Sie zu einer anderen Sprache wechseln, versucht das System, den Inhalt in der neuen Sprache anzuzeigen. Wenn die Übersetzung jedoch noch nicht verfügbar ist, wird stattdessen die englische Version angezeigt.",
"updated": 1636750015798 "updated": 1636750015798
},
{
"language": "RU",
"text": "Английский язык считается языком по умолчанию. При переходе на другой язык система пытается показать содержимое на новом языке. Однако, если перевод еще не доступен, то вместо этого он покажет английскую версию.",
"updated": 1637919584958
} }
] ]
}, },
@@ -34,6 +44,11 @@
"language": "DE", "language": "DE",
"text": "Node types, variable names, der Titel von Seiten in den Docs und einige weitere Elemente von Superalgos werden nicht übersetzt, da sie eindeutige Bezeichner der genannten Elemente sind. Sie erhalten diese immer auf Englisch.", "text": "Node types, variable names, der Titel von Seiten in den Docs und einige weitere Elemente von Superalgos werden nicht übersetzt, da sie eindeutige Bezeichner der genannten Elemente sind. Sie erhalten diese immer auf Englisch.",
"updated": 1636750023487 "updated": 1636750023487
},
{
"language": "RU",
"text": "Типы узлов (Node), имена переменных, название страниц в Docs и несколько других элементов Superalgos могут быть переведены, так как они являются уникальными идентификаторами указанных элементов. Вы всегда получите их на английском языке.",
"updated": 1637919662038
} }
] ]
}, },
@@ -45,6 +60,11 @@
"language": "DE", "language": "DE",
"text": "Wenn Sie Übersetzungen beisteuern möchten, lesen Sie die Seite: How to Contribute Translations.", "text": "Wenn Sie Übersetzungen beisteuern möchten, lesen Sie die Seite: How to Contribute Translations.",
"updated": 1636750035891 "updated": 1636750035891
},
{
"language": "RU",
"text": "Если вы хотите внести свой вклад в переводы, прочитайте страницу Как вносить переводы (How to Contribute Translations ).",
"updated": 1637919738801
} }
] ]
}, },
@@ -57,6 +77,11 @@
"language": "DE", "language": "DE",
"text": "Um die Sprache zu wechseln, klicken Sie auf die Flaggen in der Fußzeile der Docs.", "text": "Um die Sprache zu wechseln, klicken Sie auf die Flaggen in der Fußzeile der Docs.",
"updated": 1636750056716 "updated": 1636750056716
},
{
"language": "RU",
"text": "Пользователи могут переключаться между языками с помощью ссылок/флагов, представленных в нижнем колонтитуле каждой страницы Docs.",
"updated": 1637919818588
} }
] ]
}, },
@@ -69,6 +94,11 @@
"language": "DE", "language": "DE",
"text": "Sie können nur Seiten zu den Docs hinzufügen oder löschen, wenn die Sprache auf Englisch eingestellt ist. Für die Übersetzung müssen Sie die Sprache auswählen, in die Sie übersetzen möchten. ", "text": "Sie können nur Seiten zu den Docs hinzufügen oder löschen, wenn die Sprache auf Englisch eingestellt ist. Für die Übersetzung müssen Sie die Sprache auswählen, in die Sie übersetzen möchten. ",
"updated": 1636750092775 "updated": 1636750092775
},
{
"language": "RU",
"text": "Вы можете добавлять или удалять страницы в Документах только в том случае, если для этого языка установлен английский. Для перевода вы должны выбрать язык, на который вы хотите перевести. (В данном случае русский)",
"updated": 1637919928768
} }
] ]
} }
@@ -4,30 +4,72 @@
"type": "Docs In Simplified Chinese-Mandarin", "type": "Docs In Simplified Chinese-Mandarin",
"definition": { "definition": {
"text": "The Docs pages of Superalgos and other projects integrated are originally written in English. The system allows users to search and browse pages in other languages as well, as long as users have previously contributed the corresponding translations.", "text": "The Docs pages of Superalgos and other projects integrated are originally written in English. The system allows users to search and browse pages in other languages as well, as long as users have previously contributed the corresponding translations.",
"updated": 1613820592771 "updated": 1613820592771,
"translations": [
{
"language": "DE",
"text": "Die Docs-Seiten von Superalgos und anderen integrierten Projekten sind ursprünglich in Englisch verfasst. Das System ermöglicht es den Nutzern, die Seiten auch in anderen Sprachen zu suchen und zu durchsuchen, sofern die Nutzer zuvor die entsprechenden Übersetzungen beigetragen haben.",
"updated": 1637874117986
}
]
}, },
"paragraphs": [ "paragraphs": [
{ {
"style": "Text", "style": "Text",
"text": "English is considered the default language. When you switch to a different language, the system attempts to show the content in the new language. However, if the translation is not yet available, it shows the English version instead.", "text": "English is considered the default language. When you switch to a different language, the system attempts to show the content in the new language. However, if the translation is not yet available, it shows the English version instead.",
"updated": 1613820612132 "updated": 1613820612132,
"translations": [
{
"language": "DE",
"text": "Englisch gilt als Standardsprache. Wenn Sie zu einer anderen Sprache wechseln, versucht das System, den Inhalt in der neuen Sprache anzuzeigen. Wenn die Übersetzung jedoch noch nicht verfügbar ist, wird stattdessen die englische Version angezeigt.",
"updated": 1637874156323
}
]
}, },
{ {
"style": "Text", "style": "Text",
"text": "Node types, variable names, the title of pages in the Docs, and a few more elements of Superalgos may not be translated, as they are unique identifiers of the said elements. You will always get those in English." "text": "Node types, variable names, the title of pages in the Docs, and a few more elements of Superalgos may not be translated, as they are unique identifiers of the said elements. You will always get those in English.",
"translations": [
{
"language": "DE",
"text": "Node types, variable names, der Titel von Seiten in den Docs und einige weitere Elemente von Superalgos werden nicht übersetzt, da sie eindeutige Bezeichner der genannten Elemente sind. Sie erhalten diese immer auf Englisch.",
"updated": 1637874166523
}
]
}, },
{ {
"style": "Success", "style": "Success",
"text": "If you wish to contribute translations, read the How to Contribute Translations page." "text": "If you wish to contribute translations, read the How to Contribute Translations page.",
"translations": [
{
"language": "DE",
"text": "Wenn Sie Übersetzungen beisteuern möchten, lesen Sie die Seite: How to Contribute Translations.",
"updated": 1637874205878
}
]
}, },
{ {
"style": "Success", "style": "Success",
"text": "To switch languages, click on the flags on the footer of the Docs." "text": "To switch languages, click on the flags on the footer of the Docs.",
"translations": [
{
"language": "DE",
"text": "Um die Sprache zu wechseln, klicken Sie auf die Flaggen in der Fußzeile der Docs.",
"updated": 1637874233687
}
]
}, },
{ {
"style": "Note", "style": "Note",
"text": "You may only add or delete pages to the Docs when the language is set to English.", "text": "You may only add or delete pages to the Docs when the language is set to English.",
"updated": 1613820648230 "updated": 1613820648230,
"translations": [
{
"language": "DE",
"text": "Note: Sie können nur Seiten zu den Dokumenten hinzufügen oder löschen, wenn die Sprache auf Englisch eingestellt ist. Für die Übersetzung müssen Sie die Sprache auswählen, in die Sie übersetzen möchten.",
"updated": 1637874245715
}
]
} }
] ]
} }
@@ -4,12 +4,26 @@
"type": "Value Zero", "type": "Value Zero",
"definition": { "definition": {
"text": "At runtime some nodes might acquire a value, and when it is expected not to be zero this type of error will pop up. To avoid this type of error, Make sure that the Node where the error popped up never get a zero value.", "text": "At runtime some nodes might acquire a value, and when it is expected not to be zero this type of error will pop up. To avoid this type of error, Make sure that the Node where the error popped up never get a zero value.",
"updated": 1611652416098 "updated": 1611652416098,
"translations": [
{
"language": "DE",
"text": "Zur Laufzeit (runtime) können einige nodes einen Wert erhalten, und wenn erwartet wird, dass er nicht Null sein wird, wird diese Art von Fehler angezeigt. Um diese Art von Error zu vermeiden, stellen Sie sicher, dass die Node, bei dem der Fehler auftrat, niemals einen Nullwert erhält (zero value).",
"updated": 1637874566068
}
]
}, },
"paragraphs": [ "paragraphs": [
{ {
"style": "Text", "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. Then you can use docs.save to save your changes and app.contribute to send it to the main repository." "text": "Right click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository.",
"translations": [
{
"language": "DE",
"text": "Klicken Sie mit der rechten Maustaste auf \"Bearbeiten\", um in den Bearbeitungsmodus zu gelangen und diesen Text zu ändern. ENTER, um neue Absätze zu schreiben. ESC, um den Bearbeitungsmodus zu verlassen. Dann können Sie docs.save verwenden, um Ihre Änderungen zu speichern und app.contribute, um sie an das Haupt-Repository zu senden.",
"updated": 1637874594189
}
]
} }
] ]
} }
@@ -4,12 +4,26 @@
"type": "Value Zero Or Negative", "type": "Value Zero Or Negative",
"definition": { "definition": {
"text": "At runtime some nodes might acquire a value, and when it is expected not to be zero or negative this type of error will pop up. To avoid this type of error, Make sure that the Node where the error popped up never get a zero or negative value.", "text": "At runtime some nodes might acquire a value, and when it is expected not to be zero or negative this type of error will pop up. To avoid this type of error, Make sure that the Node where the error popped up never get a zero or negative value.",
"updated": 1611652451957 "updated": 1611652451957,
"translations": [
{
"language": "DE",
"text": "Zur Laufzeit können einige Nodes einen Wert erhalten, und wenn erwartet wird, dass er nicht Null oder negativ ist, wird diese Art von Fehler angezeigt. Um diese Art von Fehler zu vermeiden, stellen Sie sicher, dass die Node, bei dem der Fehler auftrat, niemals einen Null- oder Negativwert erhält.",
"updated": 1637874899636
}
]
}, },
"paragraphs": [ "paragraphs": [
{ {
"style": "Text", "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. Then you can use docs.save to save your changes and app.contribute to send it to the main repository." "text": "Right click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository.",
"translations": [
{
"language": "DE",
"text": "Klicken Sie mit der rechten Maustaste auf \"Bearbeiten\", um in den Bearbeitungsmodus zu gelangen und diesen Text zu ändern. ENTER, um neue Absätze zu schreiben. ESC, um den Bearbeitungsmodus zu verlassen. Dann können Sie docs.save verwenden, um Ihre Änderungen zu speichern und app.contribute, um sie an das Haupt-Repository zu senden.",
"updated": 1637874816277
}
]
} }
] ]
} }
@@ -4,77 +4,189 @@
"type": "Trading Farms - Set Up a Network of Nodes", "type": "Trading Farms - Set Up a Network of Nodes",
"definition": { "definition": {
"text": "Install Superalgos on each machine, to then create and set up a network node for each machine. ", "text": "Install Superalgos on each machine, to then create and set up a network node for each machine. ",
"updated": 1614352888183 "updated": 1614352888183,
"translations": [
{
"language": "DE",
"text": "Installieren Sie Superalgos auf jedem Rechner, um dann für jeden Rechner eine Netzwerknode (Netzwerk Knoten) zu erstellen und einzurichten.\nIns deutsche Übersetzt von gitforkgit.",
"updated": 1637876698345
}
]
}, },
"paragraphs": [ "paragraphs": [
{ {
"style": "Text", "style": "Text",
"text": "There are essentially two approaches from here. ", "text": "There are essentially two approaches from here. ",
"updated": 1614354810094 "updated": 1614354810094,
"translations": [
{
"language": "DE",
"text": "Von hier aus gibt es im Wesentlichen zwei Ansätze.",
"updated": 1637875828713
}
]
}, },
{ {
"style": "List", "style": "List",
"text": "Install All in One Node: The first one and probably the easiest one is to first install the markets at one Network Node and later move the branches you want to move to other Network Nodes.", "text": "Install All in One Node: The first one and probably the easiest one is to first install the markets at one Network Node and later move the branches you want to move to other Network Nodes.",
"updated": 1614354841546 "updated": 1614354841546,
"translations": [
{
"language": "DE",
"text": "All in One Node installieren: Die erste und wahrscheinlich einfachste Möglichkeit besteht darin, die Markets zunächst an einer Netzwerk node zu installieren und später die branches (Zweigstellen), die Sie verschieben möchten, zu anderen Netzwerk nodes zu verschieben.",
"updated": 1637875895046
}
]
}, },
{ {
"style": "List", "style": "List",
"text": "Install All in All Nodes: In this approach, you first create all Network Nodes and the install the markets you wish to work with, the install procedure will install each market at all nodes, so then you will need to delete all the duplicate stuff by hand." "text": "Install All in All Nodes: In this approach, you first create all Network Nodes and the install the markets you wish to work with, the install procedure will install each market at all nodes, so then you will need to delete all the duplicate stuff by hand.",
"translations": [
{
"language": "DE",
"text": "All in All Node installieren: Bei diesem Ansatz erstellen Sie zunächst alle Network Nodes und installieren dann die markets, mit denen Sie arbeiten möchten. Die Installationsprozedur installiert jeden Markt auf allen Knoten, so dass Sie anschließend alle doppelten Daten (Duplikate) von Hand löschen müssen.",
"updated": 1637875971847
}
]
}, },
{ {
"style": "Title", "style": "Title",
"text": "Install Market" "text": "Install Market",
"translations": [
{
"language": "DE",
"text": "Market installieren",
"updated": 1637875998237
}
]
}, },
{ {
"style": "Text", "style": "Text",
"text": "The procedure to setup a Network Node is by executing the Install Market menu option of a certain Market node. This is a complex procedure that will connect all the dots for you from A to Z. You can do by hand what this procedure does, but it will take you a lot of time, and you will need to know all the details of how to connect everything together.", "text": "The procedure to setup a Network Node is by executing the Install Market menu option of a certain Market node. This is a complex procedure that will connect all the dots for you from A to Z. You can do by hand what this procedure does, but it will take you a lot of time, and you will need to know all the details of how to connect everything together.",
"updated": 1617263888269 "updated": 1617263888269,
"translations": [
{
"language": "DE",
"text": "Das Verfahren zur Einrichtung einer Network node besteht darin, die Market menu option einer bestimmten Market node zu installieren. Dies ist ein komplexes Verfahren, das alle Punkte für Sie von A bis Z verbindet. Sie können dieses Verfahren auch von Hand ausführen, aber es wird Sie viel Zeit kosten, und Sie müssen alle Details kennen, um alles miteinander zu verbinden.",
"updated": 1637876433613
}
]
}, },
{ {
"style": "Important", "style": "Important",
"text": "One of the most important things to understand of this procedure is that it takes into account the things you have at the workspace at the moment you run this command. " "text": "One of the most important things to understand of this procedure is that it takes into account the things you have at the workspace at the moment you run this command. ",
"translations": [
{
"language": "DE",
"text": "Eines der wichtigsten Dinge, die Sie bei diesem Verfahren verstehen müssen, ist, dass es die Dinge berücksichtigt, die Sie zum Zeitpunkt der Ausführung dieses Befehls im Workspace haben.",
"updated": 1637876525803
}
]
}, },
{ {
"style": "Text", "style": "Text",
"text": "For example: if you have 2 trading systems, it will automatically create backtesting and live trading tasks for both of them.", "text": "For example: if you have 2 trading systems, it will automatically create backtesting and live trading tasks for both of them.",
"updated": 1617263908126 "updated": 1617263908126,
"translations": [
{
"language": "DE",
"text": "Ein Beispiel: Wenn Sie 2 trading systems haben, werden automatisch Backtesting und Live-Trading tasks für beide erstellt.",
"updated": 1637876565042
}
]
}, },
{ {
"style": "Text", "style": "Text",
"text": "The procedure will also be applied to each Network Node found at the workspace, assuming that you will later delete the Tasks or other branches you don't need. But in order to do so, you need to know what is being added as a result of this execution.", "text": "The procedure will also be applied to each Network Node found at the workspace, assuming that you will later delete the Tasks or other branches you don't need. But in order to do so, you need to know what is being added as a result of this execution.",
"updated": 1617263931507 "updated": 1617263931507,
"translations": [
{
"language": "DE",
"text": "Das Verfahren wird auch auf jede Network Node im Workspace angewandt, vorausgesetzt, Sie löschen später die tasks oder andere nicht benötigte branches. Dazu müssen Sie aber wissen, was als Ergebnis dieser Ausführung hinzugefügt wird.",
"updated": 1637876635609
}
]
}, },
{ {
"style": "Subtitle", "style": "Subtitle",
"text": "At the LAN Network Hierarchy" "text": "At the LAN Network Hierarchy",
"translations": [
{
"language": "DE",
"text": "In der LAN Network Hierarchy (LAN-Netzwerkhierarchie)",
"updated": 1637876677554
}
]
}, },
{ {
"style": "Text", "style": "Text",
"text": "Here this procedure will essentially add 2 things:", "text": "Here this procedure will essentially add 2 things:",
"updated": 1617263943061 "updated": 1617263943061,
"translations": [
{
"language": "DE",
"text": "Hier wird dieses Verfahren im Wesentlichen 2 Dinge hinzufügen:",
"updated": 1637876719719
}
]
}, },
{ {
"style": "List", "style": "List",
"text": "Tasks: This includes Backtesting, Live Trading, Learning or any other supported type of Task." "text": "Tasks: This includes Backtesting, Live Trading, Learning or any other supported type of Task.",
"translations": [
{
"language": "DE",
"text": "Tasks: Dazu gehören Backtesting, Live Trading, Learning oder jede andere unterstützte Art von Task.",
"updated": 1637876758941
}
]
}, },
{ {
"style": "List", "style": "List",
"text": "Data Products: You can think of this as references to the physical data. These definitions are what tells the system in general where the data is physically located.", "text": "Data Products: You can think of this as references to the physical data. These definitions are what tells the system in general where the data is physically located.",
"updated": 1617263962570 "updated": 1617263962570,
"translations": [
{
"language": "DE",
"text": "Data Products: Sie können sich dies als Verweise auf die physischen Daten vorstellen. Diese Definitionen sagen dem System im Allgemeinen, wo sich die Daten physisch befinden.",
"updated": 1637876822591
}
]
}, },
{ {
"style": "Subtitle", "style": "Subtitle",
"text": "At the Charting Space Hierarchy" "text": "At the Charting Space Hierarchy",
"translations": [
{
"language": "DE",
"text": "In der Charting Space Hierarchie",
"updated": 1637876836807
}
]
}, },
{ {
"style": "Text", "style": "Text",
"text": "Here this procedure will add Time Machine s with Timeline Chart s inside of them. Deeper inside this branch, you will find Layer s node, which references the Data Products at the LAN Network Hierarchy. That reference is crucial for the system to know when you turn on a Layer at the charts, where the data needs to be fetched from (which Client).", "text": "Here this procedure will add Time Machine s with Timeline Chart s inside of them. Deeper inside this branch, you will find Layer s node, which references the Data Products at the LAN Network Hierarchy. That reference is crucial for the system to know when you turn on a Layer at the charts, where the data needs to be fetched from (which Client).",
"updated": 1617263990004 "updated": 1617263990004,
"translations": [
{
"language": "DE",
"text": "Hier wird dieses Verfahren Time Machine s mit Timeline Chart s in ihnen hinzufügen. Tiefer in dieser Branch finden Sie die Node Layer s, welche auf die Data products (Datenprodukte) in der LAN Network Hierarchy verweist. Diese reference (Referenz) ist wichtig, damit das System weiß, woher die Daten geholt werden müssen (von welchem Client), wenn Sie eine Layer in den Charts (Diagrammen) einschalten.",
"updated": 1637877101462
}
]
}, },
{ {
"style": "Success", "style": "Success",
"text": "If you understand all the previous relationships, you can go ahead and install a market in all Network Node s at the same time, and then try to delete all the duplicated definitions. If you don't have all that clear, it is recommended that you install all your markets at one single Network Node and then move the branches you want from one Network Node to the other.", "text": "If you understand all the previous relationships, you can go ahead and install a market in all Network Node s at the same time, and then try to delete all the duplicated definitions. If you don't have all that clear, it is recommended that you install all your markets at one single Network Node and then move the branches you want from one Network Node to the other.",
"updated": 1617264010597 "updated": 1617264010597,
"translations": [
{
"language": "DE",
"text": "Wenn Sie alle vorherigen Beziehungen verstehen, können Sie einen Markt in allen Network Node s gleichzeitig installieren und dann versuchen, alle duplizierten Definitionen zu löschen. Wenn Ihnen das nicht klar ist, empfiehlt es sich, alle markets in einer einzigen Network Node zu installieren und dann die gewünschten branches von einer Networknode zur anderen zu verschieben.",
"updated": 1637877260476
}
]
}, },
{ {
"style": "Title", "style": "Title",
@@ -19,7 +19,14 @@
}, },
{ {
"style": "Success", "style": "Success",
"text": "Collaborate with this data mine and report issues directly at the contributor’s repository." "text": "Collaborate with this data mine and report issues directly at the contributor’s repository.",
"translations": [
{
"language": "DE",
"text": "Arbeiten Sie mit dieser Datamine zusammen und melden Sie Probleme direkt an das Repository des Mitwirkenden.",
"updated": 1637874691756
}
]
} }
] ]
} }
@@ -10,6 +10,11 @@
"language": "DE", "language": "DE",
"text": "Dieses Tutorial führt Sie durch die grundlegenden Funktionen des Charting Space, damit Sie lernen, wie Sie Ihre eigenen benutzerdefinierten Charts erstellen können.", "text": "Dieses Tutorial führt Sie durch die grundlegenden Funktionen des Charting Space, damit Sie lernen, wie Sie Ihre eigenen benutzerdefinierten Charts erstellen können.",
"updated": 1637608066574 "updated": 1637608066574
},
{
"language": "RU",
"text": "В этом Tutorial рассматриваются основные внутренние механизмы работы с Charting Space чтобы помочь вам научиться создавать собственные пользовательские графики.",
"updated": 1637912833054
} }
] ]
}, },
@@ -23,6 +28,11 @@
"language": "DE", "language": "DE",
"text": "Über dieses Tutorial:", "text": "Über dieses Tutorial:",
"updated": 1637608082763 "updated": 1637608082763
},
{
"language": "RU",
"text": "Об этом учебнике",
"updated": 1637912854224
} }
] ]
}, },
@@ -19,6 +19,11 @@
"language": "DE", "language": "DE",
"text": "Heute werden wir lernen, wie Sie Ihre eigenen benutzerdefinierten Diagramme hinzufügen können! Am Ende dieses Tutorials werden Sie über die grundlegenden Kenntnisse verfügen, die Sie benötigen, um die Möglichkeiten des Charting Space zu nutzen.", "text": "Heute werden wir lernen, wie Sie Ihre eigenen benutzerdefinierten Diagramme hinzufügen können! Am Ende dieses Tutorials werden Sie über die grundlegenden Kenntnisse verfügen, die Sie benötigen, um die Möglichkeiten des Charting Space zu nutzen.",
"updated": 1637608290435 "updated": 1637608290435
},
{
"language": "RU",
"text": "Сегодня мы узнаем, как добавить свои собственные пользовательские диаграммы! К концу этого урока у вас будут базовые знания, необходимые для раскрытия возможностей Charting Space.",
"updated": 1637913040668
} }
] ]
}, },
@@ -37,6 +42,11 @@
"language": "DE", "language": "DE",
"text": "Das charting system ist leistungsstark! Es fasst Informationen aus dem gesamten System zusammen, so dass Sie sie bequem an einem Ort visualisieren können. Wie Sie vielleicht schon gemerkt haben, gibt es bei Superalgos eine Menge beweglicher Teile. Mit dem Charting Space können Sie die spezifischen Informationen abrufen, die Sie sehen möchten.", "text": "Das charting system ist leistungsstark! Es fasst Informationen aus dem gesamten System zusammen, so dass Sie sie bequem an einem Ort visualisieren können. Wie Sie vielleicht schon gemerkt haben, gibt es bei Superalgos eine Menge beweglicher Teile. Mit dem Charting Space können Sie die spezifischen Informationen abrufen, die Sie sehen möchten.",
"updated": 1637608487988 "updated": 1637608487988
},
{
"language": "RU",
"text": "Система построения графиков очень мощная! Она собирает информацию из всей системы, чтобы вы могли удобно визуализировать ее в одном месте. Как вы уже догадались, в Superalgos очень много движущихся частей. Charting Space позволяет получить конкретную информацию, которую вы хотите увидеть.",
"updated": 1637913209029
} }
] ]
}, },
@@ -54,6 +64,11 @@
"language": "DE", "language": "DE",
"text": "Sie können verschiedene Kombinationen von Indikatoren, Backtesting- und Live Trading Ergebnissen und sogar Daten von verschiedenen Markets (Märkten) und Exchanges (Börsen) betrachten! Dank dieser Flexibilität können Sie die Charts nach Herzenslust anpassen. Ziemlich cool, oder?", "text": "Sie können verschiedene Kombinationen von Indikatoren, Backtesting- und Live Trading Ergebnissen und sogar Daten von verschiedenen Markets (Märkten) und Exchanges (Börsen) betrachten! Dank dieser Flexibilität können Sie die Charts nach Herzenslust anpassen. Ziemlich cool, oder?",
"updated": 1637608620263 "updated": 1637608620263
},
{
"language": "RU",
"text": "Вы можете просматривать различные комбинации индикаторов, результаты бэктестинга и реальной торговли Trading , даже данные с разных рынков и бирж! Такая гибкость позволяет настраивать графики по своему усмотрению. Очень круто!",
"updated": 1637913366764
} }
] ]
} }
@@ -19,6 +19,11 @@
"language": "DE", "language": "DE",
"text": "Bevor Sie mit der Erstellung von benutzerdefinierten Diagrammen beginnen, sollten Sie sicherstellen, dass Sie sich mit den Grundlagen in Superalgos vertraut gemacht haben.", "text": "Bevor Sie mit der Erstellung von benutzerdefinierten Diagrammen beginnen, sollten Sie sicherstellen, dass Sie sich mit den Grundlagen in Superalgos vertraut gemacht haben.",
"updated": 1637608746725 "updated": 1637608746725
},
{
"language": "RU",
"text": "Прежде чем приступить к созданию пользовательских графиков, необходимо убедиться, что вы знаете основы работы в Superalgos.",
"updated": 1637914097943
} }
] ]
}, },
@@ -37,24 +42,57 @@
"language": "DE", "language": "DE",
"text": "Bevor wir beginnen, geht dieses Tutorial davon aus, dass Sie die folgenden Tutorials abgeschlossen haben:", "text": "Bevor wir beginnen, geht dieses Tutorial davon aus, dass Sie die folgenden Tutorials abgeschlossen haben:",
"updated": 1637608800606 "updated": 1637608800606
},
{
"language": "RU",
"text": "Прежде чем мы начнем, в этом руководстве предполагается, что вы закончили следующие руководства:",
"updated": 1637914133306
} }
] ]
}, },
{ {
"style": "List", "style": "List",
"text": "Welcome to Superalgos Tutorial" "text": "Welcome to Superalgos Tutorial",
"translations": [
{
"language": "RU",
"text": "Welcome to Superalgos Tutorial (Добро пожаловать в учебник Superalgos)",
"updated": 1637914330246
}
]
}, },
{ {
"style": "List", "style": "List",
"text": "Basic Education Tutorial" "text": "Basic Education Tutorial",
"translations": [
{
"language": "RU",
"text": "Basic Education Tutorial (Учебный курс по базовому образованию)",
"updated": 1637914368864
}
]
}, },
{ {
"style": "List", "style": "List",
"text": "Beyond the Basics Tutorial" "text": "Beyond the Basics Tutorial",
"translations": [
{
"language": "RU",
"text": "Beyond the Basics Tutorial (За пределами базового урока)",
"updated": 1637914402201
}
]
}, },
{ {
"style": "List", "style": "List",
"text": "Install a New Market Tutorial" "text": "Install a New Market Tutorial",
"translations": [
{
"language": "RU",
"text": "Install a New Market Tutorial (Установка нового учебника по рынку)",
"updated": 1637914425622
}
]
}, },
{ {
"style": "Text", "style": "Text",
@@ -70,6 +108,11 @@
"language": "DE", "language": "DE",
"text": "Wenn Sie diese Tutorials noch nicht absolviert haben und nicht wissen, wie Sie sich in Ihrem Arbeitsbereich bewegen, kann dieses Tutorial verwirrend sein. Ich würde vorschlagen, dass Sie eine Pause einlegen und hierher zurückkommen, sobald Sie sich ein wenig auskennen.", "text": "Wenn Sie diese Tutorials noch nicht absolviert haben und nicht wissen, wie Sie sich in Ihrem Arbeitsbereich bewegen, kann dieses Tutorial verwirrend sein. Ich würde vorschlagen, dass Sie eine Pause einlegen und hierher zurückkommen, sobald Sie sich ein wenig auskennen.",
"updated": 1637609330133 "updated": 1637609330133
},
{
"language": "RU",
"text": "Если вы не прошли эти уроки и не имеете базовых знаний о том, как перемещаться в рабочей области (Workspace), этот урок может показаться вам непонятным. Я бы предложил вам сделать паузу и вернуться сюда, когда вы немного освоитесь.",
"updated": 1637914221449
} }
] ]
} }
@@ -19,6 +19,11 @@
"language": "DE", "language": "DE",
"text": "Es ist frustrierend, auf eine leere chart zu schauen. Ich bin hier, um dafür zu sorgen, dass Sie nicht das Gefühl haben, die charts Ihrer Träume nicht erstellen zu können.", "text": "Es ist frustrierend, auf eine leere chart zu schauen. Ich bin hier, um dafür zu sorgen, dass Sie nicht das Gefühl haben, die charts Ihrer Träume nicht erstellen zu können.",
"updated": 1637612228833 "updated": 1637612228833
},
{
"language": "RU",
"text": "Обидно смотреть на пустой график. Я здесь, чтобы убедиться, что вы не застрянете в настройке графиков вашей мечты.",
"updated": 1637914550680
} }
] ]
}, },
@@ -37,6 +42,11 @@
"language": "DE", "language": "DE",
"text": "Wenn Sie gerade erst in Superalgos anfangen, könnte all diese Freiheit ein wenig überwältigend sein. Superalgos erlaubt es Ihnen, fast alles zu tun, was Sie sich ausdenken können, aber es gibt einige wichtige Puzzlestücke, die an ihrem Platz sein müssen.", "text": "Wenn Sie gerade erst in Superalgos anfangen, könnte all diese Freiheit ein wenig überwältigend sein. Superalgos erlaubt es Ihnen, fast alles zu tun, was Sie sich ausdenken können, aber es gibt einige wichtige Puzzlestücke, die an ihrem Platz sein müssen.",
"updated": 1637612271526 "updated": 1637612271526
},
{
"language": "RU",
"text": "Если вы только начинаете работать в Superalgos, вся эта свобода может показаться вам немного подавляющей. Superalgos позволяет вам делать практически все, что вы можете придумать, но есть несколько ключевых частей головоломки, которые должны быть на месте.",
"updated": 1637914687650
} }
] ]
}, },
@@ -54,6 +64,11 @@
"language": "DE", "language": "DE",
"text": "Genau da komme ich ins Spiel! Meine Freunde und ich werden Ihnen zeigen, wie Sie charts (Diagramme) von Anfang bis Ende anpassen können! Wenn wir fertig sind, werden Sie die Werkzeuge haben, um charts zu erstellen, die nur durch Ihre Fantasie begrenzt sind.", "text": "Genau da komme ich ins Spiel! Meine Freunde und ich werden Ihnen zeigen, wie Sie charts (Diagramme) von Anfang bis Ende anpassen können! Wenn wir fertig sind, werden Sie die Werkzeuge haben, um charts zu erstellen, die nur durch Ihre Fantasie begrenzt sind.",
"updated": 1637612350300 "updated": 1637612350300
},
{
"language": "RU",
"text": "Вот тут-то я и прихожу на помощь! Я и мои друзья расскажем вам, как настроить диаграммы от начала до конца! К тому времени, когда мы закончим, у вас будут инструменты для создания диаграмм, ограниченные только вашим воображением.",
"updated": 1637914717905
} }
] ]
} }
@@ -19,6 +19,11 @@
"language": "DE", "language": "DE",
"text": "Ich habe einige grundlegende building blocks (Bausteine) in diesem Arbeitsbereich installiert, damit wir schnell mit der Erstellung benutzerdefinierter charts beginnen können.", "text": "Ich habe einige grundlegende building blocks (Bausteine) in diesem Arbeitsbereich installiert, damit wir schnell mit der Erstellung benutzerdefinierter charts beginnen können.",
"updated": 1637612559440 "updated": 1637612559440
},
{
"language": "RU",
"text": "Я установил несколько основных строительных блоков в этом рабочем пространстве (Workspace) чтобы мы могли быстро перейти к созданию пользовательских графиков.",
"updated": 1637914880463
} }
] ]
}, },
@@ -37,20 +42,46 @@
"language": "DE", "language": "DE",
"text": "Die von mir installierten building blocks sind:", "text": "Die von mir installierten building blocks sind:",
"updated": 1637612546766 "updated": 1637612546766
},
{
"language": "RU",
"text": "Строительные блоки, которые я установил, следующие:",
"updated": 1637914914956
} }
] ]
}, },
{ {
"style": "List", "style": "List",
"text": "Data Mine" "text": "Data Mine",
"translations": [
{
"language": "RU",
"text": "Data Mine (Шахта данных)",
"updated": 1637914966428
}
]
}, },
{ {
"style": "List", "style": "List",
"text": "Trading System " "text": "Trading System ",
"translations": [
{
"language": "RU",
"text": "Trading System (Торговая система)",
"updated": 1637914984112
}
]
}, },
{ {
"style": "List", "style": "List",
"text": "Market " "text": "Market ",
"translations": [
{
"language": "RU",
"text": "Market (Рынок)",
"updated": 1637914999664
}
]
}, },
{ {
"style": "Text", "style": "Text",
@@ -66,6 +97,11 @@
"language": "DE", "language": "DE",
"text": "Alles, was wir heute tun, wird auf diesem Basic setup aufbauen. Ich werde Ihnen zeigen, was ich installiert habe, um Ihnen eine Vorstellung davon zu geben, worauf wir heute aufbauen werden.", "text": "Alles, was wir heute tun, wird auf diesem Basic setup aufbauen. Ich werde Ihnen zeigen, was ich installiert habe, um Ihnen eine Vorstellung davon zu geben, worauf wir heute aufbauen werden.",
"updated": 1637612647749 "updated": 1637612647749
},
{
"language": "RU",
"text": "Все, что мы будем делать сегодня, будет построено на основе этой базовой установки. Я расскажу вам о том, что я установил, чтобы дать вам представление о том, на чем мы будем строить сегодня.",
"updated": 1637915029388
} }
] ]
} }
@@ -19,6 +19,11 @@
"language": "DE", "language": "DE",
"text": "Bevor wir uns Charts ansehen können, brauchen wir Daten! Ich habe ein paar Data Mines und ein Trading System installiert.", "text": "Bevor wir uns Charts ansehen können, brauchen wir Daten! Ich habe ein paar Data Mines und ein Trading System installiert.",
"updated": 1637612731757 "updated": 1637612731757
},
{
"language": "RU",
"text": "Прежде чем рассматривать графики, нам нужны данные! Я установил несколько шахт данных (Data Mines) и торговую систему (Trading System).",
"updated": 1637915147584
} }
] ]
}, },
@@ -37,6 +42,11 @@
"language": "DE", "language": "DE",
"text": "Sie sollten die Candles, Masters und Sparta data mine plugins ansehen. Diese ermöglichen uns den Zugang zu einer Reihe interessanter Indikatoren. In diesem Tutorial werden wir nur die Candles Data Mine verwenden. Meine Freunde werden Ihnen später zeigen, wie Sie charts mit den anderen data mines erstellen können. Ich habe auch das Lighting Strike Trading System Plugin installiert.", "text": "Sie sollten die Candles, Masters und Sparta data mine plugins ansehen. Diese ermöglichen uns den Zugang zu einer Reihe interessanter Indikatoren. In diesem Tutorial werden wir nur die Candles Data Mine verwenden. Meine Freunde werden Ihnen später zeigen, wie Sie charts mit den anderen data mines erstellen können. Ich habe auch das Lighting Strike Trading System Plugin installiert.",
"updated": 1637613044410 "updated": 1637613044410
},
{
"language": "RU",
"text": "Вы должны увидеть плагины Candles, Masters и Sparta data mine. Они дают нам доступ к ряду интересных индикаторов. Для этого учебника мы будем использовать только шахты данных свечей (Data Mine). Мои друзья научат вас создавать графики с использованием других шахт данных позже. Я также установил плагин торговой системы Lighting Strike (Trading System).",
"updated": 1637915564262
} }
] ]
}, },
@@ -54,6 +64,11 @@
"language": "DE", "language": "DE",
"text": "Dies ist dasselbe trading system, mit dem Sie während der Willkommens-Tutorials interagiert haben.", "text": "Dies ist dasselbe trading system, mit dem Sie während der Willkommens-Tutorials interagiert haben.",
"updated": 1637613102882 "updated": 1637613102882
},
{
"language": "RU",
"text": "Это та же самая торговая система, с которой вы взаимодействовали во время приветственных уроков.",
"updated": 1637915579748
} }
] ]
} }
@@ -19,6 +19,11 @@
"language": "DE", "language": "DE",
"text": "Vielleicht erinnern Sie sich an diese Frage aus dem Willkommenstutorial. Handeln Sie bei binance.com oder binance.us?", "text": "Vielleicht erinnern Sie sich an diese Frage aus dem Willkommenstutorial. Handeln Sie bei binance.com oder binance.us?",
"updated": 1637613425795 "updated": 1637613425795
},
{
"language": "RU",
"text": "Возможно, вы помните этот вопрос из приветственного урока. Вы торгуете на binance.com или binance.us?",
"updated": 1637915646125
} }
] ]
}, },
@@ -37,6 +42,11 @@
"language": "DE", "language": "DE",
"text": "Dieser workspace wurde mit binance.com erstellt. Wenn dies Ihr exchange ist, können Sie diesen Schritt überspringen. Wenn Ihre Daten jedoch auf binance.us gespeichert sind, müssen Sie eine kurze Anpassung vornehmen.", "text": "Dieser workspace wurde mit binance.com erstellt. Wenn dies Ihr exchange ist, können Sie diesen Schritt überspringen. Wenn Ihre Daten jedoch auf binance.us gespeichert sind, müssen Sie eine kurze Anpassung vornehmen.",
"updated": 1637613649493 "updated": 1637613649493
},
{
"language": "RU",
"text": "Это рабочее пространство было построено с использованием binance.com. Если это ваш обмен, продолжайте и пропустите этот шаг. Однако, если ваши данные хранятся на binance.us вам нужно будет сделать одну быструю настройку.",
"updated": 1637915731066
} }
] ]
}, },
@@ -54,6 +64,11 @@
"language": "DE", "language": "DE",
"text": "Konfigurieren Sie die Binance Node zu Ihrer Linken.", "text": "Konfigurieren Sie die Binance Node zu Ihrer Linken.",
"updated": 1637613673124 "updated": 1637613673124
},
{
"language": "RU",
"text": "Настройте узел Binance слева от вас.",
"updated": 1637915753924
} }
] ]
}, },
@@ -71,6 +86,11 @@
"language": "DE", "language": "DE",
"text": "Öffnen Sie die configuration und ändern Sie den CodeName in binance.us. Bewegen Sie den Mauszeiger aus der Konfigurationsblase und sie wird automatisch geschlossen und gespeichert", "text": "Öffnen Sie die configuration und ändern Sie den CodeName in binance.us. Bewegen Sie den Mauszeiger aus der Konfigurationsblase und sie wird automatisch geschlossen und gespeichert",
"updated": 1637614015199 "updated": 1637614015199
},
{
"language": "RU",
"text": "Откройте конфигурацию и измените CodeName на binanceus. Выведите указатель мыши из пузырька конфигурации, и он автоматически закроется и сохранится.",
"updated": 1637915859838
} }
] ]
}, },
@@ -88,6 +108,11 @@
"language": "DE", "language": "DE",
"text": "Ändern Sie die Bezeichnung der Node so, dass sie Binanceus lautet.", "text": "Ändern Sie die Bezeichnung der Node so, dass sie Binanceus lautet.",
"updated": 1637614035479 "updated": 1637614035479
},
{
"language": "RU",
"text": "Отредактируйте метку узла так, чтобы она читалась как Binanceus.",
"updated": 1637915855217
} }
] ]
} }
@@ -19,6 +19,11 @@
"language": "DE", "language": "DE",
"text": "Um dieses basic setup abzuschließen, habe ich den BTC/USDT-Markt für Sie installiert.", "text": "Um dieses basic setup abzuschließen, habe ich den BTC/USDT-Markt für Sie installiert.",
"updated": 1637614250929 "updated": 1637614250929
},
{
"language": "RU",
"text": "Чтобы завершить эту базовую настройку, я установил для вас рынок BTC/USDT.",
"updated": 1637916046153
} }
] ]
}, },
@@ -37,6 +42,11 @@
"language": "DE", "language": "DE",
"text": "Im Tutorial \"Install a New Market Tutorial\" haben Sie gelernt, dass die Installation eines Marktes alles einrichtet, was Sie für einen grundlegenden Superalgos Workspace benötigen. Dazu gehört das automatische Einrichten einer Backtesting Session, Live Trading Session, und von Charts für jedes Trading System, das im Workspace vorhanden ist.", "text": "Im Tutorial \"Install a New Market Tutorial\" haben Sie gelernt, dass die Installation eines Marktes alles einrichtet, was Sie für einen grundlegenden Superalgos Workspace benötigen. Dazu gehört das automatische Einrichten einer Backtesting Session, Live Trading Session, und von Charts für jedes Trading System, das im Workspace vorhanden ist.",
"updated": 1637614488304 "updated": 1637614488304
},
{
"language": "RU",
"text": "В руководстве по установке нового рынка (Install a New Market Tutorial) вы узнали, что установка рынка настраивает все необходимое для базового рабочего пространства Superalgos. Это включает в себя автоматическую настройку сеанса бэктестинга (Backtesting Session),торговой сессии в реальном времени (Live Trading Session), и графиков для каждой торговой системы (Trading System) присутствующей в рабочем пространстве.",
"updated": 1637916802936
} }
] ]
}, },
@@ -54,6 +64,11 @@
"language": "DE", "language": "DE",
"text": "Sie können dieses basic setup in ihrer jetzigen Form verwenden. Wenn Sie nach einer einfachen Möglichkeit suchen, die Dinge einzurichten, reicht es aus, eine Plugin Data Mine, ein trading system und schließlich einen Markt zu installieren, damit Sie im Handumdrehen loslegen können. Aber das ist nicht der Sinn dieses Tutorials! Schauen wir uns ein paar custom charts (Benutzerdefinierte) an!", "text": "Sie können dieses basic setup in ihrer jetzigen Form verwenden. Wenn Sie nach einer einfachen Möglichkeit suchen, die Dinge einzurichten, reicht es aus, eine Plugin Data Mine, ein trading system und schließlich einen Markt zu installieren, damit Sie im Handumdrehen loslegen können. Aber das ist nicht der Sinn dieses Tutorials! Schauen wir uns ein paar custom charts (Benutzerdefinierte) an!",
"updated": 1637614729947 "updated": 1637614729947
},
{
"language": "RU",
"text": "Вы можете использовать эту базовую установку в ее нынешнем виде. На самом деле, если вы ищете базовый способ настройки, установка плагина Data Mine, Trading System, и, наконец, установка Market позволит вам быстро начать работу. Но это не главное в этом учебнике (Tutorial)! Давайте рассмотрим некоторые пользовательские графики!",
"updated": 1637917553893
} }
] ]
} }
@@ -19,6 +19,11 @@
"language": "DE", "language": "DE",
"text": "Dieses Tutorial hilft Ihnen, Ihre erste benutzerdefinierte chart zu erstellen. Die grundlegenden Konzepte, die Sie hier lernen, werden Ihnen helfen, das Beste aus dem Charting Space herauszuholen.", "text": "Dieses Tutorial hilft Ihnen, Ihre erste benutzerdefinierte chart zu erstellen. Die grundlegenden Konzepte, die Sie hier lernen, werden Ihnen helfen, das Beste aus dem Charting Space herauszuholen.",
"updated": 1637615937010 "updated": 1637615937010
},
{
"language": "RU",
"text": "Этот учебник поможет вам настроить свою первую пользовательскую диаграмму. Основополагающие концепции, которые вы здесь изучите, помогут вам максимально использовать возможности Charting Space.",
"updated": 1637918595225
} }
] ]
}, },
@@ -37,6 +42,11 @@
"language": "DE", "language": "DE",
"text": "Insbesondere werden wir eine Time Machine mit den Indikatoren der Candles Data Mine verbinden. Diese Indikatoren werden die Kerndaten sein, die wir in unserer chart plotten (darstellen).", "text": "Insbesondere werden wir eine Time Machine mit den Indikatoren der Candles Data Mine verbinden. Diese Indikatoren werden die Kerndaten sein, die wir in unserer chart plotten (darstellen).",
"updated": 1637616024944 "updated": 1637616024944
},
{
"language": "RU",
"text": "В частности, мы собираемся подключить машину времени (Time Machine) к индикаторам шахты Candles Data Mine. Эти индикаторы будут основными данными, которые мы наносим на наш график.",
"updated": 1637918725340
} }
] ]
}, },
@@ -54,6 +64,11 @@
"language": "DE", "language": "DE",
"text": "Zum Beispiel candles, bollinger bands, supports, etc.", "text": "Zum Beispiel candles, bollinger bands, supports, etc.",
"updated": 1637616191419 "updated": 1637616191419
},
{
"language": "RU",
"text": "Например, свечи, полосы Боллинджера, поддержки и т.д.",
"updated": 1637918742832
} }
] ]
}, },
@@ -71,6 +86,11 @@
"language": "DE", "language": "DE",
"text": "Wir werden auch die Backtesting Session mit dem Lighting Strike Trading System verbinden. So können wir den Output des trading systems auch in unserem Chart sehen!", "text": "Wir werden auch die Backtesting Session mit dem Lighting Strike Trading System verbinden. So können wir den Output des trading systems auch in unserem Chart sehen!",
"updated": 1637616271842 "updated": 1637616271842
},
{
"language": "RU",
"text": "Мы также приложим сессию бэктестинга (Backtesting Session) для торговой системы (Trading System) Lighting Strike. Это позволит нам увидеть вывод торговой системы на нашем графике!",
"updated": 1637918901245
} }
] ]
} }
@@ -19,6 +19,11 @@
"language": "DE", "language": "DE",
"text": "Die erste node, welche wir heute kennenlernen werden, ist das Dashboard. Ein Dashboard hilft uns, organisiert zu bleiben.", "text": "Die erste node, welche wir heute kennenlernen werden, ist das Dashboard. Ein Dashboard hilft uns, organisiert zu bleiben.",
"updated": 1637616416519 "updated": 1637616416519
},
{
"language": "RU",
"text": "Первый узел, о котором мы сегодня узнаем, - это Dashboard. Dashboard - Приборная панель помогает нам оставаться организованными.",
"updated": 1637920880908
} }
] ]
}, },
@@ -37,6 +42,11 @@
"language": "DE", "language": "DE",
"text": "Für den Anfang möchte ich, dass Sie sich ein wenig mit dem Aufbau des Charting Space vertraut machen.", "text": "Für den Anfang möchte ich, dass Sie sich ein wenig mit dem Aufbau des Charting Space vertraut machen.",
"updated": 1637616455845 "updated": 1637616455845
},
{
"language": "RU",
"text": "Чтобы начать, я хочу, чтобы вы немного освоились с тем, как настроено пространство графиков (Charting Space).",
"updated": 1637920928928
} }
] ]
}, },
@@ -54,6 +64,11 @@
"language": "DE", "language": "DE",
"text": "Nehmen Sie sich ein paar Minuten Zeit und sehen Sie sich in dieser Hierarchie um. Was fällt Ihnen auf?", "text": "Nehmen Sie sich ein paar Minuten Zeit und sehen Sie sich in dieser Hierarchie um. Was fällt Ihnen auf?",
"updated": 1637616473699 "updated": 1637616473699
},
{
"language": "RU",
"text": "Уделите несколько минут и оглянитесь вокруг этой иерархии. Что вы заметили?",
"updated": 1637920975675
} }
] ]
}, },
@@ -71,6 +86,11 @@
"language": "DE", "language": "DE",
"text": "Das ist richtig! Es gibt ein Dashboard für das Backtesting, eines für das Live Trading und ein drittes für Learning Tasks. Dashboards sind eine bequeme Möglichkeit, Charts nach ihrem Typ oder nach anderen Kriterien zu gruppieren.", "text": "Das ist richtig! Es gibt ein Dashboard für das Backtesting, eines für das Live Trading und ein drittes für Learning Tasks. Dashboards sind eine bequeme Möglichkeit, Charts nach ihrem Typ oder nach anderen Kriterien zu gruppieren.",
"updated": 1637616563270 "updated": 1637616563270
},
{
"language": "RU",
"text": "Правильно! Одна приборная панель (Dashboard) настроена для бэктестинга, другая - для реальной торговли Live (Trading), а третья - для учебных задач (Learning Tasks). Приборные панели - это удобный способ группировки графиков по типу или любым другим критериям, если на то пошло.",
"updated": 1637921124261
} }
] ]
}, },
@@ -35,8 +35,8 @@
}, },
{ {
"language": "DE", "language": "DE",
"text": "Der Knoten Data Tasks steuert alle für diesen Netzwerkknoten definierten Data-Mining-Aufgaben.", "text": "Die Data Tasks node steuert alle für diese LAN-Netzwerk node definierten Data-Mining-Aufgaben (Data Mining Tasks).",
"updated": 1634162078401, "updated": 1637873413099,
"style": "Definition" "style": "Definition"
}, },
{ {
@@ -122,6 +122,7 @@ function newFoundationsFunctionLibraryTaskFunctions() {
'Trading Bot Instance->' + 'Trading Bot Instance->' +
'Learning Bot Instance->' + 'Learning Bot Instance->' +
'Sensor Process Instance->Time Frames Filter->API Data Fetcher Process Instance->Indicator Process Instance->Trading Process Instance->Learning Process Instance->' + 'Sensor Process Instance->Time Frames Filter->API Data Fetcher Process Instance->Indicator Process Instance->Trading Process Instance->Learning Process Instance->' +
'Social Trading Bot Reference->Social Trading Bot->Signing Account->' +
'Execution Started Event->' + 'Execution Started Event->' +
'Key Reference->Exchange Account Key->' + 'Key Reference->Exchange Account Key->' +
'Task Manager->' + 'Task Manager->' +
@@ -1,7 +1,7 @@
{ {
"type": "User Profile", "type": "User Profile",
"name": "Barrypair", "name": "Barrypair",
"config": "{\n \"signature\": {\n \"message\": \"Barrypair\",\n \"messageHash\": \"0x0ecb1ac0ac1e562c992030442ebfd224a28cc4d1c37c87f3b4ecaaae543049d6\",\n \"v\": \"0x1b\",\n \"r\": \"0x6f38aba8879d6e46e48030c49e5714e5ffb36da28be92c324b3bdc94271dc9d6\",\n \"s\": \"0x3cfa1f0de3f3239565e35c094bf51728b39a84c52d0b5f2e6a6f52414bc37774\",\n \"signature\": \"0x6f38aba8879d6e46e48030c49e5714e5ffb36da28be92c324b3bdc94271dc9d63cfa1f0de3f3239565e35c094bf51728b39a84c52d0b5f2e6a6f52414bc377741b\"\n },\n \"codeName\": \"Barrypair\"\n}", "config": "{\r\n \"signature\": {\r\n \"message\": \"Barrypair\",\r\n \"messageHash\": \"0x0ecb1ac0ac1e562c992030442ebfd224a28cc4d1c37c87f3b4ecaaae543049d6\",\r\n \"v\": \"0x1b\",\r\n \"r\": \"0x6f38aba8879d6e46e48030c49e5714e5ffb36da28be92c324b3bdc94271dc9d6\",\r\n \"s\": \"0x3cfa1f0de3f3239565e35c094bf51728b39a84c52d0b5f2e6a6f52414bc37774\",\r\n \"signature\": \"0x6f38aba8879d6e46e48030c49e5714e5ffb36da28be92c324b3bdc94271dc9d63cfa1f0de3f3239565e35c094bf51728b39a84c52d0b5f2e6a6f52414bc377741b\"\r\n },\r\n \"codeName\": \"Barrypair\"\r\n}",
"project": "Governance", "project": "Governance",
"tokenPowerSwitch": { "tokenPowerSwitch": {
"type": "Token Power Switch", "type": "Token Power Switch",
@@ -26,11 +26,11 @@
"id": "8ba512e1-0a27-4096-aa10-8a95691ba19d", "id": "8ba512e1-0a27-4096-aa10-8a95691ba19d",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 8603.914169494044, "x": 4325.839303183882,
"y": 32600 "y": 32600
}, },
"targetPosition": { "targetPosition": {
"x": 8863.721790629375, "x": 4585.646924319214,
"y": 32750 "y": 32750
}, },
"floatingObject": { "floatingObject": {
@@ -49,11 +49,11 @@
"id": "0ff2bdaf-c589-46fa-8637-c340abd900d1", "id": "0ff2bdaf-c589-46fa-8637-c340abd900d1",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 8863.721790629375, "x": 4585.646924319214,
"y": 32750 "y": 32750
}, },
"targetPosition": { "targetPosition": {
"x": 9123.529411764706, "x": 4845.454545454546,
"y": 32900 "y": 32900
}, },
"floatingObject": { "floatingObject": {
@@ -72,7 +72,7 @@
"githubProgram": { "githubProgram": {
"type": "Github Program", "type": "Github Program",
"name": "New Github Program", "name": "New Github Program",
"config": "{\n \"username\": \"Barrypair\",\n \"token\": \"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\"\n}", "config": "{\n \"username\": \"Barrypair\",\n \"token\": \"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\"\n}",
"project": "Governance", "project": "Governance",
"tokensAwarded": { "tokensAwarded": {
"type": "Tokens Awarded", "type": "Tokens Awarded",
@@ -81,11 +81,11 @@
"id": "62a6efdc-2726-47f4-98dc-17824ac8ebe0", "id": "62a6efdc-2726-47f4-98dc-17824ac8ebe0",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 9643.144654035368, "x": 5365.06978772521,
"y": 32600 "y": 32600
}, },
"targetPosition": { "targetPosition": {
"x": 9383.337032900037, "x": 5105.262166589878,
"y": 32750 "y": 32750
}, },
"floatingObject": { "floatingObject": {
@@ -104,11 +104,11 @@
"id": "7a3603dd-07af-4491-b214-0e3475de4287", "id": "7a3603dd-07af-4491-b214-0e3475de4287",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 9383.337032900037, "x": 5105.262166589878,
"y": 32750 "y": 32750
}, },
"targetPosition": { "targetPosition": {
"x": 9123.529411764706, "x": 4845.454545454546,
"y": 32900 "y": 32900
}, },
"floatingObject": { "floatingObject": {
@@ -127,11 +127,11 @@
"id": "a1b78940-f1ec-4e19-8486-8c792798be91", "id": "a1b78940-f1ec-4e19-8486-8c792798be91",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 9123.529411764706, "x": 4845.454545454546,
"y": 32900 "y": 32900
}, },
"targetPosition": { "targetPosition": {
"x": 9123.529411764706, "x": 4845.454545454546,
"y": 33200 "y": 33200
}, },
"floatingObject": { "floatingObject": {
@@ -166,11 +166,11 @@
"id": "222d1751-bf6b-40df-a7eb-ff307b6c0ac1", "id": "222d1751-bf6b-40df-a7eb-ff307b6c0ac1",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 9123.529411764706, "x": 4845.454545454546,
"y": 32900 "y": 32900
}, },
"targetPosition": { "targetPosition": {
"x": 9423.529411764706, "x": 5145.454545454546,
"y": 32900 "y": 32900
}, },
"floatingObject": { "floatingObject": {
@@ -207,11 +207,11 @@
"id": "b61ae0d0-86b4-4738-906e-00b08db88ab0", "id": "b61ae0d0-86b4-4738-906e-00b08db88ab0",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 9423.529411764706, "x": 5145.454545454546,
"y": 32600 "y": 32600
}, },
"targetPosition": { "targetPosition": {
"x": 9423.529411764706, "x": 5145.454545454546,
"y": 32900 "y": 32900
}, },
"floatingObject": { "floatingObject": {
@@ -238,7 +238,7 @@
"y": 25634.615242270662 "y": 25634.615242270662
}, },
"targetPosition": { "targetPosition": {
"x": 9423.529411764706, "x": 5145.454545454546,
"y": 32900 "y": 32900
}, },
"floatingObject": { "floatingObject": {
@@ -257,11 +257,11 @@
"id": "79381140-de0d-4b79-801e-b0377bdb1677", "id": "79381140-de0d-4b79-801e-b0377bdb1677",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 9423.529411764706, "x": 5145.454545454546,
"y": 32900 "y": 32900
}, },
"targetPosition": { "targetPosition": {
"x": 9423.529411764706, "x": 5145.454545454546,
"y": 33200 "y": 33200
}, },
"floatingObject": { "floatingObject": {
@@ -295,7 +295,7 @@
"y": 25778.615242270662 "y": 25778.615242270662
}, },
"targetPosition": { "targetPosition": {
"x": 9723.529411764706, "x": 5445.454545454546,
"y": 33200 "y": 33200
}, },
"floatingObject": { "floatingObject": {
@@ -332,11 +332,11 @@
"id": "4e9a955b-e97a-409c-b50e-34cc68dea1a5", "id": "4e9a955b-e97a-409c-b50e-34cc68dea1a5",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 10023.529411764706, "x": 5745.454545454546,
"y": 33200 "y": 33200
}, },
"targetPosition": { "targetPosition": {
"x": 9723.529411764706, "x": 5445.454545454546,
"y": 33200 "y": 33200
}, },
"floatingObject": { "floatingObject": {
@@ -363,7 +363,7 @@
"y": 25994.615242270662 "y": 25994.615242270662
}, },
"targetPosition": { "targetPosition": {
"x": 9723.529411764706, "x": 5445.454545454546,
"y": 33200 "y": 33200
}, },
"floatingObject": { "floatingObject": {
@@ -382,11 +382,11 @@
"id": "9c974ddc-c9b9-486e-908d-0ddf787d079b", "id": "9c974ddc-c9b9-486e-908d-0ddf787d079b",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 9723.529411764706, "x": 5445.454545454546,
"y": 33200 "y": 33200
}, },
"targetPosition": { "targetPosition": {
"x": 9423.529411764706, "x": 5145.454545454546,
"y": 33200 "y": 33200
}, },
"floatingObject": { "floatingObject": {
@@ -416,11 +416,11 @@
"id": "37be08da-377c-4f2c-95c4-9ac090d61543", "id": "37be08da-377c-4f2c-95c4-9ac090d61543",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 9723.529411764706, "x": 5445.454545454546,
"y": 33500 "y": 33500
}, },
"targetPosition": { "targetPosition": {
"x": 9423.529411764706, "x": 5145.454545454546,
"y": 33500 "y": 33500
}, },
"floatingObject": { "floatingObject": {
@@ -457,11 +457,11 @@
"id": "994b4c49-04cb-484f-b9f5-63382deb8213", "id": "994b4c49-04cb-484f-b9f5-63382deb8213",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 9423.529411764706, "x": 5145.454545454546,
"y": 33800 "y": 33800
}, },
"targetPosition": { "targetPosition": {
"x": 9423.529411764706, "x": 5145.454545454546,
"y": 33500 "y": 33500
}, },
"floatingObject": { "floatingObject": {
@@ -488,7 +488,7 @@
"y": 25706 "y": 25706
}, },
"targetPosition": { "targetPosition": {
"x": 9423.529411764706, "x": 5145.454545454546,
"y": 33500 "y": 33500
}, },
"floatingObject": { "floatingObject": {
@@ -507,11 +507,11 @@
"id": "f0ed57dd-284d-4fad-bd9e-3f05bd5c3674", "id": "f0ed57dd-284d-4fad-bd9e-3f05bd5c3674",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 9423.529411764706, "x": 5145.454545454546,
"y": 33500 "y": 33500
}, },
"targetPosition": { "targetPosition": {
"x": 9423.529411764706, "x": 5145.454545454546,
"y": 33200 "y": 33200
}, },
"floatingObject": { "floatingObject": {
@@ -530,11 +530,11 @@
"id": "29fb441b-7e97-4ea1-91ea-61e386477b76", "id": "29fb441b-7e97-4ea1-91ea-61e386477b76",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 9423.529411764706, "x": 5145.454545454546,
"y": 33200 "y": 33200
}, },
"targetPosition": { "targetPosition": {
"x": 9123.529411764706, "x": 4845.454545454546,
"y": 33200 "y": 33200
}, },
"floatingObject": { "floatingObject": {
@@ -558,11 +558,11 @@
"id": "0f1aaa78-85f6-420c-a4e1-e425b33dc206", "id": "0f1aaa78-85f6-420c-a4e1-e425b33dc206",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 9123.529411764706, "x": 4845.454545454546,
"y": 33500 "y": 33500
}, },
"targetPosition": { "targetPosition": {
"x": 9123.529411764706, "x": 4845.454545454546,
"y": 33200 "y": 33200
}, },
"floatingObject": { "floatingObject": {
@@ -581,11 +581,11 @@
"id": "b3560d24-9916-46c6-93d2-85d0eb47b2eb", "id": "b3560d24-9916-46c6-93d2-85d0eb47b2eb",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 9123.529411764706, "x": 4845.454545454546,
"y": 33200 "y": 33200
}, },
"targetPosition": { "targetPosition": {
"x": 8823.529411764706, "x": 4545.454545454546,
"y": 33200 "y": 33200
}, },
"floatingObject": { "floatingObject": {
@@ -608,11 +608,11 @@
"id": "2eb9915f-6d47-45f5-9d9c-58d5cd685455", "id": "2eb9915f-6d47-45f5-9d9c-58d5cd685455",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 8523.529411764706, "x": 4245.454545454546,
"y": 33200 "y": 33200
}, },
"targetPosition": { "targetPosition": {
"x": 8823.529411764706, "x": 4545.454545454546,
"y": 33200 "y": 33200
}, },
"floatingObject": { "floatingObject": {
@@ -631,11 +631,11 @@
"id": "33095088-c43b-4a78-bf60-9dff8a6c14a8", "id": "33095088-c43b-4a78-bf60-9dff8a6c14a8",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 8823.529411764706, "x": 4545.454545454546,
"y": 33200 "y": 33200
}, },
"targetPosition": { "targetPosition": {
"x": 8823.529411764706, "x": 4545.454545454546,
"y": 33200 "y": 33200
}, },
"floatingObject": { "floatingObject": {
@@ -18166,17 +18166,17 @@
"id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db", "id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db",
"savedPayload": { "savedPayload": {
"position": { "position": {
"x": 37500, "x": 33333.333333333336,
"y": 18800 "y": 18800
}, },
"targetPosition": { "targetPosition": {
"x": 37500, "x": 33333.333333333336,
"y": 18800 "y": 18800
}, },
"floatingObject": { "floatingObject": {
"isPinned": false, "isPinned": false,
"isFrozen": false, "isFrozen": false,
"isCollapsed": false, "isCollapsed": true,
"angleToParent": 1, "angleToParent": 1,
"distanceToParent": 3, "distanceToParent": 3,
"arrangementStyle": 0 "arrangementStyle": 0
@@ -18,6 +18,16 @@
"relatedUiObject": "Social Trading Bots Following", "relatedUiObject": "Social Trading Bots Following",
"relatedUiObjectProject": "Governance" "relatedUiObjectProject": "Governance"
}, },
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "availableSignals",
"actionFunction": "payload.executeAction",
"label": "Add Available Signals",
"relatedUiObject": "Available Signals",
"relatedUiObjectProject": "Trading-Signals"
},
{ {
"action": "Delete UI Object", "action": "Delete UI Object",
"actionProject": "Visual-Scripting", "actionProject": "Visual-Scripting",
@@ -53,6 +63,12 @@
"type": "node", "type": "node",
"childType": "Signing Account", "childType": "Signing Account",
"autoAdd": false "autoAdd": false
},
{
"name": "availableSignals",
"type": "node",
"childType": "Available Signals",
"autoAdd": false
} }
] ]
} }
@@ -20,6 +20,11 @@
"language": "TR", "language": "TR",
"text": "Burada, Yönetişim Projesi ( Governance Project ) hiyerarşisinin başındayız. Hadi o profili oluşturalım!", "text": "Burada, Yönetişim Projesi ( Governance Project ) hiyerarşisinin başındayız. Hadi o profili oluşturalım!",
"updated": 1637159854108 "updated": 1637159854108
},
{
"language": "DE",
"text": "Hier befinden wir uns an der Spitze der Governance Project hierarchy. Lassen Sie uns das Profil erstellen!",
"updated": 1637873509200
} }
] ]
}, },
@@ -39,6 +44,11 @@
"language": "TR", "language": "TR",
"text": "Profil Oluşturucu Ekle ( Profile Constructor ) düğmesini tıklayın.", "text": "Profil Oluşturucu Ekle ( Profile Constructor ) düğmesini tıklayın.",
"updated": 1637159899288 "updated": 1637159899288
},
{
"language": "DE",
"text": "Klicken Sie auf die Schaltfläche Add Profile Constructor.",
"updated": 1637873524931
} }
] ]
}, },
@@ -57,6 +67,11 @@
"language": "TR", "language": "TR",
"text": "Şimdi ortaya çıkan Profil Oluşturucu düğümünü ( Profile Constructor ), görülmesi ve üzerinde çalışılması kolay bir yere konumlandırın.", "text": "Şimdi ortaya çıkan Profil Oluşturucu düğümünü ( Profile Constructor ), görülmesi ve üzerinde çalışılması kolay bir yere konumlandırın.",
"updated": 1637159941130 "updated": 1637159941130
},
{
"language": "DE",
"text": "Positionieren Sie nun die resultierende Profile Constructor Node an einer Stelle, an der sie leicht zu sehen und zu bearbeiten ist.",
"updated": 1637873567603
} }
] ]
}, },
@@ -74,6 +89,11 @@
"language": "TR", "language": "TR",
"text": "Önemli: Kullanıcı Profilinizi oluşturmak için bu düğümü kullanacağız. Daha sonra, kurucunun üreteceği bilgilerle birlikte girdiğiniz tüm hassas bilgileri silmek için bu düğümü sileceksiniz. Bu noktada endişelenmenize gerek yok! Ne zaman sileceğinizi size bildireceğim!", "text": "Önemli: Kullanıcı Profilinizi oluşturmak için bu düğümü kullanacağız. Daha sonra, kurucunun üreteceği bilgilerle birlikte girdiğiniz tüm hassas bilgileri silmek için bu düğümü sileceksiniz. Bu noktada endişelenmenize gerek yok! Ne zaman sileceğinizi size bildireceğim!",
"updated": 1637160020895 "updated": 1637160020895
},
{
"language": "DE",
"text": "Wir werden diese Node verwenden, um Ihr Benutzerprofil (User Profile) zu erstellen. Später werden Sie diese Node löschen, um alle sensiblen Informationen, die Sie zusammen mit den vom Konstruktor generierten Informationen eingeben, zu löschen. Aber das ist im Moment kein Grund zur Sorge! Ich lasse Sie wissen, wann Sie sie löschen müssen!",
"updated": 1637873720461
} }
] ]
} }
@@ -124,6 +124,8 @@ function newGovernanceFunctionLibraryProfileConstructor() {
'User Profile', 'User Profile',
UI.projects.foundations.spaces.designSpace.workspace.workspaceNode.rootNodes UI.projects.foundations.spaces.designSpace.workspace.workspaceNode.rootNodes
) )
UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(node, userProfile)
/* /*
Set up a basic profile to start receiving benefits Set up a basic profile to start receiving benefits
*/ */
@@ -142,62 +144,6 @@ function newGovernanceFunctionLibraryProfileConstructor() {
let liquidProg = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(liquidProgs, "Liquidity Program", userProfile) let liquidProg = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(liquidProgs, "Liquidity Program", userProfile)
liquidProg.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180 liquidProg.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180
liquidProg.payload.uiObject.menu.internalClick('Add Tokens Awarded') liquidProg.payload.uiObject.menu.internalClick('Add Tokens Awarded')
/*
Check if the user already has the SA fork. If not, do it for them.
*/
const hasFork = UI.projects.governance.spaces.userProfileSpace.githubForks.get(githubUsername)
if (hasFork === undefined) {
// New user! Probably doesn't have a fork, so let's create it.
let apisNode = UI.projects.foundations.spaces.designSpace.workspace.getHierarchyHeadByNodeType('APIs')
if (apisNode === undefined) {
UI.projects.education.spaces.docsSpace.navigateTo('Governance', 'Topic', 'Gov Error - Github Credentials Missing', 'Anchor Github Credentials Missing')
return
}
if (apisNode.githubAPI === undefined) {
UI.projects.education.spaces.docsSpace.navigateTo('Governance', 'Topic', 'Gov Error - Github Credentials Missing', 'Anchor Github Credentials Missing')
return
}
let config = JSON.parse(apisNode.githubAPI.config)
if (config.username === undefined || config.username === "") {
UI.projects.education.spaces.docsSpace.navigateTo('Governance', 'Topic', 'Gov Error - Github Credentials Missing', 'Anchor Github Credentials Missing')
return
}
if (config.token === undefined || config.token === "") {
UI.projects.education.spaces.docsSpace.navigateTo('Governance', 'Topic', 'Gov Error - Github Credentials Missing', 'Anchor Github Credentials Missing')
return
}
let params = {
method: 'createGithubFork',
username: config.username,
token: config.token,
}
let url = 'GOV' // We will access the default Client GOV endpoint.
httpRequest(JSON.stringify(params), url, onResponse)
function onResponse(err, data) {
data = JSON.parse(data)
if (err.result === GLOBAL.DEFAULT_OK_RESPONSE.result && data.result === GLOBAL.DEFAULT_OK_RESPONSE.result) {
UI.projects.education.spaces.docsSpace.navigateTo('Governance', 'Topic', 'Gov Message - Automated User Profile Contribute Done')
} else {
if (data.docs === undefined) { return }
UI.projects.education.spaces.docsSpace.navigateTo(
data.docs.project,
data.docs.category,
data.docs.type,
data.docs.anchor,
undefined,
data.docs.placeholder
)
}
}
}
/* /*
We store at the User Profile the Signed githubUsername We store at the User Profile the Signed githubUsername
*/ */
@@ -217,10 +163,6 @@ function newGovernanceFunctionLibraryProfileConstructor() {
Delete the mnemonic from the Profile Constructor config. Delete the mnemonic from the Profile Constructor config.
*/ */
node.config = "{}" node.config = "{}"
/*
TODO: Let's create a nice basic profile to start with liquidity and community
*/
/* /*
Show nice message. Show nice message.
*/ */
+25
View File
@@ -1740,5 +1740,30 @@
} }
] ]
} }
},
{
"name": "Trading-Signals",
"propertyName": "tradingSignals",
"UI": {
"functionLibraries": [
{
"name": "Trading Signals Functions",
"propertyName": "tradingSignalsFunctions",
"functionName": "newSocialBotsFunctionLibraryTradingSignalsFunctions"
}
],
"utilities": []
},
"TS": {
"botModules": [
{
"name": "Trading Signals",
"propertyName": "tradingSignals",
"functionName": "newTradingSignalsBotModulesTradingSignals",
"fileName": "TradingSignals.js",
"folderName": ""
}
]
}
} }
] ]
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -0,0 +1,100 @@
{
"type": "Available Signals",
"menuItems": [
{
"action": "Configure",
"actionFunction": "uiObject.configEditor.activate",
"label": "Configure",
"iconPathOn": "configuration",
"iconPathOff": "configuration"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "triggerStageSignals",
"actionFunction": "payload.executeAction",
"label": "Add Trigger Stage Signals",
"relatedUiObject": "Trigger Stage Signals",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "openStageSignals",
"actionFunction": "payload.executeAction",
"label": "Add Open Stage Signals",
"relatedUiObject": "Open Stage Signals",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "manageStageSignals",
"actionFunction": "payload.executeAction",
"label": "Add Manage Stage Signals",
"relatedUiObject": "Manage Stage Signals",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "closeStageSignals",
"actionFunction": "payload.executeAction",
"label": "Add Close Stage Signals",
"relatedUiObject": "Close Stage Signals",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"editors": {
"config": true
},
"initialValues": {
"config": "{}"
},
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Social Trading Bot->"
},
"propertyNameAtParent": "availableSignals",
"childrenNodesProperties": [
{
"name": "triggerStageSignals",
"type": "node",
"childType": "Trigger Stage Signals",
"autoAdd": true
},
{
"name": "openStageSignals",
"type": "node",
"childType": "Open Stage Signals",
"autoAdd": true
},
{
"name": "manageStageSignals",
"type": "node",
"childType": "Manage Stage Signals",
"autoAdd": true
},
{
"name": "closeStageSignals",
"type": "node",
"childType": "Close Stage Signals",
"autoAdd": true
}
]
}
@@ -0,0 +1,35 @@
{
"type": "Cancel Order Signal",
"menuItems": [
{
"action": "Configure",
"actionFunction": "uiObject.configEditor.activate",
"label": "Configure",
"iconPathOn": "configuration",
"iconPathOff": "configuration"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"editors": {
"config": true
},
"initialValues": {
"config": "{}"
},
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Limit Buy Order Signals->Limit Sell Order Signals->Market Buy Order Signals->Market Sell Order Signals->"
},
"propertyNameAtParent": "cancelOrderSignal",
"childrenNodesProperties": []
}
@@ -0,0 +1,92 @@
{
"type": "Close Stage Signals",
"menuItems": [
{
"action": "Configure",
"actionFunction": "uiObject.configEditor.activate",
"label": "Configure",
"iconPathOn": "configuration",
"iconPathOff": "configuration"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"actionFunction": "payload.executeAction",
"label": "Add Limit Buy Order Signals",
"relatedUiObject": "Limit Buy Order Signals",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"actionFunction": "payload.executeAction",
"label": "Add Limit Sell Order Signals",
"relatedUiObject": "Limit Sell Order Signals",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"actionFunction": "payload.executeAction",
"label": "Add Market Buy Order Signals",
"relatedUiObject": "Market Buy Order Signals",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"actionFunction": "payload.executeAction",
"label": "Add Market Sell Order Signals",
"relatedUiObject": "Market Sell Order Signals",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"editors": {
"config": true
},
"initialValues": {
"config": "{}"
},
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Available Signals->"
},
"propertyNameAtParent": "closeStageSignals",
"childrenNodesProperties": [
{
"name": "limitBuyOrderSignals",
"type": "array",
"childType": "Limit Buy Order Signals",
"autoAdd": false
},
{
"name": "limitSellOrderSignals",
"type": "array",
"childType": "Limit Sell Order Signals",
"autoAdd": false
},
{
"name": "marketBuyOrderSignals",
"type": "array",
"childType": "Market Buy Order Signals",
"autoAdd": false
},
{
"name": "marketBuyOrderSignals",
"type": "array",
"childType": "Market Buy Order Signals",
"autoAdd": false
}
]
}
@@ -0,0 +1,35 @@
{
"type": "Create Order Signal",
"menuItems": [
{
"action": "Configure",
"actionFunction": "uiObject.configEditor.activate",
"label": "Configure",
"iconPathOn": "configuration",
"iconPathOff": "configuration"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"editors": {
"config": true
},
"initialValues": {
"config": "{}"
},
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Limit Buy Order Signals->Limit Sell Order Signals->Market Buy Order Signals->Market Sell Order Signals->"
},
"propertyNameAtParent": "createOrderSignal",
"childrenNodesProperties": []
}
@@ -0,0 +1,68 @@
{
"type": "Limit Buy Order Signals",
"menuItems": [
{
"action": "Configure",
"actionFunction": "uiObject.configEditor.activate",
"label": "Configure",
"iconPathOn": "configuration",
"iconPathOff": "configuration"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "createOrderSignal",
"actionFunction": "payload.executeAction",
"label": "Add Create Order Signal",
"relatedUiObject": "Create Order Signal",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "cancelOrderSignal",
"actionFunction": "payload.executeAction",
"label": "Add Cancel Order Signal",
"relatedUiObject": "Cancel Order Signal",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"editors": {
"config": true
},
"initialValues": {
"config": "{}"
},
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Open Stage Signals->Close Stage Signals->"
},
"propertyNameAtParent": "limitBuyOrderSignals",
"childrenNodesProperties": [
{
"name": "createOrderSignal",
"type": "node",
"childType": "Create Order Signal",
"autoAdd": false
},
{
"name": "cancelOrderSignal",
"type": "node",
"childType": "Cancel Order Signal",
"autoAdd": false
}
]
}
@@ -0,0 +1,68 @@
{
"type": "Limit Sell Order Signals",
"menuItems": [
{
"action": "Configure",
"actionFunction": "uiObject.configEditor.activate",
"label": "Configure",
"iconPathOn": "configuration",
"iconPathOff": "configuration"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "createOrderSignal",
"actionFunction": "payload.executeAction",
"label": "Add Create Order Signal",
"relatedUiObject": "Create Order Signal",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "cancelOrderSignal",
"actionFunction": "payload.executeAction",
"label": "Add Cancel Order Signal",
"relatedUiObject": "Cancel Order Signal",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"editors": {
"config": true
},
"initialValues": {
"config": "{}"
},
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Open Stage Signals->Close Stage Signals->"
},
"propertyNameAtParent": "limitSellOrderSignals",
"childrenNodesProperties": [
{
"name": "createOrderSignal",
"type": "node",
"childType": "Create Order Signal",
"autoAdd": false
},
{
"name": "cancelOrderSignal",
"type": "node",
"childType": "Cancel Order Signal",
"autoAdd": false
}
]
}
@@ -0,0 +1,35 @@
{
"type": "Manage Stage Signals",
"menuItems": [
{
"action": "Configure",
"actionFunction": "uiObject.configEditor.activate",
"label": "Configure",
"iconPathOn": "configuration",
"iconPathOff": "configuration"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"editors": {
"config": true
},
"initialValues": {
"config": "{}"
},
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Available Signals->"
},
"propertyNameAtParent": "manageStageSignals",
"childrenNodesProperties": []
}
@@ -0,0 +1,68 @@
{
"type": "Market Buy Order Signals",
"menuItems": [
{
"action": "Configure",
"actionFunction": "uiObject.configEditor.activate",
"label": "Configure",
"iconPathOn": "configuration",
"iconPathOff": "configuration"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "createOrderSignal",
"actionFunction": "payload.executeAction",
"label": "Add Create Order Signal",
"relatedUiObject": "Create Order Signal",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "cancelOrderSignal",
"actionFunction": "payload.executeAction",
"label": "Add Cancel Order Signal",
"relatedUiObject": "Cancel Order Signal",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"editors": {
"config": true
},
"initialValues": {
"config": "{}"
},
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Open Stage Signals->Close Stage Signals->"
},
"propertyNameAtParent": "marketBuyOrderSignals",
"childrenNodesProperties": [
{
"name": "createOrderSignal",
"type": "node",
"childType": "Create Order Signal",
"autoAdd": false
},
{
"name": "cancelOrderSignal",
"type": "node",
"childType": "Cancel Order Signal",
"autoAdd": false
}
]
}
@@ -0,0 +1,68 @@
{
"type": "Market Sell Order Signals",
"menuItems": [
{
"action": "Configure",
"actionFunction": "uiObject.configEditor.activate",
"label": "Configure",
"iconPathOn": "configuration",
"iconPathOff": "configuration"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "createOrderSignal",
"actionFunction": "payload.executeAction",
"label": "Add Create Order Signal",
"relatedUiObject": "Create Order Signal",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "cancelOrderSignal",
"actionFunction": "payload.executeAction",
"label": "Add Cancel Order Signal",
"relatedUiObject": "Cancel Order Signal",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"editors": {
"config": true
},
"initialValues": {
"config": "{}"
},
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Open Stage Signals->Close Stage Signals->"
},
"propertyNameAtParent": "marketSellOrderSignals",
"childrenNodesProperties": [
{
"name": "createOrderSignal",
"type": "node",
"childType": "Create Order Signal",
"autoAdd": false
},
{
"name": "cancelOrderSignal",
"type": "node",
"childType": "Cancel Order Signal",
"autoAdd": false
}
]
}
@@ -0,0 +1,92 @@
{
"type": "Open Stage Signals",
"menuItems": [
{
"action": "Configure",
"actionFunction": "uiObject.configEditor.activate",
"label": "Configure",
"iconPathOn": "configuration",
"iconPathOff": "configuration"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"actionFunction": "payload.executeAction",
"label": "Add Limit Buy Order Signals",
"relatedUiObject": "Limit Buy Order Signals",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"actionFunction": "payload.executeAction",
"label": "Add Limit Sell Order Signals",
"relatedUiObject": "Limit Sell Order Signals",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"actionFunction": "payload.executeAction",
"label": "Add Market Buy Order Signals",
"relatedUiObject": "Market Buy Order Signals",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"actionFunction": "payload.executeAction",
"label": "Add Market Sell Order Signals",
"relatedUiObject": "Market Sell Order Signals",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"editors": {
"config": true
},
"initialValues": {
"config": "{}"
},
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Available Signals->"
},
"propertyNameAtParent": "openStageSignals",
"childrenNodesProperties": [
{
"name": "limitBuyOrderSignals",
"type": "array",
"childType": "Limit Buy Order Signals",
"autoAdd": false
},
{
"name": "limitSellOrderSignals",
"type": "array",
"childType": "Limit Sell Order Signals",
"autoAdd": false
},
{
"name": "marketBuyOrderSignals",
"type": "array",
"childType": "Market Buy Order Signals",
"autoAdd": false
},
{
"name": "marketSellOrderSignals",
"type": "array",
"childType": "Market Sell Order Signals",
"autoAdd": false
}
]
}
@@ -0,0 +1,35 @@
{
"type": "Take Position Signal",
"menuItems": [
{
"action": "Configure",
"actionFunction": "uiObject.configEditor.activate",
"label": "Configure",
"iconPathOn": "configuration",
"iconPathOff": "configuration"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"editors": {
"config": true
},
"initialValues": {
"config": "{}"
},
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Trigger Stage Signals->"
},
"propertyNameAtParent": "takePositionSignal",
"childrenNodesProperties": []
}
@@ -0,0 +1,35 @@
{
"type": "Trigger Off Signal",
"menuItems": [
{
"action": "Configure",
"actionFunction": "uiObject.configEditor.activate",
"label": "Configure",
"iconPathOn": "configuration",
"iconPathOff": "configuration"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"editors": {
"config": true
},
"initialValues": {
"config": "{}"
},
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Trigger Stage Signals->"
},
"propertyNameAtParent": "triggerOffSignal",
"childrenNodesProperties": []
}
@@ -0,0 +1,35 @@
{
"type": "Trigger On Signal",
"menuItems": [
{
"action": "Configure",
"actionFunction": "uiObject.configEditor.activate",
"label": "Configure",
"iconPathOn": "configuration",
"iconPathOff": "configuration"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"editors": {
"config": true
},
"initialValues": {
"config": "{}"
},
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Trigger Stage Signals->"
},
"propertyNameAtParent": "triggerOnSignal",
"childrenNodesProperties": []
}
@@ -0,0 +1,84 @@
{
"type": "Trigger Stage Signals",
"menuItems": [
{
"action": "Configure",
"actionFunction": "uiObject.configEditor.activate",
"label": "Configure",
"iconPathOn": "configuration",
"iconPathOff": "configuration"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "triggerOnSignal",
"actionFunction": "payload.executeAction",
"label": "Add Trigger On Signal",
"relatedUiObject": "Trigger On Signal",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "triggerOffSignal",
"actionFunction": "payload.executeAction",
"label": "Add Trigger Off Signal",
"relatedUiObject": "Trigger Off Signal",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Add UI Object",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "takePositionSignal",
"actionFunction": "payload.executeAction",
"label": "Add Take Position Signal",
"relatedUiObject": "Take Position Signal",
"relatedUiObjectProject": "Trading-Signals"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"editors": {
"config": true
},
"initialValues": {
"config": "{}"
},
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Available Signals->"
},
"propertyNameAtParent": "triggerStageSignals",
"childrenNodesProperties": [
{
"name": "triggerOnSignal",
"type": "node",
"childType": "Trigger On Signal",
"autoAdd": true
},
{
"name": "triggerOffSignal",
"type": "node",
"childType": "Trigger Off Signal",
"autoAdd": true
},
{
"name": "takePositionSignal",
"type": "node",
"childType": "Take Position Signal",
"autoAdd": true
}
]
}
@@ -0,0 +1,128 @@
exports.newTradingSignalsBotModulesTradingSignals = function (processIndex) {
let thisObject = {
makeAnnouncements: makeAnnouncements,
initialize: initialize,
finalize: finalize
}
let tradingSystem
let tradingEngine
let sessionParameters
let taskParameters
return thisObject
function initialize() {
tradingSystem = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.tradingSystem
tradingEngine = TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SIMULATION_STATE.tradingEngine
sessionParameters = TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters
taskParameters = {
exchange: TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.parentNode.parentNode.name,
market: TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.baseAsset.referenceParent.config.codeName +
'/' +
TS.projects.foundations.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.quotedAsset.referenceParent.config.codeName
}
}
function finalize() {
tradingSystem = undefined
tradingEngine = undefined
sessionParameters = undefined
taskParameters = undefined
TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.messagesSent = undefined
}
function makeAnnouncements(node, status='Open') {
if (node === undefined) { return }
if (node.announcements === undefined) { return }
for (let i = 0; i < node.announcements.length; i++) {
let announcement = node.announcements[i]
let canAnnounce = true
// Check configuration to see if Announcement should be run at Enter or Exit of Node
// set defaults, protect against empty configurations or missing values
let onEnter = true
let onExit = false
if (announcement.config.onEnter !== undefined) {
onEnter = announcement.config.onEnter
}
if (announcement.config.onExit !== undefined) {
onExit = announcement.config.onExit
if (announcement.config.onEnter === undefined) {
onEnter = false
}
}
if ((status === 'Open' && onEnter) || (status === 'Closed' && onExit)) {
canAnnounce = true
} else {
canAnnounce = false
}
if (announcement.announcementCondition !== undefined) {
let conditionValue
try {
conditionValue = eval(announcement.announcementCondition.code)
} catch (err) {
const message = 'Announcement Condition Evaluation Error'
let docs = {
project: 'Foundations',
category: 'Topic',
type: 'TS LF Trading Bot Error - ' + message,
placeholder: {}
}
TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, err, announcement.announcementCondition.name, announcement.announcementCondition.code, undefined, undefined, undefined)
tradingSystem.addError([announcement.announcementCondition.id, err.message, docs])
}
if (conditionValue !== true) { canAnnounce = false }
}
if (canAnnounce === true) {
let text = announcement.config.text
if (announcement.announcementFormula !== undefined) {
let formulaValue
let errorMessage
try {
formulaValue = eval(announcement.announcementFormula.code)
} catch (err) {
errorMessage = err.message
const message = 'Announcement Formula Evaluation Error'
let docs = {
project: 'Foundations',
category: 'Topic',
type: 'TS LF Trading Bot Error - ' + message,
placeholder: {}
}
TS.projects.education.utilities.docsFunctions.buildPlaceholder(docs, err, announcement.announcementFormula.name, announcement.announcementFormula.code, undefined, undefined, undefined)
tradingSystem.addError([announcement.announcementFormula.id, err.message, docs])
}
if (errorMessage == undefined) { text = formulaValue }
}
if (TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots !== undefined) {
TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.socialBots.announce(text)
tradingSystem.announcements.push([announcement.id, text])
} else {
const message = 'Social Bots Node Missing'
let docs = {
project: 'Foundations',
category: 'Topic',
type: 'TS LF Trading Bot Error - ' + message,
placeholder: {}
}
tradingSystem.addError([TS.projects.foundations.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.id, message, docs])
}
}
}
}
}
@@ -0,0 +1,31 @@
function newSocialBotsActionSwitch() {
let thisObject = {
executeAction: executeAction,
initialize: initialize,
finalize: finalize
}
return thisObject
function finalize() {
}
function initialize() {
/* Nothing to initialize since a Function Library does not hold any state. */
}
async function executeAction(action) {
switch (action.name) {
case 'Send Telegram Test Message':
{
UI.projects.socialBots.functionLibraries.socialBotsFunctions.sendTelegramTestMessage(action.node, action.callBackFunction)
}
break
default: {
console.log("[WARN] Action sent to Social-Bots Action Switch does not belong here. Verify at the App Schema file of the node that triggered this action that the actionProject is pointing to the right project. -> Action = " + action.name + " -> Action Node Name = " + action.node.name)
}
}
}
}
@@ -0,0 +1,73 @@
function newSocialBotsFunctionLibraryTradingSignalsFunctions() {
let thisObject = {
sendTelegramTestMessage: sendTelegramTestMessage
}
return thisObject
function sendTelegramTestMessage(node, callBackFunction) {
let botToken = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(node.payload, 'botToken')
let chatId = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(node.payload, 'chatId')
if (botToken === undefined) {
node.payload.uiObject.setErrorMessage('botToken parameter not defined.')
callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE)
return
}
if (chatId === undefined) {
node.payload.uiObject.setErrorMessage('chatId parameter not defined.')
callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE)
return
}
let params = {
text: "Test Message from Superalgos",
chat_id: chatId
}
httpRequestJSON(JSON.stringify(params),"https://api.telegram.org/bot" + botToken + "/sendMessage", onResponse)
function onResponse(err) {
if (err.result === GLOBAL.DEFAULT_OK_RESPONSE.result) {
node.payload.uiObject.setInfoMessage('Telegram message sent.')
callBackFunction(GLOBAL.DEFAULT_OK_RESPONSE)
} else {
node.payload.uiObject.setErrorMessage('Could not send Telegram message. Error Response: ' + err.message)
callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE)
}
}
function httpRequestJSON(pContentToSend, pPath, callBackFunction) {
let xmlHttpRequest = new XMLHttpRequest();
xmlHttpRequest.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
callBackFunction(GLOBAL.DEFAULT_OK_RESPONSE, xmlHttpRequest.responseText);
return;
} else if (this.readyState === 4 && (this.status === 404 || this.status === 401 || this.status === 400)) {
callBackFunction({
result: "Fail",
message: JSON.parse(xmlHttpRequest.responseText).description,
code: JSON.parse(xmlHttpRequest.responseText).error_code
});
return;
}
};
if (pContentToSend === undefined) {
xmlHttpRequest.open("GET", pPath, true);
xmlHttpRequest.send();
} else {
try {
let blob = new Blob([pContentToSend], { type: 'application/json' });
xmlHttpRequest.open("POST", pPath, true);
xmlHttpRequest.send(blob);
} catch (err) {
if (ERROR_LOG === true) { console.log(spacePad(MODULE_NAME, 50) + " : " + "[ERROR] callServer -> err.message = " & err.message); }
callBackFunction({ result: "Fail", message: err.message })
}
}
}
}
}