Merge pull request #2773 from Superalgos/portfolio-management

Portfolio management into Develop
This commit is contained in:
Luis Fernando Molina authored and GitHub committed 2021-11-29 06:05:19 -04:00
commit c4aa0fd4b1
236 files changed
+225578 -281

No files matched your search

+105
View File
@@ -0,0 +1,105 @@
----- Changes made outside of /Projects/Portfolio-Management/ -----
Projects/ProjectsSchema.json:
cp Algorithmic-Trading Portfolio-Management - Some stuff definitely unneded here
Projects/Community-Plugins/UI/Function-Libraries/
ActionSwitch.js:
cp case 'Add Missing Plugin Trading Mines' case 'Add Missing Plugin Portfolio Mines'
cp case 'Add Missing Plugin Trading Systems' case 'Add Missing Plugin Portfolio Systems'
cp case 'Add Missing Plugin Trading Engines' case 'Add Missing Plugin Portfolio Engines'
PluginsFunctions.js:
cp addMissingPluginTradingMines addMissingPluginPortfolioMines
cp addMissingPluginTradingSystems addMissingPluginPortfolioSystems
cp addMissingPluginTradingEngines addMissingPluginPortfolioEngines
../Utilities/Plugins.js:
function getPluginFolderNamesByNodeType(nodeType):
add case 'Portfolio Engine'
add case 'Portfolio Mine'
add case 'Portfolio System'
Projects/Data-Mining/UI/Function-Libraries/
MineFunctions.js:
cp scanBotArray(dataMine.tradingBots) scanBotArray(dataMine.portfolioBots)
Skipping:
Projects/Foundations/TS/Function-Libraries/OutputManagementFunctions.js:
tradingProcessDate, VARS...INDEX_MAP->TRADING_PROCESSING_DAILY_FILES, ...
Projects/Foundations/TS/Function-Libraries/
SingleMarketFunctions.js:
cp findNodeInNodeMesh(outputDatasetNode, 'Trading Bot') ...'Portfolio Bot')
Line 117 if...else add portfolioMineNode
Projects/Foundations/TS/Process-Modules/
Dataset.js:
cp startingNode.type === 'Market Trading Products'
ProcessOutput.js:
cp line 27-29, 124-126
StatusReport.js:
Lines 102, 116, cp 172-222 dealing with finding process definitions the report depends on has been cloned from Trading -> Portfolio
Projects/Foundations/UI/Function-Libraries/
ActionSwitch.js:
cp case statements run-all, stop-all, add-missing, references, products, etc.
Line 506 && 512 may not need to have been cloned but I did for now - regarding live and paper trading.
ChartingSpaceFunctions.js: Needs Completion to include Portfolio at Charting Space.
'Market Trading|Portfolio Tasks' -> 'nodeType' as param. <= If error arises note that it was not configured this way by Luis when adding the Learning Mine. This is a File that could be heavily re-factored && optimized.
ProductFunctions.js:
Skipping:
Projects/Foundations/UI/Function-Libraries/ChartingSpaceFunctions.js: Needs Completion
Projects/Foundations/UI/Function-Libraries/CryptoEcosystemFunctions.js
Projects/Foundations/UI/Function-Libraries/
DataStorageFunctions.js:
Many things cloned. But on line 156 only did 'addMissingSession(livePortfolioSessionArray) not back|forward|paper
TaskFunctions.js:
run/stop | addMissing - Portfolio Tasks. Project|Exchange|Market|Mine
Line 148 - Only cloned 'Live Portfolio Session->'
Line 198 - Only cloned 'Production Portfolio Tasks->'
Skipping:
Projects/Foundations/UI/Function-Libraries/DependenciesFilter.js:
Appears 'tradingSystem' var here is just a parameter so no need change.
Projects/Foundations/UI/Spaces/
/Charting-Space/PlottersManager.js:
/Plotting/RecordValues.js:
/Design-Space/Workspace.js:
/Floating-Space/FloatingSpace.js:
/Panel-Space/Layer.js: Line 173 Only 'Live Portfolio Session'
Projects/Visual-Scripting/UI/Function-Libraries/
<<<<<<< Updated upstream
ActionsSwitch.js: *** NOTE: Not sure how to handle line 14 at the current moment. ***
UiObjectsFromNodes.js: only if(uiObjectType === 'Live Portfolio Session')
=======
ActionsSwitch.js:
NodePath.js*** NOTE: Not sure how to handle line 14 at the current moment. ***
UIObjectsFromNodes.js: Line 977 'Live Portfolio Session' only.
>>>>>>> Stashed changes
Skipping:
Projects/Foundations/UI/Spaces/Floating-Space/ConditionEditor.js
Skipping:
Projects/Governance/UI/Function-Libraries/ActionSwitch.js:
Projects/Machine-Learning/TS/Bot-Modules/Learning-Bot/LearningSession.js:
Projects/Machine-Learning/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/LearningOutput.js:
Projects/Machine-Learning/*
Projects/Network/*
node_modules, */My-Workspaces, */My-Log-Files, *.json, .gitignore, desktop.js, Environment.js, README.md, run.js, setup.js, Tested-Exchanges, CODEOWNERS, DesktopApp.js, WebApp.js, Projects/Social-Bots/*, Projects/Social-Trading/*, Projects/Governance/*
----- Changes made inside Portfolio-Management (Clone of Algorithmic-Trading) -----
References to trading changed to portfolio regardless of capitalization:
Examples:
find ./ -type f -exec sed -i 's/trading/portfolio/g' {} \;
find ./ -type f -exec sed -i 's/Trading/Portfolio/g' {} \;
find ./ -type f -exec sed -i 's/TRADING/PORTFOLIO/g' {} \;
@@ -0,0 +1,45 @@
/* PMCommunicationModule - Trading Bot's Version.
* Fascilitates communications between the Portfolio Manager and its managed sessions.
* Session Key naming convention: name + type + id
*/
exports.newPMCommunicationModule_Trading = function (callerId) {
const MODULE_NAME = 'PM Communication Module - Trading';
moduleObj = {
beginListening: beginListening,
getQuoteAssetBalance: getQuoteAssetBalance
}
const SESSION_ID = callerId;
return moduleObj;
/* Listeners Section: */
function beginListening() {
TS.projects.foundations.globals.taskConstants.EVENT_SERVER_CLIENT_MODULE_OBJECT.listenToEvent(
SESSION_ID,
'Quote Asset Balance Reply',
undefined,
SESSION_ID,
undefined,
gotQuoteAssetBalance)
}
/* eventsCallBack Section: */
function getQuoteAssetBalance() {
TS.projects.foundations.globals.taskConstants.EVENT_SERVER_CLIENT_MODULE_OBJECT.raiseEvent(
SESSION_ID,
'Quote Asset Balance',
undefined
)
}
function gotQuoteAssetBalance() {
let ret = arguments[0].event;
console.log("Quote Asset Balance=>" + ret);
}
}
@@ -47,6 +47,9 @@
TS.projects.foundations.globals.taskVariables.SESSION_MAP.set(
TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY,
TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_KEY)
/* We will store the PMCommunicationModule Object: */
TS.projects.foundations.globals.processVariables.PM_COMMUNICATION_MODULE = TS.projects.algorithmicTrading.botModules.PMCommunicationModule_Trading.newPMCommunicationModule_Trading(VARIABLES_BY_PROCESS_INDEX.SESSION_KEY);
/* Listen to event to start or stop the session. */
TS.projects.foundations.globals.taskConstants.EVENT_SERVER_CLIENT_MODULE_OBJECT.listenToEvent(
@@ -512,6 +515,7 @@
}
function startBackTesting(message) {
return true
}
@@ -580,6 +584,9 @@
}
function startLiveTrading() {
// Testing:
TS.projects.foundations.globals.processVariables.PM_COMMUNICATION_MODULE.beginListening();
TS.projects.foundations.globals.processVariables.PM_COMMUNICATION_MODULE.getQuoteAssetBalance();
return checkKey()
}
@@ -33,7 +33,6 @@ function newAlgorithmicTradingActionSwitch() {
UI.projects.algorithmicTrading.functionLibraries.tradingSessionFunctions.stopSession(action.node, action.callBackFunction)
}
break
default: {
console.log("[WARN] Action sent to Algorithmic-Trading 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)
}
@@ -1,13 +1,13 @@
function newAlgorithmicTradingFunctionLibraryTradingSessionFunctions() {
let thisObject = {
syncronizeSessionWithBackEnd: syncronizeSessionWithBackEnd,
synchronizeSessionWithBackEnd: synchronizeSessionWithBackEnd,
runSession: runSession,
stopSession: stopSession
}
return thisObject
function syncronizeSessionWithBackEnd(node) {
function synchronizeSessionWithBackEnd(node) {
let validationsResult = validations(node)
if (validationsResult === undefined) {
/* If something fails at validations we just quit. */
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

@@ -0,0 +1,41 @@
{
"type": "Plugin Portfolio Engines",
"menuItems": [
{
"action": "Add Missing Plugin Portfolio Engines",
"label": "Add Missing Portfolio Engines",
"askConfirmation": true,
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"iconPathOn": "portfolio-engine",
"iconPathOff": "portfolio-engine",
"iconProject": "Portfolio-Management",
"actionFunction": "payload.executeAction",
"actionProject": "Community-Plugins"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 1,
"propertyNameAtParent": "pluginPortfolioEngines",
"attachingRules": {
"compatibleTypes": "->Plugin Project->"
},
"childrenNodesProperties": [
{
"name": "pluginFiles",
"type": "array",
"childType": "Plugin File",
"autoAdd": false
}
]
}
@@ -0,0 +1,41 @@
{
"type": "Plugin Portfolio Mines",
"menuItems": [
{
"action": "Add Missing Plugin Portfolio Mines",
"label": "Add Missing Portfolio Mines",
"askConfirmation": true,
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"iconPathOn": "portfolio-mine",
"iconPathOff": "portfolio-mine",
"iconProject": "Portfolio-Management",
"actionFunction": "payload.executeAction",
"actionProject": "Community-Plugins"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 1,
"propertyNameAtParent": "pluginPortfolioMines",
"attachingRules": {
"compatibleTypes": "->Plugin Project->"
},
"childrenNodesProperties": [
{
"name": "pluginFiles",
"type": "array",
"childType": "Plugin File",
"autoAdd": false
}
]
}
@@ -0,0 +1,41 @@
{
"type": "Plugin Portfolio Systems",
"menuItems": [
{
"action": "Add Missing Plugin Portfolio Systems",
"label": "Add Missing Portfolio Systems",
"askConfirmation": true,
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"iconPathOn": "portfolio-system",
"iconPathOff": "portfolio-system",
"iconProject": "Portfolio-Management",
"actionFunction": "payload.executeAction",
"actionProject": "Community-Plugins"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 1,
"propertyNameAtParent": "pluginPortfolioSystems",
"attachingRules": {
"compatibleTypes": "->Plugin Project->"
},
"childrenNodesProperties": [
{
"name": "pluginFiles",
"type": "array",
"childType": "Plugin File",
"autoAdd": false
}
]
}
@@ -53,6 +53,12 @@
"childType": "Plugin Trading Mines",
"autoAdd": false
},
{
"name": "pluginPortfolioMines",
"type": "node",
"childType": "Plugin Portfolio Mines",
"autoAdd": false
},
{
"name": "pluginLearningMines",
"type": "node",
@@ -65,6 +71,12 @@
"childType": "Plugin Trading Systems",
"autoAdd": false
},
{
"name": "pluginPortfolioSystems",
"type": "node",
"childType": "Plugin Portfolio Systems",
"autoAdd": false
},
{
"name": "pluginLearningSystems",
"type": "node",
@@ -77,6 +89,12 @@
"childType": "Plugin Trading Engines",
"autoAdd": false
},
{
"name": "pluginPortfolioEngines",
"type": "node",
"childType": "Plugin Portfolio Engines",
"autoAdd": false
},
{
"name": "pluginLearningEngines",
"type": "node",
@@ -58,6 +58,21 @@ function newCommunityPluginsActionSwitch() {
UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginTradingEngines(action.node, action.rootNodes)
}
break
case 'Add Missing Plugin Portfolio Mines':
{
UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginPortfolioMines(action.node, action.rootNodes)
}
break
case 'Add Missing Plugin Portfolio Systems':
{
UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginPortfolioSystems(action.node, action.rootNodes)
}
break
case 'Add Missing Plugin Portfolio Engines':
{
UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginPortfolioEngines(action.node, action.rootNodes)
}
break
case 'Add Missing Plugin Learning Mines':
{
UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginLearningMines(action.node, action.rootNodes)
@@ -7,6 +7,9 @@ function newPluginsFunctionLibraryPluginsFunctions() {
addMissingPluginTradingMines: addMissingPluginTradingMines,
addMissingPluginTradingSystems: addMissingPluginTradingSystems,
addMissingPluginTradingEngines: addMissingPluginTradingEngines,
addMissingPluginPortfolioMines: addMissingPluginPortfolioMines,
addMissingPluginPortfolioSystems: addMissingPluginPortfolioSystems,
addMissingPluginPortfolioEngines: addMissingPluginPortfolioEngines,
addMissingPluginLearningMines: addMissingPluginLearningMines,
addMissingPluginLearningSystems: addMissingPluginLearningSystems,
addMissingPluginLearningEngines: addMissingPluginLearningEngines,
@@ -140,6 +143,54 @@ function newPluginsFunctionLibraryPluginsFunctions() {
}
}
function addMissingPluginPortfolioMines(node, rootNodes) {
let projectName = UI.projects.communityPlugins.utilities.plugins.getProjectName(node)
if (projectName === "" || projectName === undefined) {
if (node.payload.parentNode !== undefined) {
node.payload.parentNode.payload.uiObject.setErrorMessage("Config codeName must have the name of the project.")
return
}
}
UI.projects.communityPlugins.utilities.plugins.getPluginFileNames(projectName, 'Portfolio-Mines', onNamesArrived)
function onNamesArrived(fileNames) {
UI.projects.communityPlugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Portfolio-Mines', 'Portfolio Mine', 'Portfolio-Management')
}
}
function addMissingPluginPortfolioSystems(node, rootNodes) {
let projectName = UI.projects.communityPlugins.utilities.plugins.getProjectName(node)
if (projectName === "" || projectName === undefined) {
if (node.payload.parentNode !== undefined) {
node.payload.parentNode.payload.uiObject.setErrorMessage("Config codeName must have the name of the project.")
return
}
}
UI.projects.communityPlugins.utilities.plugins.getPluginFileNames(projectName, 'Portfolio-Systems', onNamesArrived)
function onNamesArrived(fileNames) {
UI.projects.communityPlugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Portfolio-Systems', 'Portfolio System', 'Portfolio-Management')
}
}
function addMissingPluginPortfolioEngines(node, rootNodes) {
let projectName = UI.projects.communityPlugins.utilities.plugins.getProjectName(node)
if (projectName === "" || projectName === undefined) {
if (node.payload.parentNode !== undefined) {
node.payload.parentNode.payload.uiObject.setErrorMessage("Config codeName must have the name of the project.")
return
}
}
UI.projects.communityPlugins.utilities.plugins.getPluginFileNames(projectName, 'Portfolio-Engines', onNamesArrived)
function onNamesArrived(fileNames) {
UI.projects.communityPlugins.utilities.plugins.addMissingPluginFiles(node, fileNames, 'Portfolio-Engines', 'Portfolio Engine', 'Portfolio-Management')
}
}
function addMissingPluginLearningMines(node, rootNodes) {
let projectName = UI.projects.communityPlugins.utilities.plugins.getProjectName(node)
if (projectName === "" || projectName === undefined) {
@@ -73,6 +73,15 @@ function newPluginsUtilitiesPlugins() {
case 'Trading System': {
return 'Trading-Systems'
}
case 'Portfolio Engine': {
return 'Portfolio-Engines'
}
case 'Portfolio Mine': {
return 'Portfolio-Mines'
}
case 'Portfolio System': {
return 'Portfolio-Systems'
}
case 'Assets': {
return 'Assets'
}
@@ -68,6 +68,7 @@ function newDataMiningFunctionLibraryMineFunctions() {
scanBotArray(dataMine.apiDataFetcherBots)
scanBotArray(dataMine.indicatorBots)
scanBotArray(dataMine.tradingBots)
scanBotArray(dataMine.portfolioBots)
scanBotArray(dataMine.learningBots)
function scanBotArray(botArray) {
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

File diff suppressed because it is too large. Load diff
@@ -52,7 +52,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Episode Statistics->Episode Base Asset->Episode Quoted Asset->"
"compatibleTypes": "->Trading Episode Statistics->Portfolio Episode Statistics->Position Statistics->Episode Base Asset->Episode Quoted Asset->"
},
"propertyNameAtParent": "annualizedRateOfReturn"
}
@@ -52,7 +52,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Episode->Learning Episode->Strategy->Position->Strategy Trigger Stage->Strategy Open Stage->Strategy Manage Stage->Strategy Close Stage->"
"compatibleTypes": "->Trading Episode->Portfolio Episode->Learning Episode->Strategy->Position->Strategy Trigger Stage->Strategy Open Stage->Strategy Manage Stage->Strategy Close Stage->"
},
"propertyNameAtParent": "beginRate"
}
}
@@ -52,7 +52,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Episode->Learning Episode->Strategy->Position->Candle->Cycle->Market Order->Limit Order->Strategy Trigger Stage->Strategy Open Stage->Strategy Manage Stage->Strategy Close Stage->Stop Loss->Take Profit->Prediction->"
"compatibleTypes": "->Trading Episode->Portfolio Episode->Learning Episode->Strategy->Position->Candle->Cycle->Market Order->Limit Order->Strategy Trigger Stage->Strategy Open Stage->Strategy Manage Stage->Strategy Close Stage->Stop Loss->Take Profit->Prediction->"
},
"propertyNameAtParent": "begin"
}
}
@@ -31,7 +31,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Data Mine Products->Trading Mine Products->Learning Mine Products->"
"compatibleTypes": "->Data Mine Products->Trading Mine Products->Portfolio Mine Products->Learning Mine Products->"
},
"propertyNameAtParent": "botProducts",
"childrenNodesProperties": [
@@ -9,6 +9,16 @@
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
"label": "Add Cancel Order Portfolio Event",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "cancelOrderPMEvent",
"relatedUiObject": "Cancel Order PM Event",
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Foundations",
"actionProject": "Visual-Scripting"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
@@ -40,6 +50,11 @@
"childType": "Situation",
"autoAdd": true
},
{
"name": "cancelOrderPMEvent",
"type": "node",
"childType": "Cancel Order PM Event"
},
{
"name": "announcements",
"type": "array",
@@ -0,0 +1,29 @@
{
"type": "Cancel Order PM Event",
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"initialValues": {
"config": "{}"
},
"editors": {
"config": true
},
"level": 4,
"attachingRules": {
"compatibleTypes": "->Cancel Order Event->"
},
"childrenNodesProperties": [
],
"propertyNameAtParent": "cancelOrderPMEvent"
}
@@ -9,6 +9,14 @@
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add Missing Children",
"label": "Add Missing Children",
"relatedUiObject": "Portfolio Parameters",
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
@@ -23,7 +31,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Episode->Learning Episode->"
"compatibleTypes": "->Trading Episode->Portfolio Episode->Learning Episode->"
},
"propertyNameAtParent": "candle",
"childrenNodesProperties": [
@@ -9,6 +9,16 @@
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
"label": "Add Close Stage Portfolio Event",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "closeStagePMEvent",
"relatedUiObject": "Close Stage PM Event",
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Foundations",
"actionProject": "Visual-Scripting"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
@@ -40,6 +50,11 @@
"childType": "Situation",
"autoAdd": true
},
{
"name": "closeStagePMEvent",
"type": "node",
"childType": "Close Stage PM Event"
},
{
"name": "announcements",
"type": "array",
@@ -0,0 +1,29 @@
{
"type": "Close Stage PM Event",
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"initialValues": {
"config": "{}"
},
"editors": {
"config": true
},
"level": 2,
"attachingRules": {
"compatibleTypes": "->Close Stage Event->"
},
"childrenNodesProperties": [
],
"propertyNameAtParent": "closeStagePMEvent"
}
@@ -44,7 +44,7 @@
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Trading Strategy->"
"compatibleTypes": "->Trading Strategy->Portfolio Strategy->"
},
"childrenNodesProperties": [
{
@@ -9,6 +9,16 @@
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
"label": "Add Create Order Portfolio Event",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "createOrderPMEvent",
"relatedUiObject": "Create Order PM Event",
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Foundations",
"actionProject": "Visual-Scripting"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
@@ -40,6 +50,11 @@
"childType": "Situation",
"autoAdd": true
},
{
"name": "createOrderPMEvent",
"type": "node",
"childType": "Create Order PM Event"
},
{
"name": "announcements",
"type": "array",
@@ -0,0 +1,29 @@
{
"type": "Create Order PM Event",
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"initialValues": {
"config": "{}"
},
"editors": {
"config": true
},
"level": 2,
"attachingRules": {
"compatibleTypes": "->Create Order Event->"
},
"childrenNodesProperties": [
],
"propertyNameAtParent": "createOrderPMEvent"
}
@@ -22,7 +22,7 @@
"compatibleTypes": "->Product Definition->"
},
"attachingRules": {
"compatibleTypes": "->Market Data Products->Data Product Folder->Bot Products->Trading Session Reference->"
"compatibleTypes": "->Market Data Products->Data Product Folder->Bot Products->Trading Session Reference->Portfolio Session Reference->"
},
"propertyNameAtParent": "dataProducts",
"childrenNodesProperties": []
@@ -21,6 +21,16 @@
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "portfolioMinesData",
"label": "Add Portfolio Mines Data",
"relatedUiObject": "Portfolio Mines Data",
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
@@ -61,6 +71,12 @@
"childType": "Trading Mines Data",
"autoAdd": true
},
{
"name": "portfolioMinesData",
"type": "node",
"childType": "Portfolio Mines Data",
"autoAdd": true
},
{
"name": "learningMinesData",
"type": "node",
@@ -52,7 +52,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Episode Statistics->Learning Episode Statistics->Position Statistics->Order Statistics->"
"compatibleTypes": "->Trading Episode Statistics->Portfolio Episode Statistics->Position Statistics->Learning Episode Statistics->Position Statistics->Order Statistics->"
},
"propertyNameAtParent": "days"
}
@@ -0,0 +1,85 @@
{
"type": "Distance To Portfolio Event",
"menuItems": [
{
"action": "Add Missing Children",
"label": "Add Missing Children",
"relatedUiObject": "Portfolio Parameters",
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Portfolio Episode->"
},
"propertyNameAtParent": "distanceToPortfolioEvent",
"childrenNodesProperties": [
{
"name": "triggerOn",
"type": "node",
"childType": "Trigger On",
"autoAdd": true
},
{
"name": "triggerOff",
"type": "node",
"childType": "Trigger Off",
"autoAdd": true
},
{
"name": "takePosition",
"type": "node",
"childType": "Take Position",
"autoAdd": true
},
{
"name": "closePosition",
"type": "node",
"childType": "Close Position",
"autoAdd": true
},
{
"name": "nextPhase",
"type": "node",
"childType": "Next Phase",
"autoAdd": true
},
{
"name": "moveToPhase",
"type": "node",
"childType": "Move To Phase",
"autoAdd": true
},
{
"name": "createOrder",
"type": "node",
"childType": "Create Order",
"autoAdd": true
},
{
"name": "cancelOrder",
"type": "node",
"childType": "Cancel Order",
"autoAdd": true
},
{
"name": "closeOrder",
"type": "node",
"childType": "Close Order",
"autoAdd": true
}
]
}
@@ -23,7 +23,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading System->"
"compatibleTypes": "->Trading System->Portfolio System->"
},
"propertyNameAtParent": "dynamicIndicators",
"childrenNodesProperties": [
@@ -52,7 +52,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Episode->Learning Episode->Strategy->Position->Strategy Trigger Stage->Strategy Open Stage->Strategy Manage Stage->Strategy Close Stage->"
"compatibleTypes": "->Trading Episode->Portfolio Episode->Learning Episode->Strategy->Position->Strategy Trigger Stage->Strategy Open Stage->Strategy Manage Stage->Strategy Close Stage->"
},
"propertyNameAtParent": "endRate"
}
}
@@ -52,7 +52,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Episode->Learning Episode->Strategy->Position->Candle->Cycle->Market Order->Limit Order->Strategy Trigger Stage->Strategy Open Stage->Strategy Manage Stage->Strategy Close Stage->Stop Loss->Take Profit->Prediction->"
"compatibleTypes": "->Trading Episode->Portfolio Episode->Learning Episode->Strategy->Position->Candle->Cycle->Market Order->Limit Order->Strategy Trigger Stage->Strategy Open Stage->Strategy Manage Stage->Strategy Close Stage->Stop Loss->Take Profit->Prediction->"
},
"propertyNameAtParent": "end"
}
}
@@ -9,6 +9,14 @@
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add Missing Children",
"label": "Add Missing Children",
"relatedUiObject": "Portfolio Parameters",
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
@@ -23,7 +31,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Episode->"
"compatibleTypes": "->Trading Episode->Portfolio Episode->"
},
"propertyNameAtParent": "episodeBaseAsset",
"childrenNodesProperties": [
@@ -88,4 +96,4 @@
"autoAdd": true
}
]
}
}
@@ -9,6 +9,14 @@
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add Missing Children",
"label": "Add Missing Children",
"relatedUiObject": "Portfolio Parameters",
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
@@ -23,7 +31,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Episode->"
"compatibleTypes": "->Trading Episode->Portfolio Episode->"
},
"propertyNameAtParent": "episodeQuotedAsset",
"childrenNodesProperties": [
@@ -88,4 +96,4 @@
"autoAdd": true
}
]
}
}
@@ -55,7 +55,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Engine->"
"compatibleTypes": "->Trading Engine->Portfolio Engine->"
},
"propertyNameAtParent": "exchangeOrders",
"childrenNodesProperties": [
@@ -0,0 +1,55 @@
{
"type": "Exchange Portfolio Products",
"menuItems": [
{
"action": "Add UI Object",
"label": "Add Market Portfolio Products",
"relatedUiObject": "Market Portfolio Products",
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add Missing Market Portfolio Products",
"label": "Add Missing Markets",
"askConfirmation": true,
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Market Portfolio Products",
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"alternativeIcons": "Use Reference Parent",
"title": [
"Use Reference Parent"
],
"isTitleAllwaysVisible": true,
"addLeftIcons": true,
"level": 3,
"referencingRules": {
"compatibleTypes": "->Crypto Exchange->"
},
"attachingRules": {
"compatibleTypes": "->Project Portfolio Products->"
},
"propertyNameAtParent": "exchangePortfolioProducts",
"childrenNodesProperties": [
{
"name": "marketPortfolioProducts",
"type": "array",
"childType": "Market Portfolio Products",
"autoAdd": false
}
]
}
@@ -0,0 +1,75 @@
{
"type": "Exchange Portfolio Tasks",
"menuItems": [
{
"action": "Run All Market Portfolio Tasks",
"label": "Run All Market Portfolio Tasks",
"askConfirmation": true,
"confirmationLabel": "Confirm to Run",
"workDoneLabel": "Run Request Sent",
"iconPathOn": "run",
"iconPathOff": "run",
"actionFunction": "payload.executeAction"
},
{
"action": "Stop All Market Portfolio Tasks",
"label": "Stop All Market Portfolio Tasks",
"askConfirmation": true,
"confirmationLabel": "Confirm to Stop",
"workDoneLabel": "Stop Request Sent",
"iconPathOn": "stop",
"iconPathOff": "stop",
"actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Market Portfolio Tasks",
"relatedUiObject": "Market Portfolio Tasks",
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add Missing Market Portfolio Tasks",
"label": "Add Missing Markets",
"askConfirmation": true,
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Market Portfolio Tasks",
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 2,
"referencingRules": {
"compatibleTypes": "->Crypto Exchange->"
},
"attachingRules": {
"compatibleTypes": "->Project Portfolio Tasks->"
},
"alternativeIcons": "Use Reference Parent",
"title": [
"Use Reference Parent"
],
"isTitleAllwaysVisible": true,
"propertyNameAtParent": "exchangePortfolioTasks",
"childrenNodesProperties": [
{
"name": "marketPortfolioTasks",
"type": "array",
"childType": "Market Portfolio Tasks",
"monitorChildrenRunning": true
}
]
}
@@ -52,7 +52,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Episode->Learning Episode->Strategy->->Position->Market Order->Limit Order->Strategy Trigger Stage->Strategy Open Stage->Strategy Manage Stage->Strategy Close Stage->"
"compatibleTypes": "->Trading Episode->Portfolio Episode->Learning Episode->Strategy->->Position->Market Order->Limit Order->Strategy Trigger Stage->Strategy Open Stage->Strategy Manage Stage->Strategy Close Stage->"
},
"propertyNameAtParent": "exitType"
}
}
@@ -52,7 +52,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Episode Counters->Learning Episode Counters->Episode Base Asset->Episode Quoted Asset->"
"compatibleTypes": "->Trading Episode Counters->Portfolio Episode Counters->Learning Episode Counters->Episode Base Asset->Episode Quoted Asset->"
},
"propertyNameAtParent": "fails"
}
@@ -28,7 +28,7 @@
},
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Parameters->"
"compatibleTypes": "->Trading Parameters->Portfolio Parameters->"
},
"propertyNameAtParent": "feeStructure"
}
@@ -52,7 +52,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Episode->Learning Episode->"
"compatibleTypes": "->Trading Episode->Portfolio Episode->Learning Episode->"
},
"propertyNameAtParent": "headOfTheMarket"
}
}
@@ -28,7 +28,7 @@
},
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Parameters->Learning Parameters->"
"compatibleTypes": "->Trading Parameters->Portfolio Parameters->Learning Parameters->"
},
"propertyNameAtParent": "heartbeats"
}
@@ -52,7 +52,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Episode Statistics->Learning Episode Statistics->Position Statistics->Position Base Asset->Position Quoted Asset->Episode Base Asset->Episode Quoted Asset->"
"compatibleTypes": "->Trading Episode Statistics->Portfolio Episode Statistics->Position Statistics->Learning Episode Statistics->Position Statistics->Position Base Asset->Position Quoted Asset->Episode Base Asset->Episode Quoted Asset->"
},
"propertyNameAtParent": "hitFail"
}
@@ -52,7 +52,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Episode Counters->Learning Episode Counters->Episode Base Asset->Episode Quoted Asset->"
"compatibleTypes": "->Trading Episode Counters->Portfolio Episode Counters->Learning Episode Counters->Episode Base Asset->Episode Quoted Asset->"
},
"propertyNameAtParent": "hits"
}
@@ -52,7 +52,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Trading Episode->Learning Episode->Strategy->Position->Market Order->Limit Order->"
"compatibleTypes": "->Trading Episode->Portfolio Episode->Learning Episode->Strategy->Position->Market Order->Limit Order->"
},
"propertyNameAtParent": "identifier"
}
}
@@ -18,7 +18,7 @@
"addLeftIcons": true,
"level": 4,
"attachingRules": {
"compatibleTypes": "->Task->"
"compatibleTypes": "->Task->Portfolio Task->"
},
"referencingRules": {
"compatibleTypes": "->Exchange Account Key->"
@@ -49,6 +49,16 @@
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "productionPortfolioTasks",
"label": "Add Production Portfolio Tasks",
"relatedUiObject": "Production Portfolio Tasks",
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
@@ -107,6 +117,12 @@
"childType": "Production Trading Tasks",
"autoAdd": true
},
{
"name": "productionPortfolioTasks",
"type": "node",
"childType": "Production Portfolio Tasks",
"autoAdd": true
},
{
"name": "dataStorage",
"type": "node",
@@ -23,7 +23,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Limit Buy Orders->Limit Sell Orders->Trading Last->"
"compatibleTypes": "->Limit Buy Orders->Limit Sell Orders->Trading Last->Portfolio Last->"
},
"propertyNameAtParent": "limitOrders",
"childrenNodesProperties": [
@@ -0,0 +1,130 @@
{
"type": "Live Portfolio Session",
"menuItems": [
{
"action": "Run Portfolio Session",
"label": "Run",
"workingLabel": "Run Request Sent",
"workDoneLabel": "Session Running",
"workFailedLabel": "Session Cannot be Run",
"secondaryAction": "Stop Portfolio Session",
"secondaryLabel": "Stop",
"secondaryWorkingLabel": "Stopping...",
"secondaryWorkDoneLabel": "Session Stopped",
"secondaryWorkFailedLabel": "Session Cannot be Stopped",
"secondaryIcon": "stop",
"iconPathOn": "run",
"iconPathOff": "run",
"actionFunction": "payload.executeAction",
"actionProject": "Portfolio-Management"
},
{
"action": "Resume Portfolio Session",
"label": "Resume",
"workingLabel": "Resume Request Sent",
"workDoneLabel": "Session Running",
"workFailedLabel": "Session Cannot be Resumed",
"secondaryAction": "Stop Portfolio Session",
"secondaryLabel": "Stop",
"secondaryWorkingLabel": "Stopping...",
"secondaryWorkDoneLabel": "Session Stopped",
"secondaryWorkFailedLabel": "Session Cannot be Stopped",
"secondaryIcon": "stop",
"iconPathOn": "resume",
"iconPathOff": "resume",
"actionFunction": "payload.executeAction",
"actionProject": "Portfolio-Management"
},
{
"action": "Configure",
"label": "Configure",
"iconPathOn": "configuration",
"iconPathOff": "configuration",
"dontShowAtFullscreen": true,
"actionFunction": "uiObject.configEditor.activate"
},
{
"action": "Add UI Object",
"label": "Add Social Bots",
"relatedUiObject": "Social Bots",
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Social-Bots",
"actionProject": "Visual-Scripting"
},
{
"action": "Add UI Object",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "managedSessions",
"label": "Add Managed Sessions",
"relatedUiObject": "Managed Sessions",
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add Missing Children",
"label": "Add Missing Children",
"relatedUiObject": "Portfolio Parameters",
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
"addLeftIcons": true,
"editors": {
"config": true
},
"initialValues": {
"config": "{ \n\"folderName\": \"Your-Session-Folder-Name\"\n}"
},
"level": 2,
"referencingRules": {
"compatibleTypes": "->Portfolio System->"
},
"attachingRules": {
"compatibleTypes": "->Portfolio Process Instance->"
},
"childrenNodesProperties": [
{
"name": "portfolioParameters",
"type": "node",
"childType": "Portfolio Parameters",
"autoAdd": true
},
{
"name": "portfolioSystemReference",
"type": "node",
"childType": "Portfolio System Reference",
"autoAdd": true
},
{
"name": "portfolioEngineReference",
"type": "node",
"childType": "Portfolio Engine Reference",
"autoAdd": true
},
{
"name": "socialBots",
"type": "node",
"childType": "Social Bots",
"project": "Social-Bots"
},
{
"name": "managedSessions",
"type": "node",
"childType": "Managed Sessions"
}
],
"propertyNameAtParent": "session"
}
@@ -31,7 +31,7 @@
"addLeftIcons": true,
"level": 1,
"attachingRules": {
"compatibleTypes": "->Trading Strategy->"
"compatibleTypes": "->Trading Strategy->Portfolio Strategy->"
},
"childrenNodesProperties": [
{
@@ -0,0 +1,60 @@
{
"type": "Managed Sessions",
"menuItems": [
{
"action": "Run Managed Sessions",
"label": "Run Managed Sessions",
"askConfirmation": true,
"confirmationLabel": "Confirm to Run",
"workDoneLabel": "Run Request Sent",
"iconPathOn": "run",
"iconPathOff": "run",
"actionFunction": "payload.executeAction",
"actionProject": "Portfolio-Management"
},
{
"action": "Stop Managed Sessions",
"label": "Stop Managed Sessions",
"askConfirmation": true,
"confirmationLabel": "Confirm to Stop",
"workDoneLabel": "Stop Request Sent",
"iconPathOn": "stop",
"iconPathOff": "stop",
"actionFunction": "payload.executeAction",
"actionProject": "Portfolio-Management"
},
{
"action": "Add UI Object",
"label": "Add Session Reference",
"relatedUiObject": "Session Reference",
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Live Portfolio Session->"
},
"childrenNodesProperties": [
{
"name": "sessionReference",
"type": "array",
"childType": "Session Reference",
"autoAdd": false,
"monitorChildrenRunning": true
}
],
"propertyNameAtParent": "managedSessions"
}
@@ -0,0 +1,29 @@
{
"type": "Managed Stop Loss PM Formula",
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"initialValues": {
"config": "{}"
},
"editors": {
"config": true
},
"level": 4,
"attachingRules": {
"compatibleTypes": "->Managed Stop Loss->"
},
"childrenNodesProperties": [
],
"propertyNameAtParent": "managedStopLossPMFormula"
}
@@ -9,6 +9,16 @@
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
"label": "Add Manged SL Portfolio Formula",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "managedStopLossPMFormula",
"relatedUiObject": "Managed Stop Loss PM Formula",
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Foundations",
"actionProject": "Visual-Scripting"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
@@ -31,6 +41,11 @@
"type": "array",
"childType": "Phase",
"autoAdd": true
},
{
"name": "managedStopLossPMFormula",
"type": "node",
"childType": "Managed Stop Loss PM Formula"
}
],
"propertyNameAtParent": "managedStopLoss"
@@ -0,0 +1,29 @@
{
"type": "Managed Take Profit PM Formula",
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"initialValues": {
"config": "{}"
},
"editors": {
"config": true
},
"level": 4,
"attachingRules": {
"compatibleTypes": "->Managed Take Profit->"
},
"childrenNodesProperties": [
],
"propertyNameAtParent": "managedTakeProfitPMFormula"
}
@@ -9,6 +9,16 @@
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
"label": "Add Manged TP Portfolio Formula",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "managedTakeProfitPMFormula",
"relatedUiObject": "Managed Take Profit PM Formula",
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Foundations",
"actionProject": "Visual-Scripting"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
@@ -31,6 +41,11 @@
"type": "array",
"childType": "Phase",
"autoAdd": true
},
{
"name": "managedTakeProfitPMFormula",
"type": "node",
"childType": "Managed Take Profit PM Formula"
}
],
"propertyNameAtParent": "managedTakeProfit"
@@ -0,0 +1,58 @@
{
"type": "Managed Tasks",
"menuItems": [
{
"action": "Run All Managed Tasks",
"label": "Run All Managed Tasks",
"askConfirmation": true,
"confirmationLabel": "Confirm to Run",
"workDoneLabel": "Run Request Sent",
"iconPathOn": "run",
"iconPathOff": "run",
"actionFunction": "payload.executeAction"
},
{
"action": "Stop All Managed Tasks",
"label": "Stop All Managed Tasks",
"askConfirmation": true,
"confirmationLabel": "Confirm to Stop",
"workDoneLabel": "Stop Request Sent",
"iconPathOn": "stop",
"iconPathOff": "stop",
"actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Task Reference",
"relatedUiObject": "Task Reference",
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Portfolio Task->"
},
"childrenNodesProperties": [
{
"name": "taskReference",
"type": "array",
"childType": "Task Reference",
"autoAdd": false,
"monitorChildrenRunning": true
}
],
"propertyNameAtParent": "managedTasks"
}
@@ -23,7 +23,7 @@
"addLeftIcons": true,
"level": 3,
"attachingRules": {
"compatibleTypes": "->Market Buy Orders->Market Sell Orders->Trading Last->"
"compatibleTypes": "->Market Buy Orders->Market Sell Orders->Trading Last->Portfolio Last->"
},
"propertyNameAtParent": "marketOrders",
"childrenNodesProperties": [
@@ -0,0 +1,54 @@
{
"type": "Market Portfolio Products",
"menuItems": [
{
"action": "Add UI Object",
"label": "Add Portfolio Session Reference",
"relatedUiObject": "Portfolio Session Reference",
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add Missing Portfolio Session References",
"label": "Add Missing Sessions",
"askConfirmation": true,
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Portfolio Session Reference",
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 3,
"isTitleAllwaysVisible": true,
"title": [
"Use Reference Parent Parent Parent",
"Use Reference Parent"
],
"referencingRules": {
"compatibleTypes": "->Market->"
},
"attachingRules": {
"compatibleTypes": "->Exchange Portfolio Products->"
},
"propertyNameAtParent": "marketPortfolioProducts",
"childrenNodesProperties": [
{
"name": "portfolioSessionReferences",
"type": "array",
"childType": "Portfolio Session Reference"
}
]
}
@@ -0,0 +1,76 @@
{
"type": "Market Portfolio Tasks",
"menuItems": [
{
"action": "Run All Portfolio Mine Tasks",
"label": "Run All Portfolio Mine Tasks",
"askConfirmation": true,
"confirmationLabel": "Confirm to Run",
"workDoneLabel": "Run Request Sent",
"iconPathOn": "run",
"iconPathOff": "run",
"actionFunction": "payload.executeAction"
},
{
"action": "Stop All Portfolio Mine Tasks",
"label": "Stop All Portfolio Mine Tasks",
"askConfirmation": true,
"confirmationLabel": "Confirm to Stop",
"workDoneLabel": "Stop Request Sent",
"iconPathOn": "stop",
"iconPathOff": "stop",
"actionFunction": "payload.executeAction"
},
{
"action": "Add UI Object",
"label": "Add Portfolio Mine Tasks",
"relatedUiObject": "Portfolio Mine Tasks",
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add Missing Portfolio Mine Tasks",
"label": "Add Missing Portfolio Mine Tasks",
"askConfirmation": true,
"confirmationLabel": "Confirm to Proceed",
"workDoneLabel": "Done",
"relatedUiObject": "Portfolio Mine Tasks",
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"level": 2,
"referencingRules": {
"compatibleTypes": "->Market->"
},
"attachingRules": {
"compatibleTypes": "->Exchange Portfolio Tasks->"
},
"alternativeIcons": "Use Reference Parent",
"title": [
"Use Reference Parent Parent Parent",
"Use Reference Parent"
],
"isTitleAllwaysVisible": true,
"propertyNameAtParent": "marketPortfolioTasks",
"childrenNodesProperties": [
{
"name": "portfolioMineTasks",
"type": "array",
"childType": "Portfolio Mine Tasks",
"monitorChildrenRunning": true
}
]
}
@@ -9,6 +9,16 @@
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
"label": "Add Move Phase Portfolio Event",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "moveToPhasePMEvent",
"relatedUiObject": "Move To Phase PM Event",
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Foundations",
"actionProject": "Visual-Scripting"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
@@ -43,6 +53,11 @@
"childType": "Situation",
"autoAdd": true
},
{
"name": "moveToPhasePMEvent",
"type": "node",
"childType": "Move To Phase PM Event"
},
{
"name": "announcements",
"type": "array",
@@ -0,0 +1,29 @@
{
"type": "Move To Phase PM Event",
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"initialValues": {
"config": "{}"
},
"editors": {
"config": true
},
"level": 4,
"attachingRules": {
"compatibleTypes": "->Move To Phase Event->"
},
"childrenNodesProperties": [
],
"propertyNameAtParent": "moveToPhasePMEvent"
}
@@ -9,6 +9,16 @@
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
"label": "Add Next Phase Portfolio Event",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "nextPhasePMEvent",
"relatedUiObject": "Next Phase PM Event",
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Foundations",
"actionProject": "Visual-Scripting"
},
{
"action": "Add UI Object",
"label": "Add Announcement",
@@ -40,6 +50,11 @@
"childType": "Situation",
"autoAdd": true
},
{
"name": "nextPhasePMEvent",
"type": "node",
"childType": "Next Phase PM Event"
},
{
"name": "announcements",
"type": "array",
@@ -0,0 +1,29 @@
{
"type": "Next Phase PM Event",
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
"initialValues": {
"config": "{}"
},
"editors": {
"config": true
},
"level": 4,
"attachingRules": {
"compatibleTypes": "->Next Phase Event->"
},
"childrenNodesProperties": [
],
"propertyNameAtParent": "nextPhasePMEvent"
}
Loaded 100 of 236 files, more files were not shown because too many files have changed in this diff. Show more