diff --git a/Environment.js b/Environment.js index a599d095e..78846c598 100644 --- a/Environment.js +++ b/Environment.js @@ -17,6 +17,7 @@ exports.newEnvironment = function () { DESKTOP_WEB_SOCKETS_INTERFACE_HOST: 'localhost', PLATFORM_HTTP_INTERFACE_PORT: 34248, DESKTOP_HTTP_INTERFACE_PORT: 33248, + NETWORK_HTTP_INTERFACE_PORT: 31248, PATH_TO_DATA_STORAGE: path.join(basePath, './Platform/My-Data-Storage'), PATH_TO_PROJECTS: path.join(basePath, './Projects'), PATH_TO_LOG_FILES: path.join(basePath, './Platform/My-Log-Files'), diff --git a/Network/NetwokNode.js b/Network/NetwokNode.js index 4bd5f705c..64dcaaa88 100644 --- a/Network/NetwokNode.js +++ b/Network/NetwokNode.js @@ -6,6 +6,7 @@ exports.newNetworkNode = function newNetworkNode() { p2pNetworkPeers: undefined, p2pNetworkNode: undefined, webSocketsInterface: undefined, + httpInterface: undefined, socialGraphService: undefined, storage: undefined, run: run @@ -65,6 +66,12 @@ exports.newNetworkNode = function newNetworkNode() { thisObject.webSocketsInterface = NT.projects.network.modules.webSocketsInterface.newNetworkModulesWebSocketsInterface() thisObject.webSocketsInterface.initialize() console.log('Network Node Web Sockets Interface ........................................... Listening at port ' + JSON.parse(NT.networkNode.p2pNetworkNode.node.config).webSocketsPort) + /* + Other Network Nodes and Client Apps will communicate with this Network Node via it's HTTP Interface. + */ + thisObject.httpInterface = NT.projects.network.modules.httpInterface.newNetworkModulesHttpInterface() + thisObject.httpInterface.initialize() + console.log('Network Node Http Interface .................................................. Listening at port ' + JSON.parse(NT.networkNode.p2pNetworkNode.node.config).webPort) } } } diff --git a/NetworkRoot.js b/NetworkRoot.js index a09e3cd62..eab6a7d4e 100644 --- a/NetworkRoot.js +++ b/NetworkRoot.js @@ -47,6 +47,7 @@ exports.newNetworkRoot = function newNetworkRoot() { fs: require('fs'), path: require('path'), util: require('util'), + http: require('http'), nodeFetch: require('node-fetch'), web3: require('web3'), ws: require('ws'), diff --git a/Platform/Client/githubServer.js b/Platform/Client/githubServer.js index 79fce8b98..80464ce8a 100644 --- a/Platform/Client/githubServer.js +++ b/Platform/Client/githubServer.js @@ -79,7 +79,7 @@ exports.newGithubServer = function newGithubServer() { const octokit = new Octokit({ auth: token, - userAgent: 'Superalgos Beta 12' + userAgent: 'Superalgos v.1.0' }) await getList() @@ -207,7 +207,7 @@ exports.newGithubServer = function newGithubServer() { const { Octokit } = SA.nodeModules.octokit const octokit = new Octokit({ auth: token, - userAgent: 'Superalgos Beta 12' + userAgent: 'Superalgos v.1.0' }) await getPrList() await mergePrs() diff --git a/Platform/Client/httpInterface.js b/Platform/Client/httpInterface.js index 81e4a60af..b571cf4af 100644 --- a/Platform/Client/httpInterface.js +++ b/Platform/Client/httpInterface.js @@ -79,6 +79,16 @@ exports.newHttpInterface = function newHttpInterface() { SA.projects.foundations.utilities.httpResponses.respondWithContent(JSON.stringify(serverResponse), httpResponse) return } + case 'getUserWalletBalance': { + + let serverResponse = await PL.servers.WEB3_SERVER.getUserWalletBalance( + params.walletAddress, + params.contractAddress + ) + + SA.projects.foundations.utilities.httpResponses.respondWithContent(JSON.stringify(serverResponse), httpResponse) + return + } case 'getWalletBalances': { let serverResponse = await PL.servers.WEB3_SERVER.getWalletBalances( @@ -762,7 +772,7 @@ exports.newHttpInterface = function newHttpInterface() { const octokit = new Octokit({ auth: token, - userAgent: 'Superalgos Beta 12' + userAgent: 'Superalgos v.1.0' }) const repo = 'Superalgos' @@ -1337,7 +1347,7 @@ exports.newHttpInterface = function newHttpInterface() { const octokit = new Octokit({ auth: token, - userAgent: 'Superalgos Beta 12' + userAgent: 'Superalgos v.1.0' }) const repo = 'Superalgos' @@ -1851,7 +1861,7 @@ exports.newHttpInterface = function newHttpInterface() { let folder = unescape(requestPath[3]) let fileName = unescape(requestPath[4]) - /*Beta 12 Refactoring Code: Remove this before releasing beta 12.*/ + /*v.1.0 Refactoring Code: Remove this before releasing v.1.0.*/ if (fileName === 'Superalgos-CL.json') { fileName = 'Superalgos-PL.json' } diff --git a/Platform/Client/web3Server.js b/Platform/Client/web3Server.js index e3f7d5888..c156b7e14 100644 --- a/Platform/Client/web3Server.js +++ b/Platform/Client/web3Server.js @@ -5,6 +5,7 @@ exports.newWeb3Server = function newWeb3Server() { let thisObject = { getNetworkClientStatus: getNetworkClientStatus, createWalletAccount: createWalletAccount, + getUserWalletBalance: getUserWalletBalance, getWalletBalances: getWalletBalances, signData: signData, hashData: hashData, @@ -82,6 +83,31 @@ exports.newWeb3Server = function newWeb3Server() { } } + async function getUserWalletBalance(walletAddress, contractAddress) { + + const bscUri = 'https://bsc-dataseed.binance.org/' + const web3 = new Web3(bscUri) + + let balance + + let ABI = [{ "constant": true, "inputs": [], "name": "name", "outputs": [{ "name": "", "type": "string" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "_spender", "type": "address" }, { "name": "_value", "type": "uint256" }], "name": "approve", "outputs": [{ "name": "", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "totalSupply", "outputs": [{ "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "_from", "type": "address" }, { "name": "_to", "type": "address" }, { "name": "_value", "type": "uint256" }], "name": "transferFrom", "outputs": [{ "name": "", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "decimals", "outputs": [{ "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "unpause", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [{ "name": "account", "type": "address" }, { "name": "amount", "type": "uint256" }], "name": "mint", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [{ "name": "_value", "type": "uint256" }], "name": "burn", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "paused", "outputs": [{ "name": "", "type": "bool" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "_spender", "type": "address" }, { "name": "_subtractedValue", "type": "uint256" }], "name": "decreaseApproval", "outputs": [{ "name": "success", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [{ "name": "_owner", "type": "address" }], "name": "balanceOf", "outputs": [{ "name": "balance", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "listAddress", "type": "address" }, { "name": "isBlackListed", "type": "bool" }], "name": "blackListAddress", "outputs": [{ "name": "success", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "pause", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [{ "name": "", "type": "address" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "symbol", "outputs": [{ "name": "", "type": "string" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "_to", "type": "address" }, { "name": "_value", "type": "uint256" }], "name": "transfer", "outputs": [{ "name": "", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [{ "name": "_spender", "type": "address" }, { "name": "_addedValue", "type": "uint256" }], "name": "increaseApproval", "outputs": [{ "name": "success", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [{ "name": "_owner", "type": "address" }, { "name": "_spender", "type": "address" }], "name": "allowance", "outputs": [{ "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "newOwner", "type": "address" }], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "inputs": [{ "name": "_name", "type": "string" }, { "name": "_symbol", "type": "string" }, { "name": "_decimals", "type": "uint256" }, { "name": "_supply", "type": "uint256" }, { "name": "tokenOwner", "type": "address" }], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [{ "indexed": true, "name": "from", "type": "address" }, { "indexed": true, "name": "to", "type": "address" }, { "indexed": false, "name": "value", "type": "uint256" }], "name": "Mint", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "name": "burner", "type": "address" }, { "indexed": false, "name": "value", "type": "uint256" }], "name": "Burn", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Pause", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Unpause", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "name": "previousOwner", "type": "address" }, { "indexed": true, "name": "newOwner", "type": "address" }], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "name": "blackListed", "type": "address" }, { "indexed": false, "name": "value", "type": "bool" }], "name": "Blacklist", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "name": "owner", "type": "address" }, { "indexed": true, "name": "spender", "type": "address" }, { "indexed": false, "name": "value", "type": "uint256" }], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "name": "from", "type": "address" }, { "indexed": true, "name": "to", "type": "address" }, { "indexed": false, "name": "value", "type": "uint256" }], "name": "Transfer", "type": "event" }] + + const contractInst = new web3.eth.Contract(ABI, contractAddress) + + async function getBalance() { + balance = await contractInst.methods.balanceOf(walletAddress).call().then(result => web3.utils.fromWei(result, 'ether')) + return balance + } + + await getBalance() + + return { + walletAddress: walletAddress, + balance: balance, + result: 'Ok' + } + } + async function getWalletBalances(host, port, interface, walletDefinition) { let key = 'host (' + host + ') at port (' + port + ') via interface (' + interface + ')' @@ -303,7 +329,7 @@ exports.newWeb3Server = function newWeb3Server() { async function sendTokens(number, userProfile, fromAddress, toAddress, tokenAmount) { try { - + tokenAmount = Math.trunc(tokenAmount / 1000000000000000000) console.log('') @@ -361,12 +387,12 @@ exports.newWeb3Server = function newWeb3Server() { console.log('Transaction:', rawTransaction) let result - + result = await web3.eth.sendSignedTransaction('0x' + transaction.serialize().toString('hex')) .catch(err => { console.log('[ERROR] sendSignedTransaction -> err =' + JSON.stringify(err)) }) - + console.log('Result:', result) return result } catch (err) { diff --git a/Platform/PlatformApp.js b/Platform/PlatformApp.js index d156752dd..61d4013e4 100644 --- a/Platform/PlatformApp.js +++ b/Platform/PlatformApp.js @@ -142,7 +142,7 @@ exports.newPlatformApp = function newPlatformApp() { console.log('Http Interface .............................................. Listening at port ' + global.env.PLATFORM_HTTP_INTERFACE_PORT) console.log('') - console.log("You are running Superalgos Beta 12") + console.log("You are running Superalgos Platform v.1.0") console.log('') console.log("What's new? These are the main new features in this version:") console.log('') @@ -154,7 +154,7 @@ exports.newPlatformApp = function newPlatformApp() { console.log('Superalgos P2P Network ...................................... Will allow algo-traders to share trading signals with Superalgos users consuming these signals via a mobile app.') console.log('Real-time Trading Signals ................................... Will allow users to emit trading signals and be rewarded with SA Tokens.') console.log('Superalgos Mobile ........................................... Will allow users to consume trading signals for free and autonomously execute trades from their mobile phones.') - console.log('Ethereum Integration ........................................ Will allow mining data from an Ethereum network node, and bring it into the Superalgos workflow. [Looking for an Ethereum dev that would like to continue this line of development.]') + console.log('Portfolio Manager ........................................... Will allow a Portfolio Manager bot to supervize Trading Bots deciding where and when to increase or decrease their position sizes.]') console.log('') diff --git a/Platform/UI/Canvas.js b/Platform/UI/Canvas.js index 7a2d09b74..459e3e675 100644 --- a/Platform/UI/Canvas.js +++ b/Platform/UI/Canvas.js @@ -56,6 +56,7 @@ function newCanvas() { UI.projects.foundations.spaces.sideSpace.finalize() UI.projects.foundations.spaces.chartingSpace.finalize() UI.projects.foundations.spaces.floatingSpace.finalize() + UI.projects.foundations.spaces.codeEditorSpace.finalize() thisObject.shorcutNumbers = undefined if (browserCanvas.removeEventListener) { @@ -385,6 +386,11 @@ function newCanvas() { if (UI.projects.education !== undefined && UI.projects.education.spaces.docsSpace.isVisible === true) { return } + /* When the Code Editor is Visible, we do not process key down events of the Designer Space. */ + if (UI.projects.foundations.spaces.codeEditorSpace.isVisible === true) { + return + } + thisObject.mouse.event = event thisObject.mouse.action = 'key down' diff --git a/Platform/WebServer/Images/sa-v10-logo-horiz-dark.png b/Platform/WebServer/Images/sa-v10-logo-horiz-dark.png new file mode 100644 index 000000000..2eab06ccc Binary files /dev/null and b/Platform/WebServer/Images/sa-v10-logo-horiz-dark.png differ diff --git a/Platform/WebServer/index.html b/Platform/WebServer/index.html index 0925c901c..8eeeb113a 100644 --- a/Platform/WebServer/index.html +++ b/Platform/WebServer/index.html @@ -140,7 +140,7 @@
-
+
diff --git a/Projects/Foundations/Schemas/Docs-Concepts/P/Project/Project/project.json b/Projects/Foundations/Schemas/Docs-Concepts/P/Project/Project/project.json index 239391a9e..9ee982141 100644 --- a/Projects/Foundations/Schemas/Docs-Concepts/P/Project/Project/project.json +++ b/Projects/Foundations/Schemas/Docs-Concepts/P/Project/Project/project.json @@ -8,6 +8,11 @@ "language": "ES", "text": "La infraestructura de Superalgos integra diferentes proyectos. El objetivo principal de estas integraciones es automatizar las operaciones entre proyectos, extrayendo información valiosa del blockchain o el dominio particular de cada proyecto para ser utilizado en los sistemas de Trading.\n", "updated": 1624283023464 + }, + { + "language": "DE", + "text": "Die Superalgos-Infrastruktur integriert verschiedene Projekte. Das Hauptziel dieser Integrationen ist es, projektübergreifende Operationen zu automatisieren und wertvolle Informationen aus Blockchains oder der jeweiligen Domäne eines jeden Projekts zu extrahieren, um sie in Trading Systems zu verwenden.", + "updated": 1636669199719 } ] }, @@ -15,7 +20,14 @@ { "style": "Text", "text": "The first project is Superalgos itselft, witch provides a lowest level infraestructure that any other integrated project can freely reuse. On the pipeline we have these projects waiting to be integrated soon:", - "updated": 1609144390540 + "updated": 1609144390540, + "translations": [ + { + "language": "DE", + "text": "Das erste Projekt ist Superalgos selbst, das eine Infrastruktur der untersten Ebene bereitstellt, die jedes andere integrierte Projekt frei wiederverwenden kann. In der Pipeline haben wir diese Projekte, die darauf warten, bald integriert zu werden:", + "updated": 1636669240132 + } + ] }, { "style": "Table", @@ -24,7 +36,14 @@ }, { "style": "Text", - "text": "Once integrated, each project will provide even more infraestructure which can later be used by other projects to be integrated after that. For example, once Ethereum is fully integrated, it will enable DeFi projects to be integrated on top of it." + "text": "Once integrated, each project will provide even more infraestructure which can later be used by other projects to be integrated after that. For example, once Ethereum is fully integrated, it will enable DeFi projects to be integrated on top of it.", + "translations": [ + { + "language": "DE", + "text": "Sobald es integriert ist, wird jedes Projekt noch mehr Infrastruktur bereitstellen, die später von anderen Projekten genutzt werden kann, die danach integriert werden. Sobald beispielsweise Ethereum vollständig integriert ist, können darauf aufbauend DeFi-Projekte integriert werden.", + "updated": 1636669265115 + } + ] } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Nodes/J/Javascript/Javascript-Code/javascript-code.json b/Projects/Foundations/Schemas/Docs-Nodes/J/Javascript/Javascript-Code/javascript-code.json index 7fc0bd214..ee231c69c 100644 --- a/Projects/Foundations/Schemas/Docs-Nodes/J/Javascript/Javascript-Code/javascript-code.json +++ b/Projects/Foundations/Schemas/Docs-Nodes/J/Javascript/Javascript-Code/javascript-code.json @@ -11,10 +11,6 @@ { "style": "Text", "text": "The system allows developers great flexibility as all valid JavaScript code is allowed." - }, - { - "style": "Important", - "text": "Until a robust JavaScript editor is implemented on the UI, it is recommended to write code on an external editor and paste it in the UI code bubble to ensure consistency." } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Nodes/M/Manage/Manage-Stage/manage-stage.json b/Projects/Foundations/Schemas/Docs-Nodes/M/Manage/Manage-Stage/manage-stage.json index c56f543dd..3cda422d8 100644 --- a/Projects/Foundations/Schemas/Docs-Nodes/M/Manage/Manage-Stage/manage-stage.json +++ b/Projects/Foundations/Schemas/Docs-Nodes/M/Manage/Manage-Stage/manage-stage.json @@ -7,6 +7,11 @@ "language": "ES", "text": "El manage stage se ocupa del establecimiento y la gestión de objetivos de stop loss y take profit, tanto para proteger su capital como para aumentar la eficiencia de su sistema de trading.", "updated": 1629580869439 + }, + { + "language": "DE", + "text": "In der \" manage stage\" geht es um das Setzen und Verwalten von Stop Loss und Take Profit Zielen, sowohl zum Schutz Ihres Kapitals als auch zur Steigerung der Effizienz Ihres trading systems.", + "updated": 1636665519510 } ] }, @@ -18,16 +23,37 @@ { "style": "Title", "text": "Optionality", - "updated": 1615101510181 + "updated": 1615101510181, + "translations": [ + { + "language": "DE", + "text": "Optionalität:", + "updated": 1636665447488 + } + ] }, { "style": "Note", - "text": "This Stage is optional. That means that if you do not want to deal with Stop Loss or Take Profits at your strategy, you can just delete this node and everything will continue working just fine. If you do remove this node, what will happen at runtime is that as soon as the position is triggered, the system will detect that that the Manage Stage is undefined, and it will jump it by opening the Close Stage (if it exists, because it is also optional)" + "text": "This Stage is optional. That means that if you do not want to deal with Stop Loss or Take Profits at your strategy, you can just delete this node and everything will continue working just fine. If you do remove this node, what will happen at runtime is that as soon as the position is triggered, the system will detect that that the Manage Stage is undefined, and it will jump it by opening the Close Stage (if it exists, because it is also optional)", + "translations": [ + { + "language": "DE", + "text": "Diese \"Stage\" ist optional. Das bedeutet, dass Sie diese Node einfach löschen können, wenn Sie keine Stop-Loss- oder Take-Profits in Ihrer Strategie verwenden möchten, und alles wird weiterhin gut funktionieren. Wenn Sie diesen Knoten entfernen, wird das System zur runtime(Laufzeit), sobald die Position ausgelöst wird, feststellen, dass die Manage Stage undefiniert ist, und es wird sie überspringen, indem es zur Close Stage springt und sie öffnet (falls sie existiert, da sie ebenfalls optional ist).", + "updated": 1636665947878 + } + ] }, { "style": "Text", "text": "This is how optionality looks like at the code:", - "updated": 1615101627343 + "updated": 1615101627343, + "translations": [ + { + "language": "DE", + "text": "So sieht die Optionalität im Code aus:", + "updated": 1636666049375 + } + ] }, { "style": "Javascript", @@ -37,51 +63,135 @@ { "style": "Success", "text": "If both the Manage Stage and the Close Stage are undefined, what will happen is that whenever the Open Stage gets closed, you will exit the position.", - "updated": 1615103161873 + "updated": 1615103161873, + "translations": [ + { + "language": "DE", + "text": "Wenn sowohl die Manage Stage als auch die Close Stage undefiniert sind, werden Sie die Position verlassen, sobald die Open Stage geschlossen wird.", + "updated": 1636666084552 + } + ] }, { "style": "Title", - "text": "Manage Stage Concept" + "text": "Manage Stage Concept", + "translations": [ + { + "language": "DE", + "text": "Manage Stage Konzept:", + "updated": 1636666115181 + } + ] }, { "style": "Text", - "text": "The first and foremost rule of trading is to preserve capital and its main goal is to increase it." + "text": "The first and foremost rule of trading is to preserve capital and its main goal is to increase it.", + "translations": [ + { + "language": "DE", + "text": "Die erste und wichtigste Regel des Handels ist es, das Kapital zu erhalten, und sein Hauptziel ist es, es zu vermehren.", + "updated": 1636666147357 + } + ] }, { "style": "Text", - "text": "Conceptually, a position is not an instantaneous event, but an event which has an opening, a period of maturation, and a closing. The management of the position happens throughout the process." + "text": "Conceptually, a position is not an instantaneous event, but an event which has an opening, a period of maturation, and a closing. The management of the position happens throughout the process.", + "translations": [ + { + "language": "DE", + "text": "Vom Konzept her ist eine Position kein sofortiges Ereignis, sondern ein Ereignis, das eine Eröffnung, eine Reifeperiode und eine Schließung hat. Die Verwaltung der Position erfolgt während dem Prozess.", + "updated": 1636666274128 + } + ] }, { "style": "Text", - "text": "The concept of managing the position refers to the fact that the formulas that determine the take profit and stop loss targets may change as the position develops. A typical situation in which you may want to change your original take profit and stop loss formulas is when the position seems to be developing well in your favor." + "text": "The concept of managing the position refers to the fact that the formulas that determine the take profit and stop loss targets may change as the position develops. A typical situation in which you may want to change your original take profit and stop loss formulas is when the position seems to be developing well in your favor.", + "translations": [ + { + "language": "DE", + "text": "Das Konzept der Positionen-managements bezieht sich auf die Tatsache, dass sich die Formeln zur Bestimmung der Take-Profit- und Stop-Loss-Ziele im Laufe der Entwicklung der Position ändern können. Eine typische Situation, in der Sie Ihre ursprünglichen Take-Profit- und Stop-Loss-Formeln ändern möchten, ist, wenn sich die Position zu Ihren Gunsten entwickelt.", + "updated": 1636666520021 + } + ] }, { "style": "Text", - "text": "It may be in your best interest to manage the stop loss, moving the target in the direction that would help protect unrealized profits. It may also be in your interest to move the take profit target to extract a larger profit than originally expected. Or you may wish to set up a mechanism that closes the trade as soon as a certain market situation materializes." + "text": "It may be in your best interest to manage the stop loss, moving the target in the direction that would help protect unrealized profits. It may also be in your interest to move the take profit target to extract a larger profit than originally expected. Or you may wish to set up a mechanism that closes the trade as soon as a certain market situation materializes.", + "translations": [ + { + "language": "DE", + "text": "Es kann in Ihrem Interesse sein, den Stop-Loss zu steuern und das Ziel in die Richtung zu verschieben, die zum Schutz nicht realisierter Gewinne beiträgt. Es kann auch in Ihrem Interesse sein, das Take-Profit-Ziel zu verschieben, um einen größeren Gewinn als ursprünglich erwartet zu erzielen. Oder Sie möchten einen Mechanismus einrichten, der den trade schließt, sobald eine bestimmte Marktsituation eintritt.", + "updated": 1636666733738 + } + ] }, { "style": "Text", - "text": "The management of take profit and stop loss is done independently of each other, in phases. Therefore, each concept has its own set of management phases." + "text": "The management of take profit and stop loss is done independently of each other, in phases. Therefore, each concept has its own set of management phases.", + "translations": [ + { + "language": "DE", + "text": "Die Verwaltung von Take-Profit und Stop-Loss erfolgt unabhängig voneinander, in Phasen. Daher hat jedes Konzept seine eigene Reihe von management phases (Verwaltungsphasen).", + "updated": 1636666836988 + } + ] }, { "style": "Text", - "text": "Each phase has its formula to describe the corresponding target. Users may define situations in which the current phase shall be abandoned and a different phase—with its formula—shall be implemented." + "text": "Each phase has its formula to describe the corresponding target. Users may define situations in which the current phase shall be abandoned and a different phase—with its formula—shall be implemented.", + "translations": [ + { + "language": "DE", + "text": "Für jede Phase gibt es eine Formel, die das entsprechende Ziel beschreibt. Die Benutzer können Situationen definieren, in denen die aktuelle Phase aufgegeben und eine andere Phase - mit ihrer Formel - durchgeführt werden soll.", + "updated": 1636666931674 + } + ] }, { "style": "Text", - "text": "Keep in mind that the position is in constant development, so there may be as many phases as you deem appropriate for your particular strategy." + "text": "Keep in mind that the position is in constant development, so there may be as many phases as you deem appropriate for your particular strategy.", + "translations": [ + { + "language": "DE", + "text": "Denken Sie daran, dass sich die Position ständig weiterentwickelt, so dass es so viele Phasen geben kann, wie Sie für Ihre spezielle Strategie für angemessen halten.", + "updated": 1636667005964 + } + ] }, { "style": "Text", - "text": "The idea of managing targets in phases derives from the notion that big market moves tend to provide clues as to what may come up next. For instance, rallies may accelerate as more traders join the move. Recognizable patterns may emerge. Signs of exhaustion may be identified." + "text": "The idea of managing targets in phases derives from the notion that big market moves tend to provide clues as to what may come up next. For instance, rallies may accelerate as more traders join the move. Recognizable patterns may emerge. Signs of exhaustion may be identified.", + "translations": [ + { + "language": "DE", + "text": "Die Idee, Ziele in Phasen zu verwalten, beruht auf der Vorstellung, dass große Marktbewegungen in der Regel Anhaltspunkte dafür liefern, was als Nächstes kommen könnte. So kann sich beispielsweise eine \"Rallye \"beschleunigen, wenn sich mehr trader (Händler) der Bewegung anschließen. Es können sich erkennbare Muster herausbilden. Anzeichen einer Erschöpfung können erkannt werden.", + "updated": 1636667250488 + } + ] }, { "style": "Text", - "text": "All of these considerations may feed the dynamic analysis performed in each phase as the position develops." + "text": "All of these considerations may feed the dynamic analysis performed in each phase as the position develops.", + "translations": [ + { + "language": "DE", + "text": "All diese Überlegungen können in die dynamische Analyse einfließen, die in jeder Phase der Positionsentwicklung durchgeführt wird.", + "updated": 1636667340670 + } + ] }, { "style": "Text", - "text": "Upon execution, the system verifies if the current candle has tagged either of the targets. If—or when—it does, the close stage kicks in and closing execution begins." + "text": "Upon execution, the system verifies if the current candle has tagged either of the targets. If—or when—it does, the close stage kicks in and closing execution begins.", + "translations": [ + { + "language": "DE", + "text": "Bei der Ausführung prüft das System, ob die aktuelle candle eines der Ziele markiert hat. Wenn dies der Fall ist, wird die close stage eingeleitet und die Ausführung der closing execution beginnt.", + "updated": 1636667407532 + } + ] }, { "style": "Callout", diff --git a/Projects/Foundations/Schemas/Docs-Nodes/P/Plotter/Plotter-Module/plotter-module.json b/Projects/Foundations/Schemas/Docs-Nodes/P/Plotter/Plotter-Module/plotter-module.json index f0473d0e0..b7a2735d2 100644 --- a/Projects/Foundations/Schemas/Docs-Nodes/P/Plotter/Plotter-Module/plotter-module.json +++ b/Projects/Foundations/Schemas/Docs-Nodes/P/Plotter/Plotter-Module/plotter-module.json @@ -1,7 +1,14 @@ { "type": "Plotter Module", "definition": { - "text": "A plotter module is a device within a plotter that contains the definitions to create the visualization for a product definition." + "text": "A plotter module is a device within a plotter that contains the definitions to create the visualization for a product definition.", + "translations": [ + { + "language": "DE", + "text": "Ein \"plotter module\" ist ein Modul innerhalb eines Plotters, das die Definitionen zur Erstellung der Visualisierung für eine \"product definition\" enthält.", + "updated": 1636659770379 + } + ] }, "paragraphs": [ { @@ -10,12 +17,26 @@ }, { "style": "Text", - "text": "A single plotter may have several modules. Different modules may be used to plot each product of the bot, or as best suits the expected use-pattern." + "text": "A single plotter may have several modules. Different modules may be used to plot each product of the bot, or as best suits the expected use-pattern.", + "translations": [ + { + "language": "DE", + "text": "Ein einzelner Plotter kann mehrere Module haben. Für jedes Produkt des Bots können verschiedene Module verwendet werden, je nachdem, wie es dem erwarteten Nutzungsmuster am besten entspricht.", + "updated": 1636659901038 + } + ] }, { "style": "Important", "text": "For a bot to use a plotter, the corresponding Product Definition must establish a reference with the plotter module built to interpret the dataset.", - "updated": 1609790272500 + "updated": 1609790272500, + "translations": [ + { + "language": "DE", + "text": "Damit ein Bot einen Plotter verwenden kann, muss die entsprechende Produktdefinition eine reference zu dem Plottermodul herstellen, das zur Interpretation des Datensatzes gebaut wurde.", + "updated": 1636659964219 + } + ] }, { "style": "Block", @@ -24,7 +45,14 @@ }, { "style": "Title", - "text": "Plotter Module Configuration" + "text": "Plotter Module Configuration", + "translations": [ + { + "language": "DE", + "text": "Konfiguration des Plottermoduls:", + "updated": 1636659978962 + } + ] }, { "style": "Subtitle", @@ -33,13 +61,28 @@ }, { "style": "List", - "text": "codeName is the name used in the code to refer to the module." + "text": "codeName is the name used in the code to refer to the module.", + "translations": [ + { + "language": "DE", + "text": "codeName ist der Name, der im Code verwendet wird, um auf das Modul zu verweisen.", + "updated": 1636660003241 + } + ] }, { "style": "List", - "text": "isLegacy is true for plotters modules developed entirely in JavaScript, and is false or doesn't show in the configuration for plotters built with the tools featured in the data mine hierarchy." + "text": "isLegacy is true for plotters modules developed entirely in JavaScript, and is false or doesn't show in the configuration for plotters built with the tools featured in the data mine hierarchy.", + "translations": [ + { + "language": "DE", + "text": "isLegacy ist wahr für Plotter-Module, die vollständig in JavaScript entwickelt wurden, und ist falsch oder wird in der Konfiguration nicht angezeigt für Plotter, die mit den in der Data-Mine-Hierarchie enthaltenen Tools erstellt wurden.", + "updated": 1636660060029 + } + ] }, { + "style": "List", "style": "List", "text": "icon is the name of the image that illustrates the corresponding layer in the Layers Panel. In case the icon is not specified, the default idon is used. Possible values are...", "updated": 1636672891580 @@ -51,22 +94,50 @@ }, { "style": "Text", - "text": "Custom images may be added too. To do that:" + "text": "Custom images may be added too. To do that:", + "translations": [ + { + "language": "DE", + "text": "Es können auch eigene Bilder hinzugefügt werden. Um das zu tun:", + "updated": 1636660314385 + } + ] }, { "style": "Text", "text": "1. Name the image in the following format: image-name.png;", - "updated": 1609852305205 + "updated": 1609852305205, + "translations": [ + { + "language": "DE", + "text": "1. Benennen Sie das Bild in folgendem Format: bild-name.png;", + "updated": 1636660337014 + } + ] }, { "style": "Text", "text": "2. Place images in the WebServer\\Images\\Icons folder;", - "updated": 1609852315978 + "updated": 1609852315978, + "translations": [ + { + "language": "DE", + "text": "2. Legen Sie die Bilder in den Ordner WebServer\\Images\\Icons;", + "updated": 1636660361650 + } + ] }, { "style": "Text", "text": "3. In the configuration of the module, use the name as is (e.g.: \"icon\": \"image-name\")", - "updated": 1609852322876 + "updated": 1609852322876, + "translations": [ + { + "language": "DE", + "text": "3. In der Konfiguration des Moduls ist der Name unverändert zu verwenden (z. B.: \"icon\": \"image-name\")", + "updated": 1636660481504 + } + ] } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Nodes/P/Polygon/Polygon/polygon.json b/Projects/Foundations/Schemas/Docs-Nodes/P/Polygon/Polygon/polygon.json index eceacfa7b..7b383fda0 100644 --- a/Projects/Foundations/Schemas/Docs-Nodes/P/Polygon/Polygon/polygon.json +++ b/Projects/Foundations/Schemas/Docs-Nodes/P/Polygon/Polygon/polygon.json @@ -7,6 +7,11 @@ "language": "ES", "text": "Un polygon presenta definiciones que crean las formas y sus estilos.", "updated": 1624414392343 + }, + { + "language": "RU", + "text": "Полигон содержит определения, из которых состоят фигуры и их стили.", + "updated": 1636746899276 } ] }, diff --git a/Projects/Foundations/Schemas/Docs-Nodes/P/Procedure/Procedure-Javascript-Code/procedure-javascript-code.json b/Projects/Foundations/Schemas/Docs-Nodes/P/Procedure/Procedure-Javascript-Code/procedure-javascript-code.json index 1c76c451b..f1f72fe92 100644 --- a/Projects/Foundations/Schemas/Docs-Nodes/P/Procedure/Procedure-Javascript-Code/procedure-javascript-code.json +++ b/Projects/Foundations/Schemas/Docs-Nodes/P/Procedure/Procedure-Javascript-Code/procedure-javascript-code.json @@ -9,11 +9,6 @@ "style": "Text", "text": "The system allows developers great flexibility as all valid JavaScript code is allowed.", "updated": 1609789473533 - }, - { - "style": "Important", - "text": "Until a robust JavaScript editor is implemented on the UI, it is recommended to write code on an external editor and paste it in the UI code bubble to ensure consistency.", - "updated": 1609789526505 } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Reviews/S/Superalgos/Superalgos-Project-Review/superalgos-project-review-034-superalgos-review-how-to-run-a-trading-bot.json b/Projects/Foundations/Schemas/Docs-Reviews/S/Superalgos/Superalgos-Project-Review/superalgos-project-review-034-superalgos-review-how-to-run-a-trading-bot.json new file mode 100644 index 000000000..f1dfc332b --- /dev/null +++ b/Projects/Foundations/Schemas/Docs-Reviews/S/Superalgos/Superalgos-Project-Review/superalgos-project-review-034-superalgos-review-how-to-run-a-trading-bot.json @@ -0,0 +1,15 @@ +{ + "review": "Superalgos Project Review", + "pageNumber": 34, + "type": "Superalgos Review - How to Run a Trading Bot", + "definition": { + "text": "Thus far I have learned alot about how the different crypto trading platforms work and how to get information from them. The tutorials are good for someone with at least some background in working with computer code. Overall I am excited to keep working through the tutorials. I hope to see even more exchanges on superalgos. Great work so far everyone and I hope I can contribute something to the project.", + "updated": 1636063209051 + }, + "paragraphs": [ + { + "style": "Text", + "text": "Right click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository." + } + ] +} \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Reviews/S/Superalgos/Superalgos-Project-Review/superalgos-project-review-035-superalgos-review-great-way-to-learn-to-run-a-trading-bot.json b/Projects/Foundations/Schemas/Docs-Reviews/S/Superalgos/Superalgos-Project-Review/superalgos-project-review-035-superalgos-review-great-way-to-learn-to-run-a-trading-bot.json new file mode 100644 index 000000000..7d7ee9847 --- /dev/null +++ b/Projects/Foundations/Schemas/Docs-Reviews/S/Superalgos/Superalgos-Project-Review/superalgos-project-review-035-superalgos-review-great-way-to-learn-to-run-a-trading-bot.json @@ -0,0 +1,15 @@ +{ + "review": "Superalgos Project Review", + "pageNumber": 35, + "type": "Superalgos Review - Great Way to Learn to Run a Trading Bot", + "definition": { + "text": "The tutorials are great and I am learning a lot about how to use Superalgos. The program is very indepth and will probably take me a few more days before I even try a live trade, but I am confident the information I need is available. Superalgos has great documentation and most things are easily available if you know how to find them. Can't wait to contribute.\n\nLiteir", + "updated": 1636740066714 + }, + "paragraphs": [ + { + "style": "Text", + "text": "Right click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository." + } + ] +} \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/D/Data/Data-Mining/data-mining-023-data-mining-how-to-build-an-indicator-video-series.json b/Projects/Foundations/Schemas/Docs-Topics/D/Data/Data-Mining/data-mining-023-data-mining-how-to-build-an-indicator-video-series.json index d6b0b2111..d3221b1eb 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/D/Data/Data-Mining/data-mining-023-data-mining-how-to-build-an-indicator-video-series.json +++ b/Projects/Foundations/Schemas/Docs-Topics/D/Data/Data-Mining/data-mining-023-data-mining-how-to-build-an-indicator-video-series.json @@ -45,7 +45,7 @@ "translations": [ { "language": "DE", - "text": "Die Videoserie über die Erstellung eines Indicators wurde für die Beta 5 Version des Systems produziert (inzwischen sind wir bei Beta 12); die Funktionalität funktioniert jedoch immer noch ähnlich. Allerdings kann es geringfügige Unterschiede geben, die noch zu dokumentieren sind. Schauen Sie in der Develop group vorbei und stellen Sie Ihre Fragen, insbesondere wenn etwas nicht wie erwartet oder wie in den Videos beschrieben funktioniert. Die Gruppe ist in der Fußzeile verlinkt.", + "text": "Die Videoserie über die Erstellung eines Indicators wurde für die Beta 5 Version des Systems produziert (inzwischen sind wir bei v.1.0); die Funktionalität funktioniert jedoch immer noch ähnlich. Allerdings kann es geringfügige Unterschiede geben, die noch zu dokumentieren sind. Schauen Sie in der Develop group vorbei und stellen Sie Ihre Fragen, insbesondere wenn etwas nicht wie erwartet oder wie in den Videos beschrieben funktioniert. Die Gruppe ist in der Fußzeile verlinkt.", "updated": 1635522983953 } ] diff --git a/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-002-docs-in-spanish.json b/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-002-docs-in-spanish.json index 08c871762..a3c9e5241 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-002-docs-in-spanish.json +++ b/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-002-docs-in-spanish.json @@ -11,6 +11,11 @@ "text": "Si bien la documentación esta originalmente escrita en Inglés, el sistema permite a cualquier usuario buscar contenido en su idioma nativo, siempre y cuando otros usuarios hayan contribuído traducciones de los artículos existentes escritos en el idioma por defecto que es el idioma Inglés. Advertencia!!! Los documentos de Superalgos y de otros proyectos integrados están escritos originariamente en Inglés. El sistema permite a los usuarios buscar y navegar en páginas en toros idiomas también , siempre que algunos usuarios hayan contribuido con las correspondientes traduccciones. Por favor actualice esta traucción.", "updated": 1633180141328, "style": "Definition" + }, + { + "language": "DE", + "text": "Zusammenfassung: 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": 1636748741317 } ] }, @@ -25,34 +30,65 @@ "text": "Es importante notar que por mas que uno seleccione un idioma, el contenido se mostrará en ingles en cada sitio donde todavía no ha sido traducido. El sistema permite a cualquier usuario contribuir traducciones con una granularidad a nivel de párrafos. Esto significa que si una página cualquiera pudiera tener todos, algunos o nigún párrafo traducido. Esto solo depende de cuales hayan sido traducidos previamente por miembros de la comunidad.", "updated": 1609831884941, "style": "Text" + }, + { + "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": 1636748766355 } ] }, { "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": 1636748781667 + } + ] }, { "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 zu den Docs beitragen möchten, lesen sie die How to Contribute Translations Seite.", + "updated": 1636748836601 + } + ] }, { "style": "Success", - "text": "Users can switch between languages using the links provided at the footer of every page at the Docs.", - "updated": 1609831813025, + "text": "Users can switch between languages using the links/Flags provided at the footer of every page at the Docs.", + "updated": 1636748942800, "translations": [ { "language": "ES", "text": "Para cambiar de un idioma a otro se debe usar los links en el pie de cada página.", "updated": 1609831898619, "style": "Success" + }, + { + "language": "DE", + "text": "Die Benutzer können über die Links in der Fußzeile jeder Seite in den Docs zwischen den Sprachen wechseln.", + "updated": 1636748881372 } ] }, { "style": "Note", - "text": "You may only add or delete pages to the Docs when the language is set to English.", - "updated": 1613820648230 + "text": "You may only add or delete pages to the Docs when the language is set to English. For the translation you have to select the language you want to translate into. (In this case spanish)", + "updated": 1636749198522, + "translations": [ + { + "language": "DE", + "text": "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": 1636749982716 + } + ] } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-003-docs-in-russian.json b/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-003-docs-in-russian.json index acd5718af..07854f757 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-003-docs-in-russian.json +++ b/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-003-docs-in-russian.json @@ -4,30 +4,73 @@ "type": "Docs In Russian", "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.", - "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": 1636750003639 + } + ] }, "paragraphs": [ { "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.", - "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": 1636750015798 + } + ] }, { "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": 1636750023487 + } + ] }, { "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": 1636750035891 + } + ] }, { "style": "Success", - "text": "To switch languages, click on the flags on the footer of the Docs." + "text": "Users can switch between languages using the links/Flags provided at the footer of every page at the Docs.", + "updated": 1636749141265, + "translations": [ + { + "language": "DE", + "text": "Um die Sprache zu wechseln, klicken Sie auf die Flaggen in der Fußzeile der Docs.", + "updated": 1636750056716 + } + ] }, { "style": "Note", - "text": "You may only add or delete pages to the Docs when the language is set to English.", - "updated": 1613820648230 + "text": "You may only add or delete pages to the Docs when the language is set to English. For the translation you have to select the language you want to translate into. (In this case russian)", + "updated": 1636749177741, + "translations": [ + { + "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. ", + "updated": 1636750092775 + } + ] } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-004-docs-in-italian.json b/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-004-docs-in-italian.json index f2d1c7e39..349871ff7 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-004-docs-in-italian.json +++ b/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-004-docs-in-italian.json @@ -11,6 +11,11 @@ "text": "I Docs di Superalgos e degli altri progetti integrati sono scritti originariamente in inglese. Il sistema permette agli utenti di cercare e navigare tra le pagine anche in altri linguaggi, purché qualche collaboratore abbia precedentemente inserito le traduzioni corrispondenti.", "updated": 1614709804639, "style": "Definition" + }, + { + "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": 1636750109773 } ] }, @@ -25,6 +30,11 @@ "text": "L'inglese é considerata la lingua predefinita. Quando si seleziona un linguaggio differente, il sistema cerca di mostrare il contenuto nel linguaggio selezionato. Se la traduzione non é disponibile, allora verrà mostrata comunque la versione in lingua inglese.", "updated": 1614710023015, "style": "Text" + }, + { + "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": 1636750147739 } ] }, @@ -37,6 +47,11 @@ "text": "I tipi di nodo, i nomi di variabile, il titolo delle pagine dei Docs e alcuni altri elementi di Superalgos non vengono tradotti, in quanto sono identificatori unici di questi elementi all'interno del sistema. Verranno quindi sempre mostrati in inglese.", "updated": 1614710301759, "style": "Text" + }, + { + "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": 1636750157611 } ] }, @@ -49,6 +64,11 @@ "text": "Se vuoi contribuire alle traduzioni, leggi la pagina How to Contribute Translations.", "updated": 1614710364389, "style": "Success" + }, + { + "language": "DE", + "text": "Wenn Sie Übersetzungen beisteuern möchten, lesen Sie die Seite: How to Contribute Translations.", + "updated": 1636750175388 } ] }, @@ -62,32 +82,47 @@ "text": "Il contenuto dei Docs può essere tradotto da chiunque desideri contribuire. Ciò aiuta gli utenti a leggere il contenuto dei Docs nella loro lingua madre. ", "updated": 1614710559720, "style": "Text" + }, + { + "language": "DE", + "text": "Der Inhalt der Docs kann von jedem übersetzt werden, der bereit ist, etwas Zeit dafür aufzuwenden. Das hilft den Nutzern, die Inhalte der Docs in ihrer Muttersprache zu lesen.", + "updated": 1636750252283 } ] }, { "style": "Success", - "text": "To switch languages, click on the flags on the footer of the Docs.", - "updated": 1613820592771, + "text": "Users can switch between languages using the links/Flags provided at the footer of every page at the Docs.", + "updated": 1636749218784, "translations": [ { "language": "IT", "text": "Per cambiare la lingua, é sufficiente cliccare sulle bandiere che si trovano in fondo a ogni pagina dei Docs.", "updated": 1614710684503, "style": "Success" + }, + { + "language": "DE", + "text": "Um die Sprache zu wechseln, klicken Sie auf die Flaggen in der Fußzeile der Docs.", + "updated": 1636750268351 } ] }, { "style": "Note", - "text": "You may only add or delete pages to the Docs when the language is set to English.", - "updated": 1613820648230, + "text": "You may only add or delete pages to the Docs when the language is set to English. For the translation you have to select the language you want to translate into. (In this case italian)", + "updated": 1636749237058, "translations": [ { "language": "IT", "text": "É possible aggiungere o cancellare pagine dei Docs solamente quando la lingua di visualizzazione é in inglese.", "updated": 1614710793433, "style": "Note" + }, + { + "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. ", + "updated": 1636750280116 } ] } diff --git a/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-006-docs-in-bahasa.json b/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-006-docs-in-bahasa.json index 661ccfe9f..43e6927b3 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-006-docs-in-bahasa.json +++ b/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-006-docs-in-bahasa.json @@ -11,6 +11,11 @@ "text": "Halaman Docs dari Superalgos dan proyek lainnya, tertulis dengan bahasa Inggris. Adapun Sistem ini membantu anda untuk mencari dan menjelajah halaman dalam bahasa berbeda, selama anda sebelumnya telah berkontribusi dalam penerjemahan yang sesuai.", "updated": 1613857356680, "style": "Definition" + }, + { + "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": 1636750464649 } ] }, @@ -25,6 +30,11 @@ "text": "Bahasa Inggris dianggap sebagai bahasa default. Saat anda beralih ke bahasa lain, sistem mencoba menampilkan konten dalam bahasa baru. Namun, jika terjemahan belum tersedia, maka yang tampil hanya versi bahasa Inggris saja.", "updated": 1613857511193, "style": "Text" + }, + { + "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": 1636750474063 } ] }, @@ -37,21 +47,48 @@ "text": "Tipe Node, nama variable, judul halaman di Docs, dan beberapa elemen Superalgos lainnya tidak boleh diterjemahkan, karena merupakan bagian unik dari elemen Superalgos. Anda akan selalu membacanya dalam bahasa Inggris.", "updated": 1613857742821, "style": "Text" + }, + { + "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": 1636750480917 } ] }, { "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": "enn Sie Übersetzungen beisteuern möchten, lesen Sie die Seite: How to Contribute Translations.", + "updated": 1636750495638 + } + ] }, { "style": "Success", - "text": "To switch languages, click on the flags on the footer of the Docs." + "text": "Users can switch between languages using the links/Flags provided at the footer of every page at the Docs.", + "updated": 1636749263074, + "translations": [ + { + "language": "DE", + "text": "Um die Sprache zu wechseln, klicken Sie auf die Flaggen in der Fußzeile der Docs.", + "updated": 1636750521606 + } + ] }, { "style": "Note", - "text": "You may only add or delete pages to the Docs when the language is set to English.", - "updated": 1613820648230 + "text": "You may only add or delete pages to the Docs when the language is set to English. For the translation you have to select the language you want to translate into. (In this case bahasa)", + "updated": 1636749282438, + "translations": [ + { + "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. ", + "updated": 1636750535105 + } + ] } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-007-docs-in-turkish.json b/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-007-docs-in-turkish.json index a047632c1..e66d2279c 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-007-docs-in-turkish.json +++ b/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-007-docs-in-turkish.json @@ -5,32 +5,72 @@ "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.", "updated": 1613820592771, - "translations": [] + "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": 1636750558018 + } + ] }, "paragraphs": [ { "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.", "updated": 1613820612132, - "translations": [] + "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": 1636750574994 + } + ] }, { "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.", - "translations": [] + "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": 1636750589863 + } + ] }, { "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": 1636750600480 + } + ] }, { "style": "Success", - "text": "To switch languages, click on the flags on the footer of the Docs." + "text": "Users can switch between languages using the links/Flags provided at the footer of every page at the Docs.", + "updated": 1636749306719, + "translations": [ + { + "language": "DE", + "text": "Um die Sprache zu wechseln, klicken Sie auf die Flaggen in der Fußzeile der Docs.", + "updated": 1636750616494 + } + ] }, { "style": "Note", - "text": "You may only add or delete pages to the Docs when the language is set to English.", - "updated": 1613820648230 + "text": "You may only add or delete pages to the Docs when the language is set to English. For the translation you have to select the language you want to translate into. (In this case turkish)", + "updated": 1636749321941, + "translations": [ + { + "language": "DE", + "text": "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": 1636750772952 + } + ] } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-008-docs-in-french.json b/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-008-docs-in-french.json index b8b0d2fdf..102b51548 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-008-docs-in-french.json +++ b/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-008-docs-in-french.json @@ -10,6 +10,11 @@ "language": "FR", "text": "La documentation de Superalgos et des projets intégrés est à l'origine écrite en Anglais. 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": 1630680264127 + }, + { + "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": 1636750800546 } ] }, @@ -18,25 +23,59 @@ "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.", "updated": 1613820612132, - "translations": [] + "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": 1636750807278 + } + ] }, { "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.", - "translations": [] + "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": 1636750815636 + } + ] }, { "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": 1636750827324 + } + ] }, { "style": "Success", - "text": "To switch languages, click on the flags on the footer of the Docs." + "text": "Users can switch between languages using the links/Flags provided at the footer of every page at the Docs.", + "updated": 1636749351541, + "translations": [ + { + "language": "DE", + "text": "Um die Sprache zu wechseln, klicken Sie auf die Flaggen in der Fußzeile der Docs.", + "updated": 1636750837505 + } + ] }, { "style": "Note", - "text": "You may only add or delete pages to the Docs when the language is set to English.", - "updated": 1613820648230 + "text": "You may only add or delete pages to the Docs when the language is set to English. For the translation you have to select the language you want to translate into. (In this case french)", + "updated": 1636749347360, + "translations": [ + { + "language": "DE", + "text": "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": 1636750848766 + } + ] } ] } \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-008-docs-in-german.json b/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-008-docs-in-german.json index 4ff506820..9da0e6c62 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-008-docs-in-german.json +++ b/Projects/Foundations/Schemas/Docs-Topics/D/Docs/Docs-Languages/docs-languages-008-docs-in-german.json @@ -50,24 +50,25 @@ }, { "style": "Success", - "text": "To switch languages, click on the flags on the footer of the Docs.", + "text": "Users can switch between languages using the links/Flags provided at the footer of every page at the Docs.", "translations": [ { "language": "DE", - "text": "Um die Sprache zu wechseln, klicken Sie auf die Flaggen in der Fußzeile der Dokumente.", - "updated": 1634069610043 + "text": "Um die Sprache zu wechseln, klicken Sie auf die Flaggen in der Fußzeile der Docs.", + "updated": 1636750877886 } - ] + ], + "updated": 1636749365748 }, { "style": "Note", - "text": "You may only add or delete pages to the Docs when the language is set to English.", - "updated": 1613820648230, + "text": "You may only add or delete pages to the Docs when the language is set to English. For the translation you have to select the language you want to translate into. (In this case german)", + "updated": 1636749376271, "translations": [ { "language": "DE", - "text": "Sie können nur Seiten zu den Dokumenten hinzufügen oder löschen, wenn die Sprache auf Englisch eingestellt ist.", - "updated": 1634069626053 + "text": "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": 1636750866679 } ] } diff --git a/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-001-node.json b/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-001-node.json index f4f709ed6..922006311 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-001-node.json +++ b/Projects/Foundations/Schemas/Docs-Topics/N/Nodes/Nodes/nodes-001-node.json @@ -10,6 +10,11 @@ "language": "RU", "text": "Узлы - это объекты, которые существуют в рабочих пространствах и могут быть визуализированы в the Design Space. Узлы могут быть присоединены друг к другу, образуя иерархические структуры.\n", "updated": 1635514669410 + }, + { + "language": "DE", + "text": "Nodes sind Objekte, die im Workspace existieren und im Design Space visualisiert werden können. Nodes können miteinander verbunden/referenziert werden, um hierarchische Strukturen zu bilden.", + "updated": 1636744729977 } ] }, diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-004-ascendex-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-004-ascendex-test-status.json index 686ede677..59296d499 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-004-ascendex-test-status.json +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-004-ascendex-test-status.json @@ -3,8 +3,8 @@ "pageNumber": 4, "type": "Ascendex Test Status", "definition": { - "text": "Passed Fetch OHLVCs and Backtesting test. Live trading will soon be tested.", - "updated": 1635446898934 + "text": "Passed all tests", + "updated": 1636749168642 }, "paragraphs": [ { @@ -24,8 +24,8 @@ }, { "style": "List", - "text": "Trading Capability: Unknown. The ability to run strategies in live-trading mode has not been verified.", - "updated": 1616003699055 + "text": "Trading Capability: Yes. The ability to place market orders, create and cancel limit orders for Live Trading purposes has been verified.", + "updated": 1636749320010 }, { "style": "List", @@ -38,8 +38,8 @@ }, { "style": "Json", - "text": "{\n \"codeName\": \"ascendex\",\n \"rateLimit\": 500,\n \"sandBox\": \"false\"\n}", - "updated": 1635446820958 + "text": "{\n \"codeName\": \"ascendex\"\n}", + "updated": 1615204693035 }, { "style": "Text", diff --git a/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-015-okex-test-status.json b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-015-okex-test-status.json new file mode 100644 index 000000000..9ac845784 --- /dev/null +++ b/Projects/Foundations/Schemas/Docs-Topics/T/Tested/Tested-Exchanges/tested-exchanges-015-okex-test-status.json @@ -0,0 +1,59 @@ +{ + "topic": "Tested Exchanges", + "pageNumber": 15, + "type": "OKEX Test Status", + "definition": { + "text": "Passed Live Trading Test but limited Historical Data ", + "updated": 1636810465259 + }, + "paragraphs": [ + { + "style": "Title", + "text": "Properties", + "updated": 1636811142009 + }, + { + "style": "List", + "text": "1-min OHLCVs Capability: No. The ability to fetch historical data for backtesting purposes is not possible.", + "updated": 1636811644277 + }, + { + "style": "List", + "text": "Market History: From that day you to start mining historical data", + "updated": 1636811635789 + }, + { + "style": "List", + "text": "Trading Capability: Yes The ability to place market orders, create and cancel limit orders in a live-trading mode has been verified.", + "updated": 1636811869127 + }, + { + "style": "List", + "text": "Comments: Raw Data mining is limited to a few minutes due to exchange restrictions on their API that limit the number of data it can be requested via Rest API", + "updated": 1636812202662 + }, + { + "style": "Title", + "text": "Configuration" + }, + { + "style": "Json", + "text": "{\n \"codeName\": \"okex\",\n \"API\": [\n {\n \"method\": \"fetchTrades\",\n \"fetchType\": \"by Id\",\n \"fetchTradesMethod\": \"publicGetHistoricalTrades\",\n \"firstId\": \"f\"\n }\n ]\n}", + "updated": 1636811208143 + }, + { + "style": "Title", + "text": "User Exchange Account Configuration", + "updated": 1636811329265 + }, + { + "style": "Title", + "text": "" + }, + { + "style": "Note", + "text": "That your PASSPHRASE is your password in the user exchanger account configuration", + "updated": 1636811457247 + } + ] +} \ No newline at end of file diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-007-tutorial-step-180-degrees.json b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-007-tutorial-step-180-degrees.json index 0bc93fcf9..60cc15cab 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-007-tutorial-step-180-degrees.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-007-tutorial-step-180-degrees.json @@ -26,6 +26,11 @@ "language": "DE", "text": "Wenn alle Nachkommenknoten auf einen Winkel von 180 Grad eingestellt sind, nimmt jeder Knoten einen Platz in einem Bruchteil eines Kreises ein, der sich über 180 Grad erstreckt, normal zum Elternteil.", "updated": 1634297880856 + }, + { + "language": "TR", + "text": "Tüm yavru düğümler 180 derecelik açıya ayarlandığında, her düğüm, ana düğüme dik olan 180 derecelik bir açıyla konumanır.", + "updated": 1636745968751 } ] }, @@ -51,6 +56,11 @@ "language": "DE", "text": "Aber was passiert, wenn einer der Nachkommenknoten einen anderen Winkel zum Elternteil hat? Lassen Sie uns ein Experiment durchführen!", "updated": 1634297887613 + }, + { + "language": "TR", + "text": "Ancak, yavru düğümlerden birinin ana düğüme farklı bir açıyla bağlıysa ne olur? Hadi bir deney yapalım!", + "updated": 1636746037914 } ] }, @@ -74,6 +84,11 @@ "language": "DE", "text": "Klicken Sie einmal auf die Einstellung \"Trading Parameters\" Winkel zu Elternteil und verlassen Sie das Menü!", "updated": 1634297909566 + }, + { + "language": "TR", + "text": "Trading Parameters düğümünde açı butonuna bir kez tıklayın ve menüden çıkın!", + "updated": 1636746260797 } ] }, @@ -98,6 +113,11 @@ "language": "DE", "text": "Der Knoten nimmt einen Platz in einem kleineren Winkel ein - 90 Grad! Machen Sie dasselbe mit den Knoten \"Trading System Reference\" und \"Trading Engine Reference\"!", "updated": 1634297917131 + }, + { + "language": "TR", + "text": "Düğüm daha küçük bir açıda pozisyon alır (- 90 derece)! Aynısını İşlem Sistemi Referansı ( Trading System Reference ) ve İşlem Motoru Referansı ( Trading Engine Reference ) düğümleri ile yapın!", + "updated": 1636746373655 } ] } diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-008-tutorial-step-nodes-independence.json b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-008-tutorial-step-nodes-independence.json index b4d2eedba..dcfe4757f 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-008-tutorial-step-nodes-independence.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-008-tutorial-step-nodes-independence.json @@ -26,6 +26,11 @@ "language": "DE", "text": "Beachten Sie, wie Sie die Einstellung \"Angle to Parent\" bei verschiedenen Geschwistern geändert haben und jedes von ihnen unabhängig von den anderen auf die neue Einstellung reagierte!", "updated": 1634298018896 + }, + { + "language": "TR", + "text": "Farklı alt düğümlerin açı ayarının ana düğüme göre nasıl değiştirdiğinize ve her birinin yeni ayara diğerlerinden bağımsız olarak nasıl tepki verdiğine dikkat edin!", + "updated": 1636746759816 } ] }, @@ -51,6 +56,11 @@ "language": "DE", "text": "Sie steuern die Position jedes Knotens über das Menü des Knotens. Weder der übergeordnete Knoten noch die Geschwister können die Position beeinflussen... mit dieser coolen Ausnahme:", "updated": 1634298027723 + }, + { + "language": "TR", + "text": "Düğümler menüsünden her bir düğümün konumunu kontrol edersiniz. Ne ana düğüm ne de alt düğümlerin konumu etkileyemez... bu harika istisna dışında:", + "updated": 1636746814955 } ] }, @@ -74,6 +84,11 @@ "language": "DE", "text": "Rufen Sie die Lightning Strike \"Backtesting Session\" auf und wählen Sie \"Add Missing Children\" auf der rechten Seite des Menüs!", "updated": 1634298035258 + }, + { + "language": "TR", + "text": "Lightning Strike Backtesting Oturumuna gidin ve menünün sağ tarafından Kayıp Çocukları Ekle'yi ( Add Missing Children ) seçin!", + "updated": 1636746977214 } ] }, @@ -98,6 +113,11 @@ "language": "DE", "text": "Beachten Sie, dass der Knoten \"Social Bots\" die Einstellung \"Winkel zum Elternteil\" von seinem nächsten Geschwisterknoten geerbt hat!", "updated": 1634298043102 + }, + { + "language": "TR", + "text": "Sosyal Botlar ( Social Bots ) düğümünün, ana düğüm ayarını en yakın kardeşinden nasıl devraldığına dikkat edin!", + "updated": 1636747051481 } ] }, diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-009-tutorial-step-free-range-nodes.json b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-009-tutorial-step-free-range-nodes.json index 68ef923a0..c432ea1c0 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-009-tutorial-step-free-range-nodes.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-009-tutorial-step-free-range-nodes.json @@ -26,6 +26,11 @@ "language": "DE", "text": "Wenn Sie die Option zum Aufheben der Einstellung \"Angle to Parent\" wählen, kann der Knoten jeden beliebigen Winkel relativ zu seinem Elternteil und seinen Geschwistern einnehmen!", "updated": 1634298097508 + }, + { + "language": "TR", + "text": "Ana düğüm açısı ayarını iptal ettiğinizde , düğüm ebeveynine ve kardeşlerine göre herhangi bir açıyı almakta serbesttir!", + "updated": 1636747810405 } ] }, @@ -51,6 +56,11 @@ "language": "DE", "text": "Rufen Sie das Menü des Knotens \"Trading Parameters\" auf, wählen Sie die Option zum Aufheben der Einstellung \"Angle to Parent\" und bewegen Sie den Knoten in eine beliebige Richtung!", "updated": 1634298112868 + }, + { + "language": "TR", + "text": "İşlem Parametreleri ( Trading Parameters ) düğümünün menüsüne girin, düğüm açısı ayarını iptal etme seçeneğini seçin ve düğümü herhangi bir yöne hareket ettirin!", + "updated": 1636747904764 } ] }, @@ -75,6 +85,11 @@ "language": "DE", "text": "Wie Sie sehen können, bleibt der Knoten an der Stelle, an der Sie ihn verlassen haben, und die gepunktete Linie, die ihn mit seinem übergeordneten Knoten verbindet, wird gelb. Beachten Sie, dass sowohl der Winkel zum übergeordneten Knoten als auch der Abstand willkürlich werden.", "updated": 1634298120484 + }, + { + "language": "TR", + "text": "Gördüğünüz gibi, düğüm bıraktığınız yerde kalıyor ve ebeveynine bağlanan noktalı çizgi sarıya dönüyor. Hem ana düğüme olan açının hem de uzaklığın keyfi hale geldiğine dikkat edin.", + "updated": 1636747945735 } ] } diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-010-tutorial-step-controlling-distances.json b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-010-tutorial-step-controlling-distances.json index 705bc0506..c8c055534 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-010-tutorial-step-controlling-distances.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-010-tutorial-step-controlling-distances.json @@ -26,6 +26,11 @@ "language": "DE", "text": "Die nächste Option im Menü steuert den Abstand zwischen dem Unterknoten und seinem Übergeordneten Knoten. Durch Klicken auf die Schaltfläche werden die Optionen durchlaufen.", "updated": 1634332176300 + }, + { + "language": "TR", + "text": "Menüdeki bir sonraki seçenek, düğümden ebeveynine olan mesafeyi kontrol eder. Düğmeye tıklamak seçenekler arasında geçiş yapar.", + "updated": 1636748818153 } ] }, @@ -51,6 +56,11 @@ "language": "DE", "text": "Der Abstand eines Knotens zu seinem übergeordneten Knoten wird relativ zum Abstand des übergeordneten Knotens zu seinem übergeordneten Knoten festgelegt. Die verfügbaren Optionen sind:", "updated": 1634332213957 + }, + { + "language": "TR", + "text": "Bir düğümden ebeveynine olan mesafe, ebeveynden ebeveyn düğümüne olan mesafeye göre ayarlanır. Mevcut seçenekler şunlardır:", + "updated": 1636748858484 } ] }, @@ -69,6 +79,11 @@ "language": "DE", "text": "Rosa: 0.25X", "updated": 1634332245055 + }, + { + "language": "TR", + "text": "Pink (Pembe): 0.25X", + "updated": 1636748869618 } ] }, @@ -81,6 +96,11 @@ "text": "Arancione: 0.5X", "updated": 1619460530100, "style": "List" + }, + { + "language": "TR", + "text": "Orange (Kavuniçi): 0.5X", + "updated": 1636748886700 } ] }, @@ -98,6 +118,11 @@ "language": "DE", "text": "Grün: 1X", "updated": 1634332224238 + }, + { + "language": "TR", + "text": "Green (Yeşil): 1X", + "updated": 1636748898393 } ] }, @@ -115,6 +140,11 @@ "language": "DE", "text": "Blau: 1.5X", "updated": 1634332228958 + }, + { + "language": "TR", + "text": "Blue (Mavi): 1.5X", + "updated": 1636749062176 } ] }, @@ -132,6 +162,11 @@ "language": "DE", "text": "Rot: 2X", "updated": 1634332233805 + }, + { + "language": "TR", + "text": "Red (Kırmızı): 2X", + "updated": 1636749080979 } ] }, @@ -156,6 +191,11 @@ "language": "DE", "text": "Nehmen wir an, Sie wählen die grüne Option. Der Abstand des Knotens zu seinem übergeordneten Knoten ist derselbe Abstand, der den übergeordneten Knoten von seinem übergeordneten Knoten trennt!", "updated": 1634332187256 + }, + { + "language": "TR", + "text": "Diyelim ki yeşil seçeneği seçtiniz. Düğümden ebeveynine olan mesafe, ebeveyn düğümünden ayıran mesafeyle aynı olacaktır!", + "updated": 1636749146092 } ] } diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-011-tutorial-step-play-with-the-tape.json b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-011-tutorial-step-play-with-the-tape.json index f54f663cb..2a68ee323 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-011-tutorial-step-play-with-the-tape.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-011-tutorial-step-play-with-the-tape.json @@ -26,6 +26,11 @@ "language": "DE", "text": "Probieren Sie die verschiedenen Entfernungseinstellungen des Lightning Strike Trading System Reference Knoten aus! Machen Sie weiter! Klicken Sie auf die Schaltfläche mit dem \"Maßband\"!", "updated": 1634332512924 + }, + { + "language": "TR", + "text": "Lightning Strike Ticaret Sistemi Referans düğümünün ( Trading System Reference Node ) farklı mesafe ayarlarını deneyin! Devam edelim! Bant düğmesine tıklayın!", + "updated": 1636749363536 } ] }, @@ -51,6 +56,11 @@ "language": "DE", "text": "Ziemlich einfach, oder? Was passiert nun, wenn der Knoten, den Sie einstellen, selbst Ableger hat?", "updated": 1634332545887 + }, + { + "language": "TR", + "text": "Oldukça basit, değil mi? Şimdi, ayarladığınız düğümün kendi yavruları olduğunda ne olur ona bakalım.", + "updated": 1636749391543 } ] }, @@ -74,6 +84,11 @@ "language": "DE", "text": "Finden wir es heraus! Klicken Sie einmal auf die Schaltfläche Abstand zum Übergeordneten Knoten auf den Knoten Trading Parameters !", "updated": 1634332609115 + }, + { + "language": "TR", + "text": "Hadi bulalım! İşlem Parametreleri ( Trading Parameters ) düğümünde Ebeveyne Uzaklık ( Distance To Parent ) düğmesine bir kez tıklayın!", + "updated": 1636749475116 } ] }, @@ -98,6 +113,11 @@ "language": "DE", "text": "Da Sie den Abstand zwischen dem Trading Parameters Knoten und dem Backtesting Session Knoten vergrößert haben, haben sich auch die Unterknoten des Trading Parameters Knotens proportional vergrößert!", "updated": 1634332645315 + }, + { + "language": "TR", + "text": "İşlem Parametreleri düğümünü Geri Test Oturumu (Backtesting Session Node ) düğümünden ayıran mesafeyi artırdığınız için, İşlem Parametreleri ( Trading Parameters ) düğümünün yavruları da orantılı olarak arttı!", + "updated": 1636749564919 } ] }, diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-012-tutorial-step-how-about-the-hierarchy.json b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-012-tutorial-step-how-about-the-hierarchy.json index e00a87131..a2af55dcc 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-012-tutorial-step-how-about-the-hierarchy.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-012-tutorial-step-how-about-the-hierarchy.json @@ -26,6 +26,11 @@ "language": "DE", "text": "Der Grund, warum der Abstand zum übergeordneten Knoten relativ zum Abstand des übergeordneten Knotens zu seinem übergeordneten Knoten ist, ist, dass Sie lange Strukturen von Knoten beeinflussen können!", "updated": 1634332747191 + }, + { + "language": "TR", + "text": "Ebeveyn düğüme olan uzaklığın ebeveynin ebeveynine olan mesafesine göre olmasının nedeni, uzun düğüm yapılarını etkileyebilmeniz içindir!", + "updated": 1636750239895 } ] }, @@ -51,6 +56,11 @@ "language": "DE", "text": "Klicken Sie einmal auf die Schaltfläche Abstand zum übergeordneten Knoten des Netzwerkknotens!", "updated": 1634332754400 + }, + { + "language": "TR", + "text": "Ağ düğümünün Ebeveyne Uzaklık ( Distance To Parent ) düğmesine bir kez tıklayın!", + "updated": 1636750278445 } ] }, @@ -75,6 +85,11 @@ "language": "DE", "text": "Wahnsinn! Sehen Sie? Mit diesen Werkzeugen haben Sie die volle Kontrolle darüber, wie Sie Hierarchien visuell organisieren!", "updated": 1634332763485 + }, + { + "language": "TR", + "text": "Vayyy! Gördün mü? Bu araçlar, hiyerarşiler üzerinde görsel olarak tam kontrol sahibi olmanızı sağlar!", + "updated": 1636751755132 } ] }, @@ -99,6 +114,11 @@ "language": "DE", "text": "Versuchen Sie, die Einstellung \"Abstand zum Übergeordneten\" auf dem Knoten Testing Trading Tasks aufzuheben! Wie Sie sehen, können Sie einen beliebigen Abstand zum übergeordneten Knoten einstellen, aber der Winkel zum übergeordneten Knoten bleibt fest.", "updated": 1634332795200 + }, + { + "language": "TR", + "text": "Ticaret Görevlerini Test Etme ( Testing Trading Tasks ) düğümündeki Ebeveyne Mesafe (Distance To Parent) ayarını iptal etmeyi deneyin! Gördüğünüz gibi, ebeveyn düğüme herhangi bir uzaklık ayarlayabilirsiniz, Ancak ebeveyne olan açı sabit kalır.", + "updated": 1636751865776 } ] } diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-013-tutorial-step-arrangement-style.json b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-013-tutorial-step-arrangement-style.json index 7c0d814f9..1dfe45c71 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-013-tutorial-step-arrangement-style.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-013-tutorial-step-arrangement-style.json @@ -26,6 +26,11 @@ "language": "DE", "text": "Die Schaltfläche schaltet zwischen verschiedenen Anordnungsoptionen um, die sich darauf auswirken, wo ein Knoten im Verhältnis zu seinem übergeordneten Knoten platziert wird.", "updated": 1634332853777 + }, + { + "language": "TR", + "text": "Bu düğme, düğümün üst öğesiyle ilişkili olarak nereye yerleştirileceğini etkileyen çeşitli düzenleme seçenekleri arasında geçiş yapar.", + "updated": 1636752213924 } ] }, @@ -51,6 +56,11 @@ "language": "DE", "text": "In der Zeichnung stellt der orangefarbene Punkt den übergeordneten Knoten dar, und die blauen Punkte repräsentieren den Knoten, der den spezifischen Anordnungsstil annimmt.", "updated": 1634332860892 + }, + { + "language": "TR", + "text": "Çizimde turuncu nokta üst düğümü, mavi noktalar ise belirli düzenleme stilini benimseyen düğümü temsil eder.", + "updated": 1636752246374 } ] }, @@ -75,6 +85,11 @@ "language": "DE", "text": "Konkav: Dies ist der Standardstil. Der Knoten nimmt einen Platz auf einem Kreis um seinen übergeordneten Knoten ein.", "updated": 1634332870561 + }, + { + "language": "TR", + "text": "İçbükey: Bu, varsayılan stildir. Düğüm, üst düğümünün etrafındaki bir çevre üzerinde konumlanır", + "updated": 1636752350927 } ] }, @@ -99,6 +114,11 @@ "language": "DE", "text": "Konvex: Der Schlitz befindet sich auf einer konvexen Kurve.", "updated": 1634332885678 + }, + { + "language": "TR", + "text": "Dışbükey: Yuva dışbükey bir eğri üzerinde konumlanır.", + "updated": 1636752424282 } ] }, @@ -123,6 +143,11 @@ "language": "DE", "text": "Vertikal-Rechts: Auf einer vertikalen Linie nach rechts.", "updated": 1634332895278 + }, + { + "language": "TR", + "text": "Dikey-Sağ: Sağa dikey bir çizgi üzerinde konumlanır.", + "updated": 1636752436742 } ] }, @@ -147,6 +172,11 @@ "language": "DE", "text": "Vertikal-Links: Der Schlitz befindet sich auf einer vertikalen Linie nach links.", "updated": 1634332902630 + }, + { + "language": "TR", + "text": "Dikey-Sol: Yuva, sola doğru dikey bir çizgi üzerinde konumlanır.", + "updated": 1636752467099 } ] }, @@ -171,6 +201,11 @@ "language": "DE", "text": "Horizontal-unten: Auf einer horizontalen Linie nach unten.", "updated": 1634332909056 + }, + { + "language": "TR", + "text": "Yatay-Alt: Aşağıda yatay bir çizgi üzerinde konumlanır.", + "updated": 1636752488032 } ] }, @@ -195,6 +230,11 @@ "language": "DE", "text": "Horizontal-Oben: Der Schlitz befindet sich auf einer horizontalen Linie oben.", "updated": 1634332915541 + }, + { + "language": "TR", + "text": "Yatay-Üst: Yuva, yukarıda yatay bir çizgi üzerinde konumlanır.", + "updated": 1636752516000 } ] }, diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-015-tutorial-step-shall-we-improve-this.json b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-015-tutorial-step-shall-we-improve-this.json index dcc8bed08..ab2c78158 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-015-tutorial-step-shall-we-improve-this.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-015-tutorial-step-shall-we-improve-this.json @@ -26,6 +26,11 @@ "language": "DE", "text": "Wenn Sie mit dieser Funktion experimentieren, werden Sie feststellen, dass das Verhalten der einzelnen Einstellungen nicht eindeutig oder vorhersehbar ist.", "updated": 1634333050228 + }, + { + "language": "TR", + "text": "Bu özelliği denerseniz, her bir ayarın davranışının net veya tahmin edilebilir olmadığını fark edeceksiniz.", + "updated": 1636752597353 } ] }, @@ -51,6 +56,11 @@ "language": "DE", "text": "Die derzeitige Implementierung dieser Funktion ist nicht optimal, und das Verhalten einiger der Optionen ist schwer vorhersehbar. Wenn Sie ein Entwickler sind, könnte dies eine gute Gelegenheit sein, den bestehenden Code zu überarbeiten und diese Funktion in einen brauchbareren Zustand zu bringen!", "updated": 1634333057384 + }, + { + "language": "TR", + "text": "Bu özelliğin mevcut uygulaması optimal değildir ve bazı seçeneklerin davranışını tahmin etmek zordur. Bir geliştiriciyseniz, mevcut kodu tekrarlamak ve bu özelliği daha kullanılabilir bir duruma getirmek için bu harika bir fırsat olabilir!", + "updated": 1636752636392 } ] }, @@ -75,6 +85,11 @@ "language": "DE", "text": "Sie können diese Funktion gerne ausprobieren, aber Sie werden höchstwahrscheinlich zur Standardeinstellung zurückkehren wollen!", "updated": 1634333066060 + }, + { + "language": "TR", + "text": "Bu özelliği denemekten çekinmeyin, ancak büyük olasılıkla varsayılan ayara geri dönmek isteyeceksiniz!", + "updated": 1636752653398 } ] } diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-016-tutorial-step-freeze.json b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-016-tutorial-step-freeze.json index 7f5da05a9..58fd60ab9 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-016-tutorial-step-freeze.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-016-tutorial-step-freeze.json @@ -26,6 +26,11 @@ "language": "DE", "text": "Die Schaltfläche \"Einfrieren\" ist nur unter ganz bestimmten Umständen sinnvoll: wenn die Physik auf der Ebene des Design Space aktiviert ist.", "updated": 1634333134069 + }, + { + "language": "TR", + "text": "Dondur düğmesi çok özel koşullar altında anlamlıdır.", + "updated": 1636752747872 } ] }, @@ -51,6 +56,11 @@ "language": "DE", "text": "Der Design Space bietet einige Anpassungsmöglichkeiten, von denen eine die Aktivierung der Physik des Universums ist. Wenn die Physik aktiviert ist, wird der ganze Raum lebendig!", "updated": 1634333140802 + }, + { + "language": "TR", + "text": "Tasarım Alanı ( Design Space ), biri evrenin fiziğini etkinleştiren bazı özelleştirme özellikleri sunar. Fizik açıkken, tüm uzay canlanır!", + "updated": 1636752835468 } ] }, @@ -75,6 +85,11 @@ "language": "DE", "text": "Wir werden an dieser Stelle nicht auf dieses Thema eingehen, da es nicht im Lehrplan für die Grundausbildung enthalten ist!", "updated": 1634333147196 + }, + { + "language": "TR", + "text": "Temel eğitim müfredatında olmadığı için bu noktada o tavşan deliğine girmeyeceğiz!", + "updated": 1636752855204 } ] }, @@ -99,6 +114,11 @@ "language": "DE", "text": "Die Option Einfrieren friert die Kettenverbindungen des Knotens mit seinen Über- und Unterknoten ein, und die Verbindungslinien werden blau. Das Einfrieren setzt CPU-Ressourcen frei, wenn die Physik-Animationen eingeschaltet sind, da das System aufhört, die Positionen und den Status der Knoten zu berechnen.", "updated": 1634333202786 + }, + { + "language": "TR", + "text": "Dondur seçeneği, düğümün ebeveyni ile zincir bağlantılarını dondurur ve yavrular ve bağlantı hatları maviye döner. Fizik animasyonları açıkken dondurma işlemi, sistem düğümlerin konumlarını ve durumunu hesaplamayı durdurduğundan CPU kaynaklarını serbest bırakır.", + "updated": 1636752891025 } ] } diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-017-tutorial-step-lets-talk-backups.json b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-017-tutorial-step-lets-talk-backups.json index ef5648fec..85a1eb33b 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-017-tutorial-step-lets-talk-backups.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-017-tutorial-step-lets-talk-backups.json @@ -26,6 +26,11 @@ "language": "DE", "text": "Backups sind sehr leistungsfähig, und es gibt mehrere Anwendungsfälle! Wenn Sie auf die Schaltfläche \"Backup\" klicken, werden der Knoten und seine Unterknoten in einer JSON-Datei gespeichert!", "updated": 1634333266362 + }, + { + "language": "TR", + "text": "Yedeklemeler ( Backups ) çok güçlüdür ve çeşitli kullanım durumları vardır! Düğmeye tıkladığınızda, düğüm ve yavruları bir JSON dosyasına kaydedilir!", + "updated": 1636789947185 } ] }, @@ -51,6 +56,11 @@ "language": "DE", "text": "Sie können eine Struktur von Knoten sichern, um Ihre Arbeit zu schützen oder um eine Kopie der Struktur in ihrem aktuellen Zustand zu erhalten.", "updated": 1634333291426 + }, + { + "language": "TR", + "text": "Çalışmanızı korumak veya yapının bir kopyasını mevcut durumunda tutmak için bir düğüm yapısını yedeklemek isteyebilirsiniz.", + "updated": 1636789960355 } ] }, @@ -69,6 +79,11 @@ "language": "DE", "text": "Machen Sie ein Backup des Lightning Strike trading system und überprüfen Sie Ihren Download-Ordner!", "updated": 1634333312934 + }, + { + "language": "TR", + "text": "Lightning Strike ticaret sisteminin yedeğini alın ve indirilenler klasörünüzü kontrol edin!", + "updated": 1636789977365 } ] }, @@ -93,6 +108,11 @@ "language": "DE", "text": "Die Datei wird vom Browser heruntergeladen und im Standardordner Downloads gespeichert. Wenn Sie mehrere Sicherungskopien der gleichen Datei erstellen, benennt der Browser die Datei mit fortlaufenden Nummern um.", "updated": 1634333320554 + }, + { + "language": "TR", + "text": "Dosya tarayıcı tarafından indirilir ve varsayılan İndirilenler klasöründe saklanır. Aynı dosyanın birden çok yedeğini alırsanız, tarayıcı dosyayı sıralı sayılarla yeniden adlandırır.", + "updated": 1636789994542 } ] } diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-018-tutorial-step-working-with-versions.json b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-018-tutorial-step-working-with-versions.json index e62aec7c7..8835106bf 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-018-tutorial-step-working-with-versions.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-018-tutorial-step-working-with-versions.json @@ -26,6 +26,11 @@ "language": "DE", "text": "Angenommen, Sie wollen eine Strategie mit verschiedenen Parametersätzen testen, dann erstellen Sie ein Backup des Knotens Trading Parameters!", "updated": 1634333373800 + }, + { + "language": "TR", + "text": "Diyelim ki farklı parametre setleriyle bir stratejiyi test etmek istiyorsunuz, bu nedenle İşlem Parametreleri düğümünün yedeğini alabilirsiniz!", + "updated": 1636790169192 } ] }, @@ -51,6 +56,11 @@ "language": "DE", "text": "Machen Sie weiter und nehmen Sie die Sicherung! Jetzt, da Sie eine Sicherungskopie aller Trading Parameter haben, können Sie jede Änderung vornehmen, denn Sie wissen, dass Sie jederzeit auf Ihre Sicherungskopie zurückgreifen können! Wenn Sie mit Chrome arbeiten, muss das Backup in der unteren linken Ecke des Browserfensters sichtbar sein.", "updated": 1634333390672 + }, + { + "language": "TR", + "text": "Devam edin ve yedeği alın! Artık tüm İşlem Parametrelerinin ( Trading Parameter ) bir yedeğine sahip olduğunuza göre, her zaman yedeğinize geri dönebileceğinizi bilerek herhangi birini değiştirebilirsiniz! Chrome kullanıyorsanız, yedekleme, tarayıcı penceresinin sol alt köşesinde görünmelidir.", + "updated": 1636790152231 } ] }, @@ -75,6 +85,11 @@ "language": "DE", "text": "Ziehen Sie nun die Sicherungsdatei und legen Sie sie im Design Space ab! So stellen Sie ein Backup wieder her!", "updated": 1634333401730 + }, + { + "language": "TR", + "text": "Şimdi yedekleme dosyasını sürükleyin ve Tasarım Alanına ( Design Space ) bırakın! Bir yedeği bu şekilde geri yüklersiniz!", + "updated": 1636790223553 } ] }, @@ -99,6 +114,11 @@ "language": "DE", "text": "Einfach, oder? Im nächsten Schritt zeige ich Ihnen, wie Sie wieder die Originalversion verwenden können!", "updated": 1634333412661 + }, + { + "language": "TR", + "text": "Kolay değil mi? Bir sonraki adımda, orijinal sürümü kullanmaya nasıl geri döneceğinizi göstereceğim!", + "updated": 1636790201614 } ] } diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-019-tutorial-step-detaching-and-attaching.json b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-019-tutorial-step-detaching-and-attaching.json index 4bed83a77..9e147b78f 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-019-tutorial-step-detaching-and-attaching.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-019-tutorial-step-detaching-and-attaching.json @@ -26,6 +26,11 @@ "language": "DE", "text": "Jetzt folgen Sie meinem Beispiel! Wir werden die Strategie nicht wirklich mit verschiedenen Parametern testen... wir simulieren nur einen Anwendungsfall!", "updated": 1634333486436 + }, + { + "language": "TR", + "text": "Şimdi beni takip et! Stratejiyi farklı parametrelerle gerçekten test etmeyeceğiz... sadece bir kullanım senaryosunu simüle ediyoruz!", + "updated": 1636790394665 } ] }, @@ -51,6 +56,11 @@ "language": "DE", "text": "Nehmen wir an, wir haben die Trading Parameter geändert und wollen nun wieder die ursprünglichen Parameter verwenden. Die Sicherungskopie befindet sich bereits im Design Space - losgelöst von der Hierarchie - und wir müssen den bestehenden Knoten Trading Parameters durch die Sicherungskopie ersetzen.", "updated": 1634333510680 + }, + { + "language": "TR", + "text": "Alım Satım Parametrelerini ( Trading Parameters ) değiştirdiğimizi varsayalım ve şimdi orijinal olanları kullanmaya geri dönmek istiyoruz. Hiyerarşiden ayrılmış tasarım alanında yedeğimiz zaten var ve mevcut İşlem Parametreleri düğümünü yedekle değiştirmemiz gerekiyor.", + "updated": 1636790758208 } ] }, @@ -75,6 +85,11 @@ "language": "DE", "text": "Gehen Sie zu dem derzeit verwendeten Knoten Trading Parameters, der mit dem Knoten Backtesting Session verbunden ist, und doppelklicken Sie auf die Schaltfläche Detach Node. Der Knoten wird von der Hierarchie getrennt! Sie können ihn nun zur Seite schieben!", "updated": 1634333522271 + }, + { + "language": "TR", + "text": "Şu anda kullanımda olan - Geri Test Oturumu düğümüne ( Backtesting Session Node ) bağlı olan - İşlem Parametreleri ( Trading Parameter ) düğümüne gidin ve Düğümü Ayır ( Detach Node ) düğmesine çift tıklayın. Düğüm hiyerarşiden ayrılıyor! Şimdi yana kaydırabilirsiniz!", + "updated": 1636790630805 } ] } diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-020-tutorial-step-attaching-the-backup.json b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-020-tutorial-step-attaching-the-backup.json index 6fdb10b52..1d5a648af 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-020-tutorial-step-attaching-the-backup.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-020-tutorial-step-attaching-the-backup.json @@ -26,6 +26,11 @@ "language": "DE", "text": "Nun müssen wir die Sicherung des Knotens Trading Parameters an die Backtesting Session anhängen. Wie machen wir das?", "updated": 1634333572735 + }, + { + "language": "TR", + "text": "Şimdi İşlem Parametreleri ( Trading Parameters ) düğümünün yedeğini Geri Test Oturumuna ( Backtesting Session ) eklememiz gerekiyor. Bunu nasıl yaparız?", + "updated": 1636791281138 } ] }, @@ -50,6 +55,11 @@ "language": "DE", "text": "Klicken Sie mit der rechten Maustaste auf den Knoten Trading Parameters und ziehen Sie ihn näher an den Knoten Backtesting Session! Lassen Sie los, wenn Sie einen orangefarbenen Ring um den Backtesting Session Knoten sehen!", "updated": 1634333597218 + }, + { + "language": "TR", + "text": "İşlem Parametreleri düğümüne ( Trading Parameters ) sağ tıklayın ve Geriye Dönük Test oturumu (Backtesting Session Node ) düğümüne yaklaştırın! Geriye Dönük Test Oturumu düğümünü çevreleyen turuncu bir halka gördüğünüzde bırakın!", + "updated": 1636791340589 } ] }, @@ -74,6 +84,11 @@ "language": "DE", "text": "Das war's! Die Sicherung des Knotens Trading Parameters ist wiederhergestellt und kann wieder verwendet werden.", "updated": 1634333609241 + }, + { + "language": "TR", + "text": "Bu kadar! İşlem Parametreleri düğümünün ( Trading Parameters ) yedeği geri yüklenir ve tekrar kullanıma açılır.", + "updated": 1636791375829 } ] }, @@ -98,6 +113,11 @@ "language": "DE", "text": "Beachten Sie, dass Sie den zweiten Trading Parameters-Knoten löschen können, wenn Sie möchten, oder Sie können ihn für eine spätere Verwendung beiseite legen.", "updated": 1634333617512 + }, + { + "language": "TR", + "text": "Dilerseniz ikinci İşlem Parametreleri düğümünü ( Trading Parameters ) silebileceğinizi veya daha sonra kullanmak üzere bir tarafta tutabileceğinizi unutmayın.", + "updated": 1636791408211 } ] } diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-021-tutorial-step-irrelevant-nodes.json b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-021-tutorial-step-irrelevant-nodes.json index 7d5798419..2266627da 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-021-tutorial-step-irrelevant-nodes.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-021-tutorial-step-irrelevant-nodes.json @@ -26,6 +26,11 @@ "language": "DE", "text": "Knoten, die nicht mit einer Hierarchie verbunden sind, werden nicht berechnet. Sie sind zwar im Workspace vorhanden, haben aber keinen Einfluss auf die Funktionsweise des Systems auf irgendeiner Ebene.", "updated": 1634333669893 + }, + { + "language": "TR", + "text": "Bir hiyerarşiye bağlı olmayan düğümler hesaplanmaz. Çalışma alanında bulunurlar, ancak sistemin işleyişini hiçbir düzeyde etkilemezler.", + "updated": 1636791617905 } ] }, @@ -51,6 +56,11 @@ "language": "DE", "text": "Das bedeutet, dass Sie beliebig viele Strukturen von Knoten losgelöst von Hierarchien aufbewahren können, um sie für eine spätere Verwendung oder aus anderen Gründen zur Verfügung zu haben.", "updated": 1634333676692 + }, + { + "language": "TR", + "text": "Bu, hiyerarşilerden kopuk sayıda düğüm yapısını istediğiniz kadar tutabileceğiniz, bunları daha sonra kullanmak üzere veya herhangi bir nedenle elinizin altında tutabileceğiniz anlamına gelir.", + "updated": 1636792301822 } ] }, @@ -75,6 +85,11 @@ "language": "DE", "text": "Ein häufiges Szenario ist die Aufbewahrung mehrerer Versionen bestimmter Definitionen bei der Erstellung von Strategien, so dass Sie einen Satz von Regeln testen und beim nächsten Durchlauf zu anderen Regeln wechseln können. Sie können sogar mehrere Versionen von ganzen Strategien aufbewahren!", "updated": 1634333685177 + }, + { + "language": "TR", + "text": "Ortak bir senaryo, stratejiler oluştururken belirli tanımların birden çok sürümünü tutmaktır, böylece bir sonraki çalıştırma için bir dizi kuralı test edebilir ve diğer kurallara geçebilirsiniz. Tüm stratejilerin birden fazla versiyonunu bile tutabilirsiniz!", + "updated": 1636792469596 } ] } diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-022-tutorial-step-nodes-attaching-rules.json b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-022-tutorial-step-nodes-attaching-rules.json index 5a52acb02..022b2a935 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-022-tutorial-step-nodes-attaching-rules.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/B/Basic/Basic-Education/basic-education-022-tutorial-step-nodes-attaching-rules.json @@ -26,6 +26,11 @@ "language": "DE", "text": "Klicken Sie auf die Hilfe-Schaltfläche des Knotens Trading Parameters, um die Seite Docs des Knotens aufzurufen. Ich werde Ihnen jetzt etwas zeigen...", "updated": 1634333867183 + }, + { + "language": "TR", + "text": "Düğümün Yardım/Dokümanlar sayfasına erişmek için İşlem Parametreleri ( Trading Parameters ) düğümündeki yardım düğmesine tıklayın. Sana bir şey göstereceğim...", + "updated": 1636792560853 } ] }, @@ -51,6 +56,11 @@ "language": "DE", "text": "Blättern Sie die Seite ganz nach unten, bis Sie den Titel \"Trading Parameters Attaching Rules\" finden.", "updated": 1634333875335 + }, + { + "language": "TR", + "text": "\"Ticaret Parametreleri Ekleme Kuralları\" ( Trading Parameters Attaching Rules ) başlığını bulana kadar sayfayı sonuna kadar kaydırın.", + "updated": 1636792599389 } ] }, @@ -75,6 +85,11 @@ "language": "DE", "text": "Jeder Knoten kann an bestimmte Knotentypen angehängt werden. Diese Verknüpfungsregeln sind auf der Seite des Knotens in den Docs aufgeführt.", "updated": 1634333881601 + }, + { + "language": "TR", + "text": "Her düğüm belirli düğüm türlerine eklenebilir. Bu ekleme kuralları, Dokümanlar'da düğümün sayfasında listelenir.", + "updated": 1636792641639 } ] }, @@ -99,6 +114,11 @@ "language": "DE", "text": "Wenn es mehrere Knoten gibt, die die Verbindung annehmen können, zeigt jeder Kandidat einen grauen Ring an, der anzeigt, dass er bereit ist, die Verbindung anzunehmen. Nur der Kandidat, der sich näher am zu verbindenden Knoten befindet, ist orange markiert.", "updated": 1634333887983 + }, + { + "language": "TR", + "text": "Bağlantıyı kabul edebilecek birkaç düğüm olduğunda, her aday eki almaya hazır olduklarını belirten gri bir halka görüntüler. Yalnızca eklenecek düğüme daha yakın olan aday turuncu renkle vurgulanır.", + "updated": 1636792767216 } ] } diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-061-tutorial-step-plotters-magic.json b/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-061-tutorial-step-plotters-magic.json index 83c10a523..105258222 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-061-tutorial-step-plotters-magic.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-061-tutorial-step-plotters-magic.json @@ -30,6 +30,11 @@ "language": "TR", "text": "Ve Plotter'lar bu şekilde inşa edilir! Plotter'lar, mumlardan diğer şeylere kadar verilerin grafiksel temsillerini oluşturur!", "updated": 1636106406315 + }, + { + "language": "RU", + "text": "И вот как строятся плоттеры! Плоттеры создают графические представления данных... от свечей до всего остального!", + "updated": 1636746375089 } ] }, @@ -59,6 +64,11 @@ "language": "TR", "text": "Bunu yapmanın en iyi yolu görsel komut dosyasıdır! Plotter'lar, verileri temsil eden çizgileri ve şekilleri işaretlemek için koordinat noktalarından yapılmış stilize çokgenler kullanır. Grafiklerde kullanıma sunulan her katman, şu anda baktığınız türden bir dizi tanımla oluşturulur. Dirençler ve Destekler botunun özel durumu oldukça karmaşıktır, ancak aracın gücünü sergilemektedir.!", "updated": 1636106574620 + }, + { + "language": "RU", + "text": "Опять же, визуальное описание в лучшем виде! Плоттеры используют стилизованные полигоны, произведенные из координатных точек для окрашивания линий и фигур, представляющих данные. Каждый слой произвел доступ на диаграммах, создавая наборы определений того типа, на который Вы смотрите прямо сейчас. Каждый случай бота сопротивления и поддержки является довольно сложным, но показывает мощность инструмента!", + "updated": 1636746631697 } ] }, @@ -88,6 +98,11 @@ "language": "TR", "text": "Direnç Bölgesi 5 Poligonunu (Resistances Zone) (solda) bulun, genişletin ve bu güzelliğin nasıl inşa edildiğine bir göz atın.", "updated": 1636106823729 + }, + { + "language": "RU", + "text": "Найдите Polygon Зоны сопротивления 5 (Zone 5) - слева, разверните его и поднимайтесь вверх по ветвям, чтобы взглянуть украдкой на то, как была построена эта красота!", + "updated": 1636746844784 } ] } diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-062-tutorial-step-lets-do-some-testing.json b/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-062-tutorial-step-lets-do-some-testing.json index 3346d823f..022ead9de 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-062-tutorial-step-lets-do-some-testing.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-062-tutorial-step-lets-do-some-testing.json @@ -30,6 +30,11 @@ "language": "TR", "text": "Şimdi Ticaret Botu'nda ( Trading Bot ) yerleşik olarak bulunan temel strateji test kaynaklarından birini göstermek için Ağ hiyerarşisine geri dönelim.", "updated": 1636106918357 + }, + { + "language": "RU", + "text": "Мы вернулись к сетевой иерархии, чтобы показать Вам один из основных ресурсов для тестирования стратегий, встроенных в Trading Bot.", + "updated": 1636747011896 } ] }, @@ -60,6 +65,11 @@ "language": "TR", "text": "Ancak ilk Geri Test Oturumunuzu ( Backtesting Session ) çalıştırmadan önce, Ticaret Görevlerini Test Etme düğümünün ( Testing Trading Tasks) nasıl kurulduğunu kavramak için hızlı bir keşif görevine başlayalım.", "updated": 1636106975655 + }, + { + "language": "RU", + "text": "Но прежде чем Вы запустите свою первую Backtesting Session, давайте быстро продолжим разведочную миссию, чтобы понять, как настроен узел Testing Trading Tasks.", + "updated": 1636747139887 } ] }, @@ -89,6 +99,11 @@ "language": "TR", "text": "Ticaret Görevlerini Test Etme düğümünü ( Testing Trading Tasks ) genişletin ve yavru düğümlerin yapısına bakın... Tanıdık geliyor mu?", "updated": 1636107045004 + }, + { + "language": "RU", + "text": "Разверните узел Testing Trading Tasks и посмотрите на структуру узлов-потомков... Выглядит знакомо?", + "updated": 1636747199218 } ] }, @@ -117,6 +132,11 @@ "language": "TR", "text": "Aslında Veri Görevleri (Data Tasks) bölümüne benzerdir. Görevler borsa, piyasa ve ticaret madeni tarafından düzenlenir, böylece farklı pazarlar için optimize edilmiş herhangi bir sayıda stratejiyi birden fazla borsada test edebilirsiniz.", "updated": 1636107114239 + }, + { + "language": "RU", + "text": "Действительно! Это похоже на раздел Data Tasks: задачи организованы по бирже, рынку и торговой шахте, вот поэтому Вы можете протестировать любое количество стратегий, оптимизированных для разных рынков и на нескольких биржах.", + "updated": 1636747320904 } ] } diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-063-tutorial-step-aim-high-trade-big.json b/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-063-tutorial-step-aim-high-trade-big.json index f4dada159..bd721c7b0 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-063-tutorial-step-aim-high-trade-big.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-063-tutorial-step-aim-high-trade-big.json @@ -30,6 +30,11 @@ "language": "TR", "text": "Birden çok borsa, pazar ve stratejiyle çalışan, bir ağ üzerinden ticaret çiftliğinizin olduğunu ve burada çalışan bir robot ordusu hayal edin.", "updated": 1636108738487 + }, + { + "language": "RU", + "text": "Представьте себе армию ботов, работающих с множеством биржей, рынков и стратегий в сети а-ля торговая ферма.", + "updated": 1636747931667 } ], "updated": 1622200549490 @@ -61,6 +66,11 @@ "language": "TR", "text": "Ağ Düğümü bununla ilgili. Şimdiye kadar gördükleriniz tek bir makinede çalışıyor. Fakat...", "updated": 1636109072742 + }, + { + "language": "RU", + "text": "Вот, что такое Network Node. То, что Вы видели до сих пор - работает на одной машине. Но...", + "updated": 1636747649665 } ] }, @@ -90,6 +100,11 @@ "language": "TR", "text": "Superalgos, İstemciyi çalıştıran düğüm ağları arasında görevlerin dağıtılmasını ve koordine edilmesini destekler! Bu, akıllı ve ölçeklenebilir operasyonlar sağlar. GUI çalıştıran herhangi bir makine işletmeyi kontrol edebilir! Bu farklı makinelerde aynı operasyonları çalıştırabieceğiniz çiflikler kurabilmeniz anlamına gelir.", "updated": 1636109149775 + }, + { + "language": "RU", + "text": "Superalgos поддерживает распределения и координацию задач между сетями узлов, на которых работает Client! Это обеспечивает интеллектуальные и масштабные операции. Любая машина, на которой работает графический интерфейс, может управлять предприятием!", + "updated": 1636747776256 } ] }, @@ -118,9 +133,14 @@ "language": "TR", "text": "Birkaç Raspberry Pi, endüstriyel düzeyde bir veri merkezi veya bunların arasında herhangi bir şey ile bir ağ kurabilirsiniz.", "updated": 1636109177686 + }, + { + "language": "RU", + "text": "Вы можете настроить сеть с несколькими Raspberry Pi, центром обработки данных промышленного уровня или чем-то средним.", + "updated": 1636747852002 } ], "updated": 1629821982211 } ] -} \ No newline at end of file +} diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-064-tutorial-step-machines-learn-too.json b/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-064-tutorial-step-machines-learn-too.json index b653cf9b8..43c741e38 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-064-tutorial-step-machines-learn-too.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-064-tutorial-step-machines-learn-too.json @@ -31,6 +31,11 @@ "language": "TR", "text": "Superalgos'un en son sürümü, uygulama içinden Makine öğrenimi'nden (ML)yararlanmak için deneysel bir TensorFlow entegrasyonuna sahiptir!", "updated": 1636109475710 + }, + { + "language": "RU", + "text": "Последняя версия Superalgos включает эксперементальную интеграцию TensorFlow \nдля использования ML из приложения!", + "updated": 1636748037813 } ] }, @@ -61,6 +66,11 @@ "language": "TR", "text": "Entegrasyon, Superalgos'a özgü düğümlerin yapısında bir Öğrenme algoritması ( Supervised Learning ) ve Yapay Sinir Ağı ( Artificial Neural Network ) içeren bir NodeJS TensorFlow Kitaplığı tanımını eşler.", "updated": 1636109802947 + }, + { + "language": "RU", + "text": "Интеграция отображает определение NodeJS TensorFlow Library с алгоритмом Supervised Learning и его Artificial Neural Network в той же структуре узлов, типичной для Superalgos.", + "updated": 1636749421416 } ] }, @@ -90,6 +100,11 @@ "language": "TR", "text": "Entegrasyon, Superalgos altyapısından yararlanır, böylece veri kümelerinizi Makine öğrenimi (ML) algoritmalarını eğitmek için kullanabilir ve elde edilen modelleri ticaret sistemlerinizde kullanabilirsiniz!", "updated": 1636109892078 + }, + { + "language": "RU", + "text": "Интеграция использует остальную инфраструктуру Superalgos, поэтому Вы можете использовать свои наборы данных для обучения алгоритмов ML и использовать полученные модели в торговых системах.", + "updated": 1636749603540 } ] }, @@ -119,8 +134,13 @@ "language": "TR", "text": "Daha sonra, ML CrossCategoricalEntropy Demo Plugin Workspace'e bir göz atın!", "updated": 1636109933292 + }, + { + "language": "RU", + "text": "Позже взгляните на ML CrossCategoricalEntropy Demo Plugin Workspace!", + "updated": 1636749639894 } ] } ] -} \ No newline at end of file +} diff --git a/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-065-tutorial-step-civil-works-ahead.json b/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-065-tutorial-step-civil-works-ahead.json index b6b4f3cf9..a73b13f9e 100644 --- a/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-065-tutorial-step-civil-works-ahead.json +++ b/Projects/Foundations/Schemas/Docs-Tutorials/W/Welcome/Welcome-to-Superalgos/welcome-to-superalgos-065-tutorial-step-civil-works-ahead.json @@ -30,6 +30,11 @@ "language": "TR", "text": "Arada bir \"Under Construction\" tabelası görürseniz şaşırmayın...", "updated": 1636110077834 + }, + { + "language": "RU", + "text": "Не удивляйтесь, если Вы найдете над этой конструкцией знак \"Здесь и там\"...", + "updated": 1636749753795 } ], "updated": 1622200773527 @@ -60,6 +65,11 @@ "language": "TR", "text": "Daha önce bahsettiğim gibi, Superalgos sürekli büyüyor ve gelecek sürüm için tasarlanan altyapı, gerekli düzeltmeler ve küçük iyileştirmelerle birlikte zaman zaman bir hizmet paketindeki mevcut sürümle birleştiriliyor.", "updated": 1636110110844 + }, + { + "language": "RU", + "text": "Как я упоминал ранее, Superalgos постоянно растет и инфраструктура выстраивается для предстоящей версии, иногда может быть объединена с текущей версией в пакете обновления вместе с необходимыми исправлениями и незначительными улучшениями.", + "updated": 1636749912452 } ] }, @@ -88,8 +98,14 @@ "language": "TR", "text": "Bir sonraki sürüm içeriğini öğrenebilmek için Telegram Grubumuza Katılın. https://t.me/superalgosdevelop", "updated": 1636119227691 + }, + { + "language": "RU", + "text": "Если Вам интересно, что готовится к предстоящему выпуску Superalgos, присоединяйтесь к группе в телеграмме SuperalgosDevelop.", + "updated": 1636750362265 } - ] + ], + "updated": 1636750158168 } ] -} \ No newline at end of file +} diff --git a/Projects/Foundations/UI/Spaces/CodeEditor-Space/CodeEditorSpace.js b/Projects/Foundations/UI/Spaces/CodeEditor-Space/CodeEditorSpace.js index 71362e847..88e678a51 100644 --- a/Projects/Foundations/UI/Spaces/CodeEditor-Space/CodeEditorSpace.js +++ b/Projects/Foundations/UI/Spaces/CodeEditor-Space/CodeEditorSpace.js @@ -5,6 +5,8 @@ function newFoundationsCodeEditorSpace() { sidePanelTab: undefined, container: undefined, editorPage: undefined, + isVisible: undefined, + reset: reset, openSpaceArea: openSpaceArea, physics: physics, draw: draw, @@ -23,15 +25,24 @@ function newFoundationsCodeEditorSpace() { return thisObject function finalize() { - thisObject.sidePanelTab = undefined + if (isInitialized === false) { return } + + thisObject.container.finalize() + thisObject.container = undefined + canvas.eventHandler.stopListening(browserResizedEventSubscriptionId) thisObject.sidePanelTab.container.eventHandler.stopListening(openingEventSubscriptionId) thisObject.sidePanelTab.container.eventHandler.stopListening(closingEventSubscriptionId) + UI.projects.foundations.spaces.sideSpace.deleteSidePanelTab('Foundations', 'javascript-code', 'Code', 'right') + + thisObject.editorPage.finalize() + thisObject.editorPage = undefined + + isInitialized = false } function initialize() { - thisObject.container = newContainer() thisObject.container.name = MODULE_NAME thisObject.container.initialize() @@ -43,10 +54,7 @@ function newFoundationsCodeEditorSpace() { resize() thisObject.editorPage = newFoundationsCodeEditorEditorPage() - thisObject.footer = newGovernanceReportsFooter() // Reuse simple footer - thisObject.editorPage.initialize() - thisObject.footer.initialize() thisObject.sidePanelTab = UI.projects.foundations.spaces.sideSpace.createSidePanelTab(thisObject.container, 'Foundations', 'javascript-code', 'Code', 'right') @@ -66,6 +74,11 @@ function newFoundationsCodeEditorSpace() { thisObject.editorPage.render(originatingNode, codeEditorType) } + function reset() { + finalize() + initialize() + } + function physics() { if (isInitialized === false) { return @@ -92,11 +105,11 @@ function newFoundationsCodeEditorSpace() { } function onOpening() { - + thisObject.isVisible = true } function onClosing() { - + thisObject.isVisible = false } function draw() { diff --git a/Projects/Foundations/UI/Spaces/CodeEditor-Space/EditorPage.js b/Projects/Foundations/UI/Spaces/CodeEditor-Space/EditorPage.js index 4198e3782..4408e4ed2 100644 --- a/Projects/Foundations/UI/Spaces/CodeEditor-Space/EditorPage.js +++ b/Projects/Foundations/UI/Spaces/CodeEditor-Space/EditorPage.js @@ -3,6 +3,7 @@ function newFoundationsCodeEditorEditorPage() { originatingNode: undefined, editorType: undefined, render: render, + reset:reset, initialize: initialize, finalize: finalize } @@ -10,9 +11,10 @@ function newFoundationsCodeEditorEditorPage() { let monacoInitialized = false let monacoEditor = undefined let codeString = '' + let stringObjects = [] let tradingEngineObj = undefined let recordFormulasObj = {} - let chartObj = {} + let chartMarketExchangeObj = {} return thisObject @@ -27,13 +29,19 @@ function newFoundationsCodeEditorEditorPage() { monacoInitialized = false monacoEditor = undefined codeString = '' + stringObjects = [] tradingEngineObj = undefined recordFormulasObj = {} + chartMarketExchangeObj = {} thisObject.originatingNode = undefined thisObject.editorType = undefined } + function reset() { + finalize() + initialize() + } function render(originatingNode, editorType) { @@ -56,7 +64,7 @@ function newFoundationsCodeEditorEditorPage() { function initMonacoEditor() { if (monacoEditor === undefined) { document.getElementById('no-content').remove() - document.getElementById('code-path').insertAdjacentHTML('afterend',`
Notes: Changes are saved automatically
`) + document.getElementById('code-path').insertAdjacentHTML('afterend', `
Notes: Changes are saved automatically
`) monacoEditor = monaco.editor.create(document.querySelector('#editor'), { model: null, theme: 'vs-dark', @@ -67,7 +75,7 @@ function newFoundationsCodeEditorEditorPage() { monaco.editor.createModel(codeString, "javascript") createAutocompletionFor(tradingEngineObj) createAutocompletionFor(recordFormulasObj) - createAutocompletionFor(chartObj) + createAutocompletionFor(chartMarketExchangeObj) monaco.languages.typescript.javascriptDefaults.setEagerModelSync(true) monaco.languages.typescript.javascriptDefaults.setCompilerOptions({ @@ -116,7 +124,7 @@ function newFoundationsCodeEditorEditorPage() { return (isMember) ? monaco.languages.CompletionItemKind.Method : monaco.languages.CompletionItemKind.Function; default: - return (isMember) ? monaco.languages.CompletionItemKind.Property : monaco.languages.CompletionItemKind.Variable; + return monaco.languages.CompletionItemKind.Variable; } } @@ -167,7 +175,6 @@ function newFoundationsCodeEditorEditorPage() { return result[0] = ''; } } - prefix += '.'; } // Get all the child properties of the last token @@ -212,13 +219,19 @@ function newFoundationsCodeEditorEditorPage() { /** * The autocomplete models will be based on: * 1. Existing code in the data mines -> we will create models for each code node (it's like opening multiple files in vscode) - * 2. Formulas from data mines by creating an object representation of all formulas see implementation below than passing it to the monaco registerCompletionItemProvider + * 2. Formulas from data mines by creating an object representation of all formulas see implementation below then passing it to the monaco registerCompletionItemProvider * 2. Trading engine loaded into the workspace - we create an obj. representation using getProtocolNode and we are using monaco registerCompletionItemProvider * */ function buildIntelliSenseModels() { + let chartObjectPrefix = 'chart.' + let marketPrefix = 'market.' + let exchangePrefix = 'exchange.' + let dot = '.' + let numberOfPreviousSuffixes = 5 + UI.projects.foundations.spaces.designSpace.workspace.workspaceNode.rootNodes.forEach(node => { if (node.type === 'Data Mine') { // Getting all the Javascript code nodes into one single model @@ -266,19 +279,13 @@ function newFoundationsCodeEditorEditorPage() { let validTimeFrames = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(dataset.payload, 'validTimeFrames') if (validTimeFrames !== undefined) { validTimeFrames.forEach(tf => { - let prop = 'chart.at' + tf.replace('-', '') + '.' + productName + '.' + propertyName - // This will let us to enhance the autocomplete logic to add as many previous kids as we want to - let propWithPrevious = 'chart.at' + tf.replace('-', '') + '.previous.' + productName + '.' + propertyName - let propWithTwoPrevious = 'chart.at' + tf.replace('-', '') + '.previous.previous.' + productName + '.' + propertyName - let propWithThreePrevious = 'chart.at' + tf.replace('-', '') + '.previous.previous.previous.' + productName + '.' + propertyName - let propWithFourPrevious = 'chart.at' + tf.replace('-', '') + '.previous.previous.previous.previous.' + productName + '.' + propertyName - let propWithFivePrevious = 'chart.at' + tf.replace('-', '') + '.previous.previous.previous.previous.previous.' + productName + '.' + propertyName - objectMerge(chartObj, prop.split('.').reduceRight((o, x) => ({[x]: o}), "")) - objectMerge(chartObj, propWithPrevious.split('.').reduceRight((o, x) => ({[x]: o}), "")) - objectMerge(chartObj, propWithTwoPrevious.split('.').reduceRight((o, x) => ({[x]: o}), "")) - objectMerge(chartObj, propWithThreePrevious.split('.').reduceRight((o, x) => ({[x]: o}), "")) - objectMerge(chartObj, propWithFourPrevious.split('.').reduceRight((o, x) => ({[x]: o}), "")) - objectMerge(chartObj, propWithFivePrevious.split('.').reduceRight((o, x) => ({[x]: o}), "")) + let timeFrame = 'at' + tf.replace('-', '') + + stringObjects.push(chartObjectPrefix + timeFrame + '.' + productName + '.' + propertyName) + for (let i = 1; i <= numberOfPreviousSuffixes; i++) { + stringObjects.push(chartObjectPrefix + timeFrame + getPreviousSuffixTimes(i) + productName + dot + propertyName) + } + }) } }) @@ -318,6 +325,36 @@ function newFoundationsCodeEditorEditorPage() { } }) + // Enrich chart data with market and exchange structure + UI.projects.foundations.spaces.designSpace.workspace.workspaceNode.rootNodes.forEach(node => { + if (node.type === 'Crypto Ecosystem') { + node.cryptoExchanges.forEach(cxs => { + cxs.exchanges.forEach(exchange => { + let exchangeName = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(exchange.payload, 'codeName') + exchange.exchangeMarkets.markets.forEach(market => { + let marketPair = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(market.payload, 'codeName') + let baseAsset = marketPair.split('/')[0] + let quotedAsset = marketPair.split('/')[1] + stringObjects.forEach(chartObj => { + /** + * We will provide auto-complete only for assets pair found in Markets + * Doing so we will avoid providing completion for assets that are not used in a market + */ + let market = marketPrefix + baseAsset + dot + quotedAsset + dot + chartObj + stringObjects.push(market) + stringObjects.push(exchangePrefix + exchangeName + dot + market) + }) + }) + }) + }) + } + }) + + //Actually building the objects for chart, market and exchange, no need for multiple objects, as one is enough for the autocomplete to work + stringObjects.forEach(stringRepresentation => { + objectMerge(chartMarketExchangeObj, stringRepresentation.split('.').reduceRight((o, x) => ({[x]: o}), "")) + }) + function objectMerge(target, source) { for (const key of Object.keys(source)) { @@ -340,6 +377,20 @@ function newFoundationsCodeEditorEditorPage() { return target; } + function getPreviousSuffixTimes(number) { + let result = '' + let previousString = 'previous.' + let dotString = '.' + for (let i = 0; i < number; i++) { + if (i === 0) { + result += dotString + } + result += previousString + } + + return result + } + } function buildEditorHTML() { @@ -363,7 +414,7 @@ function newFoundationsCodeEditorEditorPage() { function footer() { let HTML = '' - HTML += HTML + '