Dealing with Personal Data, NOT SHARING it implemented and tested.
This commit is contained in:
1 parent
9d7829d54e
commit
5018235d98
4 files changed
+202
-204
No files matched your search
@@ -97,7 +97,7 @@ function newStrategyPartConstructor () {
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: -135
|
||||
angle: -130
|
||||
}
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
@@ -113,7 +113,7 @@ function newStrategyPartConstructor () {
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: -165
|
||||
angle: -155
|
||||
}
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
@@ -129,7 +129,7 @@ function newStrategyPartConstructor () {
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: 165
|
||||
angle: 180
|
||||
}
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
@@ -145,7 +145,21 @@ function newStrategyPartConstructor () {
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: 135
|
||||
angle: 155
|
||||
}
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Backup',
|
||||
actionFunction: floatingObject.payload.onMenuItemClick,
|
||||
label: undefined,
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: 130
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -172,9 +186,21 @@ function newStrategyPartConstructor () {
|
||||
angle: -135
|
||||
},
|
||||
{
|
||||
action: 'Download Workspace',
|
||||
action: 'Backup Workspace',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: undefined,
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: 130
|
||||
},
|
||||
{
|
||||
action: 'Share Workspace',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -268,9 +294,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -297,7 +323,7 @@ function newStrategyPartConstructor () {
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: -30
|
||||
angle: -20
|
||||
}
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
@@ -312,23 +338,9 @@ function newStrategyPartConstructor () {
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: +0
|
||||
angle: +20
|
||||
}
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: 30
|
||||
}
|
||||
)
|
||||
break
|
||||
}
|
||||
case 'Exchange Account': {
|
||||
@@ -346,7 +358,7 @@ function newStrategyPartConstructor () {
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: -60
|
||||
angle: -40
|
||||
}
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
@@ -361,7 +373,7 @@ function newStrategyPartConstructor () {
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: -20
|
||||
angle: 0
|
||||
}
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
@@ -376,23 +388,9 @@ function newStrategyPartConstructor () {
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: 20
|
||||
angle: 40
|
||||
}
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: 60
|
||||
}
|
||||
)
|
||||
break
|
||||
}
|
||||
case 'Exchange Account Asset': {
|
||||
@@ -410,23 +408,9 @@ function newStrategyPartConstructor () {
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: -20
|
||||
angle: 0
|
||||
}
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: 20
|
||||
}
|
||||
)
|
||||
break
|
||||
}
|
||||
case 'Exchange Account Key': {
|
||||
@@ -447,7 +431,7 @@ function newStrategyPartConstructor () {
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: -40,
|
||||
angle: -20,
|
||||
dontShowAtFullscreen: true
|
||||
}
|
||||
)
|
||||
@@ -464,23 +448,9 @@ function newStrategyPartConstructor () {
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: 0
|
||||
angle: 20
|
||||
}
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
rawRadius: 8,
|
||||
targetRadius: 0,
|
||||
currentRadius: 0,
|
||||
angle: 40
|
||||
}
|
||||
)
|
||||
break
|
||||
}
|
||||
case 'Trading System': {
|
||||
@@ -533,9 +503,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -581,9 +551,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -630,9 +600,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -678,9 +648,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -763,9 +733,9 @@ function newStrategyPartConstructor () {
|
||||
angle: 0
|
||||
},
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -824,9 +794,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -872,9 +842,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -920,9 +890,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -969,9 +939,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -1018,9 +988,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -1067,9 +1037,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -1116,9 +1086,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -1165,9 +1135,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -1213,9 +1183,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -1247,9 +1217,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -1281,9 +1251,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -1330,9 +1300,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -1379,9 +1349,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -1443,9 +1413,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -1497,9 +1467,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -1546,9 +1516,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -1595,9 +1565,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -1644,9 +1614,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
@@ -1698,9 +1668,9 @@ function newStrategyPartConstructor () {
|
||||
)
|
||||
menuItemsInitialValues.push(
|
||||
{
|
||||
action: 'Download',
|
||||
action: 'Share',
|
||||
actionFunction: payload.onMenuItemClick,
|
||||
label: 'Download',
|
||||
label: 'Share',
|
||||
visible: false,
|
||||
iconPathOn: 'upload',
|
||||
iconPathOff: 'upload',
|
||||
|
||||
@@ -4,7 +4,7 @@ function newProtocolNode () {
|
||||
}
|
||||
return thisObject
|
||||
|
||||
function getProtocolNode (node) {
|
||||
function getProtocolNode (node, removePersonalData) {
|
||||
if (node === undefined) { return }
|
||||
switch (node.type) {
|
||||
case 'Code':
|
||||
@@ -23,7 +23,7 @@ function newProtocolNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
code: getProtocolNode(node.code)
|
||||
code: getProtocolNode(node.code, removePersonalData)
|
||||
}
|
||||
return condition
|
||||
}
|
||||
@@ -36,7 +36,7 @@ function newProtocolNode () {
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.conditions.length; m++) {
|
||||
let condition = getProtocolNode(node.conditions[m])
|
||||
let condition = getProtocolNode(node.conditions[m], removePersonalData)
|
||||
situation.conditions.push(condition)
|
||||
}
|
||||
return situation
|
||||
@@ -60,7 +60,7 @@ function newProtocolNode () {
|
||||
situations: []
|
||||
}
|
||||
for (let m = 0; m < node.situations.length; m++) {
|
||||
let situation = getProtocolNode(node.situations[m])
|
||||
let situation = getProtocolNode(node.situations[m], removePersonalData)
|
||||
event.situations.push(situation)
|
||||
}
|
||||
return event
|
||||
@@ -70,8 +70,8 @@ function newProtocolNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
formula: getProtocolNode(node.formula),
|
||||
nextPhaseEvent: getProtocolNode(node.nextPhaseEvent)
|
||||
formula: getProtocolNode(node.formula, removePersonalData),
|
||||
nextPhaseEvent: getProtocolNode(node.nextPhaseEvent, removePersonalData)
|
||||
}
|
||||
return phase
|
||||
}
|
||||
@@ -84,7 +84,7 @@ function newProtocolNode () {
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.phases.length; m++) {
|
||||
let phase = getProtocolNode(node.phases[m])
|
||||
let phase = getProtocolNode(node.phases[m], removePersonalData)
|
||||
stop.phases.push(phase)
|
||||
}
|
||||
return stop
|
||||
@@ -98,7 +98,7 @@ function newProtocolNode () {
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.phases.length; m++) {
|
||||
let phase = getProtocolNode(node.phases[m])
|
||||
let phase = getProtocolNode(node.phases[m], removePersonalData)
|
||||
takeProfit.phases.push(phase)
|
||||
}
|
||||
return takeProfit
|
||||
@@ -112,7 +112,7 @@ function newProtocolNode () {
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.situations.length; m++) {
|
||||
let situation = getProtocolNode(node.situations[m])
|
||||
let situation = getProtocolNode(node.situations[m], removePersonalData)
|
||||
event.situations.push(situation)
|
||||
}
|
||||
return event
|
||||
@@ -126,7 +126,7 @@ function newProtocolNode () {
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.situations.length; m++) {
|
||||
let situation = getProtocolNode(node.situations[m])
|
||||
let situation = getProtocolNode(node.situations[m], removePersonalData)
|
||||
event.situations.push(situation)
|
||||
}
|
||||
return event
|
||||
@@ -140,7 +140,7 @@ function newProtocolNode () {
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.situations.length; m++) {
|
||||
let situation = getProtocolNode(node.situations[m])
|
||||
let situation = getProtocolNode(node.situations[m], removePersonalData)
|
||||
event.situations.push(situation)
|
||||
}
|
||||
return event
|
||||
@@ -150,10 +150,10 @@ function newProtocolNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
stopLoss: getProtocolNode(node.stopLoss),
|
||||
takeProfit: getProtocolNode(node.takeProfit),
|
||||
positionSize: getProtocolNode(node.positionSize),
|
||||
positionRate: getProtocolNode(node.positionRate)
|
||||
stopLoss: getProtocolNode(node.stopLoss, removePersonalData),
|
||||
takeProfit: getProtocolNode(node.takeProfit, removePersonalData),
|
||||
positionSize: getProtocolNode(node.positionSize, removePersonalData),
|
||||
positionRate: getProtocolNode(node.positionRate, removePersonalData)
|
||||
}
|
||||
return object
|
||||
}
|
||||
@@ -178,7 +178,7 @@ function newProtocolNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
formula: getProtocolNode(node.formula)
|
||||
formula: getProtocolNode(node.formula, removePersonalData)
|
||||
}
|
||||
return object
|
||||
}
|
||||
@@ -187,7 +187,7 @@ function newProtocolNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
formula: getProtocolNode(node.formula)
|
||||
formula: getProtocolNode(node.formula, removePersonalData)
|
||||
}
|
||||
return object
|
||||
}
|
||||
@@ -196,9 +196,9 @@ function newProtocolNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
triggerOn: getProtocolNode(node.triggerOn),
|
||||
triggerOff: getProtocolNode(node.triggerOff),
|
||||
takePosition: getProtocolNode(node.takePosition)
|
||||
triggerOn: getProtocolNode(node.triggerOn, removePersonalData),
|
||||
triggerOff: getProtocolNode(node.triggerOff, removePersonalData),
|
||||
takePosition: getProtocolNode(node.takePosition, removePersonalData)
|
||||
}
|
||||
return stage
|
||||
}
|
||||
@@ -207,8 +207,8 @@ function newProtocolNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
initialDefinition: getProtocolNode(node.initialDefinition),
|
||||
openExecution: getProtocolNode(node.openExecution)
|
||||
initialDefinition: getProtocolNode(node.initialDefinition, removePersonalData),
|
||||
openExecution: getProtocolNode(node.openExecution, removePersonalData)
|
||||
}
|
||||
return stage
|
||||
}
|
||||
@@ -217,8 +217,8 @@ function newProtocolNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
stopLoss: getProtocolNode(node.stopLoss),
|
||||
takeProfit: getProtocolNode(node.takeProfit)
|
||||
stopLoss: getProtocolNode(node.stopLoss, removePersonalData),
|
||||
takeProfit: getProtocolNode(node.takeProfit, removePersonalData)
|
||||
}
|
||||
return stage
|
||||
}
|
||||
@@ -227,7 +227,7 @@ function newProtocolNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
closeExecution: getProtocolNode(node.closeExecution)
|
||||
closeExecution: getProtocolNode(node.closeExecution, removePersonalData)
|
||||
}
|
||||
return stage
|
||||
}
|
||||
@@ -236,10 +236,10 @@ function newProtocolNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
triggerStage: getProtocolNode(node.triggerStage),
|
||||
openStage: getProtocolNode(node.openStage),
|
||||
manageStage: getProtocolNode(node.manageStage),
|
||||
closeStage: getProtocolNode(node.closeStage)
|
||||
triggerStage: getProtocolNode(node.triggerStage, removePersonalData),
|
||||
openStage: getProtocolNode(node.openStage, removePersonalData),
|
||||
manageStage: getProtocolNode(node.manageStage, removePersonalData),
|
||||
closeStage: getProtocolNode(node.closeStage, removePersonalData)
|
||||
}
|
||||
return strategy
|
||||
}
|
||||
@@ -248,7 +248,7 @@ function newProtocolNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
formula: getProtocolNode(node.formula)
|
||||
formula: getProtocolNode(node.formula, removePersonalData)
|
||||
}
|
||||
return object
|
||||
}
|
||||
@@ -257,7 +257,7 @@ function newProtocolNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
baseAsset: getProtocolNode(node.baseAsset)
|
||||
baseAsset: getProtocolNode(node.baseAsset, removePersonalData)
|
||||
}
|
||||
return object
|
||||
}
|
||||
@@ -267,16 +267,17 @@ function newProtocolNode () {
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
strategies: [],
|
||||
parameters: getProtocolNode(node.parameters)
|
||||
parameters: getProtocolNode(node.parameters, removePersonalData)
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.strategies.length; m++) {
|
||||
let strategy = getProtocolNode(node.strategies[m])
|
||||
let strategy = getProtocolNode(node.strategies[m], removePersonalData)
|
||||
tradingSystem.strategies.push(strategy)
|
||||
}
|
||||
return tradingSystem
|
||||
}
|
||||
case 'Personal Data': {
|
||||
if (removePersonalData === true) { return }
|
||||
let personalData = {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
@@ -285,12 +286,13 @@ function newProtocolNode () {
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.exchangeAccounts.length; m++) {
|
||||
let exchangeAccount = getProtocolNode(node.exchangeAccounts[m])
|
||||
let exchangeAccount = getProtocolNode(node.exchangeAccounts[m], removePersonalData)
|
||||
personalData.exchangeAccounts.push(exchangeAccount)
|
||||
}
|
||||
return personalData
|
||||
}
|
||||
case 'Exchange Account': {
|
||||
if (removePersonalData === true) { return }
|
||||
let exchangeAccount = {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
@@ -300,16 +302,17 @@ function newProtocolNode () {
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.assets.length; m++) {
|
||||
let asset = getProtocolNode(node.assets[m])
|
||||
let asset = getProtocolNode(node.assets[m], removePersonalData)
|
||||
exchangeAccount.assets.push(asset)
|
||||
}
|
||||
for (let m = 0; m < node.keys.length; m++) {
|
||||
let key = getProtocolNode(node.keys[m])
|
||||
let key = getProtocolNode(node.keys[m], removePersonalData)
|
||||
exchangeAccount.keys.push(key)
|
||||
}
|
||||
return exchangeAccount
|
||||
}
|
||||
case 'Exchange Account Asset': {
|
||||
if (removePersonalData === true) { return }
|
||||
let asset = {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
@@ -318,6 +321,7 @@ function newProtocolNode () {
|
||||
return asset
|
||||
}
|
||||
case 'Exchange Account Key': {
|
||||
if (removePersonalData === true) { return }
|
||||
let key = {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
@@ -331,8 +335,8 @@ function newProtocolNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
tradingSystem: getProtocolNode(node.tradingSystem),
|
||||
personalData: getProtocolNode(node.personalData)
|
||||
tradingSystem: getProtocolNode(node.tradingSystem, removePersonalData),
|
||||
personalData: getProtocolNode(node.personalData, removePersonalData)
|
||||
}
|
||||
return object
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ function newStringifyNode () {
|
||||
}
|
||||
return thisObject
|
||||
|
||||
function prepareForStringify (node) {
|
||||
function prepareForStringify (node, removePersonalData) {
|
||||
if (node === undefined) { return }
|
||||
switch (node.type) {
|
||||
case 'Code':
|
||||
@@ -26,7 +26,7 @@ function newStringifyNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
code: prepareForStringify(node.code),
|
||||
code: prepareForStringify(node.code, removePersonalData),
|
||||
savedPayload: getSavedPayload(node)
|
||||
}
|
||||
return condition
|
||||
@@ -42,7 +42,7 @@ function newStringifyNode () {
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.conditions.length; m++) {
|
||||
let condition = prepareForStringify(node.conditions[m])
|
||||
let condition = prepareForStringify(node.conditions[m], removePersonalData)
|
||||
situation.conditions.push(condition)
|
||||
}
|
||||
return situation
|
||||
@@ -70,7 +70,7 @@ function newStringifyNode () {
|
||||
savedPayload: getSavedPayload(node)
|
||||
}
|
||||
for (let m = 0; m < node.situations.length; m++) {
|
||||
let situation = prepareForStringify(node.situations[m])
|
||||
let situation = prepareForStringify(node.situations[m], removePersonalData)
|
||||
event.situations.push(situation)
|
||||
}
|
||||
return event
|
||||
@@ -81,8 +81,8 @@ function newStringifyNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
formula: prepareForStringify(node.formula),
|
||||
nextPhaseEvent: prepareForStringify(node.nextPhaseEvent),
|
||||
formula: prepareForStringify(node.formula, removePersonalData),
|
||||
nextPhaseEvent: prepareForStringify(node.nextPhaseEvent, removePersonalData),
|
||||
savedPayload: getSavedPayload(node)
|
||||
}
|
||||
return phase
|
||||
@@ -99,7 +99,7 @@ function newStringifyNode () {
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.phases.length; m++) {
|
||||
let phase = prepareForStringify(node.phases[m])
|
||||
let phase = prepareForStringify(node.phases[m], removePersonalData)
|
||||
stop.phases.push(phase)
|
||||
}
|
||||
return stop
|
||||
@@ -116,7 +116,7 @@ function newStringifyNode () {
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.phases.length; m++) {
|
||||
let phase = prepareForStringify(node.phases[m])
|
||||
let phase = prepareForStringify(node.phases[m], removePersonalData)
|
||||
takeProfit.phases.push(phase)
|
||||
}
|
||||
return takeProfit
|
||||
@@ -132,7 +132,7 @@ function newStringifyNode () {
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.situations.length; m++) {
|
||||
let situation = prepareForStringify(node.situations[m])
|
||||
let situation = prepareForStringify(node.situations[m], removePersonalData)
|
||||
event.situations.push(situation)
|
||||
}
|
||||
return event
|
||||
@@ -148,7 +148,7 @@ function newStringifyNode () {
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.situations.length; m++) {
|
||||
let situation = prepareForStringify(node.situations[m])
|
||||
let situation = prepareForStringify(node.situations[m], removePersonalData)
|
||||
event.situations.push(situation)
|
||||
}
|
||||
return event
|
||||
@@ -164,7 +164,7 @@ function newStringifyNode () {
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.situations.length; m++) {
|
||||
let situation = prepareForStringify(node.situations[m])
|
||||
let situation = prepareForStringify(node.situations[m], removePersonalData)
|
||||
event.situations.push(situation)
|
||||
}
|
||||
return event
|
||||
@@ -175,10 +175,10 @@ function newStringifyNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
stopLoss: prepareForStringify(node.stopLoss),
|
||||
takeProfit: prepareForStringify(node.takeProfit),
|
||||
positionSize: prepareForStringify(node.positionSize),
|
||||
positionRate: prepareForStringify(node.positionRate),
|
||||
stopLoss: prepareForStringify(node.stopLoss, removePersonalData),
|
||||
takeProfit: prepareForStringify(node.takeProfit, removePersonalData),
|
||||
positionSize: prepareForStringify(node.positionSize, removePersonalData),
|
||||
positionRate: prepareForStringify(node.positionRate, removePersonalData),
|
||||
savedPayload: getSavedPayload(node)
|
||||
}
|
||||
return object
|
||||
@@ -209,7 +209,7 @@ function newStringifyNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
formula: prepareForStringify(node.formula),
|
||||
formula: prepareForStringify(node.formula, removePersonalData),
|
||||
savedPayload: getSavedPayload(node)
|
||||
}
|
||||
return object
|
||||
@@ -220,7 +220,7 @@ function newStringifyNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
formula: prepareForStringify(node.formula),
|
||||
formula: prepareForStringify(node.formula, removePersonalData),
|
||||
savedPayload: getSavedPayload(node)
|
||||
}
|
||||
return object
|
||||
@@ -231,9 +231,9 @@ function newStringifyNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
triggerOn: prepareForStringify(node.triggerOn),
|
||||
triggerOff: prepareForStringify(node.triggerOff),
|
||||
takePosition: prepareForStringify(node.takePosition),
|
||||
triggerOn: prepareForStringify(node.triggerOn, removePersonalData),
|
||||
triggerOff: prepareForStringify(node.triggerOff, removePersonalData),
|
||||
takePosition: prepareForStringify(node.takePosition, removePersonalData),
|
||||
savedPayload: getSavedPayload(node)
|
||||
}
|
||||
return stage
|
||||
@@ -244,8 +244,8 @@ function newStringifyNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
initialDefinition: prepareForStringify(node.initialDefinition),
|
||||
openExecution: prepareForStringify(node.openExecution),
|
||||
initialDefinition: prepareForStringify(node.initialDefinition, removePersonalData),
|
||||
openExecution: prepareForStringify(node.openExecution, removePersonalData),
|
||||
savedPayload: getSavedPayload(node)
|
||||
}
|
||||
return stage
|
||||
@@ -256,8 +256,8 @@ function newStringifyNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
stopLoss: prepareForStringify(node.stopLoss),
|
||||
takeProfit: prepareForStringify(node.takeProfit),
|
||||
stopLoss: prepareForStringify(node.stopLoss, removePersonalData),
|
||||
takeProfit: prepareForStringify(node.takeProfit, removePersonalData),
|
||||
savedPayload: getSavedPayload(node)
|
||||
}
|
||||
return stage
|
||||
@@ -268,7 +268,7 @@ function newStringifyNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
closeExecution: prepareForStringify(node.closeExecution),
|
||||
closeExecution: prepareForStringify(node.closeExecution, removePersonalData),
|
||||
savedPayload: getSavedPayload(node)
|
||||
}
|
||||
return stage
|
||||
@@ -279,10 +279,10 @@ function newStringifyNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
triggerStage: prepareForStringify(node.triggerStage),
|
||||
openStage: prepareForStringify(node.openStage),
|
||||
manageStage: prepareForStringify(node.manageStage),
|
||||
closeStage: prepareForStringify(node.closeStage),
|
||||
triggerStage: prepareForStringify(node.triggerStage, removePersonalData),
|
||||
openStage: prepareForStringify(node.openStage, removePersonalData),
|
||||
manageStage: prepareForStringify(node.manageStage, removePersonalData),
|
||||
closeStage: prepareForStringify(node.closeStage, removePersonalData),
|
||||
savedPayload: getSavedPayload(node)
|
||||
}
|
||||
return strategy
|
||||
@@ -293,7 +293,7 @@ function newStringifyNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
formula: prepareForStringify(node.formula),
|
||||
formula: prepareForStringify(node.formula, removePersonalData),
|
||||
savedPayload: getSavedPayload(node)
|
||||
}
|
||||
return object
|
||||
@@ -304,7 +304,7 @@ function newStringifyNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
baseAsset: prepareForStringify(node.baseAsset),
|
||||
baseAsset: prepareForStringify(node.baseAsset, removePersonalData),
|
||||
savedPayload: getSavedPayload(node)
|
||||
}
|
||||
return object
|
||||
@@ -316,17 +316,18 @@ function newStringifyNode () {
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
strategies: [],
|
||||
parameters: prepareForStringify(node.parameters),
|
||||
parameters: prepareForStringify(node.parameters, removePersonalData),
|
||||
savedPayload: getSavedPayload(node)
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.strategies.length; m++) {
|
||||
let strategy = prepareForStringify(node.strategies[m])
|
||||
let strategy = prepareForStringify(node.strategies[m], removePersonalData)
|
||||
tradingSystem.strategies.push(strategy)
|
||||
}
|
||||
return tradingSystem
|
||||
}
|
||||
case 'Personal Data': {
|
||||
if (removePersonalData === true) { return }
|
||||
let personalData = {
|
||||
id: node.id,
|
||||
type: node.type,
|
||||
@@ -343,6 +344,7 @@ function newStringifyNode () {
|
||||
return personalData
|
||||
}
|
||||
case 'Exchange Account': {
|
||||
if (removePersonalData === true) { return }
|
||||
let exchangeAccount = {
|
||||
id: node.id,
|
||||
type: node.type,
|
||||
@@ -354,17 +356,18 @@ function newStringifyNode () {
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.assets.length; m++) {
|
||||
let asset = prepareForStringify(node.assets[m])
|
||||
let asset = prepareForStringify(node.assets[m], removePersonalData)
|
||||
exchangeAccount.assets.push(asset)
|
||||
}
|
||||
|
||||
for (let m = 0; m < node.keys.length; m++) {
|
||||
let key = prepareForStringify(node.keys[m])
|
||||
let key = prepareForStringify(node.keys[m], removePersonalData)
|
||||
exchangeAccount.keys.push(key)
|
||||
}
|
||||
return exchangeAccount
|
||||
}
|
||||
case 'Exchange Account Asset': {
|
||||
if (removePersonalData === true) { return }
|
||||
let asset = {
|
||||
id: node.id,
|
||||
type: node.type,
|
||||
@@ -375,6 +378,7 @@ function newStringifyNode () {
|
||||
return asset
|
||||
}
|
||||
case 'Exchange Account Key': {
|
||||
if (removePersonalData === true) { return }
|
||||
let key = {
|
||||
id: node.id,
|
||||
type: node.type,
|
||||
@@ -391,8 +395,8 @@ function newStringifyNode () {
|
||||
type: node.type,
|
||||
subType: node.subType,
|
||||
name: node.name,
|
||||
tradingSystem: prepareForStringify(node.tradingSystem),
|
||||
personalData: prepareForStringify(node.personalData),
|
||||
tradingSystem: prepareForStringify(node.tradingSystem, removePersonalData),
|
||||
personalData: prepareForStringify(node.personalData, removePersonalData),
|
||||
savedPayload: getSavedPayload(node)
|
||||
}
|
||||
return object
|
||||
|
||||
@@ -115,11 +115,11 @@ function newWorkspace () {
|
||||
window.localStorage.setItem(CANVAS_APP_NAME + '.' + 'Workspace' + '.' + user.alias, textToSave)
|
||||
}
|
||||
|
||||
function stringifyWorkspace () {
|
||||
function stringifyWorkspace (removePersonalData) {
|
||||
let stringifyReadyNodes = []
|
||||
for (let i = 0; i < workspaceNode.rootNodes.length; i++) {
|
||||
let rootNode = workspaceNode.rootNodes[i]
|
||||
let workspace = functionLibraryWorkspaceNodes.prepareForStringify(rootNode)
|
||||
let workspace = functionLibraryWorkspaceNodes.prepareForStringify(rootNode, removePersonalData)
|
||||
stringifyReadyNodes.push(workspace)
|
||||
}
|
||||
let workspace = {
|
||||
@@ -127,6 +127,7 @@ function newWorkspace () {
|
||||
name: workspaceNode.name,
|
||||
rootNodes: stringifyReadyNodes
|
||||
}
|
||||
|
||||
return JSON.stringify(workspace)
|
||||
}
|
||||
|
||||
@@ -154,13 +155,19 @@ function newWorkspace () {
|
||||
|
||||
async function onMenuItemClick (payload, action) {
|
||||
switch (action) {
|
||||
case 'Download Workspace':
|
||||
case 'Share Workspace':
|
||||
{
|
||||
let text = stringifyWorkspace()
|
||||
let fileName = payload.node.type + ' - ' + payload.node.name + '.json'
|
||||
let text = stringifyWorkspace(true)
|
||||
let fileName = 'Share - ' + payload.node.type + ' - ' + payload.node.name + '.json'
|
||||
download(fileName, text)
|
||||
}
|
||||
break
|
||||
case 'Backup Workspace':
|
||||
{
|
||||
let text = stringifyWorkspace(false)
|
||||
let fileName = 'Backup - ' + payload.node.type + ' - ' + payload.node.name + '.json'
|
||||
download(fileName, text)
|
||||
}
|
||||
|
||||
break
|
||||
case 'Save Trading System':
|
||||
{
|
||||
@@ -172,21 +179,34 @@ function newWorkspace () {
|
||||
case 'Edit Code':
|
||||
|
||||
break
|
||||
case 'Download':
|
||||
case 'Share':
|
||||
{
|
||||
let text = JSON.stringify(functionLibraryProtocolNode.getProtocolNode(payload.node))
|
||||
let text = JSON.stringify(functionLibraryProtocolNode.getProtocolNode(payload.node, true))
|
||||
let nodeName = payload.node.name
|
||||
if (nodeName === undefined) {
|
||||
nodeName = ''
|
||||
} else {
|
||||
nodeName = '.' + nodeName
|
||||
}
|
||||
let fileName = payload.node.type + ' - ' + nodeName + '.json'
|
||||
let fileName = 'Share - ' + payload.node.type + ' - ' + nodeName + '.json'
|
||||
download(fileName, text)
|
||||
}
|
||||
|
||||
break
|
||||
case 'Backup':
|
||||
{
|
||||
let text = JSON.stringify(functionLibraryProtocolNode.getProtocolNode(payload.node, false))
|
||||
let nodeName = payload.node.name
|
||||
if (nodeName === undefined) {
|
||||
nodeName = ''
|
||||
} else {
|
||||
nodeName = '.' + nodeName
|
||||
}
|
||||
let fileName = 'Backup - ' + payload.node.type + ' - ' + nodeName + '.json'
|
||||
download(fileName, text)
|
||||
}
|
||||
|
||||
break
|
||||
case 'Add Strategy':
|
||||
{
|
||||
functionLibraryPartsFromNodes.addStrategy(payload.node)
|
||||
|
||||
Reference in new issue
Block a user