Ports Changed

This commit is contained in:
Luis Fernando Molina committed 2020-07-07 19:18:17 +02:00
1 parent 3f8200fad8
commit b178081a01
10 files changed
+131 -73

No files matched your search

+2 -2
View File
@@ -1,7 +1,7 @@
#PORT NUMBERS: If any of these ports are already in use by a different app, please pick a new number between 1 and 50000.
WEB_SERVER_PORT=34247
WEB_SOCKETS_SERVER_PORT=8080
WEB_SERVER_PORT=34248
WEB_SOCKETS_SERVER_PORT=8081
# TASK MANAGER VARIABLES:
+2 -2
View File
@@ -8,6 +8,6 @@ WRITE_LOGS_TO_FILES=true
BOTS_PATH=../Legacy-Code
LOG_PATH=../Log-Files
WEB_SOCKETS_SERVER_PORT=8080
WEB_SERVER_PORT=34247
WEB_SOCKETS_SERVER_PORT=8081
WEB_SERVER_PORT=34248
WEB_SERVER_URL=localhost
@@ -35,7 +35,11 @@ function newSessionFunctions () {
'Phase->Formula->Next Phase Event->Move To Phase Event->Phase->' +
'Situation->Condition->Javascript Code->' +
'Close Stage->Close Execution->' +
'Announcement->Formula->'
'Announcement->Formula->' +
'Execution Algorithm->Market Buy Order->Market Sell Order->Limit Buy Order->Limit Sell Order->' +
'Position Size->Position Rate->Formula->' +
'Create Order Event->Move Order Event->Cancel Order Event->' +
'Situation->Condition->'
let tradingSystem = functionLibraryProtocolNode.getProtocolNode(node.tradingSystemReference.payload.referenceParent, false, true, true, false, false, lightingPath)
+1 -1
View File
@@ -9,7 +9,7 @@ function newEventsServerClient (host, port, hostName) {
logger.fileName = MODULE_NAME
if (host === '' || host === undefined) { host = 'localhost' }
if (port === '' || port === undefined) { port = '8080' }
if (port === '' || port === undefined) { port = '8081' }
const WEB_SOCKETS_URL = 'ws://' + host + ':' + port + ''
let WEB_SOCKETS_CONNECTION
+4 -4
View File
@@ -1,4 +1,4 @@
function newFileStorage (host, port) {
function newFileStorage(host, port) {
const MODULE_NAME = 'File Storage'
const INFO_LOG = false
const logger = newWebDebugLog()
@@ -28,11 +28,11 @@ function newFileStorage (host, port) {
}
if (host === '' || host === undefined) { host = 'localhost' }
if (port === '' || port === undefined) { port = '34247' }
if (port === '' || port === undefined) { port = '34248' }
return thisObject
async function getFileFromHost (filePath, callBackFunction, pathComplete) {
async function getFileFromHost(filePath, callBackFunction, pathComplete) {
try {
if (INFO_LOG === true) { logger.write('[INFO] getFileFromHost -> Entering function.') }
@@ -67,7 +67,7 @@ function newFileStorage (host, port) {
}
}
function verifyRetry (errorCode) {
function verifyRetry(errorCode) {
for (let i = 0; i < recoverableErrors.length; i++) {
const error = recoverableErrors[i]
if (error === errorCode) {
+1 -1
View File
@@ -1 +1 @@
{"type":"Workspace","name":"Beta 6","rootNodes":[{"type":"Network","name":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34247\", \n\"webSocketsPort\": \"8080\"\n}","dataStorage":{"type":"Data Storage","name":"New Data Storage","sessionIndependentData":{"type":"Session Independent Data","name":"New Session Independent Data","exchangeDataProducts":[{"type":"Exchange Data Products","name":"Binance","singleMarketData":[{"type":"Single Market Data","name":"Binance BTC/USDT","dataProducts":[{"type":"Data Product","name":"Candles","id":"dd7c8795-bb24-4438-9d77-b37a9000ad7f","savedPayload":{"position":{"x":23356.012615505755,"y":29739.233963837047},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Candles","id":"fe6065ec-4d2d-47a0-bae0-8647f0e195d7"}}},{"type":"Data Product","name":"Volumes","id":"98e6c917-f4b7-4b71-9215-de3ccaf3dc0c","savedPayload":{"position":{"x":23289.69538628683,"y":29661.878957924106},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Volumes","id":"1a366aef-efef-470e-88e0-2a6fbe4dd91f"}}},{"type":"Data Product","name":"Candles Channels","id":"1d7dd537-5f6f-4eb2-8e56-ddba0aef720f","savedPayload":{"position":{"x":23230.515825085455,"y":29579.27459803914},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Candles Channels","id":"8c81d378-0947-4e9d-be25-58e69120152e"}}},{"type":"Data Product","name":"Candles Channels Objects","id":"221c8d22-8a7f-4014-a7ed-0bafc886b123","savedPayload":{"position":{"x":23178.614400685226,"y":29491.596580957324},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Candles Channels Objects","id":"ba5dbb67-2030-42a0-9ff8-1ee80874f047"}}},{"type":"Data Product","name":"Bollinger Bands","id":"6929ebe7-6486-4299-add5-ed0282500d91","savedPayload":{"position":{"x":23134.615709292524,"y":29399.83437854803},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Bollinger Bands","id":"29088877-8d63-4217-8d34-8742afc262f4"}}},{"type":"Data Product","name":"Percentage Bandwidth","id":"4a3ed8eb-a73e-4fb4-835a-681cf47d7373","savedPayload":{"position":{"x":23098.761448801157,"y":29304.524733832644},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Percentage Bandwidth","id":"3b7885a0-cd72-4a3f-a38b-3dc8c47bd068"}}},{"type":"Data Product","name":"Bollinger Channels Objects","id":"5ffc6a67-e33b-422b-8e36-f9711f93c723","savedPayload":{"position":{"x":23071.352535740913,"y":29206.41122797561},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Bollinger Channels Objects","id":"1f111f72-624f-4166-9f99-ab8d785d5267"}}},{"type":"Data Product","name":"Bollinger Sub-Channels Objects","id":"48f7953c-f62d-4292-b042-d1ac05f8f80f","savedPayload":{"position":{"x":23052.60515109478,"y":29106.260621594025},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Bollinger Sub-Channels Objects","id":"080c87fc-4546-4482-ab11-180a33f6d9ab"}}},{"type":"Data Product","name":"Popular SMAs","id":"3b9a3c93-6d41-440e-89a2-2fd1b2dde603","savedPayload":{"position":{"x":23042.6524683998,"y":29004.824867470794},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":falseLine truncated
{"type":"Workspace","name":"Beta 6","rootNodes":[{"type":"Network","name":"Superalgos","networkNodes":[{"type":"Network Node","name":"My Computer","config":"{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"8081\"\n}","dataStorage":{"type":"Data Storage","name":"New Data Storage","sessionIndependentData":{"type":"Session Independent Data","name":"New Session Independent Data","exchangeDataProducts":[{"type":"Exchange Data Products","name":"Binance","singleMarketData":[{"type":"Single Market Data","name":"Binance BTC/USDT","dataProducts":[{"type":"Data Product","name":"Candles","id":"dd7c8795-bb24-4438-9d77-b37a9000ad7f","savedPayload":{"position":{"x":23356.012615505755,"y":29739.233963837047},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Candles","id":"fe6065ec-4d2d-47a0-bae0-8647f0e195d7"}}},{"type":"Data Product","name":"Volumes","id":"98e6c917-f4b7-4b71-9215-de3ccaf3dc0c","savedPayload":{"position":{"x":23289.69538628683,"y":29661.878957924106},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Volumes","id":"1a366aef-efef-470e-88e0-2a6fbe4dd91f"}}},{"type":"Data Product","name":"Candles Channels","id":"1d7dd537-5f6f-4eb2-8e56-ddba0aef720f","savedPayload":{"position":{"x":23230.515825085455,"y":29579.27459803914},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Candles Channels","id":"8c81d378-0947-4e9d-be25-58e69120152e"}}},{"type":"Data Product","name":"Candles Channels Objects","id":"221c8d22-8a7f-4014-a7ed-0bafc886b123","savedPayload":{"position":{"x":23178.614400685226,"y":29491.596580957324},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Candles Channels Objects","id":"ba5dbb67-2030-42a0-9ff8-1ee80874f047"}}},{"type":"Data Product","name":"Bollinger Bands","id":"6929ebe7-6486-4299-add5-ed0282500d91","savedPayload":{"position":{"x":23134.615709292524,"y":29399.83437854803},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Bollinger Bands","id":"29088877-8d63-4217-8d34-8742afc262f4"}}},{"type":"Data Product","name":"Percentage Bandwidth","id":"4a3ed8eb-a73e-4fb4-835a-681cf47d7373","savedPayload":{"position":{"x":23098.761448801157,"y":29304.524733832644},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Percentage Bandwidth","id":"3b7885a0-cd72-4a3f-a38b-3dc8c47bd068"}}},{"type":"Data Product","name":"Bollinger Channels Objects","id":"5ffc6a67-e33b-422b-8e36-f9711f93c723","savedPayload":{"position":{"x":23071.352535740913,"y":29206.41122797561},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Bollinger Channels Objects","id":"1f111f72-624f-4166-9f99-ab8d785d5267"}}},{"type":"Data Product","name":"Bollinger Sub-Channels Objects","id":"48f7953c-f62d-4292-b042-d1ac05f8f80f","savedPayload":{"position":{"x":23052.60515109478,"y":29106.260621594025},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":false,"isCollapsed":true,"angleToParent":2,"distanceToParent":3,"arrangementStyle":0},"uiObject":{"isRunning":false},"referenceParent":{"type":"Product Definition","name":"Bollinger Sub-Channels Objects","id":"080c87fc-4546-4482-ab11-180a33f6d9ab"}}},{"type":"Data Product","name":"Popular SMAs","id":"3b9a3c93-6d41-440e-89a2-2fd1b2dde603","savedPayload":{"position":{"x":23042.6524683998,"y":29004.824867470794},"targetPosition":{"x":24208.14053234975,"y":28942.805543083334},"floatingObject":{"isPinned":false,"isFrozen":falseLine truncated
+2 -2
View File
@@ -8,6 +8,6 @@ WRITE_LOGS_TO_FILES=true
BOTS_PATH=../Legacy-Code
LOG_PATH=../Log-Files
WEB_SOCKETS_SERVER_PORT=8080
WEB_SERVER_PORT=34247
WEB_SOCKETS_SERVER_PORT=8081
WEB_SERVER_PORT=34248
WEB_SERVER_URL=localhost
@@ -26,7 +26,7 @@ exports.newTradingExecution = function newTradingExecution(bot, logger) {
}
function takePosition() {
/* Check that we are in LIVE MODE */
/* Check that we are in LIVE or FORWARD MODE */
if (bot.SESSION.type === 'Live Trading Session' || bot.SESSION.type === 'Fordward Testion Session') {
logger.write(MODULE_NAME, '[PERSIST] runSimulation -> loop -> takePositionNow -> Taking a Position in ' + bot.SESSION.type)
logger.write(MODULE_NAME, '[PERSIST] runSimulation -> loop -> takePositionNow -> tradingEngine.current.position.size.value = ' + tradingEngine.current.position.size.value)
@@ -165,6 +165,9 @@ exports.newTradingSimulation = function newTradingSimulation(bot, logger, UTILIT
triggeringOff = tradingSystemModule.checkTriggerOff()
takingPosition = tradingSystemModule.checkTakePosition()
/* Time to check the execution of orders */
tradingSystemModule.checkExecution()
/* Stop Loss Management */
if (takingPosition !== true) {
tradingSystemModule.checkStopPhasesEvents()
+110 -59
View File
@@ -13,6 +13,7 @@ exports.newTradingSystem = function newTradingSystem(bot, logger) {
checkTriggerOn: checkTriggerOn,
checkTriggerOff: checkTriggerOff,
checkTakePosition: checkTakePosition,
checkExecution: checkExecution,
checkStopPhasesEvents: checkStopPhasesEvents,
calculateStopLoss: calculateStopLoss,
checkTakeProfitPhaseEvents: checkTakeProfitPhaseEvents,
@@ -295,14 +296,7 @@ exports.newTradingSystem = function newTradingSystem(bot, logger) {
passed = true
}
for (let m = 0; m < situation.conditions.length; m++) {
let condition = situation.conditions[m]
let value = false
if (conditions.get(condition.id) !== undefined) {
value = conditions.get(condition.id)
}
if (value !== true) { passed = false }
}
passed = checkConditions(situation, passed)
tradingSystem.values.push([situation.id, passed])
if (passed) {
@@ -350,14 +344,7 @@ exports.newTradingSystem = function newTradingSystem(bot, logger) {
passed = true
}
for (let m = 0; m < situation.conditions.length; m++) {
let condition = situation.conditions[m]
let value = false
if (conditions.get(condition.id) !== undefined) {
value = conditions.get(condition.id)
}
if (value !== true) { passed = false }
}
passed = checkConditions(situation, passed)
tradingSystem.values.push([situation.id, passed])
if (passed) {
@@ -399,15 +386,7 @@ exports.newTradingSystem = function newTradingSystem(bot, logger) {
passed = true
}
for (let m = 0; m < situation.conditions.length; m++) {
let condition = situation.conditions[m]
let value = false
if (conditions.get(condition.id) !== undefined) {
value = conditions.get(condition.id)
}
if (value !== true) { passed = false }
}
passed = checkConditions(situation, passed)
tradingSystem.values.push([situation.id, passed])
if (passed) {
@@ -439,6 +418,89 @@ exports.newTradingSystem = function newTradingSystem(bot, logger) {
return false // This Means that we have not met the conditions to take position.
}
function checkExecution() {
if (tradingEngine.current.strategy.stageType.value === 'Open Stage') {
let executionNode = tradingSystem.tradingStrategies[tradingEngine.current.strategy.index.value].openStage.openExecution
checkExecutionAlgorithms(executionNode)
}
if (tradingEngine.current.strategy.stageType.value === 'Close Stage') {
let executionNode = tradingSystem.tradingStrategies[tradingEngine.current.strategy.index.value].closeStage.closeExecution
checkExecutionAlgorithms(executionNode)
}
function checkExecutionAlgorithms(executionNode) {
for (let i = 0; i < executionNode.executionAlgorithms.length; i++) {
let executionAlgorithm = executionNode.executionAlgorithms[i]
checkOrders(executionAlgorithm.marketBuyOrders)
checkOrders(executionAlgorithm.marketSellOrders)
checkOrders(executionAlgorithm.limitBuyOrders)
checkOrders(executionAlgorithm.limitSellOrders)
}
}
function checkOrders(orders) {
for (let i = 0; i < orders.length; i++) {
let order = orders[i]
switch (order.status) {
case 'Open': {
let mustCancelOrder = checkOrderEvent(order.cancelOrderEvent)
if (mustCancelOrder === true) {
// Cancel Order
order.status = 'Closed'
order.exitType = 'Cancelled'
}
let mustMoveOrder = checkOrderEvent(order.moveOrderEvent)
if (mustMoveOrder === true && order.status === 'Open') {
// Move Order
order.status = 'Open'
}
}
break
case 'Closed': {
// Nothing to do here
}
break
default: {
order.status = 'Not Open'
let mustCreateOrder = checkOrderEvent(order.createOrderEvent)
if (mustCreateOrder === true) {
// Create Order
order.status = 'Open'
}
}
}
}
}
function checkOrderEvent(event) {
if (event !== undefined) {
for (let k = 0; k < event.situations.length; k++) {
let situation = event.situations[k]
let passed
if (situation.conditions.length > 0) {
passed = true
}
passed = checkConditions(situation, passed)
tradingSystem.values.push([situation.id, passed])
if (passed) {
tradingSystem.highlights.push(situation.id)
tradingSystem.highlights.push(event.id)
tradingSystem.highlights.push(event.payload.parentNode.id) // order
tradingSystem.highlights.push(event.payload.parentNode.payload.parentNode.id) // algorithm
tradingSystem.highlights.push(event.payload.parentNode.payload.parentNode.payload.parentNode.id) // execution
announcementsModule.makeAnnoucements(event)
return true // only one event can pass at the time
}
}
}
}
}
function checkStopPhasesEvents() {
if (tradingEngine.current.strategy.stageType.value === 'Open Stage' || tradingEngine.current.strategy.stageType.value === 'Manage Stage') {
let strategy = tradingSystem.tradingStrategies[tradingEngine.current.strategy.index.value]
@@ -485,14 +547,7 @@ exports.newTradingSystem = function newTradingSystem(bot, logger) {
passed = true
}
for (let m = 0; m < situation.conditions.length; m++) {
let condition = situation.conditions[m]
let value = false
if (conditions.get(condition.id) !== undefined) {
value = conditions.get(condition.id)
}
if (value !== true) { passed = false }
}
passed = checkConditions(situation, passed)
tradingSystem.values.push([situation.id, passed])
if (passed) {
@@ -526,15 +581,7 @@ exports.newTradingSystem = function newTradingSystem(bot, logger) {
passed = true
}
for (let m = 0; m < situation.conditions.length; m++) {
let condition = situation.conditions[m]
let value = false
if (conditions.get(condition.id) !== undefined) {
value = conditions.get(condition.id)
}
if (value !== true) { passed = false }
}
passed = checkConditions(situation, passed)
tradingSystem.values.push([situation.id, passed])
if (passed) {
@@ -651,14 +698,7 @@ exports.newTradingSystem = function newTradingSystem(bot, logger) {
passed = true
}
for (let m = 0; m < situation.conditions.length; m++) {
let condition = situation.conditions[m]
let value = false
if (conditions.get(condition.id) !== undefined) {
value = conditions.get(condition.id)
}
if (value !== true) { passed = false }
}
passed = checkConditions(situation, passed)
tradingSystem.values.push([situation.id, passed])
if (passed) {
@@ -692,15 +732,7 @@ exports.newTradingSystem = function newTradingSystem(bot, logger) {
passed = true
}
for (let m = 0; m < situation.conditions.length; m++) {
let condition = situation.conditions[m]
let value = false
if (conditions.get(condition.id) !== undefined) {
value = conditions.get(condition.id)
}
if (value !== true) { passed = false }
}
passed = checkConditions(situation, passed)
tradingSystem.values.push([situation.id, passed])
if (passed) {
@@ -959,5 +991,24 @@ exports.newTradingSystem = function newTradingSystem(bot, logger) {
return false
}
}
function checkConditions(situation, passed) {
for (let m = 0; m < situation.conditions.length; m++) {
let condition = situation.conditions[m]
let value = false
if (conditions.get(condition.id) !== undefined) {
value = conditions.get(condition.id)
}
if (value === true) {
tradingSystem.highlights.push(condition.id)
}
else {
passed = false
}
tradingSystem.values.push([condition.id, value])
}
return passed
}
}