Dealing with Personal Data, NOT SHARING it implemented and tested.

This commit is contained in:
Luis Fernando Molina committed 2019-07-28 18:01:55 +02:00
1 parent 9d7829d54e
commit 5018235d98
4 files changed
+202 -204

No files matched your search

+90 -120
View File
@@ -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
+29 -9
View File
@@ -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)