Merge pull request #2773 from Superalgos/portfolio-management
Portfolio management into Develop
No files matched your search
@@ -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. */
|
||||
|
||||
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
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) {
|
||||
|
||||
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 9.1 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
@@ -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"
|
||||
}
|
||||