Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop
This commit is contained in:
commit
b18b1552ec
91 files changed
+2032
-105
No files matched your search
@@ -1,38 +1,16 @@
|
||||
name: Build/release Binaries
|
||||
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [master]
|
||||
#release:
|
||||
# types: [published, created]
|
||||
release:
|
||||
types:
|
||||
- published
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
create-release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Download a file
|
||||
run: curl "https://raw.githubusercontent.com/${{ github.repository }}/master/package.json" -o package.json
|
||||
|
||||
- name: get-version
|
||||
id: version
|
||||
uses: nyaa8/package-version@v1
|
||||
with:
|
||||
path: './package.json'
|
||||
|
||||
- name: Create release
|
||||
id: create_release
|
||||
uses: viperproject/create-nightly-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: ${{ env.PACKAGE_VERSION }}
|
||||
release_name: Superalgos-v${{ env.PACKAGE_VERSION }}
|
||||
|
||||
build-release:
|
||||
runs-on: ${{ matrix.os }}
|
||||
needs: create-release
|
||||
strategy:
|
||||
matrix:
|
||||
os: [windows-latest, macos-latest]
|
||||
@@ -40,19 +18,15 @@ jobs:
|
||||
steps:
|
||||
- name: Check out Git repository
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
ref: develop
|
||||
|
||||
- name: Install Node.js, NPM and Yarn
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 14
|
||||
|
||||
- name: get-version
|
||||
id: version
|
||||
uses: nyaa8/package-version@v1
|
||||
with:
|
||||
path: './package.json'
|
||||
- name: Get version
|
||||
id: vars
|
||||
run: echo "::set-output name=tag::$(node -p "require('./package.json').version")"
|
||||
|
||||
- name: Build/release Electron app
|
||||
uses: samuelmeuli/action-electron-builder@v1
|
||||
@@ -60,10 +34,6 @@ jobs:
|
||||
# GitHub token, automatically provided to the action
|
||||
# (No need to define this secret in the repo settings)
|
||||
github_token: ${{ secrets.github_token }}
|
||||
args: "-c.extraMetadata.version=${{ env.PACKAGE_VERSION }} -c build/electron-builder.json -p always"
|
||||
|
||||
# If the commit is tagged with a version (e.g. "v1.0.0"),
|
||||
# release the app after building
|
||||
# release: ${{ startsWith(github.ref, 'refs/tags/v') }}
|
||||
args: "-c.extraMetadata.version=${{ steps.vars.outputs.tag }} -c build/electron-builder.json -p always"
|
||||
release: true
|
||||
|
||||
@@ -17,11 +17,9 @@ jobs:
|
||||
id: date
|
||||
run: echo "::set-output name=date::$(date +'%Y%m%d')"
|
||||
|
||||
- name: get-version
|
||||
id: version
|
||||
uses: nyaa8/package-version@v1
|
||||
with:
|
||||
path: './package.json'
|
||||
- name: Get version
|
||||
id: vars
|
||||
run: echo "::set-output name=tag::$(node -p "require('./package.json').version")"
|
||||
|
||||
- name: Create nightly release
|
||||
id: create_release
|
||||
@@ -29,8 +27,8 @@ jobs:
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: ${{ env.PACKAGE_VERSION }}.${{ steps.date.outputs.date }}
|
||||
release_name: Superalgos ${{ env.PACKAGE_VERSION }} Snapshot ${{ steps.date.outputs.date }}
|
||||
tag_name: ${{ steps.vars.outputs.tag }}.${{ steps.date.outputs.date }}
|
||||
release_name: Superalgos-Beta-v${{ steps.vars.outputs.tag }} Snapshot ${{ steps.date.outputs.date }}
|
||||
keep_num: 5
|
||||
keep_tags: false
|
||||
|
||||
@@ -39,7 +37,7 @@ jobs:
|
||||
needs: create-release
|
||||
strategy:
|
||||
matrix:
|
||||
os: [windows-latest, macos-latest]
|
||||
os: [windows-latest, macos-latest, ubuntu-latest]
|
||||
|
||||
steps:
|
||||
- name: Get current date
|
||||
@@ -56,11 +54,9 @@ jobs:
|
||||
with:
|
||||
node-version: 14
|
||||
|
||||
- name: get-version
|
||||
id: version
|
||||
uses: nyaa8/package-version@v1
|
||||
with:
|
||||
path: './package.json'
|
||||
- name: Get version
|
||||
id: vars
|
||||
run: echo "::set-output name=tag::$(node -p "require('./package.json').version")"
|
||||
|
||||
- name: Build/release Electron app
|
||||
uses: samuelmeuli/action-electron-builder@v1
|
||||
@@ -68,7 +64,7 @@ jobs:
|
||||
# GitHub token, automatically provided to the action
|
||||
# (No need to define this secret in the repo settings)
|
||||
github_token: ${{ secrets.github_token }}
|
||||
args: "-c.extraMetadata.main=electron-wrapper.js -c.extraMetadata.version=${{ env.PACKAGE_VERSION }}.${{ steps.date.outputs.date }} -c build/electron-builder.json -p onTagOrDraft"
|
||||
args: "-c.extraMetadata.version=${{ steps.vars.outputs.tag }}.${{ steps.date.outputs.date }} -c build/electron-builder.json -p onTagOrDraft"
|
||||
|
||||
# If the commit is tagged with a version (e.g. "v1.0.0"),
|
||||
# release the app after building
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "C:\\Superalgos"
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"search.maintainFileSearchCache": true
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "C:\\Superalgos"
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"search.maintainFileSearchCache": true
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "C:\\Superalgos"
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"search.maintainFileSearchCache": true
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ exports.newDesktopApp = function newDesktopApp() {
|
||||
|
||||
let thisObject = {
|
||||
socialGraph: undefined,
|
||||
p2pMetwork: undefined,
|
||||
p2pNetwork: undefined,
|
||||
webSocketsClient: undefined,
|
||||
webSocketsInterface: undefined,
|
||||
run: run
|
||||
@@ -21,18 +21,18 @@ exports.newDesktopApp = function newDesktopApp() {
|
||||
/*
|
||||
We can join now the P2P Network as a client app.
|
||||
*/
|
||||
thisObject.p2pMetwork = SA.projects.network.modules.p2pNetwork.newNetworkModulesP2PNetwork()
|
||||
await thisObject.p2pMetwork.initialize('Network Client')
|
||||
thisObject.p2pNetwork = SA.projects.network.modules.p2pNetwork.newNetworkModulesP2PNetwork()
|
||||
await thisObject.p2pNetwork.initialize('Network Client')
|
||||
/*
|
||||
Here we will pick a Network Node from all users profiles available that do have a Network Node running.
|
||||
*/
|
||||
let selectedNetworkNode = thisObject.p2pMetwork.p2pNodesToConnect[0]
|
||||
let selectedNetworkNode = thisObject.p2pNetwork.p2pNodesToConnect[0]
|
||||
/*
|
||||
This is the Web Sockets client that interacts with the Superalgos Network.
|
||||
*/
|
||||
thisObject.webSocketsClient = SA.projects.network.modules.webSocketsNetworkClient.newNetworkModulesWebSocketsNetworkClient()
|
||||
await thisObject.webSocketsClient.initialize('Network Client', selectedNetworkNode)
|
||||
console.log('Desktop Client Connected to Network Node via Web Sockets ................... Connected to port ' + global.env.NETWORK_WEB_SOCKETS_INTERFACE_PORT)
|
||||
|
||||
/*
|
||||
These are the Network Interfaces by which the Web App interacts with this Desktop Client.
|
||||
*/
|
||||
|
||||
@@ -32,6 +32,9 @@ exports.newEnvironment = function () {
|
||||
SERVER_APP_SIGNING_ACCOUNT: 'Social-Trading-Server-App-1',
|
||||
PLATFORM_APP_SIGNING_ACCOUNT: 'Algo-Traders-Platform-1',
|
||||
P2P_NETWORK_NODE_SIGNING_ACCOUNT: 'P2P-Network-Node-1',
|
||||
P2P_NETWORK_NODE_MAX_INCOMING_CLIENTS: 20,
|
||||
P2P_NETWORK_NODE_MAX_INCOMING_PEERS: 2,
|
||||
P2P_NETWORK_NODE_MAX_OUTGOING_PEERS: 2
|
||||
}
|
||||
|
||||
if (process.env.DATA_PATH) {
|
||||
|
||||
+19
-8
@@ -1,20 +1,19 @@
|
||||
exports.newNetworkNode = function newNetworkNode() {
|
||||
|
||||
let thisObject = {
|
||||
webSocketsInterface: undefined,
|
||||
socialGraphService: undefined,
|
||||
storage: undefined,
|
||||
p2pMetwork: undefined,
|
||||
p2pNetwork: undefined,
|
||||
p2pNetworkPeers: undefined,
|
||||
run: run
|
||||
}
|
||||
|
||||
NT.networkNode = thisObject
|
||||
|
||||
return thisObject
|
||||
|
||||
async function run() {
|
||||
/*
|
||||
Other Network Nodes and Client Apps will communicate with this Network Node via it's Websocket Interface.
|
||||
*/
|
||||
NT.webSocketsInterface = NT.projects.network.modules.webSocketsInterface.newNetworkModulesWebSocketsInterface()
|
||||
NT.webSocketsInterface.initialize()
|
||||
/*
|
||||
The Social Graph Service is the first and for now, the only service this Network Node provides.
|
||||
*/
|
||||
@@ -26,9 +25,21 @@ exports.newNetworkNode = function newNetworkNode() {
|
||||
thisObject.storage = NT.projects.socialTrading.modules.storage.newSocialTradingModulesStorage()
|
||||
thisObject.storage.initialize()
|
||||
/*
|
||||
Let's discover who is at the p2p network.
|
||||
*/
|
||||
thisObject.p2pNetwork = SA.projects.network.modules.p2pNetwork.newNetworkModulesP2PNetwork()
|
||||
await thisObject.p2pNetwork.initialize('Network Peer')
|
||||
/*
|
||||
We can join now the P2P Network as a new peer there.
|
||||
*/
|
||||
thisObject.p2pMetwork = SA.projects.network.modules.p2pNetwork.newNetworkModulesP2PNetwork()
|
||||
await thisObject.p2pMetwork.initialize('Network Peer')
|
||||
thisObject.p2pNetworkPeers = SA.projects.network.modules.p2pNetworkPeers.newNetworkModulesP2PNetworkPeers()
|
||||
await thisObject.p2pNetworkPeers.initialize()
|
||||
/*
|
||||
Other Network Nodes and Client Apps will communicate with this Network Node via it's Websocket Interface.
|
||||
*/
|
||||
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.p2pNetwork.thisNetworkNode.node.config).webSocketsPort)
|
||||
|
||||
}
|
||||
}
|
||||
+5
-1
@@ -10,7 +10,7 @@ exports.newNetworkRoot = function newNetworkRoot() {
|
||||
|
||||
return thisObject
|
||||
|
||||
async function run() {
|
||||
async function run(debugSettings) {
|
||||
/*
|
||||
The NT object is accessible everywhere at the Superalgos Network.
|
||||
It provides access to all modules built for this Network.
|
||||
@@ -25,6 +25,10 @@ exports.newNetworkRoot = function newNetworkRoot() {
|
||||
let ENVIRONMENT = require('./Environment.js');
|
||||
let ENVIRONMENT_MODULE = ENVIRONMENT.newEnvironment()
|
||||
global.env = ENVIRONMENT_MODULE
|
||||
|
||||
if (debugSettings !== undefined && debugSettings.P2P_NETWORK_NODE_SIGNING_ACCOUNT !== undefined) {
|
||||
global.env.P2P_NETWORK_NODE_SIGNING_ACCOUNT = debugSettings.P2P_NETWORK_NODE_SIGNING_ACCOUNT
|
||||
}
|
||||
/*
|
||||
First thing is to load the project schema file.
|
||||
*/
|
||||
|
||||
@@ -8,6 +8,11 @@
|
||||
"language": "ES",
|
||||
"text": "Un Trading Bot es un programa informático que, basado en conjuntos de datos expuestos como productos por otros bots (sensores de conteo, indicadores e incluso otros trading bots ), aplica la lógica trading definida en un Trading System para, por un lado, generar una simulación de trading completa (generando conjuntos de datos que incluyen operaciones, la acción de estrategias, validación de condiciones, etc.) y, por otro lado, gestiona la ejecución de órdenes en una sesión ya sea en vivo o no.",
|
||||
"updated": 1624375084844
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Торговый бот — это компьютерная программа, которая на основе наборов данных, представленных в качестве продуктов другими ботами (датчики подсчета, индикаторы и даже другие торговые боты), применяет торговую логику, определенную в торговой системе, с одной стороны, для создания полной торговой симуляции (вывод наборов данных, которые включают сделки, действие стратегий, проверку условий и т. д.), а с другой стороны, управляет исполнением ордеров во время форвардного тестирования или реальной торговой сессии.",
|
||||
"updated": 1636194335057
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
+5
@@ -7,6 +7,11 @@
|
||||
"language": "ES",
|
||||
"text": "Un trading system es un marco que maneja la lógica de bajo nivel que sirve para estructurar los procesos y métodos utilizados para implementar y desplegar estrategias de trading.",
|
||||
"updated": 1624375355452
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Торговая система - это структура, управляющая логикой низкого уровня, которая служит для структурирования процессов и методов, используемых для реализации и развертывания торговых стратегий.",
|
||||
"updated": 1636194401995
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"type": "Plugins",
|
||||
"definition": {
|
||||
"text": "The plugins hierarchy defines which plugins are to be included in the current workspace. In the context of this hierarchy, plugins are JSON files featuring the description of a hierarchy such as a data mine, trading mine, trading engine, or trading system.",
|
||||
"translations": [
|
||||
{
|
||||
"language": "ES",
|
||||
"text": "The plugins hierarchy define cual plugins se incluirán en el actual workspace. En el contexto de esta jerarquía, plugins son archivos JSON con la descripción de una jerarquía como un data mine, trading mine, trading engine, o trading system.",
|
||||
"updated": 1628037249031
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Иерархия плагинов определяет, какие плагины должны быть включены в текущую рабочую область. В контексте этой иерархии плагины представляют собой файлы JSON, содержащие описание иерархии, такой как шахта данных, торговая шахта, торговый механизм или торговая система.",
|
||||
"updated": 1636194488881
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Block",
|
||||
"text": "Content"
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "In the context of a community-driven project, a plugin is a device that serves to distribute community-generated intelligence. The project distributes several plugins contributed by the community."
|
||||
},
|
||||
{
|
||||
"style": "Important",
|
||||
"text": "Hierarchies included in the workspace as plugins are not saved at the workspace level. As such, changes made in those hierarchies do not persist. If you wish to modify a plugin and keep working with the modified version in the future, you must either clone or backup the plugin and work on the resulting copy instead.",
|
||||
"updated": 1609866745275
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -8,6 +8,11 @@
|
||||
"language": "ES",
|
||||
"text": "Un Data Mine es una jerarquía que contiene definiciones de sensor, bots indicadores, y sus trazadores. Estas definiciones se obtienen del código de dichos bots.",
|
||||
"updated": 1624230241851
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Шахта данных - это иерархия, содержащая определения датчиков и ботов-индикаторов, а также их плоттеров. Эти определения взяты из фактического кода таких ботов.\n",
|
||||
"updated": 1636192911774
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -7,6 +7,11 @@
|
||||
"language": "ES",
|
||||
"text": "Un indicator bot es un algoritmo que procesa información que otros bots han generado y produce conjuntos de datos elaborados para que otros los consuman.",
|
||||
"updated": 1624496036942
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Бот-индикатор - это алгоритм, который обрабатывает информацию, сгенерированную другими ботами, и создает сложные наборы данных для использования другими.",
|
||||
"updated": 1636192708246
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -0,0 +1,258 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="96 11 512 512"
|
||||
style="enable-background:new 96 11 512 512;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="create-reference.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
|
||||
inkscape:export-filename="E:\Superalgos\Projects\Foundations\Icons-SVG-Sources\menu\create-reference.png"
|
||||
inkscape:export-xdpi="100"
|
||||
inkscape:export-ydpi="100"><metadata
|
||||
id="metadata53"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs51" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
id="namedview49"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.42382813"
|
||||
inkscape:cx="-330.802"
|
||||
inkscape:cy="797.57683"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g968-1" />
|
||||
<style
|
||||
type="text/css"
|
||||
id="style2">
|
||||
.st0{fill:#FD6A33;}
|
||||
.st1{fill:none;stroke:#4ACFD9;stroke-width:35;stroke-linecap:round;stroke-miterlimit:10;}
|
||||
.st2{fill:#9BAAAB;}
|
||||
.st3{fill:#4ACFD9;}
|
||||
.st4{fill:#0295AA;}
|
||||
.st5{fill:#FF8C29;}
|
||||
.st6{fill:#365558;}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<path
|
||||
class="st1"
|
||||
d="m 660.14266,606.29562 c -10,-50.1 -21.3,-115.2 -65.1,-149 -43.8,-33.8 -90.4,-37.6 -117.9,-77.6"
|
||||
id="path16" />
|
||||
<circle
|
||||
class="st2"
|
||||
cx="488.82132"
|
||||
cy="397.94778"
|
||||
r="37.799999"
|
||||
id="circle18" />
|
||||
|
||||
<path
|
||||
class="st0"
|
||||
d="m 390.62133,264.74781 -52.2,-52.1 c -2.7,-2.7 -2.7,-7.2 0,-9.9 l 2.5,-2.5 c 2.7,-2.7 7.2,-2.7 9.9,0 l 52.1,52.1 c 2.7,2.7 2.7,7.2 0,9.9 l -2.5,2.5 c -2.7,2.7 -7.1,2.7 -9.8,0 z"
|
||||
id="path26" />
|
||||
<path
|
||||
class="st5"
|
||||
d="m 355.92133,279.44781 -52.1,-52.1 c -2.7,-2.7 -2.7,-7.2 0,-9.9 l 2.5,-2.5 c 2.7,-2.7 7.2,-2.7 9.9,0 l 52.1,52.1 c 2.7,2.7 2.7,7.2 0,9.9 l -2.5,2.5 c -2.8,2.7 -7.2,2.7 -9.9,0 z"
|
||||
id="path28" />
|
||||
<path
|
||||
class="st0"
|
||||
d="m 348.62133,304.24781 -49.7,-49.6 c -3.4,-3.4 -9,-3.4 -12.4,0 v 0 c -3.4,3.4 -3.4,9 0,12.4 l 49.6,49.6 c 3.4,3.4 9,3.4 12.4,0 v 0 c 3.5,-3.5 3.5,-9 0.1,-12.4 z"
|
||||
id="path30" />
|
||||
<path
|
||||
class="st3"
|
||||
d="m 534.12133,351.14781 c 12.2,-12.2 12.2,-32.1 0,-44.3 l -62,-62 c -12.2,-12.2 -32.1,-12.2 -44.3,0 l -47.8,47.8 106.3,106.3 z"
|
||||
id="path32" />
|
||||
<path
|
||||
class="st4"
|
||||
d="m 332.22133,384.74781 62,62 c 12.2,12.2 32.1,12.2 44.3,0 l 47.8,-47.8 -106.3,-106.3 -47.8,47.8 c -12.2,12.2 -12.2,32.1 0,44.3 z"
|
||||
id="path34" />
|
||||
<path
|
||||
class="st4"
|
||||
d="m 422.52133,271.44781 c 5.8,-5.8 5.8,-15.4 0,-21.3 l -8.9,-8.9 c -5.8,-5.8 -15.4,-5.8 -21.3,0 l -31.9,31.9 30.1,30.1 z"
|
||||
id="path36" />
|
||||
<path
|
||||
class="st6"
|
||||
d="m 328.62133,326.34781 8.9,8.9 c 5.8,5.8 15.4,5.8 21.3,0 l 31.9,-31.9 -30.1,-30.1 -31.9,31.9 c -5.9,5.8 -5.9,15.3 -0.1,21.2 z"
|
||||
id="path38" />
|
||||
|
||||
<path
|
||||
class="st1"
|
||||
d="m 50.821333,-83.352191 c 10,50.1 21.3,115.2 65.099997,149 43.8,33.8 90.4,37.600001 117.9,77.700001"
|
||||
id="path12" /><circle
|
||||
class="st2"
|
||||
cx="233.82133"
|
||||
cy="143.34781"
|
||||
r="37.799999"
|
||||
id="circle14" /><g
|
||||
id="g24"
|
||||
transform="translate(46.321333,41.647809)">
|
||||
<path
|
||||
class="st3"
|
||||
d="m 310.3,165.8 c 5.8,-5.8 15.4,-5.8 21.3,0 l 3.5,3.5 6.2,-6.2 c 12.2,-12.2 12.2,-32.1 0,-44.3 l -62,-62 C 267.1,44.6 247.2,44.6 235,56.8 l -48.7,48.7 92.1,92.1 z"
|
||||
id="path20" />
|
||||
<path
|
||||
class="st4"
|
||||
d="m 139.4,196.8 62,62 c 12.2,12.2 32.1,12.2 44.3,0 l 4.4,-4.4 -3.5,-3.5 c -5.8,-5.8 -5.8,-15.4 0,-21.3 l 31.9,-31.9 -92.1,-92.1 -46.9,46.9 c -12.3,12.2 -12.3,32.2 -0.1,44.3 z"
|
||||
id="path22" />
|
||||
</g><rect
|
||||
x="-484.92621"
|
||||
y="12.338773"
|
||||
class="st1"
|
||||
width="128"
|
||||
height="128"
|
||||
id="rect14"
|
||||
style="fill:#f0353d" /><rect
|
||||
x="-356.92621"
|
||||
y="12.338773"
|
||||
class="st2"
|
||||
width="128"
|
||||
height="128"
|
||||
id="rect16"
|
||||
style="fill:#fd6a33" /><rect
|
||||
x="-228.92621"
|
||||
y="12.338773"
|
||||
class="st3"
|
||||
width="128"
|
||||
height="128"
|
||||
id="rect18"
|
||||
style="fill:#ff8c29" /><rect
|
||||
x="-100.9262"
|
||||
y="12.338773"
|
||||
class="st4"
|
||||
width="128"
|
||||
height="128"
|
||||
id="rect20"
|
||||
style="fill:#ffd1a9" /><rect
|
||||
x="-484.92621"
|
||||
y="140.33878"
|
||||
class="st5"
|
||||
width="128"
|
||||
height="128"
|
||||
id="rect22"
|
||||
style="fill:#365558" /><rect
|
||||
x="-356.92621"
|
||||
y="140.33878"
|
||||
class="st6"
|
||||
width="128"
|
||||
height="128"
|
||||
id="rect24"
|
||||
style="fill:#0295aa" /><rect
|
||||
x="-228.92621"
|
||||
y="140.33878"
|
||||
class="st7"
|
||||
width="128"
|
||||
height="128"
|
||||
id="rect26"
|
||||
style="fill:#4acfd9" /><rect
|
||||
x="-484.92621"
|
||||
y="268.33878"
|
||||
class="st8"
|
||||
width="128"
|
||||
height="128"
|
||||
id="rect28"
|
||||
style="fill:#9baaab" /><rect
|
||||
x="-356.92621"
|
||||
y="268.33878"
|
||||
class="st9"
|
||||
width="128"
|
||||
height="128"
|
||||
id="rect30"
|
||||
style="fill:#cdd4d5" /><rect
|
||||
x="-228.92621"
|
||||
y="268.33878"
|
||||
class="st10"
|
||||
width="128"
|
||||
height="128"
|
||||
id="rect32"
|
||||
style="fill:#e6eaea" /><rect
|
||||
x="-100.9262"
|
||||
y="268.33878"
|
||||
class="st11"
|
||||
width="128"
|
||||
height="128"
|
||||
id="rect34"
|
||||
style="fill:#ffffff" /><rect
|
||||
x="-484.92621"
|
||||
y="396.33878"
|
||||
class="st12"
|
||||
width="128"
|
||||
height="128"
|
||||
id="rect36"
|
||||
style="fill:#bcd643" /><g
|
||||
id="g968-1"
|
||||
transform="rotate(-135,714.30035,166.0977)"><g
|
||||
id="g1082"
|
||||
transform="translate(407.00461,-154.54378)"><g
|
||||
id="g1043"
|
||||
transform="rotate(135,481.3645,166.52488)"><g
|
||||
id="g1049"
|
||||
transform="translate(-1.7695853,17.474654)"><path
|
||||
id="path26-5-5"
|
||||
style="fill:#365558;fill-opacity:1"
|
||||
sodipodi:type="inkscape:offset"
|
||||
inkscape:radius="9.437788"
|
||||
inkscape:original="M 103 11 C 99.18163 11 96 14.18162 96 18 L 96.070312 91.751953 C 96.070312 95.570333 99.18163 98.681641 103 98.681641 L 106.53516 98.681641 C 110.35353 98.681641 113.53711 95.500021 113.53711 91.681641 L 113.53711 18 C 113.53711 14.18162 110.35353 11 106.53516 11 L 103 11 z "
|
||||
d="M 103,1.5625 C 93.938999,1.5625 86.5625,8.9389867 86.5625,18 a 9.4387318,9.4387318 0 0 0 0,0.0098 l 0.07031,73.751953 C 86.638291,100.70245 94.058161,108.11914 103,108.11914 h 3.53516 c 9.061,0 16.43945,-7.37327 16.43945,-16.437499 V 18 c 0,-9.0642265 -7.37845,-16.4375 -16.43945,-16.4375 z"
|
||||
transform="translate(363.35484,24.774194)" /><path
|
||||
class="st0"
|
||||
d="m 459.42554,116.52578 -0.0707,-73.751226 c 0,-3.81838 3.18198,-7.00036 7.00035,-7.00036 h 3.53554 c 3.81837,0 7.00035,3.18198 7.00035,7.00036 v 73.680516 c 0,3.81838 -3.18198,7.00036 -7.00035,7.00036 h -3.53554 c -3.81837,0 -6.92964,-3.11127 -6.92964,-6.92965 z"
|
||||
id="path26-5"
|
||||
style="fill:#bcd643;fill-opacity:1" /></g></g><g
|
||||
id="g968-3"
|
||||
transform="rotate(180,491.97327,156.41818)"><path
|
||||
id="path26-5-5-5-5"
|
||||
style="fill:#365558;fill-opacity:1"
|
||||
sodipodi:type="inkscape:offset"
|
||||
inkscape:radius="9.437788"
|
||||
inkscape:original="M 103 11 C 99.18163 11 96 14.18162 96 18 L 96.070312 91.751953 C 96.070312 95.570333 99.18163 98.681641 103 98.681641 L 106.53516 98.681641 C 110.35353 98.681641 113.53711 95.500021 113.53711 91.681641 L 113.53711 18 C 113.53711 14.18162 110.35353 11 106.53516 11 L 103 11 z "
|
||||
d="M 103,1.5625 C 93.938999,1.5625 86.5625,8.9389867 86.5625,18 a 9.4387318,9.4387318 0 0 0 0,0.0098 l 0.07031,73.751953 C 86.638291,100.70245 94.058161,108.11914 103,108.11914 h 3.53516 c 9.061,0 16.43945,-7.37327 16.43945,-16.437499 V 18 c 0,-9.0642265 -7.37845,-16.4375 -16.43945,-16.4375 z"
|
||||
transform="rotate(45,258.34465,606.85962)" /><path
|
||||
class="st0"
|
||||
d="m 507.83601,127.87824 52.10001,-52.199996 c 2.7,-2.700002 7.2,-2.700006 9.9,-1e-5 l 2.5,2.500004 c 2.7,2.699995 2.69999,7.199998 -10e-6,9.9 l -52.09999,52.099992 c -2.7,2.7 -7.2,2.7 -9.9,0 l -2.5,-2.5 c -2.7,-2.7 -2.70001,-7.09999 0,-9.79999 z"
|
||||
id="path26-5-7-9"
|
||||
style="fill:#bcd643;fill-opacity:1" /></g><g
|
||||
id="g968-9"
|
||||
transform="rotate(-90,492.63263,156.46704)"><path
|
||||
id="path26-5-5-5-8"
|
||||
style="fill:#365558;fill-opacity:1"
|
||||
sodipodi:type="inkscape:offset"
|
||||
inkscape:radius="9.437788"
|
||||
inkscape:original="M 103 11 C 99.18163 11 96 14.18162 96 18 L 96.070312 91.751953 C 96.070312 95.570333 99.18163 98.681641 103 98.681641 L 106.53516 98.681641 C 110.35353 98.681641 113.53711 95.500021 113.53711 91.681641 L 113.53711 18 C 113.53711 14.18162 110.35353 11 106.53516 11 L 103 11 z "
|
||||
d="M 103,1.5625 C 93.938999,1.5625 86.5625,8.9389867 86.5625,18 a 9.4387318,9.4387318 0 0 0 0,0.0098 l 0.07031,73.751953 C 86.638291,100.70245 94.058161,108.11914 103,108.11914 h 3.53516 c 9.061,0 16.43945,-7.37327 16.43945,-16.437499 V 18 c 0,-9.0642265 -7.37845,-16.4375 -16.43945,-16.4375 z"
|
||||
transform="rotate(45,258.34465,606.85962)" /><path
|
||||
class="st0"
|
||||
d="m 507.83601,127.87824 52.10001,-52.199996 c 2.7,-2.700002 7.2,-2.700006 9.9,-1e-5 l 2.5,2.500004 c 2.7,2.699995 2.69999,7.199998 -10e-6,9.9 l -52.09999,52.099992 c -2.7,2.7 -7.2,2.7 -9.9,0 l -2.5,-2.5 c -2.7,-2.7 -2.70001,-7.09999 0,-9.79999 z"
|
||||
id="path26-5-7-34"
|
||||
style="fill:#bcd643;fill-opacity:1" /></g><path
|
||||
id="path26-5-5-5-07"
|
||||
style="fill:#365558;fill-opacity:1"
|
||||
sodipodi:type="inkscape:offset"
|
||||
inkscape:radius="9.437788"
|
||||
inkscape:original="M 103 11 C 99.18163 11 96 14.18162 96 18 L 96.070312 91.751953 C 96.070312 95.570333 99.18163 98.681641 103 98.681641 L 106.53516 98.681641 C 110.35353 98.681641 113.53711 95.500021 113.53711 91.681641 L 113.53711 18 C 113.53711 14.18162 110.35353 11 106.53516 11 L 103 11 z "
|
||||
d="M 103,1.5625 C 93.938999,1.5625 86.5625,8.9389867 86.5625,18 a 9.4387318,9.4387318 0 0 0 0,0.0098 l 0.07031,73.751953 C 86.638291,100.70245 94.058161,108.11914 103,108.11914 h 3.53516 c 9.061,0 16.43945,-7.37327 16.43945,-16.437499 V 18 c 0,-9.0642265 -7.37845,-16.4375 -16.43945,-16.4375 z"
|
||||
transform="rotate(45,258.34465,606.85962)" /><path
|
||||
class="st0"
|
||||
d="m 507.83601,127.87824 52.10001,-52.199996 c 2.7,-2.700002 7.2,-2.700006 9.9,-1e-5 l 2.5,2.500004 c 2.7,2.699995 2.69999,7.199998 -10e-6,9.9 l -52.09999,52.099992 c -2.7,2.7 -7.2,2.7 -9.9,0 l -2.5,-2.5 c -2.7,-2.7 -2.70001,-7.09999 0,-9.79999 z"
|
||||
id="path26-5-7-7"
|
||||
style="fill:#bcd643;fill-opacity:1" /></g></g></svg>
|
||||
|
After Width: | Height: | Size: 11 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
+5
@@ -7,6 +7,11 @@
|
||||
"language": "ES",
|
||||
"text": "Un forward testing session es un modo de trading mediante el cual la instancia del Trading Bot realiza transacciones en vivo con una fracción definida por el usuario del capital disponible.\n",
|
||||
"updated": 1624379829550
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Сессия форвардного тестирования - это торговый режим, в котором экземпляр торгового бота выполняет реальную торговлю с определенной пользователем долей доступного капитала.",
|
||||
"updated": 1636195888530
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
+5
@@ -7,6 +7,11 @@
|
||||
"language": "ES",
|
||||
"text": "El nodo market data task agrupa tareas de minería de datos que operan en un mercado específico.",
|
||||
"updated": 1624379923791
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Узел Задачи рыночных данных группирует задачи интеллектуального анализа данных, работающие на определенном рынке.",
|
||||
"updated": 1636195923570
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
+5
@@ -7,6 +7,11 @@
|
||||
"language": "ES",
|
||||
"text": "Un paper trading session es un modo de trading mediante el cual la instancia del Trading Bot lee una fuente de datos de mercado en vivo, aplica las reglas definidas en el Trading System asociado y genera una simulación de trading.",
|
||||
"updated": 1624379661697
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Административная торговая сессия - это режим торговли, при котором экземпляр торгового бота считывает поток рыночных данных в реальном времени, применяет правила, определенные в соответствующей торговой системе, и генерирует торговую симуляцию.",
|
||||
"updated": 1636195850621
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -7,6 +7,11 @@
|
||||
"language": "ES",
|
||||
"text": "El rate scale controla la escala del eje vertical, es decir, la escala del asset cotizado, ya sea de la máquina del tiempo o del gráfico de la línea de tiempo, dependiendo de dónde se encuentre el nodo.",
|
||||
"updated": 1624494681459
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Шкала ставок управляет масштабом вертикальной оси, т.е. масштабом действующего актива, либо машины времени, либо диаграммы временной шкалы, в зависимости от того, где расположен узел.",
|
||||
"updated": 1636206834295
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -7,6 +7,11 @@
|
||||
"language": "ES",
|
||||
"text": "Un task manageres un dispositivo que se utiliza para organizar y controlar cualquier cantidad de tareas que, a su vez, controlan las instancias de bot. Utiliza un administrador de tareas para iniciar o detener varias tareas al mismo tiempo.",
|
||||
"updated": 1624493800354
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Диспетчер задач - это устройство, используемое для организации и управления любым количеством задач, которые, в свою очередь, управляют экземплярами ботов. Вы используете диспетчер задач для запуска или остановки нескольких задач одновременно.\n",
|
||||
"updated": 1636193320098
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -7,6 +7,11 @@
|
||||
"language": "ES",
|
||||
"text": "Un task es el dispositivo que se utiliza para controlar las instancias de bots, es decir, para iniciar y detener bots, incluidos sensores, indicadores y trading bots.",
|
||||
"updated": 1624454879222
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Задача - это устройство, используемое для управления экземплярами ботов, то есть для запуска и остановки ботов, включая датчики, индикаторы и торгового бота.\n",
|
||||
"updated": 1636193239036
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -8,6 +8,11 @@
|
||||
"text": "Un time machine sincroniza múltiples gráficos de línea de tiempo en la misma línea de tiempo. Gráficos de línea de tiempo dentro de un time machine pueden tener diferentes escalas de tasas o escalas de marco de tiempo, pero su escala de tiempo siempre coincidirá. ",
|
||||
"updated": 1628644798838,
|
||||
"style": "Definition"
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Машина времени синхронизирует несколько графиков временной шкалы на одной и той же временной шкале. Графики временной шкалы в машине времени могут иметь разные шкалы скорости или шкалы временных рамок, но их шкала времени всегда будет совпадать.",
|
||||
"updated": 1636199722951
|
||||
}
|
||||
],
|
||||
"updated": 1628644911381
|
||||
|
||||
@@ -7,6 +7,11 @@
|
||||
"language": "ES",
|
||||
"text": "The time scale controla la escala del eje horizontal, es decir, la línea de tiempo de el time machine correspondiente y de todos los gráficos de la línea de tiempo que contiene.",
|
||||
"updated": 1624407014586
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Шкала времени управляет масштабом горизонтальной оси, т.е. временной шкалой соответствующей машины времени и всех графиков временной шкалы в ней.",
|
||||
"updated": 1636202596939
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -7,6 +7,11 @@
|
||||
"language": "ES",
|
||||
"text": "Un timeline chart representa un gráfico dentro de una Time Machine, que puede tener escalas de marco de tiempo y tasa independientes, así como capas particulares.",
|
||||
"updated": 1624406893262
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "График временной шкалы представляет собой диаграмму в машине времени, которая может иметь независимые шкалы скорости и временных рамок, а также определенные слои.",
|
||||
"updated": 1636201374720
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -7,6 +7,11 @@
|
||||
"language": "ES",
|
||||
"text": "El viewport es una ventana a través de la cual puede mirar hacia el charting space.",
|
||||
"updated": 1624407113080
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Окно просмотра - это окно, через которое Вы можете заглянуть в пространство построения графиков.",
|
||||
"updated": 1636199260241
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
+8
-1
@@ -4,7 +4,14 @@
|
||||
"type": "Layer Managers",
|
||||
"definition": {
|
||||
"text": "Layer Managers organize layers and link up to the data products to be displayed on the charts.",
|
||||
"updated": 1610138345819
|
||||
"updated": 1610138345819,
|
||||
"translations": [
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Менеджеры слоев организуют слои и связывают их с продуктами данных, которые будут отображаться на диаграммах.",
|
||||
"updated": 1636205082022
|
||||
}
|
||||
]
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
+5
@@ -10,6 +10,11 @@
|
||||
"language": "ES",
|
||||
"text": "Workspaces son un concepto poderoso. Permiten trabajar en múltiples entornos de forma ordenada.",
|
||||
"updated": 1629579704727
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Рабочие пространства - это мощная концепция. Они позволяют упорядоченно работать с несколькими настройками.",
|
||||
"updated": 1636192113012
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
+17
-8
@@ -48,8 +48,9 @@
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Если Вы получаете доступ к Client с того же самого устройства, то можете кликнуть на кнопку Next и пропустить этот шаг на этом этапе.",
|
||||
"updated": 1635581922558},
|
||||
{
|
||||
"updated": 1635581922558
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "İstemciye ( Client ) aynı makineden erişiyorsanız, İleri'ye tıklayıp bu adımı şimdi atlayabilirsiniz!",
|
||||
"updated": 1635579026048
|
||||
@@ -100,8 +101,9 @@
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Если Вы работаете на машине удаленно, то необходимо отрегулировать конфигурацию the Network Node перед тем, как Вы продолжите.",
|
||||
"updated": 1635517885096},
|
||||
{
|
||||
"updated": 1635517885096
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "İstemciye ( Client ) uzak bir makineden erişiyorsanız, devam etmeden önce Ağ Düğümü ( Node ) yapılandırmasını ayarlamanız gerekir.",
|
||||
"updated": 1635579070105
|
||||
@@ -158,8 +160,9 @@
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Нажмите Configure в правом верхнем углу в меню the Network Node;",
|
||||
"updated": 1635517953808},
|
||||
{
|
||||
"updated": 1635517953808
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Ağ Düğümü menüsünün sağ üst köşesindeki Yapılandır'a ( Configure ) tıklayın.",
|
||||
"updated": 1635579264884
|
||||
@@ -210,6 +213,11 @@
|
||||
"language": "TR",
|
||||
"text": "Arka ucu çalıştıran makinenin IP adresi için ana bilgisayar parametresini değiştirin. Ters proxy kullanıyorsanız, \"webSocketsExternalURL\": \"wss://mydomain.com:443\" yapılandırma parametresini manuel olarak eklemelisiniz.",
|
||||
"updated": 1635579170033
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Измените гостевой параметр для IP-адреса устройства, на котором выполняется серверная часть. If you use a reverse proxy you must manually add \"webSocketsExternalURL\": \"wss://mydomain.com:443\" config parameter.",
|
||||
"updated": 1636194777591
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -262,8 +270,9 @@
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Выйдите из конфигурации, убрав указатель мыши из пузырька конфигурации! Если конфигурация происходит верно, то сообщение об ошибке в Network Node должно исчезнуть через минуту!",
|
||||
"updated": 1635581935285},
|
||||
{
|
||||
"updated": 1635581935285
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Fare işaretçisini yapılandırma balonundan kaldırarak yapılandırmadan çıkın! Yapılandırma doğruysa, Ağ Düğümü'ndeki hata mesajı bir dakika içinde kaybolmalıdır!",
|
||||
"updated": 1635579204588
|
||||
|
||||
+20
@@ -37,6 +37,11 @@
|
||||
"language": "TR",
|
||||
"text": "Sistemle birlikte gönderilen Eklenti Çalışma Alanları ( Plugin Workspaces ), soldaki Çalışma Alanları (Workspaces) Sekmesinde siyah bir arka plana sahiptir. ",
|
||||
"updated": 1636013396906
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "\nPlugin Workspaces поставляются вместе с системой и имеют черный фон на вкладке Workspaces - слева.\n\n",
|
||||
"updated": 1636192226552
|
||||
}
|
||||
],
|
||||
"updated": 1629803469668
|
||||
@@ -75,6 +80,11 @@
|
||||
"language": "TR",
|
||||
"text": "Çalışma alanları ( Workspaces ), çalışma alanına dahil edilen veri yapılarına ilişkin tüm bilgileri kaydeder.",
|
||||
"updated": 1636013436668
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Workspaces сохраняют всю информацию относительно структур данных, включенных в рабочую область.",
|
||||
"updated": 1636192315950
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -99,6 +109,11 @@
|
||||
"language": "TR",
|
||||
"text": "Gelin bu Plugin Workspace'in bir kopyasını oluşturalım ve sizin için yapalım! Aşağıdaki tuş kombinasyonuna basın: Ctrl + Shift + Key-S",
|
||||
"updated": 1636013459404
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Давайте создадим копию этого Plugin Workspace и сделаем его вашим собственным! Нажмите следующую комбинацию клавиш: Ctrl + Shift + S.",
|
||||
"updated": 1636192471516
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -134,6 +149,11 @@
|
||||
"language": "TR",
|
||||
"text": "Şimdi soldaki Çalışma Alanları Sekmesini açın, aşağı kaydırın ve mor arka plana sahip tek çalışma alanını bulun! Bu sizin çalışma alanınız! Ama üzerine tıklamanıza gerek yok!",
|
||||
"updated": 1636013495006
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Теперь откройте вкладку Workspaces слева, прокрутите вниз и найдите рабочее пространство с фиолетовым фоном! Это Ваше рабочее место! Но не нужно нажимать на него!",
|
||||
"updated": 1636192559470
|
||||
}
|
||||
],
|
||||
"updated": 1629803460646
|
||||
|
||||
+15
@@ -37,6 +37,11 @@
|
||||
"language": "TR",
|
||||
"text": "Her pazarda, operasyon Data Mine tarafından organize edilir. Superalgos, her biri birden fazla göstergeye sahip birkaç açık kaynaklı veri madeni ile birlikte gelir.",
|
||||
"updated": 1636014963314
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "На каждом рынке операция организована с помощью Data Mine. Superalgos поставляется вместе с несколькими шахтами данных с открытым исходным кодом, каждая - с множеством индикаторов.\n",
|
||||
"updated": 1636192680294
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -73,6 +78,11 @@
|
||||
"language": "TR",
|
||||
"text": "Veri madenlerini, geliştiricilerin sistemin veri analiz kapasitesini genişletmek için oluşturabilecekleri eklentiler olarak düşünün. Bir Gösterge Botu ( Indicator Bot ), diğer göstergelerin ürettiği verileri işleyebilir, dolayısıyla değer katabilir ve daha derin ve daha zengin analizler üretebilir.",
|
||||
"updated": 1636015012141
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Думайте о шахтах данных как о плагинах, которые разработчики могут создавать для расширения объема анализа данных системы. Indicator Bot может обрабатывать данные, которые производят другие индикаторы, производя более глубокий и насыщенный анализ.",
|
||||
"updated": 1636192861205
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -108,6 +118,11 @@
|
||||
"language": "TR",
|
||||
"text": "Temel bir JavaScript bilginiz varsa, göstergeler de oluşturabilirsiniz! Bir Veri Madenine ( Data Mine ) katkıda bulunursanız, Superalgos SA Jetonları kazanırsınız!",
|
||||
"updated": 1636015059999
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Если у Вас имеется базовое понимание JavaScript, Вы также можете создать индикаторы! Если Вы внесете свой вклад в Data Mine, то заработаете токены Superalgos (SA)!",
|
||||
"updated": 1636193134329
|
||||
}
|
||||
],
|
||||
"updated": 1622196189467
|
||||
|
||||
+20
@@ -37,6 +37,11 @@
|
||||
"language": "TR",
|
||||
"text": "Bir veri madenciliği operasyonunun özü, bot çalıştıran görevlerdir. Bir Görev, bir botu kontrol eder ve bir Görev Yöneticisi ( Tasks Manager ) birden fazla görevi kontrol edebilir.",
|
||||
"updated": 1636015403690
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Ядром операции интеллектуального анализа данных являются задачи, над которыми работают боты. Одна Task управляет одним ботом, а Task Manager может управлять несколькими задачами.\n",
|
||||
"updated": 1636193443379
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -74,6 +79,11 @@
|
||||
"language": "TR",
|
||||
"text": "Şimdiye kadar, veri madenciliği operasyonunuzdaki her bir botu kontrol etmek için kullanabileceğiniz altı farklı cihaz hakkında bilgi edindiniz. En üst düzeyde, Veri Görevleri (Data Tasks) düğümü, Ağ Düğümü'ndeki (Network Node) tüm veri madenciliği botlarını kontrol eder.",
|
||||
"updated": 1636015350802
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "К настоящему времени Вы узнали о шести различных устройствах, которые Вы можете использовать для управления каждым ботом в своей операции и нтеллектуального анализа данных. На самом высоком уровне узел Data Tasks управляет всеми ботами интеллектуального анализа данных в Network Node.",
|
||||
"updated": 1636193596507
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -109,6 +119,11 @@
|
||||
"language": "TR",
|
||||
"text": "Ağ düğümleri hakkında birazdan konuşacağız...",
|
||||
"updated": 1636015240381
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Мы поговорим о сетевых узлах через минуту...",
|
||||
"updated": 1636193625683
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -145,6 +160,11 @@
|
||||
"language": "TR",
|
||||
"text": "En alt düzeyde, tek bir Görev (Task), tek bir botu kontrol eder. Aradaki düğümler, işlemi düzenli tutmaya yardımcı olan ve farklı bölümler üzerinde ayrıntılı kontrole izin veren organizasyon düğümleridir.",
|
||||
"updated": 1636015306156
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "На самом низком уровне отдельная Task управляет одним ботом. Промежуточные узлы - это организационные узлы, которые помогают поддерживать порядок в работе и позволяют осуществлять детальный контроль над различными разделами.",
|
||||
"updated": 1636193720622
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -37,6 +37,11 @@
|
||||
"language": "TR",
|
||||
"text": "Şu anda , tüm işlemler %100 olmalıdır. Bu olduğunda, veri madenciliği operasyonuna \"güncel\" diyoruz.",
|
||||
"updated": 1636015455848
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "К этому моменту все процессы должны работать на 100%. Когда это происходит, мы называем операцию интеллектиуального анализа данных \"актуальной\".",
|
||||
"updated": 1636193865762
|
||||
}
|
||||
],
|
||||
"updated": 1616415623576
|
||||
@@ -74,6 +79,11 @@
|
||||
"language": "TR",
|
||||
"text": "Tüm süreçler güncel olduğunda, botlar çalışmaya devam eder ve bilgiyi borsada üretildiği gibi gerçek zamanlı olarak işler. Yani, siz durdurmadığınız sürece veri madenciliği işlemi durmaz!",
|
||||
"updated": 1636015476681
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Когда все процессы обновлены, боты продолжают работать, обрабатывая информацию в режиме реального времени по мере ее получения на бирже. То есть операция интеллектуального анализа данных не остановится, пока Вы ее не остановите!",
|
||||
"updated": 1636194015988
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -109,6 +119,11 @@
|
||||
"language": "TR",
|
||||
"text": "Etrafınıza bakın ve tüm işlemlerin %100 olup olmadığını görün",
|
||||
"updated": 1636015521214
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Оглянитесь вокруг и посмотрите, все ли процессы работают на 100%.",
|
||||
"updated": 1636194193682
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -144,6 +159,11 @@
|
||||
"language": "TR",
|
||||
"text": "Canlı Alım Satım Oturumu ( Live Trading Session ) yürütmek için, Alım Satım Botunun ( Trading Bot ) canlı alım satım kararları vermek üzere Alım Satım Sisteminizin ( Trading System ) kurallarını uygulayabilmesi için, gerçek zamanlı olarak işlenen borsadan sürekli bir bilgi akışına ihtiyacınız vardır.",
|
||||
"updated": 1636016072081
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "...To run a Live Trading Session, you need a constant feed of information from the exchange processed in realtime so that the Trading Bot may apply the rules of your Trading System to make live trading decisions.",
|
||||
"updated": 1636194159296
|
||||
}
|
||||
],
|
||||
"updated": 1616415667438
|
||||
|
||||
+25
@@ -37,6 +37,11 @@
|
||||
"language": "TR",
|
||||
"text": "Henüz bir Canlı İşlem Oturumu ( Live Trading Session ) düzenlemeyeceğiz, bu nedenle veri madenciliğimizi bu noktada çalışır durumda tutmanın bir anlamı yok.",
|
||||
"updated": 1636016140799
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Мы пока не собираемся проводить Live Trading Session, поэтому на данный момент нет смысла продолжать наш интеллектуальный анализ данных.",
|
||||
"updated": 1636195299595
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -74,6 +79,11 @@
|
||||
"language": "TR",
|
||||
"text": "Veri Görevlerini çalıştırmanın iki ana kullanım durumu vardır:",
|
||||
"updated": 1636016174401
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Для выполнения Data Tasks существует два основных варианта использования:",
|
||||
"updated": 1636195344198
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -110,6 +120,11 @@
|
||||
"language": "TR",
|
||||
"text": "Geçmiş verileri işlemek için: Bir Geriye Dönük Test Oturumu (Backtesting Sesion ) yürütmek veya yeni göstergeleri işlemek için belirli bir Piyasanın ( Market ) bir tarih saat aralığını işlemek isteyebilirsiniz.",
|
||||
"updated": 1636016235514
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Для обработки исторических данных: Вам может понадобится обработать диапазон дат и времени для любого данного Market, чтобы запустить Backtesting Session или обработать новые индикаторы.",
|
||||
"updated": 1636195747856
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -146,6 +161,11 @@
|
||||
"language": "TR",
|
||||
"text": "Canlı bir oturum yürütmek için: Kağıt Alım Satım Oturumu (Paper Trading Session ), İleriye Yönelik Test Oturumu (Forward Testing Session ) ve Canlı Alım Satım Oturumu ( Live Trading Session ) gibi farklı türlerdeki oturumların tümü canlı bir piyasa akışına ihtiyaç duyar.",
|
||||
"updated": 1636016605221
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Для запуска сессии в реальном времени: сессии бывают разных типов: Paper Trading Session, Forward Testing Session и Live Trading Session - это все, что необходимо для потока рынка в реальном времени.",
|
||||
"updated": 1636195795182
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -181,6 +201,11 @@
|
||||
"language": "TR",
|
||||
"text": "Tüm işlemler güncel olduğunda (%100), Piyasa Veri Görevleri ( Market Data Tasks ) düğümünde \"Stop All Tasks\" seçeneğini seçin. Ek bilgi olarak, görevleri başlattığımız düğümden farklı bir düğümden durdurabileceğimizi de unutmayın.",
|
||||
"updated": 1636016732706
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Когда все процессы будут обновлены, выберите \"Stop All Tasks\" в узле Market Data Tasks. Обратите внимание, что мы можем остановить задачи с другого узла, чем тот, который мы использовали для их запуска!",
|
||||
"updated": 1636196044706
|
||||
}
|
||||
],
|
||||
"updated": 1622197433719
|
||||
|
||||
+35
@@ -37,6 +37,11 @@
|
||||
"language": "TR",
|
||||
"text": "Tüm görevlerin durması bir dakika kadar sürebilir. Tüm görevler durmadan sistemi asla kapatmamalısınız.",
|
||||
"updated": 1636033722512
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Для остановки всех задач может потребоваться до одной минуты. Вы никогда не должны закрывать систему до остановки всех задач.",
|
||||
"updated": 1636197133652
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -73,6 +78,11 @@
|
||||
"language": "TR",
|
||||
"text": "Görevlerin durduğunu görmek için konsol uygulamasını kontrol edin! Görevler çalışırken düğümlerin altında 1/1, 1/2 gibi kaç görev olduğu ve kaçının çalıştığına dair bir gösterge görürsünüz.",
|
||||
"updated": 1636033793821
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Проверьте консольное приложение, чтобы увидеть, как прекращается процесс.",
|
||||
"updated": 1636197186388
|
||||
}
|
||||
],
|
||||
"updated": 1616416021973
|
||||
@@ -103,6 +113,11 @@
|
||||
"language": "TR",
|
||||
"text": "Superalgos'u kapatmanın doğru yolu şudur:",
|
||||
"updated": 1636033807278
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Правильный способ, чтобы закрыть Superalgos:",
|
||||
"updated": 1636197216206
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -133,6 +148,11 @@
|
||||
"language": "TR",
|
||||
"text": "Tüm görevleri durdurun ve birkaç dakika bekleyin.",
|
||||
"updated": 1636033819254
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Остановите все задачи и подождите пару минут.",
|
||||
"updated": 1636197255402
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -163,6 +183,11 @@
|
||||
"language": "TR",
|
||||
"text": "Tüm görevler durduğunda konsol uygulamasını kapatabilir veya Ctrl + Key-C ile işlemi durdurabilirsiniz",
|
||||
"updated": 1636033864602
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Когда все задачи остановятся, Вы можете закрыть консольное приложение или остановить процесс с помощью клавиш Ctrl + C.",
|
||||
"updated": 1636197311204
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -192,6 +217,11 @@
|
||||
"language": "TR",
|
||||
"text": "Tarayıcıyı istediğiniz zaman kapatabilir ve görevlerin arka planda işlenmesini bırakabilirsiniz.",
|
||||
"updated": 1636033884326
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Вы можете закрыть браузер в любой момент и остановить обработку задач в фоновом режиме.",
|
||||
"updated": 1636197378582
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -222,6 +252,11 @@
|
||||
"language": "TR",
|
||||
"text": "Görevler durmadan İstemciyi ( Client ) kapatmak, verilerinizin bozulmasına neden olabilir!",
|
||||
"updated": 1636033906258
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Закрытие Client до остановки всех задач может привести к повреждению Ваших данных!",
|
||||
"updated": 1636197418068
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+15
@@ -37,6 +37,11 @@
|
||||
"language": "TR",
|
||||
"text": "Şimdiye kadar Superalgos'un karanlık tarafıyla sınırlı kaldınız. Parlak tarafa maruz kalmaya hazır olun: Grafik Alanı ( Charting Space )",
|
||||
"updated": 1636034022706
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "До сих пор Вы были ограничены только темной стороной Superalgos. Приготовьтесь к тому, что Вас ждет яркая сторона: Charting Space.",
|
||||
"updated": 1636197684784
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -74,6 +79,11 @@
|
||||
"language": "TR",
|
||||
"text": "Grafik alanı, turkuaz bir kaydırıcı ile ayrılmış tasarım alanının üstünde bulunur. Superalgos'tan beklendiği gibi, grafik alanı yapılandırılabilir ve oldukça esnektir. Orada olan her şey Grafik Alanı ( Charting Space ) hiyerarşisinde tanımlanır.",
|
||||
"updated": 1636034080988
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Пространство построения графиков расположено поверх пространства дизайна, разделенного бирюзовыим ползунком. Как Вы и ожидаете от Superalgos, оно является настраиваемым и очень гибким. Все, что там происходит, определено в иерархии Charting Space.",
|
||||
"updated": 1636197912680
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -109,6 +119,11 @@
|
||||
"language": "TR",
|
||||
"text": "Grafik alanı, insanların aklını başından almasıyla bilinir. Lütfen şu anda psikoaktif maddelerin etkisi altındaysanız bu eğitime devam etmekten kaçının :)",
|
||||
"updated": 1636034105076
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Пространство постороения графиков известно тем, что будоражит умы людей. Пожалуйста, воздержитесь от продолжения изучения этого материала, если в настоящий момент Вы находитесь под воздействием психоактивных веществ.",
|
||||
"updated": 1636198131426
|
||||
}
|
||||
],
|
||||
"updated": 1616416552336
|
||||
|
||||
+15
@@ -37,6 +37,11 @@
|
||||
"language": "TR",
|
||||
"text": "Hiç vakit kaybetmeden dolaşarak ve çizelge alanına göz atarak sizi hızlandıracağım... Önce kaydırıcıyı ele alalım!",
|
||||
"updated": 1636034139286
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Я быстро введу Вас в курс дела с перемещением и просмотром пространства для построения графиков. Давайте сначала роазберемся с ползунком..\n\n",
|
||||
"updated": 1636198293137
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -73,6 +78,11 @@
|
||||
"language": "TR",
|
||||
"text": "Tasarım alanını kapatmak ve grafik alanını açmak için turkuaz bölgeyi tıklayarak aşağıya çekin. Kapatmak için tersini yapabilirsiniz. Bunu klavyeyle yapmak için Ctrl + Shift + ↓ tuşlarına basın. ↑ ← →.. Diğer yön tuşlarını da deneyin!",
|
||||
"updated": 1636034296397
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Щелкните по нему левой кнопкой мыши и перетащите вниз, чтобы закрыть область проектирования и открыть область построения графиков. Вернитесь в исходное положение. Чтобы сделать это с помощью клавиатуры, нажмите Ctrl + Shift + ↓. Попробуйте также ↑ ← → !",
|
||||
"updated": 1636198484982
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -108,6 +118,11 @@
|
||||
"language": "TR",
|
||||
"text": "Her iki alanın da kısmen açık olmasına ihtiyacınız yoksa, makinenizdeki bilgi işlem kaynaklarından tasarruf etmek için her ikisini de tamamen kapatmak her zaman iyi bir fikirdir.",
|
||||
"updated": 1636034332675
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "До тех пор пока у Вас не появится необходимость частичного открытия обоих пространств, рекомендуется полностью закрыть каждое из них, чтобы сохранить компьютерные ресурсы на вашем устройстве.",
|
||||
"updated": 1636198580623
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+15
@@ -37,6 +37,11 @@
|
||||
"language": "TR",
|
||||
"text": "Tasarım alanı gibi, çizelge alanı da çizelgeler oluşturabileceğiniz devasa bir alana sahiptir... donanımınızın üstesinden gelebileceği kadar!",
|
||||
"updated": 1636034379426
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Как и пространство дизайна, пространство построения графиков имеет огромную область, где Вы можете создать диаграмм столько.. сколько сможет выдержать Ваше устройство!",
|
||||
"updated": 1636199050252
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -74,6 +79,11 @@
|
||||
"language": "TR",
|
||||
"text": "Yeni başlayanlar için işleri basit tutmak gerektiğinden bu ( Getting Started Tutorial ) alanında yalnızca iki çizelge vardır. İleri düzey kullanıcılar, birden çok borsadan ve birden çok pazardan gelen tabloları izleyebilirler.",
|
||||
"updated": 1636034464247
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Чтобы новичкам было проще, в Getting Started Tutorials workspace имеется только две диаграммы. Опытные пользователи могут отслеживать графики с множествами бирж и рынков.",
|
||||
"updated": 1636199196560
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -109,6 +119,11 @@
|
||||
"language": "TR",
|
||||
"text": "Görünüm Alanında (Viewport) gezinmek için farenizi kullanarak boş alana tıklayın ve sürükleyin. Klavye ile şu tuş kombinasyonunu kullanarakta gezinebilirsin. Shift artı ok tuşları ↑ ← → ↓",
|
||||
"updated": 1636034607617
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Чтобы перемещаться по Viewport, удерживайте левую кнопку мыши и перетащите пустую область. При использовании клавиатуры, воспользуйтесь комбинацией клавиш Shift + ↑ ← → ↓.",
|
||||
"updated": 1636199439035
|
||||
}
|
||||
],
|
||||
"updated": 1622198195729
|
||||
|
||||
+20
@@ -37,6 +37,11 @@
|
||||
"language": "TR",
|
||||
"text": "Daha önce bahsetmiştim, bu çalışma alanında iki çizelge var. Superalgos'ta bu çizelgelerin her birine bir Zaman Makinesi ( Time Machine ) diyoruz.",
|
||||
"updated": 1636035055393
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Я упоминал ранее, что в этом рабочем пространстве имеется две диаграммы. В Superalgos мы называем каждую из них - Time Machine.",
|
||||
"updated": 1636199639429
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -73,6 +78,11 @@
|
||||
"language": "TR",
|
||||
"text": "Bir zaman makinesi, bir veya daha fazla Zaman Çizelgesi Grafiği tutabilir. Onlara zaman makineleri diyoruz çünkü bir zaman makinesindeki tüm zaman çizelgeleri zamanla senkronize edilir. Zaman makinelerinin bu özelliği, aynı Zaman Ölçeğini paylaşan farklı veri katmanlarının üst üste binmesine izin verir.",
|
||||
"updated": 1636035067580
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Машина времени может содержать одну или несколько Timeline Chart. Мы называем их машиной времени, потому что все графики временной шкалы в машине времени синхронизированы во времени. Эта особенность машин времени позволяет накладывать различные слои данных, используя один и тот же Time Scale.",
|
||||
"updated": 1636199955416
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -108,6 +118,11 @@
|
||||
"language": "TR",
|
||||
"text": "Fare imlecinizi zaman makinelerinin üzerine getirin!",
|
||||
"updated": 1636035197351
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Наведите указатель мыши на машины времени!",
|
||||
"updated": 1636201484840
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -144,6 +159,11 @@
|
||||
"language": "TR",
|
||||
"text": "Sol tarafta beliren ve verilerin hangi borsalar ve pazarlarla ilişkili olduğunu gösteren etikete dikkat edin. Tek bir zaman makinesi birden fazla pazardan ve birden fazla borsadan veri tutabilir!",
|
||||
"updated": 1636035233840
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Обратите внимание на появившуюся слева метку, которая указывает на то, с какими биржами и рынками связаны данные. Одна машина времени может содержать данные с множества рынков и бирж.",
|
||||
"updated": 1636201607160
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -37,6 +37,11 @@
|
||||
"language": "TR",
|
||||
"text": "Tamam,belki zamanı bükmek gibi değil, ama inan bana bu harika birşey... Zaman makinelerini istediğin formatta şekillendirebiliyor olmana bayılacaksın.",
|
||||
"updated": 1636035360393
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Хорошо... Может быть, на самом деле это и не похоже на сгибание, но потерпите.. Вам понравится, как Вы сможете сформировать машины времени в любом желаемом формате.",
|
||||
"updated": 1636201767989
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -73,6 +78,11 @@
|
||||
"language": "TR",
|
||||
"text": "Fare imlecinizi zaman makinesini tanımlayan turkuaz çerçevenin herhangi bir kenarının üzerine getirin ve ne olduğunu görün. Kenarın sarı ile nasıl vurgulandığını gördünüz mü?",
|
||||
"updated": 1636035384197
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Наведите указатель мыши на любой из краев бирюзовой рамки, определяющий машину времени, и посмотрите, что произойдет. Вы видите, как край рамки выделился желтым цветом?",
|
||||
"updated": 1636201897527
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -108,6 +118,11 @@
|
||||
"language": "TR",
|
||||
"text": "Güzel! Şimdi çerçeveye tıklayın ve çekin!",
|
||||
"updated": 1636035404981
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Отлично! Теперь щелкните по рамке левой кнопкой мыши и потяните!",
|
||||
"updated": 1636202014634
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -143,6 +158,11 @@
|
||||
"language": "TR",
|
||||
"text": "Böylece zaman makinelerini kendi zevkinize veya ihtiyacınıza göre şekillendirebilirsiniz.",
|
||||
"updated": 1636035425014
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Вот как Вы можете формировать машины времени по своему нраву.",
|
||||
"updated": 1636202062369
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -37,6 +37,11 @@
|
||||
"language": "TR",
|
||||
"text": "Zaman makinesini ekranınızın tam en boy oranına göre şekillendirmeye ne dersiniz?",
|
||||
"updated": 1636035470271
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Как насчет того, чтобы настроить по форме машину времени в соответствии с правильным соотношение сторон Вашего экрана?",
|
||||
"updated": 1636202464425
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -73,6 +78,11 @@
|
||||
"language": "TR",
|
||||
"text": "Zaman makinelerinizin en boy oranını ekranınızın en boy oranıyla eşleştirmek, yakınlaştırırken grafiklerin ekranınıza sığabilmesi için çok önemlidir!",
|
||||
"updated": 1636035504803
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Соответствие соотношения сторон Ваших машин времени с соотношению сторон Вашего экрана, имеет решающее значение, т.к. необходимо, чтобы диаграммы плотно прилегали к Вашему экрану при увеличении масштаба!",
|
||||
"updated": 1636202715136
|
||||
}
|
||||
],
|
||||
"updated": 1622198491208
|
||||
@@ -110,6 +120,11 @@
|
||||
"language": "TR",
|
||||
"text": "Farenizi zaman makinelerinden birine yönlendirin ve Ctrl + Shift + Alt + Key-A tuşlarına basın. Aynısını diğeriyle yapın!",
|
||||
"updated": 1636035527567
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Наведите курсор мыши на одну из машин времени и нажмите Ctrl + Shift + Alt + A. Сделайте то же самое с другой машиной времени.",
|
||||
"updated": 1636202757134
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -146,6 +161,11 @@
|
||||
"language": "TR",
|
||||
"text": "Şu andan itibaren ekranınızın en boy oranıyla eşleşen iki zaman makinesini görmen lazım.",
|
||||
"updated": 1636035706936
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "С этого момента оставьте две машины времени, соответствующие соотношению сторон Вашего экрана.",
|
||||
"updated": 1636202904158
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -37,6 +37,11 @@
|
||||
"language": "TR",
|
||||
"text": "Tablolara girmeden önce bir şey daha var. Bu alanı nasıl düzene sokacağını bilmelisin!",
|
||||
"updated": 1636035747714
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Еще одна вещь, прежде чем мы погрузимся в графики: Вам необходимо знать, как привести рабочее пространство в порядок.",
|
||||
"updated": 1636203040872
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -73,6 +78,11 @@
|
||||
"language": "TR",
|
||||
"text": "Onlarca çizelge ile çalışmanız gereken zamanar gelecek. Biçimlerini nasıl değiştireceğinizi öğrenmiştik. Şimdi, ihtiyaç duyduğunuz düzenlemeleri oluşturabilmeniz için onları nasıl hareket ettireceğinizi öğrenmeniz gerekiyor. Oldukça kolay:",
|
||||
"updated": 1636035803888
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Придет время, когда Вы, возможно, будете работать с десятками графиков. Вы уже знаете, как изменить их формат. Теперь необходимо научиться перемещать их так, чтобы Вы могли создавать любые необходимые Вам расположения. Это довольно просто:",
|
||||
"updated": 1636203598832
|
||||
}
|
||||
],
|
||||
"updated": 1616416902513
|
||||
@@ -110,6 +120,11 @@
|
||||
"language": "TR",
|
||||
"text": "Shift 'e basın, sol tıklayın ve sürükleyin!",
|
||||
"updated": 1636035874767
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Нажмите Shift, щелкните левой кнопокй мыши и перетащите!",
|
||||
"updated": 1636203698066
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -145,6 +160,11 @@
|
||||
"language": "TR",
|
||||
"text": "Grafik alanını nasıl yöneteceğimizle ilgili her şeyi ele aldığımıza inanıyorum. Grafiklere dalmanın zamanı geldi!",
|
||||
"updated": 1636035867318
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Я полагаю, что мы рассмотрели все о том, как управлять пространством для построенрия графиков. Пришло время погрузиться в диаграммы!",
|
||||
"updated": 1636203782409
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -37,6 +37,11 @@
|
||||
"language": "TR",
|
||||
"text": "Bir Zaman Makinesine ( Time Machine ) dalıp ne olduğunu görmenin zamanı geldi! Tamamen sürükleyici bir deneyime hazır mısınız?",
|
||||
"updated": 1636036023943
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Пришло время погрузиться в Time Machine и посмотреть, что произойдет! Готовы ли Вы к полоноценному погружению?",
|
||||
"updated": 1636203869752
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -73,6 +78,11 @@
|
||||
"language": "TR",
|
||||
"text": "Grafik alanı, piyasa verilerinin Google Haritaları gibidir. Bildiğiniz gibi, haritalarda gezinmek için sol tıklayıp sürüklersiniz... ama detayları görmek için nasıl yakınlaştırıyorsunuz?",
|
||||
"updated": 1636036084427
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Пространство для построения графиков похоже на Google Maps рыночных графиков. Как Вы уже знаете, щелкните левой кнопокй мыши и перетащите, чтобы перемещаться по ландшафту... Но как Вы увеличиваете масштаб, чтобы увидеть детали?",
|
||||
"updated": 1636204134363
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -108,6 +118,11 @@
|
||||
"language": "TR",
|
||||
"text": "Farenin tekerleği ile! Dene!",
|
||||
"updated": 1636036095610
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "С помощью колесика мыши! Пробуйте!",
|
||||
"updated": 1636204160214
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -144,6 +159,11 @@
|
||||
"language": "TR",
|
||||
"text": "Aynen öyle! Tıpkı Google Haritalar'daki gibi! Fareyi ilgilenilen alana doğrultun, ardından yakınlaştırmak için farenin tekerleğini ileri, uzaklaştırmak için geri çevirin!",
|
||||
"updated": 1636036116439
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Точно! Прямо как на Google Maps! Наведите курсор мыши на интересующую Вас область, затем прокрутите колесико мыши вперед, чтобы увеличить масштаб, и назад, чтобы уменьшить.",
|
||||
"updated": 1636204268639
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+25
@@ -37,6 +37,11 @@
|
||||
"language": "TR",
|
||||
"text": "Biliyorum! Rastgele bir noktaya zum yapmak, grafiği ekranınızla kare şeklinde konumlandırmak pek mümkün değil, değil mi? Endişelenme... bu numarayı dene!",
|
||||
"updated": 1636036151336
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Я знаю! Увеличение масштаба в случайном месте вряд ли приведет Вас к тому, что диаграмма окажется в квадрате с Вашим экраном, верно? Не беспокойтесь... Попробуйте это трюк!",
|
||||
"updated": 1636204552263
|
||||
}
|
||||
],
|
||||
"updated": 1616417516192
|
||||
@@ -69,6 +74,11 @@
|
||||
"language": "TR",
|
||||
"text": "En-boy oranını ayarlayın: Farenizi Backtesting Session grafiğine (üstteki) getirin ve Ctrl + Shift + Alt + Key-A tuşlarına basın",
|
||||
"updated": 1636036205725
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Отрегулируйте соотношение сторон: наведите курсор мыши на график сеансов тестирования (тот, что сверху) и нажмите Ctrl + Shift + Alt + A.",
|
||||
"updated": 1636204626786
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -98,6 +108,11 @@
|
||||
"language": "TR",
|
||||
"text": "Uzaklaştır: en uzak uzaklaştırma konumuna gitmek için fare tekerleğini kullanın; sadece bu konumdan sonraki komut çalışacaktır!",
|
||||
"updated": 1636036274866
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Уменьшение масштаба: используйте колесико мыши, чтобы перейти в крайнее положение уменьшения масштаба, т.к. только из этого положения будет работать следующая команда!",
|
||||
"updated": 1636204795612
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -133,6 +148,11 @@
|
||||
"language": "TR",
|
||||
"text": "Bir kez çift tıklayın: bu, grafiği ortalar ve sizi belirli bir yakınlaştırma düzeyine götürür; sol üst köşede grafiğin adına ve sekmesine uyacak şekilde bir kenar boşluğu bırakılır.",
|
||||
"updated": 1636037063264
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Дважды щелкните один раз: это центрирует диаграмму и приведет Вас к определенному уровню масштабирования; в левом верхнем углу остается поле, соответствующее названию вкладке диаграммы.",
|
||||
"updated": 1636204908775
|
||||
}
|
||||
],
|
||||
"updated": 1616418234728
|
||||
@@ -169,6 +189,11 @@
|
||||
"language": "TR",
|
||||
"text": "Tekrar çift tıklayın: bu sizi grafikte daha ileri götürür, grafiğin ekrana tam olarak oturduğu ve Katman Yöneticilerinin ortaya çıktığı yakınlaştırma düzeyine gidersiniz.",
|
||||
"updated": 1636037090275
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Дважды щелкните еще раз: это поведет Вас дальше по диаграмме, к уровню масштабирвания, при котором диаграмма идеально соответствует экрану и появятся Layer Managers.",
|
||||
"updated": 1636204981598
|
||||
}
|
||||
],
|
||||
"updated": 1622198926988
|
||||
|
||||
+20
@@ -36,6 +36,11 @@
|
||||
"language": "TR",
|
||||
"text": "Sonunda bir grafiğin içindesiniz. Yapmak isteyeceğiniz ilk şey, etrafta dolaşmak ve bu çizelgelerin sizin için neler yapabileceğini öğrenmek.",
|
||||
"updated": 1636092060224
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Итак, наконец-то, Вы находитесь внутри диаграммы. Первое, что Вым захочется сделать - это осмотреться и узнать, что эти диаграммы могут сделать для Вас.",
|
||||
"updated": 1636205299823
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -71,6 +76,11 @@
|
||||
"language": "TR",
|
||||
"text": "Bununla devam edelim! Tasarım alanında olduğu gibi, bir zaman makinesinin içindeykende farenizi ve klavyenizi kullanarak hareket edersiniz. Nasıl?",
|
||||
"updated": 1636092104788
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "В заключении процесса! Как и в пространстве дизайна, когда Вы находитесь внутри машины времени, Вы перемещаетесь с помощью мыши и клавиатуры. Как это происходит:",
|
||||
"updated": 1636205706347
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -105,6 +115,11 @@
|
||||
"language": "TR",
|
||||
"text": "Fare ile sol tıklayın ve sürükleyin. Klavye ile ok tuşlarını kullanın: ← → ↑ ↓",
|
||||
"updated": 1636092129919
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "С помощью мыши: щелкните левой кнопкой мыши и перетащите. С помощью клавиатуры: используйте клавиши со стрелками ← → ↑ ↓.",
|
||||
"updated": 1636205526304
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -139,6 +154,11 @@
|
||||
"language": "TR",
|
||||
"text": "Ne? Çalışmıyor mu? Donmuş bir çizelgeye mi takıldınız? Bir sonraki adımdaki videodaki gibi mi? Merak etme! Neler olduğunu biliyorum...",
|
||||
"updated": 1636092166517
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Что? Это не работает? У Вас все еще заморожен график как на видео в следующем шаге? Не беспокойтесь! Я знаю, что происходит.",
|
||||
"updated": 1636205608008
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -30,6 +30,11 @@
|
||||
"language": "TR",
|
||||
"text": "Hareket edememenizin nedeni, ilk veri madenciliği işleminizden sonra verileri kolayca bulabilmeniz için skalanın otomatik modda kilitli olmasıdır.",
|
||||
"updated": 1636093218029
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Причина, по которой Вы не можете перемещаться заключатеся в том, что весы заблокированы в автоматическом режиме, чтобы Вы могли легко найти данные после первой операции интеллектуального анализа данных.",
|
||||
"updated": 1636205935534
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -59,6 +64,11 @@
|
||||
"language": "TR",
|
||||
"text": "Zaman Ölçeğini ( Time Scale ) otomatik modda ayarlamak, mevcut verilerin tümünün tarih-saat aralığında gösterilmesine zorlar.",
|
||||
"updated": 1636093070726
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Установка Time Scale в автоматическом режиме приводит к тому, что на диаграмме отображается весь диапазон доступных данных по дате и времени.",
|
||||
"updated": 1636205990780
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -87,6 +97,11 @@
|
||||
"language": "TR",
|
||||
"text": "Otomatik mod ve manuel mod arasında geçiş yapmak için Shift 'e basın ve farenizin tekerleği ile zaman ölçeği kutusunun üzerinde birkez döndürün. Alternatif olarak, fare işaretçisini ölçek kutusunun üzerine getirebilir ve yukarı ve aşağı ok tuşlarına ↑ ↓ basabilirsiniz.",
|
||||
"updated": 1636093154603
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Чтобы переключаться между различным автоматическим и ручным режимами, нажмите Shift и сделайте плавный одношаговый поворот колесиком мыши в верхней части окна шкалы времени. Кроме того, Вы также можете поместить указатель мыши на окно масштаба и нажать клавиши со стрелками ↑ ↓.",
|
||||
"updated": 1636206214736
|
||||
}
|
||||
],
|
||||
"updated": 1622199287763
|
||||
@@ -117,6 +132,11 @@
|
||||
"language": "TR",
|
||||
"text": "Artık X ekseninde , yani grafiğin zaman ekseninde serbestçe hareket edebilmeniz gerekir.",
|
||||
"updated": 1636093193714
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Теперь Вы должны иметь возможность сободно перемещаться по оси Х, т.е. по временной оси графика.",
|
||||
"updated": 1636206261878
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+5
@@ -20,6 +20,11 @@
|
||||
"language": "TR",
|
||||
"text": "Zaman skalasının üzerine gelin ve fare tekerleğini birkez çevirin.",
|
||||
"updated": 1636093721117
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Этот шаг воспроизводит видео в полноэкранном режиме.",
|
||||
"updated": 1636206314181
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
+15
@@ -30,6 +30,11 @@
|
||||
"language": "TR",
|
||||
"text": "Önceki videodan zamanı ölçeklendirmesini nasılçalıştığını anlayabildiniz mı? Eğer teredütünüz varsa önceki adıma gidin ve dikkatlice izleyin!",
|
||||
"updated": 1636094066007
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Вы уловили это трюк для масштабирования времени из предыдущего видео? Если нет, перейдите к предыдущему шагу и внимательно посмотрите.",
|
||||
"updated": 1636206379436
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -59,6 +64,11 @@
|
||||
"language": "TR",
|
||||
"text": "Farenin tekerleğini zaman ölçeği kutusunun üzerinde kaydırmak, zamanı küçültür ve genişletir! Alternatif olarak, fareyi ölçek kutusuna yönlendirebilir ve yan ok tuşlarına basabilirsiniz ← →",
|
||||
"updated": 1636094091641
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Прокрутка колесика мыши в верхней части окна шкалы времени уменьшает и увеличивает время! Кроме того, Вы можете навести курсор мыши на шкалу и нажать боковые клавиши со стрелками ← →.",
|
||||
"updated": 1636206456010
|
||||
}
|
||||
],
|
||||
"updated": 1616495837967
|
||||
@@ -88,6 +98,11 @@
|
||||
"language": "TR",
|
||||
"text": "Önceki videoda dikkat çeken ilginç bir ayrıntı daha var: zaman ölçeği otomatik moddan çıktığında, otomatik ölçeğin her iki tafafını gösteren iki küçük yeşil üçgen kaybolur! ",
|
||||
"updated": 1636094195564
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "В предыдущем видео есть одна интересная деталь: когда шкала времени выходит из автоматического режима, два крошечных зеленых треугольника, указывающих на каждый конец автоматической шкалы, - исчезают! Масштаб может быть установлен на автоматический как с одной, так или с обеих сторон.",
|
||||
"updated": 1636206743590
|
||||
}
|
||||
],
|
||||
"updated": 1616504911488
|
||||
|
||||
+15
@@ -30,6 +30,11 @@
|
||||
"language": "TR",
|
||||
"text": "Size Fiyat Ölçeğinin nasıl çalıştığını söylememe gerek var mı yoksa kendi başınıza çözebilir misiniz? Tamam... Sana bir ipucu vereceğim...",
|
||||
"updated": 1636094814213
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Необходимо ли мне рассказать Вам, как работает Rate Scale, или Вы можете разобраться в этом самостоятельно? Хорошо... Я дам Вам подсказку...",
|
||||
"updated": 1636206915335
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -59,6 +64,11 @@
|
||||
"language": "TR",
|
||||
"text": "Fiyat ölçeği, zaman ölçeği gibi çalışır, ancak klavyeyi kullanırken ok tuşlarını tersini kullanmanız gerekir! Otomatik modlar arasında geçiş yapmak için sol ve sağ okları ← → ve ölçeği etkilemek için yukarı ve aşağı okları ↑ ↓ kullanın! Anlamak için bir sonraki videoyu kontrol edin!",
|
||||
"updated": 1636094888142
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Шкала ставок работает так же, как и шкала времени, но при использовании клавиатуры, Вам необходимо поменять местами клавиши со стрелками. Используйте стрелки ← → для переключения между автоматическими режимами и стрелки ↑ ↓ - для изменения масштаба! Проверьте следующее видео для большей ясности!",
|
||||
"updated": 1636207110611
|
||||
}
|
||||
],
|
||||
"updated": 1616505192799
|
||||
@@ -88,6 +98,11 @@
|
||||
"language": "TR",
|
||||
"text": "Yarı otomatik ölçek modlarıyla da oynayın! Fare tekerleğinin birkaç hareketinin ardından tek bir küçük üçgen görünür kaldığında yarı otomatik moddasınızdır.",
|
||||
"updated": 1636094932757
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Поиграйте с полуавтоматическими масштабными моделями! Вы знаете, когда один крошечный треугольник остается видимым после нескольких щелчков колесика мыши.",
|
||||
"updated": 1636207203334
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+5
@@ -20,6 +20,11 @@
|
||||
"language": "TR",
|
||||
"text": "Bu adımda bir video izleyeceksiniz.",
|
||||
"updated": 1636094992004
|
||||
},
|
||||
{
|
||||
"language": "RU",
|
||||
"text": "Этот шаг воспроизводит видео в полноэкранном режиме.",
|
||||
"updated": 1636207242104
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
+15
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Sie haben gerade die Grundlagen über die drei Skalen gelernt, die die Charts bestimmen, aber es gibt noch mehr!",
|
||||
"updated": 1634217561414
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Tabloları yöneten üç ölçekle ilgili temel bilgileri az önce öğrendiniz, ancak dahası da var!",
|
||||
"updated": 1636112760510
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -49,6 +54,11 @@
|
||||
"language": "DE",
|
||||
"text": "Erinnern Sie sich, dass ich erwähnt habe, dass eine Time Machine mehrere Charts von verschiedenen Börsen und Märkten enthalten kann? Es gibt keine Grenzen für die Visualisierung von Daten in Superalgos, und die Skalen spielen eine wichtige Rolle in komplexeren Konfigurationen als denen, die wir an dieser Stelle erkunden.",
|
||||
"updated": 1634217567611
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Bir Zaman Makinesinin ( Time Machine ) birden fazla borsadan ve piyasadan birden fazla grafik içerebileceğini söylediğimi hatırlıyor musunuz? Superalgos'ta verileri nasıl görselleştireceğinizin bir sınırı yoktur ve ölçekler, bu noktada araştırdığımızdan daha karmaşık konfigürasyonlarda önemli bir rol oynar.",
|
||||
"updated": 1636112585521
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -73,6 +83,11 @@
|
||||
"language": "DE",
|
||||
"text": "Wenn Sie alle Details erfahren möchten, lesen Sie bitte den Abschnitt Scales in der Dokumentation.",
|
||||
"updated": 1634217573618
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Tüm detayları öğrenmek istiyorsanız, dokümantasyonun Ölçekler ( Scales ) bölümünü incelemekten çekinmeyin.",
|
||||
"updated": 1636112742089
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+15
@@ -26,6 +26,11 @@
|
||||
"text": "Dies ist der Aufbau der Charting Space Hierarchie der Time Machine, mit der wir in den Charts gespielt haben.",
|
||||
"updated": 1634218294649,
|
||||
"style": "Definition"
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Bu, grafiklerde oynadığımız Zaman Makinesinin Grafik Alanı hiyerarşi kurulumudur.",
|
||||
"updated": 1636103063884
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -51,6 +56,11 @@
|
||||
"text": "Nehmen Sie sich ein paar Minuten Zeit, um diese Definitionen zu erkunden! Werfen Sie einen Blick auf die Menüs der verschiedenen Knoten!",
|
||||
"updated": 1634218308224,
|
||||
"style": "Callout"
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Bu tanımları keşfetmek için birkaç dakikanızı ayırın! Farklı düğümlerin menülerine bir göz atın!",
|
||||
"updated": 1636103083297
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -75,6 +85,11 @@
|
||||
"language": "DE",
|
||||
"text": "Ich hoffe, die Struktur der Knoten ist intuitiv genug, um zu verstehen, wie leistungsfähig das Konzept des Design Space ist. Sie richten eine Time Machine ein, indem Sie Timeline Chart Knoten und die gewünschten Skalen hinzufügen. Dann richten Sie Layer Manager und Layer ein, die auf die entsprechenden Data Mine Products verweisen, so dass die gewünschten Daten auf einem bestimmten Layer Manager in den Charts verfügbar werden. Es ist wie das Legoland® der Handelsdiagramme! Später werden Sie lernen, wie man Charts schneidet!",
|
||||
"updated": 1634221688170
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Umarım düğümlerin yapısı, Tasarım Alanı ( Design Space ) kavramının ne kadar güçlü olduğunu kavramaya yetecek kadar sezgiseldir. Zaman Çizelgesi Grafiği ( Timeline Chart ) düğümlerini ve istenen ölçekleri ekleyerek bir zaman makinesi kurarsınız. Ardından, istenen verilerin grafiklerdeki belirli bir katman yöneticisinde kullanılabilir hale gelmesi için ilgili Veri Madeni Ürünleri'ne ( Data Mine Products ) başvuran katman yöneticilerini ve katmanları ayarlarsınız. Ticaret listelerinin Legoland®'ı gibi! Daha sonra çizelgeleri özelleştirmeyi öğreneceksiniz!",
|
||||
"updated": 1636103227563
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Apropos Blockbildung: Wir befinden uns jetzt in der Masters Data Mine. Zu Ihrer Linken sehen Sie die Definition eines der Bots, die Sie vor einigen Minuten zum Abbau geschickt haben.",
|
||||
"updated": 1634218419044
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Blok oluşturma hakkında konuşurken, artık Masters Data Mine'ın sınırlarındayız. Solunuzda, dakikalar önce madenciliğe gönderdiğiniz botlardan birini görüyorsunuz.",
|
||||
"updated": 1636105640974
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -49,6 +54,11 @@
|
||||
"language": "DE",
|
||||
"text": "Ähnlich wie bei den Lego-ähnlichen Definitionen des Charting Space werden auch die Bots in einer visuellen Umgebung definiert.",
|
||||
"updated": 1634218423345
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Grafik alanının ( Charting Space )'in Lego benzeri olduğu gibi, botlarda görsel bir ortamda tanımlanmıştır.",
|
||||
"updated": 1636105839670
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -72,6 +82,11 @@
|
||||
"language": "DE",
|
||||
"text": "Alles, was die Entwickler programmieren müssen, ist die eigentliche Data Building Procedure.",
|
||||
"updated": 1634218433837
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Veri oluşturma prosedürleri ( Data Building Procedure ) geliştiriciler tarafından tanımlanmıştır.",
|
||||
"updated": 1636106164354
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -95,6 +110,11 @@
|
||||
"language": "DE",
|
||||
"text": "Alles andere wird in einer visuellen Umgebung definiert: Prozesse mit ihren Abhängigkeiten, Ausgaben usw. und Produkte mit ihren Datensatz- und Datasetdefinitionen usw.",
|
||||
"updated": 1634218442797
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Diğer her şey görsel bir ortamda tanımlanır: bağımlılıklar, çıktılar, süreçler, kayıt, veri seti tanımları, ürünler vb.",
|
||||
"updated": 1636106291422
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+15
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Und so werden Plotter gebaut! Plotter erstellen grafische Darstellungen von Daten... von Kerzen bis hin zu allem anderen!",
|
||||
"updated": 1634218493534
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -49,6 +54,11 @@
|
||||
"language": "DE",
|
||||
"text": "Wiederum visuelles Skripting in seiner besten Form! Plotter verwenden stilisierte Polygone aus Koordinatenpunkten, um Linien und Formen zu zeichnen, die Daten darstellen. Jede Ebene, die in den Diagrammen zur Verfügung steht, wird mit einer Reihe von Definitionen erstellt, so wie Sie sie gerade sehen. Der besondere Fall des Bot Resistenzen und Unterstützungen ist ziemlich komplex, zeigt aber die Leistungsfähigkeit des Tools!",
|
||||
"updated": 1634218497006
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -73,6 +83,11 @@
|
||||
"language": "DE",
|
||||
"text": "Suchen Sie das Polygon der Widerstandszone 5 (links), erweitern Sie es und krabbeln Sie die Äste hinauf, um zu sehen, wie diese Schönheit entstanden ist!",
|
||||
"updated": 1634218503528
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Wir sind zurück in der Netzwerkhierarchie, um Ihnen eine der wichtigsten Ressourcen für Strategietests zu zeigen, die in den Trading Bot integriert sind.",
|
||||
"updated": 1634218612347
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -50,6 +55,11 @@
|
||||
"language": "DE",
|
||||
"text": "Doch bevor Sie Ihre erste Backtesting Session starten, wollen wir uns erst einmal einen Überblick verschaffen, wie der Knoten Testing Trading Tasks aufgebaut ist.",
|
||||
"updated": 1634218620382
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -74,6 +84,11 @@
|
||||
"language": "DE",
|
||||
"text": "Erweitern Sie den Testing Trading Tasks und sehen Sie sich die Struktur der Nachfolgeknoten an... Kommt Ihnen das bekannt vor?",
|
||||
"updated": 1634218627346
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -97,6 +112,11 @@
|
||||
"language": "DE",
|
||||
"text": "In der Tat! Sie ähnelt dem Abschnitt Data Tasks : Die Aufgaben sind nach Börse, Markt und Handelsmine geordnet, so dass Sie eine beliebige Anzahl von Strategien testen können, die für verschiedene Märkte an mehreren Börsen optimiert sind.",
|
||||
"updated": 1634218636921
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Stellen Sie sich eine Armee von Bots vor, die mit mehreren Börsen, Märkten und Strategien arbeiten und in einem Netzwerk à la Trading Farm laufen.",
|
||||
"updated": 1634220019128
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
],
|
||||
"updated": 1622200549490
|
||||
@@ -51,6 +56,11 @@
|
||||
"language": "DE",
|
||||
"text": "Genau darum geht es beim Network Node. Was Sie bisher gesehen haben, läuft auf einer einzigen Maschine. Aber...",
|
||||
"updated": 1634220028409
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Ağ Düğümü bununla ilgili. Şimdiye kadar gördükleriniz tek bir makinede çalışıyor. Fakat...",
|
||||
"updated": 1636109072742
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -75,6 +85,11 @@
|
||||
"language": "DE",
|
||||
"text": "Superalgos unterstützt die Verteilung und Koordinierung von Aufgaben über Netzwerke von Knoten, auf denen der Client läuft! Dies ermöglicht intelligente und skalierbare Operationen. Jeder Rechner, auf dem die GUI läuft, kann das Unternehmen steuern!",
|
||||
"updated": 1634220039839
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -98,6 +113,11 @@
|
||||
"language": "DE",
|
||||
"text": "Sie können ein Netzwerk mit ein paar Raspberry Pi, einem industriellen Rechenzentrum oder irgendetwas dazwischen einrichten.",
|
||||
"updated": 1634220046648
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
],
|
||||
"updated": 1629821982211
|
||||
|
||||
+20
@@ -26,6 +26,11 @@
|
||||
"language": "DE",
|
||||
"text": "Die neueste Version von Superalgos bietet eine experimentelle Integration von TensorFlow zur Nutzung von ML innerhalb der App!",
|
||||
"updated": 1634220174054
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -51,6 +56,11 @@
|
||||
"language": "DE",
|
||||
"text": "Die Integration bildet die Definition einer NodeJS TensorFlow Library mit einem Supervised Learning Algorithmus und seinem Artificial Neural Network in der gleichen Art von Knotenstruktur ab, wie sie für Superalgos typisch ist.",
|
||||
"updated": 1634220190097
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -75,6 +85,11 @@
|
||||
"language": "DE",
|
||||
"text": "Die Integration nutzt den Rest der Superalgos-Infrastruktur, so dass Sie Ihre Datensätze verwenden können, um ML-Algos zu trainieren und die resultierenden Modelle innerhalb von Handelssystemen zu verwenden!",
|
||||
"updated": 1634220194628
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -99,6 +114,11 @@
|
||||
"language": "DE",
|
||||
"text": "Werfen Sie später einen Blick auf den ML CrossCategoricalEntropy Demo Plugin Workspace!",
|
||||
"updated": 1634220207869
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Daha sonra, ML CrossCategoricalEntropy Demo Plugin Workspace'e bir göz atın!",
|
||||
"updated": 1636109933292
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+16
-1
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Wundern Sie sich nicht, wenn Sie hier und da ein \"under construction\"-Schild finden...",
|
||||
"updated": 1634220290367
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Arada bir \"Under Construction\" tabelası görürseniz şaşırmayın...",
|
||||
"updated": 1636110077834
|
||||
}
|
||||
],
|
||||
"updated": 1622200773527
|
||||
@@ -50,11 +55,16 @@
|
||||
"language": "DE",
|
||||
"text": "Wie ich bereits erwähnt habe, wächst Superalgos ständig, und die Infrastruktur, die für die kommende Version entworfen wurde, kann gelegentlich in die aktuelle Version in einem Service Pack integriert werden, zusammen mit notwendigen Korrekturen und kleineren Verbesserungen.",
|
||||
"updated": 1634220302814
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
"style": "Note",
|
||||
"text": "If you are curious about what is cooking for the upcoming Superalgos release, join the <a href='https://t.me/superalgosdevelop' target='_blank' style='color:blue;'>Superalgos Develop</a> Telegram group.",
|
||||
"translations": [
|
||||
{
|
||||
@@ -73,6 +83,11 @@
|
||||
"language": "DE",
|
||||
"text": "Wenn Sie neugierig sind, was für die kommende Superalgos Version geplant ist, treten Sie der <a href='https://t.me/superalgosdevelop' target='_blank' style='color:blue;'>Superalgos Develop</a> Telegram Gruppe bei. ",
|
||||
"updated": 1634220334096
|
||||
},
|
||||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+15
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Wir führen eine Backtesting Session mit einer Reihe von vorkonfigurierten Parametern durch, damit Sie einen kurzen Einblick in die Funktionsweise von Simulationen erhalten.",
|
||||
"updated": 1634221802413
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Simülasyonların nasıl çalıştığına hızlıca bir göz atabilmeniz için bir dizi önceden yapılandırılmış parametre ile bir Geri Test Oturumu ( Backtesting Session ) çalıştıracağız.",
|
||||
"updated": 1636117912488
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -50,6 +55,11 @@
|
||||
"language": "DE",
|
||||
"text": "Wie Sie rechts sehen können, hat eine Handelssitzung einen Verweis auf ein Trading System. Das heißt, der Trading Bot wird die Regeln des referenzierten Handelssystems anwenden, um Entscheidungen zu treffen. Es gibt auch einen Verweis auf eine Trading Engine, ein Thema, das ein eigenes Kapitel wert ist, also lasse ich es für später!",
|
||||
"updated": 1634221812093
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Sağda görebileceğiniz gibi, bir ticaret oturumunun bir Ticaret Sistemine ( Tading System ) referansı vardır. Yani Ticaret Botu ( Trading Bot ), karar vermek için referans verilen ticaret sisteminin kurallarını uygulayacaktır. Trading Engine'e (Trading Engine) konusunu sonraya bırakacağım!",
|
||||
"updated": 1636118809271
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -73,6 +83,11 @@
|
||||
"language": "DE",
|
||||
"text": "Die Trading Session wird von mehreren Parametern beeinflusst. Werfen Sie einen kurzen Blick auf deren Konfigurationen, indem Sie im Menü Konfigurieren wählen!",
|
||||
"updated": 1634221844095
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "İşlem seansı birkaç parametreden (Trading Parameters) oluşur. Menüden Yapılandır'ı seçerek konfigürasyonlarına hızlıca göz atın!",
|
||||
"updated": 1636118950433
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+40
@@ -19,6 +19,11 @@
|
||||
"language": "DE",
|
||||
"text": "Die Trading Parameters bestimmen wichtige Aspekte des Ablaufs einer Handelssitzung. Werfen wir einen kurzen, oberflächlichen Blick darauf...",
|
||||
"updated": 1634222050905
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Alım Satım Parametreleri ( Trading Parameters ), alım satım seansının nasıl yürütüldüğünün temel yönlerini belirler. Hızlı, yüzeysel bir göz atalım...",
|
||||
"updated": 1636120903968
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -43,6 +48,11 @@
|
||||
"language": "DE",
|
||||
"text": "Session Base Asset: Es wird kein Kapital in BTC zugewiesen.",
|
||||
"updated": 1634222067587
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Session Base Asset (Oturum Temel Varlığı:): BTC'ye sermaye tahsis edilmez.",
|
||||
"updated": 1636121181916
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -66,6 +76,11 @@
|
||||
"language": "DE",
|
||||
"text": "Session Quoted Asset: 1000 USDT des Anfangskapitals.",
|
||||
"updated": 1634222071545
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Session Quoted Asset (Oturumda Kote Edilen Varlık): 1000 USDT başlangıç sermayesi.",
|
||||
"updated": 1636121192365
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -89,6 +104,11 @@
|
||||
"language": "DE",
|
||||
"text": "Time Range: Wir testen einen einzigen Tag, 2020-09-01.",
|
||||
"updated": 1634222083921
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Time Range (Zaman Aralığı): Tek bir günü test edeceğiz, 01 Eylül 2020",
|
||||
"updated": 1636121263576
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -112,6 +132,11 @@
|
||||
"language": "DE",
|
||||
"text": "Time Frame: Aufträge werden jede Minute erteilt/storniert, daher ist 01-min angemessen.",
|
||||
"updated": 1634222093512
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Time Frame (Zaman periyodu): siparişler her dakika verilir/iptal edilir, bu nedenle 01 dakika uygundur.",
|
||||
"updated": 1636121307468
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -136,6 +161,11 @@
|
||||
"language": "DE",
|
||||
"text": "Slippage: ist in diesem Fall irrelevant, da dieses spezielle Handelssystem nur Limit-Orders verwendet.",
|
||||
"updated": 1634222103935
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Slippage (Kayma): Bu özel ticaret sistemi sadece limit emirleri kullandığından, bu durum için önemsizdir.",
|
||||
"updated": 1636121458592
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -159,6 +189,11 @@
|
||||
"language": "DE",
|
||||
"text": "Fee Structure: 0,1% ist die niedrigste Binance-Stufe.",
|
||||
"updated": 1634222115242
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Fee Structure (Komisyon): Binance için %0,1 olduğunu varsayalım.",
|
||||
"updated": 1636121571785
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -183,6 +218,11 @@
|
||||
"language": "DE",
|
||||
"text": "Die übrigen Parameter haben keinen Einfluss auf die Simulation. Um mehr über Trading Parameters zu erfahren, werfen Sie einen Blick in die Dokumentation.",
|
||||
"updated": 1634222122265
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Kalan parametreler simülasyonu etkilemez. İşlem Parametreleri hakkında daha fazla bilgi edinmek için belgelere bakın.",
|
||||
"updated": 1636121544786
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Los geht's! Dies wird ohnehin schnell gehen, da wir nur einen einzigen Tag mit historischen Daten testen.",
|
||||
"updated": 1634222237362
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Haydi gidelim! Bir günlük zaman dilimi için Backtest yapacağımız için bu hızlı olacak.",
|
||||
"updated": 1636122670075
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -44,6 +49,11 @@
|
||||
"text": "Ejecutar un Trading Task es bastante similar a ejecutar una tarea de minería de datos. La diferencia radica en que, después de ejecutar la tarea, también debe ejecutar lel Trading Session.",
|
||||
"updated": 1624454018479,
|
||||
"style": "Text"
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Bir ticaret görevi yürütmek ( Trading Tasks ), bir veri madenciliği (Data Mining Tasks ) görevi yürütmeye oldukça benzer. Aradaki fark, görevi çalıştırdıktan sonra, ticaret oturumunu da çalıştırmanız gerektiğidir.",
|
||||
"updated": 1636122738568
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -68,6 +78,11 @@
|
||||
"language": "DE",
|
||||
"text": "Wählen Sie im Menü Lightning Strike Task die Option Run! <br/>Wählen Sie nun Run im Menü Backtesting Session!",
|
||||
"updated": 1634222444040
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Önce Lightning Strike Task menüsünde Run'ı seçin! Sonra Backtesting Session menüsünde Run'ı seçin!",
|
||||
"updated": 1636122946019
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -91,6 +106,11 @@
|
||||
"language": "DE",
|
||||
"text": "Wenn die Backtesting Session anzeigt, dass die Verarbeitung abgeschlossen ist, beenden Sie die Aufgabe und klicken Sie auf Weiter.",
|
||||
"updated": 1634222377772
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Geriye Dönük Test Oturumu ( Backtesting Session ), işlemin tamamlandığını gösterdiğinde, Görevi ( Task) durdurun ve İleri'ye tıklayın.",
|
||||
"updated": 1636122871481
|
||||
}
|
||||
],
|
||||
"updated": 1622201246283
|
||||
|
||||
+20
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Ich habe mir die Freiheit genommen, Sie zu einem bestimmten Zeitpunkt zu bringen, der interessant für das ist, was jetzt kommt.",
|
||||
"updated": 1634222639833
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Sizi zaman içinde belirli bir ana getirme cüretinde bulundum, bundan sonra gelecekte ilginç.",
|
||||
"updated": 1636180974748
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -49,6 +54,11 @@
|
||||
"language": "DE",
|
||||
"text": "Sie werden nun die Schönheit von Simulationen kennen lernen. Bin ich eine Simulation? Sind Sie eine? Ist die ganze Sache real?",
|
||||
"updated": 1634222646214
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Simülasyonların güzelliğine maruz kalmak üzeresiniz. Ben bir simülasyon muyum? Bütün bunlar gerçek mi?",
|
||||
"updated": 1636181003797
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -72,6 +82,11 @@
|
||||
"language": "DE",
|
||||
"text": "Schauen Sie sich um und entscheiden Sie selbst!",
|
||||
"updated": 1634222649291
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Etrafınıza bakın ve kendiniz karar verin!",
|
||||
"updated": 1636181015871
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -95,6 +110,11 @@
|
||||
"language": "DE",
|
||||
"text": "Beachten Sie zunächst, dass Sie sich jetzt im 1-Minuten-Zeitrahmen befinden, es handelt sich also um 1-Minuten-Kerzen. Die Zeitspanne auf Ihrem Bildschirm ist etwas mehr als eine Stunde, zu Beginn des 1. September 2020.",
|
||||
"updated": 1634222657547
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Her şeyden önce, 1 dakikalık zaman diliminde olduğunuza dikkat edin, bu nedenle bunlar 1 dakikalık mumlardır.",
|
||||
"updated": 1636181143231
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+15
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Wir haben einen Backtest durchgeführt, aber wir haben noch nicht über das Trading System gesprochen, das wir testen! Lassen Sie uns die Grundlagen durchgehen!",
|
||||
"updated": 1634222921349
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Bir geriye dönük test yaptık ama test ettiğimiz Ticaret Sistemini ( Trading System )tartışmadık! Temel bilgileri gözden geçirelim!",
|
||||
"updated": 1636201414712
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -50,6 +55,11 @@
|
||||
"language": "DE",
|
||||
"text": "Die Handelsidee ist, \"the falling knife\" zu kaufen und \"den Rebound\" zu verkaufen. Die Strategie platziert eine Limit Buy Order mit einem Abstand unter dem Preis. Wenn die Order nicht bis zur nächsten Minute ausgeführt wird, wird sie storniert und eine neue Order platziert, möglicherweise zu einem angepassten Kurs. Wenn der Kurs plötzlich fällt, besteht die Chance, dass der Auftrag ausgeführt wird. In diesem Fall versucht die Strategie, zu einem höheren Preis zu verkaufen.",
|
||||
"updated": 1634222949643
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Ticaret fikri \"düşen bıçağı\" satın almak ve \"geri tepkiyi\" satmaktır. Strateji, fiyatın biraz altına bir Limitli Alış Emri ( Limit Buy Order ) yerleştirir. Emir bir sonraki dakikaya kadar yerine getirilmezse, emir iptal edilir ve potansiyel olarak ayarlanmış bir oranda yeni bir emir verilir. Fiyat aniden düşerse, siparişin doldurulma ihtimali vardır. Bu olursa, strateji daha yüksek bir fiyattan satmaya çalışır.",
|
||||
"updated": 1636201723387
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -78,6 +88,11 @@
|
||||
"language": "DE",
|
||||
"text": "Wir wollen hier nicht über die Vorzüge der Handelsidee diskutieren, sondern über die Umsetzung. Dies ist nur eine Demo, um die Fähigkeiten des Trading Bot zu zeigen, nicht die Strategie an sich.",
|
||||
"updated": 1634222957739
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Ticaret fikrinin esasını değil, uygulamasını tartışalım. Bu, kendi başına stratejiyi değil, Ticaret Botunun kapasitelerini gösteren bir demodur. Bu strateji doğru olmaya bilir, ya da beğenmeyebilirsiniz. Kendi fikirlerinizle yeni stratejiler oluşturabilirsiniz.",
|
||||
"updated": 1636201810582
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+15
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Sehen Sie die grünen Kugeln mit einem L in der Mitte? Das sind die erwähnten limitierten Kaufaufträge.",
|
||||
"updated": 1634224261070
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Ortasında \"L\" olan yeşil mermileri görüyor musunuz? Bahsettiğim limit alış emirleri bunlar.",
|
||||
"updated": 1636203165068
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -49,6 +54,11 @@
|
||||
"language": "DE",
|
||||
"text": "Beachten Sie, dass jede Minute ein Auftrag erteilt wird, der storniert wird, bevor ein neuer Auftrag erteilt wird. Erkennen Sie das Symbol für die Auftragsstornierung? Es ist die kleinere, dunklere Kugel mit einem weißen horizontalen Streifen in der Mitte!",
|
||||
"updated": 1634224270895
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Her dakika bir siparişin nasıl verildiğine ve yeni bir sipariş verilmeden önce iptal edildiğine dikkat edin. Sipariş iptali sembolünü tanıyor musunuz? Ortasında beyaz yatay şerit bulunan daha küçük, daha koyu mermi!",
|
||||
"updated": 1636203192290
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -72,6 +82,11 @@
|
||||
"language": "DE",
|
||||
"text": "Beachten Sie, dass das \"Knife\" um 00:21 Uhr gefallen ist! Der Preis fiel deutlich unter den Kurs der Limit-Order, daher wurde die Order ausgeführt! Das zeigt der größere, gefüllte, grüne Punkt an!",
|
||||
"updated": 1634224312254
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Fiyatın 00:21'de düştüğüne dikkat edin! Fiyat, limit emrinin oranının çok altına düştü, bu nedenle emir yerine getirildi! Daha büyük, dolu yeşil mermi bunu gösteriyor!",
|
||||
"updated": 1636203809456
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
+20
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Sicherlich haben Sie bemerkt, dass es keine limitierten Kaufaufträge mehr gibt, nachdem der Auftrag ausgeführt wurde. Stattdessen tauchen jetzt Verkaufsaufträge auf!",
|
||||
"updated": 1634224422014
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Sipariş doldurulduktan sonra artık limit satın alma emri olmadığını fark etmişsinizdir. Bunun yerine, satış emirleri ortaya çıkmaya başlar!",
|
||||
"updated": 1636203864365
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -49,6 +54,11 @@
|
||||
"language": "DE",
|
||||
"text": "Beachten Sie, dass der erste Limit Sell Order um 00:22 Uhr platziert wird, eine Minute nachdem der Kaufauftrag ausgeführt wurde!",
|
||||
"updated": 1634224435222
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "İlk Limitli Satış Emrinin ( Limit Sell Order ), alış emrinin doldurulmasından bir dakika sonra 00:22 AM'de nasıl verildiğine dikkat edin!",
|
||||
"updated": 1636203947395
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -73,6 +83,11 @@
|
||||
"language": "DE",
|
||||
"text": "Das ist die gleiche Minute, in der Superalgos die Nachricht von der Börse erhalten hätte, dass die Order ausgeführt wurde. Der Trading Bot verbindet sich mit der Börse und durchläuft zwei verschiedene Zyklen.",
|
||||
"updated": 1634224443687
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Superalgos'un borsadan siparişin doldurulduğuna dair bildirim almasıyla aynı dakika. Trading Bot, borsa ile bağlantı kurar ve iki farklı döngüden geçer.",
|
||||
"updated": 1636203973992
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -96,6 +111,11 @@
|
||||
"language": "DE",
|
||||
"text": "Im ersten Cycle informiert er sich über den Status der bestehenden Aufträge. Im zweiten Zyklus gibt er neue Anweisungen.",
|
||||
"updated": 1634224454050
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "İlk Döngüde mevcut siparişlerin durumunu öğrenir. İkincisinde yeni talimatlar verir.",
|
||||
"updated": 1636203996665
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -26,6 +26,11 @@
|
||||
"language": "DE",
|
||||
"text": "Die Logik, die hinter der Platzierung von Kaufaufträgen steht, wird durch die Widerstände und Unterstützungen des Indikator-Bots aus der Masters Data Mine beeinflusst, die Sie zuvor durchgeführt haben.",
|
||||
"updated": 1634224529417
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Satın alma emirlerinin verilmesinin ardındaki mantık, şöyle çalışır. Daha önce çalıştırdığınız Masters Data Mine'daki Dirençler ve Destekler botundan etkilenir.",
|
||||
"updated": 1636204198637
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -50,6 +55,11 @@
|
||||
"language": "DE",
|
||||
"text": "Ich habe mir die Freiheit genommen, den Supports-Layer einzuschalten, um Ihnen diese Schönheit zu zeigen... Ich hoffe, es macht Ihnen nichts aus!",
|
||||
"updated": 1634224537478
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Size bu güzelliği göstermek için Destekler katmanını açtım... Umarım sakıncası yoktur!",
|
||||
"updated": 1636204235468
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -73,6 +83,11 @@
|
||||
"language": "DE",
|
||||
"text": "Der Indikator identifiziert Niveaus (Preisbereiche), auf denen der Preis abgelehnt wird, und führt einen Zähler, der anzeigt, wie viele Ablehnungen auftreten, bis das Niveau durchbrochen wird.",
|
||||
"updated": 1634224594321
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Gösterge, fiyatın reddedildiği seviyeleri (fiyat aralıkları) tanımlar ve seviye ihlal edilene kadar kaç ret gerçekleştiğinin bir sayacını tutar.",
|
||||
"updated": 1636204267357
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -96,6 +111,11 @@
|
||||
"language": "DE",
|
||||
"text": "Die Art und Weise, wie die Niveaus auf dem Bildschirm dargestellt werden, variiert mit der Anzahl der Ablehnungen, die das Niveau erlebt hat, und gibt uns einen visuellen Anhaltspunkt dafür, wie stark jedes Unterstützungsniveau sein kann. Sobald ein Niveau durchbrochen wird, verschwindet es.",
|
||||
"updated": 1634224586403
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Seviyelerin ekranda gösterilme şekli, seviyenin tanık olduğu reddedilmelerin sayısına göre değişir ve bize her bir destek seviyesinin ne kadar güçlü olabileceğine dair görsel bir ipucu verir. Bir seviye ihlal edildiğinde, kaybolur.",
|
||||
"updated": 1636204288960
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+10
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Schauen Sie sich die folgende Tabelle an und versuchen Sie, die in den Diagrammen angegebenen Unterstützungsniveaus zu interpretieren.",
|
||||
"updated": 1634224665354
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Aşağıdaki tabloyu kontrol edin ve grafiklerde gördüğünüz destek seviyelerini yorumlayın. Her seviye ihlalinde barın rengi değişir. Örneğin Seviye 5 defa ihlal edilmişse yeşil renkli olur.",
|
||||
"updated": 1636204496181
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -53,6 +58,11 @@
|
||||
"language": "DE",
|
||||
"text": "<br/>Bei einem neuen Unterstützungsniveau mit einer Ablehnung markiert die gepunktete Linie das genaue Niveau, an dem der Kurs abgeprallt ist. Bei weiteren Ablehnungen markieren die Blöcke die Kursbereiche, auf denen nachfolgende Ablehnungen gezählt werden.",
|
||||
"updated": 1634224722087
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Reddedilen yeni bir destek seviyesi (noktalı çizgi ile ifade edilir), fiyatın sıçradığı tam seviyeyi gösterir. Daha sonraki retler için bloklar kullanılır ve sayıya göre renklendirilir.",
|
||||
"updated": 1636204639724
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+15
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Warum springen die Pegel hoch und runter? Es gibt etwas, das ich Ihnen noch nicht gesagt habe, denn ich fürchte, es könnte Sie umhauen!",
|
||||
"updated": 1634225275729
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Seviyeler neden yukarı ve aşağı zıplıyor? Sana henüz söylemediğim bir şey var, bu aklını başından alacak.",
|
||||
"updated": 1636205310660
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -49,6 +54,11 @@
|
||||
"language": "DE",
|
||||
"text": "Der Bot verfolgt alle Unterstützungsniveaus seit Beginn des Datensatzes, zeigt Ihnen aber nur die fünf Niveaus, die dem aktuellen Kurs am nächsten liegen.",
|
||||
"updated": 1634225279501
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Bot, veri kümesinin başlangıcından bu yana tüm destek seviyelerini canlı olarak takip eder, ancak size yalnızca mevcut fiyata en yakın beş seviyeyi gösterir.",
|
||||
"updated": 1636205332521
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -73,6 +83,11 @@
|
||||
"language": "DE",
|
||||
"text": "Die Verfolgung von Informationen über die gesamte Spanne des Datensatzes - die Jahre zählen kann - ist der außerordentliche Wert des Data Mining, und die Art von Dingen, die Sie nicht in der Lage wären, mit einer Funktion zu berechnen, on the fly. Der Plotter, der mit dem Indicator Bot verbunden ist, zeigt dynamisch die fünf Unterstützungsebenen an, die dem Preis am nächsten liegen, weil dies die relevanten Ebenen für den Kontext sind, und so ist der Plotter aufgebaut!",
|
||||
"updated": 1634225288547
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Veri kümesinin tüm aralığı için - ki bu yılları içerebilir - bilgi kaydını tutmak, veri madenciliğinin olağanüstü değeridir ve bir fonksiyonla anında hesaplayamayacağınız türden şeylerdir. Gösterge Botu ile ilişkili Plotter, fiyata en yakın beş destek seviyesini dinamik olarak gösterir, çünkü bunlar durum için ilgili seviyelerdir ve çizici bu şekilde inşa edilmiştir!",
|
||||
"updated": 1636205604729
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": " Jetzt, wo Sie wissen, wie der Indikator funktioniert, können Sie die Beziehung zwischen Kaufaufträgen und Unterstützungsniveaus finden?",
|
||||
"updated": 1634225345768
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Artık göstergenin nasıl çalıştığını bildiğinize göre, satın alma siparişleri ile destek seviyeleri arasındaki ilişkiyi bulabilir misiniz?",
|
||||
"updated": 1636205670836
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -49,6 +54,11 @@
|
||||
"language": "DE",
|
||||
"text": "Nehmen Sie sich etwas Zeit, um den getesteten Zeitraum zu untersuchen und nach Hinweisen darauf zu suchen, wie die Unterstützungsniveaus den Kurs der Limit Buy Order bestimmen!",
|
||||
"updated": 1634225355612
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Destek seviyelerinin Limitli Alış Emri oranını nasıl belirlediğine dair ipuçlarını aramak ve test edilen süreyi keşfetmek için biraz zaman ayırın!",
|
||||
"updated": 1636206011307
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -72,6 +82,11 @@
|
||||
"language": "DE",
|
||||
"text": "Es macht Spaß, zu beobachten, wie sich neue Niveaus bilden, wenn der Preis seine Richtung ändert, und wie ein etabliertes Niveau seine Farbe ändert, wenn der Preis von ihm abprallt.",
|
||||
"updated": 1634225362477
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Fiyat yön değiştirdiğinde yeni seviyelerin nasıl oluştuğunu ve fiyat sıçradığında yerleşik bir seviyenin nasıl renk değiştirdiğini fark etmek eğlencelidir.",
|
||||
"updated": 1636206057671
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -95,6 +110,11 @@
|
||||
"language": "DE",
|
||||
"text": "Der Trick besteht darin, die Niveaus oberhalb der Order zu zählen!",
|
||||
"updated": 1634225370008
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Ancak işin püf noktası, sıranın üzerindeki seviyeleri saymakta yatar!",
|
||||
"updated": 1636206075760
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+15
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Haben Sie es? Der Trading Bot platziert die Limit Buy Order auf der vierten Unterstützungsebene! Was ist die Logik dahinter?",
|
||||
"updated": 1634225434245
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Trading Bot 'u, Limit Satın Alma Emri'ni ( Limit Buy Order ) dördüncü destek seviyesine yerleştirir! Bunun arkasındaki mantık nedir?",
|
||||
"updated": 1636206183071
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -49,6 +54,11 @@
|
||||
"language": "DE",
|
||||
"text": "Es ist etwas willkürlich, aber die Strategie definiert ein \"fallendes Messer\" als eine Preisaktion, die in der Lage ist, mindestens drei Unterstützungsniveaus zu durchbrechen und das vierte innerhalb einer einzigen Minute zu erreichen. Statistisch gesehen führen solche Ereignisse in diesem Zeitrahmen zu mehr Abprallern als Fortsetzungen. Sie können durch große Marktaufträge verursacht werden, die die Geld-Brief-Spanne im Orderbuch vorübergehend vergrößern.",
|
||||
"updated": 1634225456180
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Bu biraz keyfi bir durumdur, ancak strateji, düşen bıçağı (fiyatın ani düşüşünü), tek bir dakika içinde en az üç destek seviyesini aşabilen ve dördüncü seviyeye ulaşabilen fiyat hareketi olarak tanımlar. İstatistiksel olarak, bu tür olaylar - bu zaman çerçevesinde - sürekli daha fazla sıçrama üretir. Emir defterindeki alış/satış farkını geçici olarak artıran büyük piyasa emirlerinden kaynaklanabilirler.",
|
||||
"updated": 1636206270568
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -72,6 +82,11 @@
|
||||
"language": "DE",
|
||||
"text": "Nehmen Sie sich eine Minute Zeit, um zu überprüfen, ob Kaufaufträge auf der vierten Unterstützungsebene platziert werden!",
|
||||
"updated": 1634225445485
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Satın alma siparişlerinin dördüncü destek seviyesinde verildiğini doğrulamak için bir dakikanızı ayırın!",
|
||||
"updated": 1636206291919
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+15
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Entschuldigen Sie, dass ich Sie von den Charts weggezerrt habe, aber ich wollte Ihnen jemanden vorstellen: Der Typ rechts ist derjenige, der die Kaufaufträge erteilt!",
|
||||
"updated": 1634225548501
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Sizi grafiklerden uzaklaştırdığım için özür dilerim ama sizi biriyle tanıştırmak istedim: satın alma siparişlerini veren kişi sağdaki adam!",
|
||||
"updated": 1636206465488
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -49,6 +54,11 @@
|
||||
"language": "DE",
|
||||
"text": "Wir befinden uns im Lightning Strike Trading System, innerhalb der Definitionen der Open Stage. In dieser Phase übernimmt der Execution Algorithm, nachdem die Entscheidung, eine Position einzugehen, bereits in der Trigger Stage getroffen wurde. Ich weiß, dass Sie immer noch nicht wissen, was eine Situation oder eine Condition ist, aber ich möchte, dass Sie trotzdem etwas tun...",
|
||||
"updated": 1634225553603
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Lightning Strike Trading Sisteminin ( Trading System ), Open Stage tanımları içerisindeyiz. Bu aşamada, Tetik Aşamasında pozisyon alma kararı verildikten sonra Yürütme Algoritması ( Execution Algorithm ) devreye girer. Hala bir Durum ( Situation ) veya Koşulun ( Condition ) ne olduğunu bilmediğini biliyorum, ama yine de bir şeyler yapmanı istiyorum...",
|
||||
"updated": 1636207188259
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -72,6 +82,11 @@
|
||||
"language": "DE",
|
||||
"text": "Nehmen Sie sich ein paar Minuten Zeit, um die Knoten unterhalb des Ausführungsalgorithmus zu erkunden, die Formeln und Bedingungen zu überprüfen und zu sehen, was Sie daraus machen können!",
|
||||
"updated": 1634225560838
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Yürütme algoritmasının altındaki düğümleri keşfetmek için birkaç dakikanızı ayırın, formülleri ve koşulları kontrol edin ve bunlardan neler yapabileceğinizi görün!",
|
||||
"updated": 1636207209256
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Was Sie gerade durchlaufen haben, ist die Definition der Limit Buy Order die jede Minute platziert und storniert wird, bis sie erfüllt ist.",
|
||||
"updated": 1634225672180
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Bu adım her dakika verilen ve iptal edilen Limitli Alış Emrinin (Limit Buy Order ) tanımıdır.",
|
||||
"updated": 1636208410014
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -50,6 +55,11 @@
|
||||
"language": "DE",
|
||||
"text": "Dies ist der Knoten, der den Kurs der Limit-Order bestimmt. Erinnern Sie sich, was wir vorhin über die Platzierung der Order zum Kurs der vierten Unterstützungsebene besprochen haben?",
|
||||
"updated": 1634225663708
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Bu, limit emrinin oranını belirleyen düğümdür. Dördüncü destek seviyesi oranında sipariş vermekle ilgili daha önce tartıştığımız şeyi hatırlıyor musunuz?",
|
||||
"updated": 1636207410235
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -73,6 +83,11 @@
|
||||
"language": "DE",
|
||||
"text": "Gehen Sie zu der Formula, die mit dem Knoten Order Rate verbunden ist, und klicken Sie im Menü auf Bearbeiten.",
|
||||
"updated": 1634225683670
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Sipariş Oranı ( Order Rate ) düğümünnün altındaki formüle ( Formula ) düğümüne gidin ve menüden Düzenle'ye (Edit) tıklayın.",
|
||||
"updated": 1636207530541
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -96,6 +111,11 @@
|
||||
"language": "DE",
|
||||
"text": "Nun... so wird es gemacht! Wie Sie sehen können, ist die Syntax praktisch selbsterklärend! Sie umfasst die Definition des Zeitrahmens, des Indikators und der betreffenden Indikatoreigenschaft.",
|
||||
"updated": 1634225691378
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "İşte... böyle yapılır! Gördüğünüz gibi, sözdizimi neredeyse kendi kendini açıklayıcıdır! Zaman çerçevesini (chart.at01min), göstergeyi ( Suport ) ve ilgili gösterge özelliğini ( support4rate ) tanımlamayı içerir.",
|
||||
"updated": 1636207760464
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Wir befinden uns jetzt in der Close Stage. Ich dachte, es wäre interessant, Ihnen mehr über Ausführungsalgorithmen zu erzählen, mit einem weiteren Beispiel.",
|
||||
"updated": 1634225742357
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Artık Kapanış Aşamasındayız ( Close Stage ). Size yürütme algoritmaları hakkında başka bir örnekle daha fazla bilgi vermenin ilginç olacağını düşündüm.",
|
||||
"updated": 1636208526405
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -49,6 +54,11 @@
|
||||
"language": "DE",
|
||||
"text": "Ein Execution Algorithm kann mehrere Aufträge aller Art verarbeiten. In diesem Fall werden mehrere limitierte Verkaufsaufträge definiert.",
|
||||
"updated": 1634225749803
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Bir Yürütme Algoritması ( Execution Algorithm ), her türden birden fazla siparişi işleyebilir. Bu durumda çoklu limit satış emirleri tanımlanır.",
|
||||
"updated": 1636208571976
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -72,6 +82,11 @@
|
||||
"language": "DE",
|
||||
"text": "Wählen Sie Configure im Menü des Algorithmus und denken Sie über die Auswirkungen dieser Definition nach!",
|
||||
"updated": 1634225757960
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Algoritmanın menüsünde Yapılandır'ı (Configure) seçin ve bu tanımın sonuçlarını düşünün!",
|
||||
"updated": 1636208699352
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -95,6 +110,11 @@
|
||||
"language": "DE",
|
||||
"text": "Sowohl in der Eröffnungsphase, in der Sie festlegen, wie eine Position eingegangen werden soll, als auch in der Schließungsphase, in der Sie festlegen, wie der Handel beendet werden soll, können mehrere Ausführungsalgorithmen eingesetzt werden, von denen jeder einen bestimmten Kapitalbetrag verwaltet.",
|
||||
"updated": 1634225767316
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Hem nasıl pozisyon alınacağını tanımladığınız açık aşama hem de nasıl çıkılacağını tanımladığınız kapalı aşama, her biri belirli bir miktarda sermayeyi işleyen birden fazla yürütme algoritması içerebilir.",
|
||||
"updated": 1636208733018
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Wir haben noch nicht über Handelssysteme als Rahmenwerk gesprochen, aber ein für diese Erklärung relevantes Merkmal ist, dass sie mehrere Strategien handhaben können.",
|
||||
"updated": 1634225842126
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Ticaret sistemlerini bir çerçeve olarak anlattık, ancak bu açıklamayla ilgili bir hatılatma : bir tiacaret sistemi birden fazla stratejiyi ele alabilir.",
|
||||
"updated": 1636210282829
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -49,6 +54,11 @@
|
||||
"language": "DE",
|
||||
"text": "Jede Strategie verfügt über eine Open Stage und eine Close Stage, die jeweils eigene Ausführungsdefinitionen haben. Jede Phase kann mehrere Ausführungsalgorithmen enthalten, und jeder Algorithmus kann mehrere Aufträge verarbeiten.",
|
||||
"updated": 1634225846386
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Her strateji, her biri kendi yürütme tanımlarına sahip bir Açık Aşama ( Open Stage ) ve bir Kapatma Aşaması ( Close Stage ) içerir. Her aşama birden fazla yürütme algoritması içerebilir ve her algoritma birden fazla siparişi işleyebilir.",
|
||||
"updated": 1636210854492
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -72,6 +82,11 @@
|
||||
"language": "DE",
|
||||
"text": "Erkennen Sie das Muster? Wir nennen es Granularität.",
|
||||
"updated": 1634225855936
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Kalıbı görüyor musun? Biz buna ayrıntı düzeyi diyoruz.",
|
||||
"updated": 1636210976648
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -95,6 +110,11 @@
|
||||
"language": "DE",
|
||||
"text": "Superalgos bricht jedes Problem auf den kleinsten Ausdruck herunter und integriert die Lösungen. Auf diese Weise können Sie sowohl einfache als auch die komplexesten Handels-Setups entwerfen, einsetzen und verwalten, die Sie sich vorstellen können.",
|
||||
"updated": 1634225869664
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Superalgos, her konuyu minimum ifadeye ayırır ve çözümleri bütünleştirir. Bu şekilde hem basit hem de hayal edebileceğiniz en karmaşık ticaret kurulumlarını tasarlamanıza, dağıtmanıza ve yönetmenize olanak tanır.",
|
||||
"updated": 1636210999536
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+20
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Bevor wir das Handelssystem verlassen, lassen Sie uns einen kurzen Blick auf einen dieser Aufträge werfen, um zu sehen, was von Interesse sein könnte.",
|
||||
"updated": 1634225948168
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Ticaret sisteminden ayrılmadan önce, bu emirlerden birine hızlıca bir göz atalım ve neyin ilgi çekici olabileceğini görelim.",
|
||||
"updated": 1636211034839
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -49,6 +54,11 @@
|
||||
"language": "DE",
|
||||
"text": "Erweitern Sie Profit 0.6 und prüfen Sie die Formel des Knotens Order Rate.",
|
||||
"updated": 1634226017595
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Profit 0.6'yı genişletin ve Sipariş Oranı düğümünün formülünü kontrol edin. (Düğümün üzerine geldiğinizde sol altta bulunan ( + )butonu ile genişletebilirsiniz.)",
|
||||
"updated": 1636211159570
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -73,6 +83,11 @@
|
||||
"language": "DE",
|
||||
"text": "Konzentrieren wir uns auf diesen mysteriösen Teil der Formel:",
|
||||
"updated": 1634226011471
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Formülün bu gizemli parçasına odaklanalım:",
|
||||
"updated": 1636211171683
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -101,6 +116,11 @@
|
||||
"language": "DE",
|
||||
"text": "Die Formel holt den Wert der an anderer Stelle definierten Exit Target Rate ab. Wir wollen uns nicht darauf konzentrieren, wie dieser Zielkurs aussehen könnte. Sehen wir uns stattdessen den Mechanismus an, über den ein Trading System Zugriff auf die vom Trading Bot verarbeiteten Informationen haben kann.",
|
||||
"updated": 1634225991629
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Formül, başka bir yerde tanımlanan Çıkış Hedef Oranının ( Exit Target Rate ) değerini getiriyor. Bu hedef oranın ne olabileceğine odaklanmayalım. Bunun yerine, bir Alım Satım Sisteminin ( Trading System ) Alım Satım Botu tarafından işlenen bilgilere erişme mekanizmasına bir göz atalım.",
|
||||
"updated": 1636211282034
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+15
@@ -25,6 +25,11 @@
|
||||
"language": "DE",
|
||||
"text": "Die Trading Engine verwaltet die Komplexität, die der automatisierte Handel mit sich bringt, indem sie Informationen für Benutzer und Handelssysteme zugänglich macht.",
|
||||
"updated": 1634226103084
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Alım Satım Motoru ( Trading Engine ), bilgileri kullanıcılar ve alım satım sistemleri için erişilebilir hale getirerek otomatik alım satımın gerektirdiği karmaşıklığı yönetir.",
|
||||
"updated": 1636211481328
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -50,6 +55,11 @@
|
||||
"language": "DE",
|
||||
"text": "Erinnern Sie sich an meine Bemerkungen zur Granularität? Erinnern Sie sich daran, wie die Formel des Handelssystems den Wert des Exit-Zielkurses ermittelt hat? Hier ist eine kurze Erinnerung:",
|
||||
"updated": 1634226111996
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Ayrıntı düzeyi hakkındaki yorumlarımı hatırlıyor musunuz? Ticaret sistemindeki formülün çıkış hedef oranının değerini nasıl aldığını hatırlıyor musunuz? İşte kısa bir hatırlatma:",
|
||||
"updated": 1636211506020
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -78,6 +88,11 @@
|
||||
"language": "DE",
|
||||
"text": "Dieser String enthält den Pfad zu dieser Information in der Datenstruktur der Trading Engine Hierarchie! Können Sie den Knoten Exit Target Rate finden? Erweitern Sie die Hierarchie und folgen Sie dem Brotkrumen-Pfad!",
|
||||
"updated": 1634226148267
|
||||
},
|
||||
{
|
||||
"language": "TR",
|
||||
"text": "Bu dizi, Trading Engine hiyerarşisinin veri yapısındaki o bilgi parçasının yolunu tutar! Çıkış Hedef Hızı ( Exit Target Rate ) düğümünü bulabilir misiniz? Hiyerarşiyi genişletin ve izini takip edin!",
|
||||
"updated": 1636211761179
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -47,8 +47,8 @@ function newListSelector() {
|
||||
|
||||
const SIZE = 36
|
||||
const FONT_SIZE = 24
|
||||
const VISIBLE_LABELS = 7
|
||||
let selected = Math.ceil(VISIBLE_LABELS / 2) - 1
|
||||
let VISIBLE_LABELS = 7
|
||||
let selected = 0
|
||||
|
||||
let wheelDeltaDirection
|
||||
let wheelDeltaCounter = 0
|
||||
@@ -102,6 +102,15 @@ function newListSelector() {
|
||||
|
||||
optionsList = listValues
|
||||
|
||||
if (optionsList.length < 1) {
|
||||
thisObject.payload.uiObject.setErrorMessage("No Valid List Entries Found")
|
||||
deactivate()
|
||||
}
|
||||
|
||||
if (optionsList.length < VISIBLE_LABELS) {
|
||||
VISIBLE_LABELS = optionsList.length
|
||||
}
|
||||
|
||||
EDITOR_ON_FOCUS = true
|
||||
}
|
||||
|
||||
@@ -150,8 +159,8 @@ function newListSelector() {
|
||||
}
|
||||
|
||||
selected = selected - event.delta
|
||||
if (selected < Math.ceil(VISIBLE_LABELS / 2)) { selected = Math.ceil(VISIBLE_LABELS / 2) - 1 }
|
||||
if (selected > optionsList.length - Math.ceil(VISIBLE_LABELS / 2)) { selected = optionsList.length - Math.ceil(VISIBLE_LABELS / 2) }
|
||||
if (selected < 0) { selected = 0 }
|
||||
if (selected > optionsList.length - VISIBLE_LABELS) { selected = optionsList.length - VISIBLE_LABELS }
|
||||
|
||||
if (selected !== lastSelected) {
|
||||
lastSelected = selected
|
||||
@@ -180,7 +189,7 @@ function newListSelector() {
|
||||
|
||||
if (pPoint.y >= upperBoundary && pPoint.y <= lowerBoundary) {
|
||||
|
||||
let clickedValue = (i - Math.floor(VISIBLE_LABELS / 2) + selected)
|
||||
let clickedValue = (i + selected)
|
||||
|
||||
let event = {
|
||||
point: pPoint,
|
||||
@@ -261,6 +270,7 @@ function newListSelector() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function drawForeground() {
|
||||
|
||||
if (thisObject.visible === true) {
|
||||
@@ -271,10 +281,19 @@ function newListSelector() {
|
||||
|
||||
for (let i = 0; i < VISIBLE_LABELS; i++) {
|
||||
|
||||
let index = i - Math.floor(VISIBLE_LABELS / 2) + selected
|
||||
let index = i + selected
|
||||
let label = ''
|
||||
if (index >= 0 && index < optionsList.length) {
|
||||
label = optionsList[index]
|
||||
if (typeof(optionsList[index]) !== "string") {
|
||||
label = optionsList[index].name
|
||||
|
||||
if (optionsList[index].payload.uiObject.icon !== undefined) {
|
||||
icon = optionsList[index].payload.uiObject.icon
|
||||
}
|
||||
|
||||
} else {
|
||||
label = optionsList[index]
|
||||
}
|
||||
}
|
||||
fontColor = UI_COLOR.BLACK
|
||||
fontSize = FONT_SIZE
|
||||
@@ -311,9 +330,14 @@ function newListSelector() {
|
||||
browserCanvasContext.fill();
|
||||
|
||||
let middleValue = Math.floor(VISIBLE_LABELS / 2)
|
||||
let evenOffset = 0
|
||||
|
||||
UI.projects.foundations.utilities.drawPrint.drawIcon(icon, 1 / 2, 1 / 2, - offset + SIZE, (i - middleValue) * rowHeight, SIZE, thisObject.container)
|
||||
UI.projects.foundations.utilities.drawPrint.drawLabel(label, 1 / 2, 1 / 2, 0, (SIZE - fontSize) / 2 + (i - middleValue) * rowHeight, fontSize, thisObject.container, fontColor, undefined, undefined, opacity)
|
||||
if (VISIBLE_LABELS % 2 === 0) {
|
||||
evenOffset = rowHeight / 2
|
||||
}
|
||||
|
||||
UI.projects.foundations.utilities.drawPrint.drawIcon(icon, 1 / 2, 1 / 2, - offset + SIZE, (i - middleValue) * rowHeight + evenOffset, SIZE, thisObject.container)
|
||||
UI.projects.foundations.utilities.drawPrint.drawLabel(label, 1 / 2, 1 / 2, 0, (SIZE - fontSize) / 2 + (i - middleValue) * rowHeight + evenOffset, fontSize, thisObject.container, fontColor, undefined, undefined, opacity)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -224,7 +224,7 @@ function newUiObjectConstructor() {
|
||||
return
|
||||
}
|
||||
|
||||
function addLeftIcons(menuItemsInitialValues, floatingObject, isPersonalData) {
|
||||
function addLeftIcons(menuItemsInitialValues, floatingObject, schemaDocument) {
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Pin / Unpin',
|
||||
@@ -348,7 +348,7 @@ function newUiObjectConstructor() {
|
||||
ring: 2
|
||||
}
|
||||
)
|
||||
if (isPersonalData !== true) {
|
||||
if (schemaDocument.isPersonalData !== true) {
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Share',
|
||||
@@ -431,6 +431,23 @@ function newUiObjectConstructor() {
|
||||
ring: 3
|
||||
}
|
||||
)
|
||||
if (schemaDocument.referencingRules !== undefined) {
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Create Reference',
|
||||
actionFunction: floatingObject.payload.executeAction,
|
||||
actionProject: 'Visual-Scripting',
|
||||
label: undefined,
|
||||
visible: true,
|
||||
iconPathOn: 'create-reference',
|
||||
iconPathOff: 'create-reference',
|
||||
rawRadius: 12,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
ring: 3
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
@@ -486,8 +503,14 @@ function newUiObjectConstructor() {
|
||||
uiObject.conditionEditor.initialize()
|
||||
}
|
||||
}
|
||||
if (schemaDocument.referencingRules !== undefined) {
|
||||
uiObject.listSelector = newListSelector()
|
||||
uiObject.listSelector.isVisibleFunction = uiObject.isVisibleFunction
|
||||
uiObject.listSelector.container.connectToParent(uiObject.container, false, false, true, true, false, false, false, false)
|
||||
uiObject.listSelector.initialize()
|
||||
}
|
||||
if (schemaDocument.addLeftIcons === true) {
|
||||
addLeftIcons(menuItemsInitialValues, floatingObject, schemaDocument.isPersonalData)
|
||||
addLeftIcons(menuItemsInitialValues, floatingObject, schemaDocument)
|
||||
}
|
||||
if (schemaDocument.isPinned === true) {
|
||||
floatingObject.isPinned = true
|
||||
|
||||
@@ -0,0 +1,373 @@
|
||||
{
|
||||
"type": "User Profile",
|
||||
"name": "9v5ij",
|
||||
"config": "{\"signature\":{\"message\":\"9v5ij\",\"messageHash\":\"0x9c8b42b80d96d62eb8db071c53bc015a0355fdb50c28e88b782cc837586e96d8\",\"v\":\"0x1b\",\"r\":\"0x3158d81f055ca53ba0eaa7f1944988b0ca9aed61c217c9ea514b776a7f804cc7\",\"s\":\"0x640ae44d03c13a9ce7a2f5bcb6ee69fd7efe21d04e3d8ce50e34bfeecd0c7427\",\"signature\":\"0x3158d81f055ca53ba0eaa7f1944988b0ca9aed61c217c9ea514b776a7f804cc7640ae44d03c13a9ce7a2f5bcb6ee69fd7efe21d04e3d8ce50e34bfeecd0c74271b\"},\"codeName\":\"9v5ij\"}",
|
||||
"project": "Governance",
|
||||
"tokenPowerSwitch": {
|
||||
"type": "Token Power Switch",
|
||||
"name": "New Token Power Switch",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokenPowerSwitch": [],
|
||||
"onboardingPrograms": {
|
||||
"type": "Onboarding Programs",
|
||||
"name": "New Onboarding Programs",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"airdropProgram": {
|
||||
"type": "Airdrop Program",
|
||||
"name": "New Airdrop Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "15ecf9d0-e46d-4289-8784-df9ec18ba341",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14068,
|
||||
"y": 5572.1354441275425
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14218,
|
||||
"y": 5831.943065262874
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "0e1cefa3-8794-457c-9a0c-fe1fd1a9d120",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14218,
|
||||
"y": 5831.943065262874
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14368,
|
||||
"y": 6091.750686398206
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"githubProgram": {
|
||||
"type": "Github Program",
|
||||
"name": "New Github Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "4eb2d74a-ef56-43c2-a5a3-b49daa517607",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14968,
|
||||
"y": 6091.750686398206
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14668,
|
||||
"y": 6091.750686398206
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "7b1b42d4-0dda-47a9-bb0d-bd548ca461ff",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14668,
|
||||
"y": 6091.750686398206
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14368,
|
||||
"y": 6091.750686398206
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "a647510e-f151-4619-b489-1366f318e9c1",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14368,
|
||||
"y": 6091.750686398206
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14218,
|
||||
"y": 6351.558307533538
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"communityBuildingPrograms": {
|
||||
"type": "Community Building Programs",
|
||||
"name": "New Community Building Programs",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"referralProgram": {
|
||||
"type": "Referral Program",
|
||||
"name": "New Referral Program",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"userReferrers": [
|
||||
{
|
||||
"type": "User Referrer",
|
||||
"name": "MarinitaMarina",
|
||||
"config": "{}",
|
||||
"project": "Governance",
|
||||
"id": "84748fd0-9e15-41af-a28c-d9f321bf1afa",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14777.807621135331,
|
||||
"y": 6721.173549804202
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14518,
|
||||
"y": 6871.173549804202
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
},
|
||||
"referenceParent": {
|
||||
"type": "User Profile",
|
||||
"name": "MarinitaMarina",
|
||||
"id": "21252c86-67c4-4b29-a5ec-d4c3abf66286"
|
||||
},
|
||||
"referenceParentCombinedNodePath": [
|
||||
[
|
||||
"MarinitaMarina",
|
||||
"User Profile"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tokensAwarded": {
|
||||
"type": "Tokens Awarded",
|
||||
"name": "New Tokens Awarded",
|
||||
"project": "Governance",
|
||||
"id": "ba75161c-d035-4f39-8f0b-dadfde24bb9b",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14668,
|
||||
"y": 7130.9811709395335
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14518,
|
||||
"y": 6871.173549804202
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensBonus": {
|
||||
"type": "Tokens Bonus",
|
||||
"name": "New Tokens Bonus",
|
||||
"project": "Governance",
|
||||
"id": "1161aa98-cc1c-4ffc-83b5-e27b0e89ab3d",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14258.192378864669,
|
||||
"y": 7021.173549804202
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14518,
|
||||
"y": 6871.173549804202
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "7c8d0d67-2cb5-4bc0-90a5-92b123c1075d",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14518,
|
||||
"y": 6871.173549804202
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14368,
|
||||
"y": 6611.36592866887
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "174aecbe-65ec-4792-9942-a488142c9c18",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14368,
|
||||
"y": 6611.36592866887
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 14218,
|
||||
"y": 6351.558307533538
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "41f19b40-6a69-4456-9f33-2db82b8b1fb2",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 14218,
|
||||
"y": 6351.558307533538
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13918,
|
||||
"y": 6351.558307533538
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"tokensMined": {
|
||||
"type": "Tokens Mined",
|
||||
"name": "New Tokens Mined",
|
||||
"project": "Governance",
|
||||
"id": "acdf5494-cde0-471e-b321-498710b0f4e9",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13618,
|
||||
"y": 6351.558307533538
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13918,
|
||||
"y": 6351.558307533538
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "711c385c-cb76-4627-9dce-92fb13b0fd97",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 13918,
|
||||
"y": 6351.558307533538
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 13918,
|
||||
"y": 6351.558307533538
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": false,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -29,7 +29,7 @@ function newGovernanceFunctionLibraryPluginsFunctions() {
|
||||
}
|
||||
|
||||
function addSpecifiedUserProfile(node, rootNodes) {
|
||||
let action = { node: node}
|
||||
let action = { node: node }
|
||||
|
||||
let projectName = UI.projects.communityPlugins.utilities.plugins.getProjectName(node)
|
||||
if (projectName === "" || projectName === undefined) {
|
||||
|
||||
@@ -40,7 +40,9 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
}
|
||||
|
||||
function initialize() {
|
||||
socketServer = new SA.nodeModules.ws.Server({ port: global.env.NETWORK_WEB_SOCKETS_INTERFACE_PORT })
|
||||
let port = JSON.parse(NT.networkNode.p2pNetwork.thisNetworkNode.node.config).webSocketsPort
|
||||
|
||||
socketServer = new SA.nodeModules.ws.Server({ port: port })
|
||||
clientInterface = NT.projects.socialTrading.modules.clientInterface.newSocialTradingModulesClientInterface()
|
||||
peerInterface = NT.projects.socialTrading.modules.peerInterface.newSocialTradingModulesPeerInterface()
|
||||
|
||||
@@ -84,6 +86,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'messageHeader Not Coorrect JSON Format.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
/*
|
||||
@@ -95,6 +98,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'messageType Not Provided.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
|
||||
@@ -112,6 +116,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
}
|
||||
response.messageId = messageHeader.messageId
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
|
||||
@@ -142,6 +147,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'messageType Not Supported.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
break
|
||||
}
|
||||
}
|
||||
@@ -168,6 +174,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'step Not Provided.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
if (messageHeader.step !== 'One' && messageHeader.step !== 'Two') {
|
||||
@@ -176,6 +183,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'step Not Supported.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
switch (messageHeader.step) {
|
||||
@@ -198,6 +206,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'callerRole Not Provided.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
|
||||
@@ -207,11 +216,41 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'callerRole Not Supported.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
|
||||
caller.role = messageHeader.callerRole
|
||||
/*
|
||||
We will check that we have not exeeded the max amount of callers.
|
||||
*/
|
||||
switch (caller.role) {
|
||||
case 'Network Client': {
|
||||
if (thisObject.networkClients.length >= global.env.P2P_NETWORK_NODE_MAX_INCOMING_CLIENTS) {
|
||||
let response = {
|
||||
result: 'Error',
|
||||
message: 'P2P_NETWORK_NODE_MAX_INCOMING_CLIENTS reached.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
break
|
||||
}
|
||||
case 'Network Peer': {
|
||||
if (thisObject.networkPeers.length >= global.env.P2P_NETWORK_NODE_MAX_INCOMING_PEERS) {
|
||||
let response = {
|
||||
result: 'Error',
|
||||
message: 'P2P_NETWORK_NODE_MAX_INCOMING_PEERS reached.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
/*
|
||||
The caller needs to provide it's User Profile Handle.
|
||||
*/
|
||||
if (messageHeader.callerProfileHandle === undefined) {
|
||||
@@ -220,6 +259,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'callerProfileHandle Not Provided.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
|
||||
@@ -233,6 +273,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'callerTimestamp Not Provided.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
/*
|
||||
@@ -244,6 +285,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'callerTimestamp Too Old.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
/*
|
||||
@@ -276,6 +318,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'Handshake Step One Not Completed.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
/*
|
||||
@@ -287,6 +330,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'signature Not Provided.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
|
||||
@@ -299,6 +343,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'Bad Signature.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
/*
|
||||
@@ -312,6 +357,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'userProfile Not Found.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
let signedMessage = JSON.parse(signature.message)
|
||||
@@ -327,6 +373,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'signature.message Hashed Does Not Match signature.messageHash.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
/*
|
||||
@@ -339,6 +386,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'callerProfileHandle Does Not Match witnessUserProfile.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
/*
|
||||
@@ -351,6 +399,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'calledProfileHandle Does Not Match This Network Node Handle.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
/*
|
||||
@@ -362,6 +411,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
|
||||
message: 'calledTimestamp Does Not Match calledTimestamp On Record.'
|
||||
}
|
||||
caller.socket.send(JSON.stringify(response))
|
||||
caller.socket.close()
|
||||
return
|
||||
}
|
||||
/*
|
||||
|
||||
@@ -6,6 +6,7 @@ exports.newNetworkModulesP2PNetwork = function newNetworkModulesP2PNetwork() {
|
||||
let thisObject = {
|
||||
joinTheNetworkAsNetworkPeer: joinTheNetworkAsNetworkPeer,
|
||||
p2pNodesToConnect: undefined,
|
||||
thisNetworkNode: undefined,
|
||||
/* Framework Functions */
|
||||
initialize: initialize,
|
||||
finalize: finalize
|
||||
@@ -37,6 +38,8 @@ exports.newNetworkModulesP2PNetwork = function newNetworkModulesP2PNetwork() {
|
||||
let p2pNetworkNode = SA.projects.network.globals.memory.arrays.P2P_NETWORK_NODES[i]
|
||||
if (thisP2PNodeId !== p2pNetworkNode.node.id) {
|
||||
thisObject.p2pNodesToConnect.push(p2pNetworkNode)
|
||||
} else {
|
||||
thisObject.thisNetworkNode = p2pNetworkNode
|
||||
}
|
||||
}
|
||||
break
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
exports.newNetworkModulesP2PNetworkPeers = function newNetworkModulesP2PNetworkPeers() {
|
||||
/*
|
||||
This module holds the P2P Nodes we are coonected to and that are connected to us.
|
||||
*/
|
||||
let thisObject = {
|
||||
outgoingConnectedPeers: undefined,
|
||||
|
||||
/* Framework Functions */
|
||||
initialize: initialize,
|
||||
finalize: finalize
|
||||
}
|
||||
|
||||
const RECONNECT_DELAY = 10 * 1000
|
||||
let intervalIdConnectToPeers
|
||||
|
||||
return thisObject
|
||||
|
||||
function finalize() {
|
||||
thisObject.outgoingConnectedPeers = undefined
|
||||
clearInterval(intervalIdConnectToPeers)
|
||||
}
|
||||
|
||||
async function initialize() {
|
||||
|
||||
thisObject.outgoingConnectedPeers = []
|
||||
|
||||
connectToPeers()
|
||||
intervalIdConnectToPeers = setInterval(connectToPeers, RECONNECT_DELAY);
|
||||
|
||||
}
|
||||
|
||||
async function connectToPeers() {
|
||||
|
||||
if (thisObject.outgoingConnectedPeers.count >= global.env.P2P_NETWORK_NODE_MAX_OUTGOING_PEERS) { return }
|
||||
|
||||
for (let i = 0; i < NT.networkNode.p2pNetwork.p2pNodesToConnect.length; i++) {
|
||||
if (thisObject.outgoingConnectedPeers.count >= global.env.P2P_NETWORK_NODE_MAX_OUTGOING_PEERS) { break }
|
||||
let peer = {}
|
||||
peer.p2pNetworkNode = NT.networkNode.p2pNetwork.p2pNodesToConnect[i]
|
||||
if (isOutgoingConnectedPeer(peer) === true) { continue }
|
||||
peer.webSocketsClient = SA.projects.network.modules.webSocketsNetworkClient.newNetworkModulesWebSocketsNetworkClient()
|
||||
await peer.webSocketsClient.initialize('Network Peer', peer.p2pNetworkNode, onConnectionClosed)
|
||||
.then(addPeer)
|
||||
.catch(onError)
|
||||
|
||||
function addPeer() {
|
||||
thisObject.outgoingConnectedPeers.push(peer)
|
||||
}
|
||||
|
||||
function onError(err) {
|
||||
if (err !== undefined) {
|
||||
console.log('[ERROR] P2P Network Peers -> onError -> While connecting to node -> ' + peer.p2pNetworkNode.userProfile.userProfileHandle + ' -> ' + peer.p2pNetworkNode.node.name + ' -> ' + err.message)
|
||||
} else {
|
||||
console.log('[WARN] P2P Network Peers -> onError -> Peer Not Available at the Moment -> ' + peer.p2pNetworkNode.userProfile.userProfileHandle + ' -> ' + peer.p2pNetworkNode.node.name)
|
||||
}
|
||||
}
|
||||
|
||||
function onConnectionClosed(webSocketsClientId) {
|
||||
for (let i = 0; i < thisObject.outgoingConnectedPeers.length; i++) {
|
||||
let connectedPeer = thisObject.outgoingConnectedPeers[i]
|
||||
if (connectedPeer.webSocketsClient.id === webSocketsClientId) {
|
||||
thisObject.outgoingConnectedPeers.splice(i, 1)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function isOutgoingConnectedPeer(peer) {
|
||||
for (let i = 0; i < thisObject.outgoingConnectedPeers.length; i++) {
|
||||
let connectedPeer = thisObject.outgoingConnectedPeers[i]
|
||||
if (connectedPeer.p2pNetworkNode.node.id === peer.p2pNetworkNode.node.id) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,10 @@
|
||||
exports.newNetworkModulesWebSocketsNetworkClient = function newNetworkModulesWebSocketsNetworkClient() {
|
||||
|
||||
let thisObject = {
|
||||
id: undefined,
|
||||
isConnected: undefined,
|
||||
host: undefined,
|
||||
port: undefined,
|
||||
sendMessage: sendMessage,
|
||||
initialize: initialize,
|
||||
finalize: finalize
|
||||
@@ -25,18 +29,23 @@ exports.newNetworkModulesWebSocketsNetworkClient = function newNetworkModulesWeb
|
||||
onMessageFunctionsMap = undefined
|
||||
}
|
||||
|
||||
async function initialize(callerRole, p2pNetworkNode) {
|
||||
async function initialize(callerRole, p2pNetworkNode, onConnectionClosedCallBack) {
|
||||
|
||||
web3 = new SA.nodeModules.web3()
|
||||
|
||||
let host = JSON.parse(p2pNetworkNode.node.config).host
|
||||
let port = JSON.parse(p2pNetworkNode.node.config).webSocketsPort
|
||||
thisObject.id = SA.projects.foundations.utilities.miscellaneousFunctions.genereteUniqueId()
|
||||
|
||||
socketClient = new SA.nodeModules.ws('ws://' + host + ':' + port)
|
||||
await setUpWebsocketClient(callerRole, p2pNetworkNode)
|
||||
thisObject.host = JSON.parse(p2pNetworkNode.node.config).host
|
||||
thisObject.port = JSON.parse(p2pNetworkNode.node.config).webSocketsPort
|
||||
|
||||
socketClient = new SA.nodeModules.ws('ws://' + thisObject.host + ':' + thisObject.port)
|
||||
await setUpWebsocketClient(callerRole, p2pNetworkNode, onConnectionClosedCallBack)
|
||||
|
||||
console.log('Websockets Client Connected to Network Node via Web Sockets .............. Connected to ' + p2pNetworkNode.userProfile.userProfileHandle + ' -> ' + p2pNetworkNode.node.name + ' -> ' + thisObject.host + ':' + thisObject.port)
|
||||
thisObject.isConnected = true
|
||||
}
|
||||
|
||||
async function setUpWebsocketClient(callerRole, p2pNetworkNode) {
|
||||
async function setUpWebsocketClient(callerRole, p2pNetworkNode, onConnectionClosedCallBack) {
|
||||
|
||||
return new Promise(connectToNewtwork)
|
||||
|
||||
@@ -44,10 +53,11 @@ exports.newNetworkModulesWebSocketsNetworkClient = function newNetworkModulesWeb
|
||||
|
||||
try {
|
||||
|
||||
socketClient.onopen = () => { onConnection() }
|
||||
socketClient.onopen = () => { onConnectionOpened() }
|
||||
socketClient.onclose = () => { onConnectionClosed() }
|
||||
socketClient.onerror = err => { onError(err) }
|
||||
|
||||
function onConnection() {
|
||||
function onConnectionOpened() {
|
||||
|
||||
handshakeProcedure()
|
||||
|
||||
@@ -196,9 +206,26 @@ exports.newNetworkModulesWebSocketsNetworkClient = function newNetworkModulesWeb
|
||||
}
|
||||
}
|
||||
|
||||
function onConnectionClosed() {
|
||||
if (thisObject.isConnected === true) {
|
||||
console.log('Websockets Client Connected to Network Node via Web Sockets .............. Disconnected from ' + p2pNetworkNode.userProfile.userProfileHandle + ' -> ' + p2pNetworkNode.node.name + ' -> ' + thisObject.host + ':' + thisObject.port)
|
||||
}
|
||||
if (onConnectionClosedCallBack !== undefined) {
|
||||
onConnectionClosedCallBack(thisObject.id)
|
||||
}
|
||||
thisObject.isConnected = false
|
||||
}
|
||||
|
||||
function onError(err) {
|
||||
if (err.message.indexOf('ECONNREFUSED') >= 0) {
|
||||
console.log('[WARN] Web Sockets Client -> onError -> Nobody home at ' + thisObject.host + ':' + thisObject.port)
|
||||
reject()
|
||||
return
|
||||
}
|
||||
console.log('[ERROR] Web Sockets Client -> onError -> err.message = ' + err.message)
|
||||
console.log('[ERROR] Web Sockets Client -> onError -> err.stack = ' + err.stack)
|
||||
reject()
|
||||
return
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
|
||||
@@ -1413,6 +1413,12 @@
|
||||
"propertyName": "p2pNetworkNode",
|
||||
"functionName": "newNetworkModulesP2PNetworkNode",
|
||||
"fileName": "P2PNetworkNode.js"
|
||||
},
|
||||
{
|
||||
"name": "P2P Network Peers",
|
||||
"propertyName": "p2pNetworkPeers",
|
||||
"functionName": "newNetworkModulesP2PNetworkPeers",
|
||||
"fileName": "P2PNetworkPeers.js"
|
||||
}
|
||||
],
|
||||
"utilities": [
|
||||
|
||||
@@ -193,6 +193,11 @@ function newVisualScriptingActionSwitch() {
|
||||
UI.projects.visualScripting.functionLibraries.attachDetach.referenceDetachNode(action.node)
|
||||
}
|
||||
break
|
||||
case 'Create Reference':
|
||||
{
|
||||
UI.projects.visualScripting.functionLibraries.attachDetach.createReference(action.node, action.rootNodes)
|
||||
}
|
||||
break
|
||||
|
||||
default: {
|
||||
console.log("[WARN] Action sent to Visual-Scripting Action Switch does not belong here. Verify at the App Schema file of the node that triggered this action that the actionProject is pointing to the right project. -> Action = " + action.name + " -> Action Node Name = " + action.node.name)
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
function newVisualScriptingFunctionLibraryReferenceAttachDetach() {
|
||||
let thisObject = {
|
||||
referenceDetachNode: referenceDetachNode,
|
||||
referenceAttachNode: referenceAttachNode
|
||||
referenceAttachNode: referenceAttachNode,
|
||||
createReference: createReference
|
||||
}
|
||||
|
||||
return thisObject
|
||||
@@ -18,6 +19,35 @@ function newVisualScriptingFunctionLibraryReferenceAttachDetach() {
|
||||
completeAttachment(node, attachToNode)
|
||||
}
|
||||
|
||||
function createReference(node, rootNodes) {
|
||||
|
||||
let action = { node: node }
|
||||
let allNodesFound = []
|
||||
|
||||
let schemaDocument = getSchemaDocument(node)
|
||||
let workspaceRootNodes = UI.projects.foundations.spaces.designSpace.workspace.workspaceNode.rootNodes
|
||||
|
||||
let compatibleTypes = schemaDocument.referencingRules.compatibleTypes.split('->').filter(i => i)
|
||||
|
||||
for (let i = 0; i < compatibleTypes.length; i++) {
|
||||
for (let j = 0; j < workspaceRootNodes.length; j++) {
|
||||
let rootNode = workspaceRootNodes[j]
|
||||
if (rootNode !== null) {
|
||||
let nodeArray = UI.projects.visualScripting.utilities.branches.nodeBranchToArray(rootNode, compatibleTypes[i])
|
||||
allNodesFound = allNodesFound.concat(nodeArray)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let eventSubscriptionId = node.payload.uiObject.container.eventHandler.listenToEvent('listSelectorClicked', onListSelect)
|
||||
node.payload.uiObject.listSelector.activate(action, allNodesFound, eventSubscriptionId)
|
||||
|
||||
function onListSelect(event) {
|
||||
referenceAttachNode(node, event.selectedNode)
|
||||
node.payload.uiObject.container.eventHandler.stopListening('listSelectorClicked')
|
||||
}
|
||||
}
|
||||
|
||||
// Store the path to the reference parent to make restoring it possible if the reference parent is updated and given a new id
|
||||
function storeAttachNodePath(node, attachToNode) {
|
||||
if (node === undefined) { return }
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"appId": "org.superalgos.platform",
|
||||
"productName": "Superalgos",
|
||||
"asar": false,
|
||||
"asar": true,
|
||||
"generateUpdatesFilesForAllChannels": true,
|
||||
"files": [
|
||||
"**/*",
|
||||
@@ -54,12 +54,16 @@
|
||||
"target": [
|
||||
{
|
||||
"target": "dmg",
|
||||
"arch": "x64"
|
||||
},
|
||||
"arch": ["x64", "arm64"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"linux": {
|
||||
"target": [
|
||||
{
|
||||
"target": "dmg",
|
||||
"arch": "arm64"
|
||||
}
|
||||
"target": "AppImage",
|
||||
"arch": ["x64", "armv7l"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"extraMetadata": {
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
The Superalgos Network offers 3 types of services:
|
||||
|
||||
* Social Graph Service
|
||||
* Search Index Service
|
||||
* Private Message Service
|
||||
|
||||
Users can decide which services to run at their node.(TODO)
|
||||
|
||||
This module represents the Nodejs command that users have to start the Network Node..
|
||||
|
||||
*/
|
||||
|
||||
let APP_ROOT = require('./NetworkRoot.js')
|
||||
let APP_ROOT_MODULE = APP_ROOT.newNetworkRoot()
|
||||
APP_ROOT_MODULE.run({P2P_NETWORK_NODE_SIGNING_ACCOUNT: 'P2P-Network-Node-1'})
|
||||
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
The Superalgos Network offers 3 types of services:
|
||||
|
||||
* Social Graph Service
|
||||
* Search Index Service
|
||||
* Private Message Service
|
||||
|
||||
Users can decide which services to run at their node.(TODO)
|
||||
|
||||
This module represents the Nodejs command that users have to start the Network Node..
|
||||
|
||||
*/
|
||||
|
||||
let APP_ROOT = require('./NetworkRoot.js')
|
||||
let APP_ROOT_MODULE = APP_ROOT.newNetworkRoot()
|
||||
APP_ROOT_MODULE.run({P2P_NETWORK_NODE_SIGNING_ACCOUNT: 'P2P-Network-Node-2'})
|
||||
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
The Superalgos Network offers 3 types of services:
|
||||
|
||||
* Social Graph Service
|
||||
* Search Index Service
|
||||
* Private Message Service
|
||||
|
||||
Users can decide which services to run at their node.(TODO)
|
||||
|
||||
This module represents the Nodejs command that users have to start the Network Node..
|
||||
|
||||
*/
|
||||
|
||||
let APP_ROOT = require('./NetworkRoot.js')
|
||||
let APP_ROOT_MODULE = APP_ROOT.newNetworkRoot()
|
||||
APP_ROOT_MODULE.run({P2P_NETWORK_NODE_SIGNING_ACCOUNT: 'P2P-Network-Node-3'})
|
||||
Reference in new issue
Block a user