All new menu item actions implemented

This commit is contained in:
Luis Fernando Molina committed 2019-06-06 12:37:49 +02:00
1 parent 7e3e011de8
commit 4330ef1e04
4 files changed
+156 -18

No files matched your search

+29 -3
View File
@@ -132,7 +132,7 @@ function newStrategyPartConstructor () {
rawRadius: 8,
targetRadius: 0,
currentRadius: 0,
angle: -40
angle: -50
},
{
action: 'Delete Trading System',
@@ -144,7 +144,7 @@ function newStrategyPartConstructor () {
rawRadius: 8,
targetRadius: 0,
currentRadius: 0,
angle: 0
angle: -20
},
{
action: 'New Strategy',
@@ -157,7 +157,20 @@ function newStrategyPartConstructor () {
rawRadius: 8,
targetRadius: 0,
currentRadius: 0,
angle: 40
angle: +20
},
{
action: 'Add Parameters',
actionFunction: payload.onMenuItemClick,
label: 'Add Parameters',
visible: false,
iconPathOn: 'quality',
iconPathOff: 'quality',
relatedStrategyPart: 'Parameters',
rawRadius: 8,
targetRadius: 0,
currentRadius: 0,
angle: 50
},
{
action: 'Download',
@@ -420,6 +433,19 @@ function newStrategyPartConstructor () {
currentRadius: 0,
angle: -40
},
{
action: 'Add Position Size',
actionFunction: payload.onMenuItemClick,
label: 'Add Position Size',
visible: false,
iconPathOn: 'responsive',
iconPathOff: 'responsive',
relatedStrategyPart: 'Position Size',
rawRadius: 8,
targetRadius: 0,
currentRadius: 0,
angle: -40
},
{
action: 'Delete Trigger Stage',
actionFunction: payload.onMenuItemClick,
@@ -1,11 +1,14 @@
function newNodeDeleter () {
thisObject = {
deleteTradingSystem: deleteTradingSystem,
deleteParameters: deleteParameters,
deleteBaseAsset: deleteBaseAsset,
deleteStrategy: deleteStrategy,
deleteTriggerStage: deleteTriggerStage,
deleteOpenStage: deleteOpenStage,
deleteManageStage: deleteManageStage,
deleteCloseStage: deleteCloseStage,
deletePositionSize: deletePositionSize,
deleteInitialDefinition: deleteInitialDefinition,
deleteEvent: deleteEvent,
deleteManagedItem: deleteManagedItem,
@@ -38,7 +41,7 @@ function newNodeDeleter () {
}
while (node.strategies.length > 0) {
deleteStrategy(node.strategies[0])
deleteStrategy(node.strategies[0], rootNodes)
}
completeDeletion(node, rootNodes)
@@ -46,6 +49,49 @@ function newNodeDeleter () {
cleanNode(node)
}
function deleteParameters() (node, rootNodes) {
let payload = node.payload
if (payload.parentNode !== undefined) {
payload.parentNode.parameters = undefined
} else {
completeDeletion(node, rootNodes)
}
if (node.baseAsset !== undefined) {
deleteBaseAsset(node.baseAsset, rootNodes)
}
destroyPart(node)
cleanNode(node)
}
function deleteBaseAsset() (node, rootNodes) {
let payload = node.payload
if (payload.parentNode !== undefined) {
payload.parentNode.baseAsset = undefined
} else {
completeDeletion(node, rootNodes)
}
if (node.formula !== undefined) {
deleteFormula(node.formula, rootNodes)
}
destroyPart(node)
cleanNode(node)
}
function deletePositionSize() (node, rootNodes) {
let payload = node.payload
if (payload.parentNode !== undefined) {
payload.parentNode.positionSize = undefined
} else {
completeDeletion(node, rootNodes)
}
if (node.formula !== undefined) {
deleteFormula(node.formula, rootNodes)
}
destroyPart(node)
cleanNode(node)
}
function deleteStrategy (node, rootNodes) {
let payload = node.payload
if (payload.parentNode !== undefined) {
@@ -59,16 +105,16 @@ function newNodeDeleter () {
completeDeletion(node, rootNodes)
}
if (node.triggerStage !== undefined) {
deleteTriggerStage(node.triggerStage)
deleteTriggerStage(node.triggerStage, rootNodes)
}
if (node.openStage !== undefined) {
deleteOpenStage(node.openStage)
deleteOpenStage(node.openStage, rootNodes)
}
if (node.manageStage !== undefined) {
deleteManageStage(node.manageStage)
deleteManageStage(node.manageStage, rootNodes)
}
if (node.closeStage !== undefined) {
deleteCloseStage(node.closeStage)
deleteCloseStage(node.closeStage, rootNodes)
}
destroyPart(node)
cleanNode(node)
@@ -82,13 +128,13 @@ function newNodeDeleter () {
completeDeletion(node, rootNodes)
}
if (node.triggerOn !== undefined) {
deleteEvent(node.triggerOn)
deleteEvent(node.triggerOn, rootNodes)
}
if (node.triggerOff !== undefined) {
deleteEvent(node.triggerOff)
deleteEvent(node.triggerOff, rootNodes)
}
if (node.takePosition !== undefined) {
deleteEvent(node.takePosition)
deleteEvent(node.takePosition, rootNodes)
}
destroyPart(node)
cleanNode(node)
@@ -102,7 +148,7 @@ function newNodeDeleter () {
completeDeletion(node, rootNodes)
}
if (node.initialDefinition !== undefined) {
deleteInitialDefinition(node.initialDefinition)
deleteInitialDefinition(node.initialDefinition, rootNodes)
}
destroyPart(node)
cleanNode(node)
@@ -116,10 +162,10 @@ function newNodeDeleter () {
completeDeletion(node, rootNodes)
}
if (node.stopLoss !== undefined) {
deleteManagedItem(node.stopLoss)
deleteManagedItem(node.stopLoss, rootNodes)
}
if (node.takeProfit !== undefined) {
deleteManagedItem(node.takeProfit)
deleteManagedItem(node.takeProfit, rootNodes)
}
destroyPart(node)
cleanNode(node)
@@ -144,10 +190,10 @@ function newNodeDeleter () {
completeDeletion(node, rootNodes)
}
if (node.stopLoss !== undefined) {
deleteManagedItem(node.stopLoss)
deleteManagedItem(node.stopLoss, rootNodes)
}
if (node.takeProfit !== undefined) {
deleteManagedItem(node.takeProfit)
deleteManagedItem(node.takeProfit, rootNodes)
}
destroyPart(node)
cleanNode(node)
@@ -179,7 +225,7 @@ function newNodeDeleter () {
}
while (node.situations.length > 0) {
deleteSituation(node.situations[0])
deleteSituation(node.situations[0], rootNodes)
}
destroyPart(node)
cleanNode(node)
@@ -258,7 +304,7 @@ function newNodeDeleter () {
if (situation.id === node.id) {
while (situation.conditions.length > 0) {
let condition = situation.conditions[0]
deleteCondition(condition)
deleteCondition(condition, rootNodes)
}
situation.conditions = []
payload.parentNode.situations.splice(j, 1)
@@ -2,9 +2,12 @@ function newPartsFromNodes () {
thisObject = {
createPartFromNode: createPartFromNode,
newStrategy: newStrategy,
addParameters: addParameters,
addMissingParameters: addMissingParameters,
addMissingStages: addMissingStages,
addMissingEvents: addMissingEvents,
addMissingItems: addMissingItems,
addPositionSize: addPositionSize,
addInitialDefinition: addInitialDefinition,
addPhase: addPhase,
addFormula: addFormula,
@@ -264,6 +267,29 @@ function newPartsFromNodes () {
createPart('Take Profit', 'Initial Take Profit', strategy.openStage.initialDefinition.takeProfit, strategy.openStage.initialDefinition, strategy.openStage.initialDefinition)
}
function addParameters (node) {
if (node.parameters === undefined) {
node.parameters = {
name: 'Parameters'
}
createPart('Parameters', '', node.parameters, node, node)
addMissingParameters(node.parameters)
}
}
function addMissingParameters (node) {
if (node.baseAsset === undefined) {
node.baseAsset = {
name: 'Base Asset',
formula: {
code: DEFAULT_FORMULA_TEXT
}
}
createPart('Base Asset', '', node.baseAsset, node, node)
createPart('Formula', '', node.baseAsset.formula, node.baseAsset, node.baseAsset)
}
}
function addMissingStages (node) {
if (node.triggerStage === undefined) {
node.triggerStage = {
@@ -339,6 +365,19 @@ function newPartsFromNodes () {
}
}
function addPositionSize (node) {
if (node.positionSize === undefined) {
node.positionSize = {
name: 'Position Size',
formula: {
code: DEFAULT_FORMULA_TEXT
}
}
createPart('Position Size', '', node.positionSize, node, node)
createPart('Formula', '', node.positionSize.formula, node.positionSize, node.positionSize)
}
}
function addMissingItems (node) {
if (node.type === 'Initial Definition') {
if (node.stopLoss === undefined) {
+27
View File
@@ -169,6 +169,16 @@ function newWorkspace () {
functionLibraryPartsFromNodes.newStrategy(payload.node)
}
break
case 'Add Parameters':
{
functionLibraryPartsFromNodes.addParameters(payload.node)
}
break
case 'Add Missing Parameters':
{
functionLibraryPartsFromNodes.addMissingParameters(payload.node)
}
break
case 'Add Missing Stages':
{
functionLibraryPartsFromNodes.addMissingStages(payload.node)
@@ -179,6 +189,11 @@ function newWorkspace () {
functionLibraryPartsFromNodes.addMissingEvents(payload.node)
}
break
case 'Add Position Size':
{
functionLibraryPartsFromNodes.addPositionSize(payload.node)
}
break
case 'Add Missing Items':
{
functionLibraryPartsFromNodes.addMissingItems(payload.node)
@@ -223,6 +238,14 @@ function newWorkspace () {
functionLibraryNodeDeleter.deleteTradingSystem(payload.node, rootNodes)
break
}
case 'Delete Parameters': {
functionLibraryNodeDeleter.deleteParameters(payload.node, rootNodes)
break
}
case 'Delete Base Asset': {
functionLibraryNodeDeleter.deleteBaseAsset(payload.node, rootNodes)
break
}
case 'Delete Strategy': {
functionLibraryNodeDeleter.deleteStrategy(payload.node, rootNodes)
break
@@ -243,6 +266,10 @@ function newWorkspace () {
functionLibraryNodeDeleter.deleteCloseStage(payload.node, rootNodes)
break
}
case 'Delete Position Size': {
functionLibraryNodeDeleter.deletePositionSize(payload.node, rootNodes)
break
}
case 'Delete Initial Definition': {
functionLibraryNodeDeleter.deleteInitialDefinition(payload.node, rootNodes)
break