All new menu item actions implemented
This commit is contained in:
1 parent
7e3e011de8
commit
4330ef1e04
4 files changed
+156
-18
No files matched your search
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in new issue
Block a user