From 73bc3d020eb2f906db64cbf5f76eba06c67770a4 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Thu, 15 Mar 2018 20:32:31 +0100 Subject: [PATCH] COMMONS module introduced --- .vs/AACloud/v15/.suo | Bin 77312 -> 75264 bytes Debug Log.js | 18 +++++++++--------- Indicator Bot Main Loop.js | 9 ++++++++- Project.njsproj | 5 ++--- Run.js | 7 ++++++- Trading Bot Main Loop.js | 9 ++++++++- .../Project.njsproj.FileListAbsolute.txt | 3 +++ this.config.json | 2 +- 8 files changed, 37 insertions(+), 16 deletions(-) diff --git a/.vs/AACloud/v15/.suo b/.vs/AACloud/v15/.suo index b8cf5298c2732f801df3fb047e4c85eafdaa918f..635a925b3deb6df9c5185371adb1ae2b19c5e9fe 100644 GIT binary patch delta 9129 zcmeHN4OG-s7N0i^I0NIr@ExEIgCC#_4h-@o>WnjxiXf1v*(`#9iXwwBnBX8tZMAA9 zb5YFPUBcbk?T`s`HrKLtP;${+QCq6*!|Z70S6F-Sw52(F@1GeQ(OS#u)aK*-=H7ST z$N&BBefPePKXva3>JAGwDM2}36zIj{1@m}37sNH2&4z@>5F^^Mt}rHmEEk#BM<8n4 z`vyxuaUE3gSF?XxF1xuf@m8vcNs53>fp4tKNRU&L^$Fe zyDSXp7(^Yy4H1D*Bb11*`n%(P12G?k@I%OXyjtD_WP%W55yKIYh#?4H#Arkeg5Gi* zQtBbZPKl30-p8Jw=p>(H=ZD#;0;vWu6`@5;Lr{C0tzo`9$XpYowRXvTJ6+t6H6o$_ zGlhsE#3Dp7VhN%Iu@phWqO`gpYogSIf*Qmcdx1ZEt86pctvA){!> z^6?`pr6TS{Oh-`588Au|UwgkjS8Atvq`yMsA{HR>5c!B@h+7$pdZOeo)^e;zc^aob z@*>0v#6m;`!icCutVBGB4)U%@h3rJ874bZRYQ2E;EaFuJbh^h*+mDPD(Sg{9ph|?-kUxOYuaI3rH^_K7lrO zA6F{5){q|zr#%w>pWkk1f+ZyIG&B1f-OBOhl_5|qsb-(SWl1gj6e$?4R@lRTWu@OZYutnRXO1+_9(VyO&S&)U6OnV8cg zYLg~1{8bt*AOW0~CWCB77-%KYV4N`v_VXtUd5WHbm24BjKprR;Vm(_X37WfPpyUf( zyD+m0s{A6LWrkcxPBh!8So}I>o4YZ}Hk2j!0TwhOHY2tm znh@74`B6KVS)vs&S|RudM_adtFf&*+p7#kT=s4<#2lRwObBsA}z)k0b})0 zmGUge%65oY8WzlQY6*R1-6CEVO0u1#;tiN-MNop!PgT;PFP@O(K6!EHh6fMj=grM& z<&-{m_&JsfYe(oHXY*uN<@SAzByPIs!$L&&3D#dQJYH6Ra*Kpn&7*^x-j%SArINXE z^E1{xlki&RS1$$aKQo=Hf5wvqwH)G`lZfDSVl9P{e|f$HjNx zecdRaT;#)-Q;tAa&{gQvBtvH8i)`viW-gf~@Sr05`~qY6ED^VAQ=lJ^_Jz+TJA!ffM&O5NL|hmh z;#9*v+sWt@^=~k`>d_b7SsiOS=ELIM2MqEiXd0$CD|=D3+dOPa%3gFxI9S&n{kp~q zJf6i?Go1tU%NBmV|BIyf&q(dkN!+H1 z$D7ElovV3Ean{TM{SjZOSFcCIpH&t7s*uqc2j?{Yhno?zq%4}1a&@kq3-qc}Oir#2&u=g9WP&hyD^hje z^hl$?PVoMe{1nb>;fU}61ROrTO~5-r`?(YM?A ztPL#*{FXUR`fLv>A{3~N<8p6G~ zH7?U|oDJP65VD{UygIy~Zh;!=8~tJaS=8$HD~PsWn_%;KkBFx@0^pFXmOg zNCePayawLOJ8-Ll;n0#92s;<%S{`X$$3XD(RS*~4+=ZpNIEcX`gOgX$`WI-BD1Kx*ifiQ&o5tAWYp(W6qQFUG#GIpfdh(y=q4Y&sfET0CtudG zjl>D`*_EXO`d`ZmLQXuh2$oREk)oGEt$4 zNk~wn#H6MsB&HR6&f$Z(Y!b~u41~egIXJXe>rZD(N1}_Gc!ch{W9@14X9--> z+NYd2=-i|A?{l={d09oYz+%!-m<@NUEOZ1~&#eRNLW)wOO5LG;l|g7*_ML^^pN9Xd zO+$V$t~%lNCi0-=8Pu;?&0W@^H!joUvgoA)iB6}KerYb7(f``quMmI7kq*ArWhMH7 zJ(&!R0m?S*-Bs`#H@Dx%@`8IsvGXbjuk6kIL4sy5)QwPs`ixb87u$tU*{hP4uM9h+ z%H2QADlE{ylDHz6J7ONo9R(fxQU-RiVmI8<;(8OIP15H8+m9g{I65eEw%#p42qxzI&Eo7 z43&lO!mbSeWezj&Mp^%ad?7-|ol?@i^C`t^@bN}P_Vm7~KTZtE`;uH@6QV(LAOJS) z6Z_MhCGAGV2uHX!ltKRJU~}U>>4B(=SFWVYf9{E^qlYJ~YPE2a^GxGAU|bjnB|Yxu z!*xwlJsF-{4_iI;_%YAv&<;=R4rpq3WAk8R&l1?O+tW243; zZ3~Cyo;magcTJ6{h3Tj_kZws9I=Y6AZT`3~l4GCYSP*r#pjZ&aGs5bP3eN4`d;(arn%7%+3YL z!S|Sn3YZ>3^L^lVeIr>cJl;JWR`$j+l_mW`G;8v9!!1`y&&=Q(bcWwzm*Q*kxX-ZV zTyJk)lwm*E+pvE9mU7Big};uv^i7xQra<}mC>Db+@c?9eavb&^)4|#Ea#*rE5RM!S zWW!)sZv!(!=+cSs>e+B;y%fuqaP1D7f6e;P~2%cGKT4Zf7ytEPX@nl@W%il z+U*(66fXTy55rLo2BBj7_lshV7GdCWgrq1)?+AlWWAS3VL+DCd|Lt7ZQ6C!#nMWtP y2B2g%g&sdWeqpS{J6=ai`Uc&o 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 diff --git a/Debug Log.js b/Debug Log.js index 6a026938c..827f6b47b 100644 --- a/Debug Log.js +++ b/Debug Log.js @@ -24,23 +24,23 @@ try { - folderPath = '../../Logs'; + folderPath = '../Logs'; createFolderSync(folderPath); - folderPath = '../../Logs/' + thisObject.bot.devTeam; + folderPath = '../Logs/' + thisObject.bot.devTeam; createFolderSync(folderPath); - folderPath = '../../Logs/' + thisObject.bot.devTeam + "/" + thisObject.bot.type; + folderPath = '../Logs/' + thisObject.bot.devTeam + "/" + thisObject.bot.type; createFolderSync(folderPath); - folderPath = '../../Logs/' + thisObject.bot.devTeam + "/" + thisObject.bot.type + "/" + thisObject.bot.codeName + "." + thisObject.bot.version.major + "." + thisObject.bot.version.minor; + folderPath = '../Logs/' + thisObject.bot.devTeam + "/" + thisObject.bot.type + "/" + thisObject.bot.codeName + "." + thisObject.bot.version.major + "." + thisObject.bot.version.minor; createFolderSync(folderPath); - folderPath = '../../Logs/' + thisObject.bot.devTeam + "/" + thisObject.bot.type + "/" + thisObject.bot.codeName + "." + thisObject.bot.version.major + "." + thisObject.bot.version.minor + "/" + thisObject.bot.process; + folderPath = '../Logs/' + thisObject.bot.devTeam + "/" + thisObject.bot.type + "/" + thisObject.bot.codeName + "." + thisObject.bot.version.major + "." + thisObject.bot.version.minor + "/" + thisObject.bot.process; createFolderSync(folderPath); @@ -81,7 +81,7 @@ function createFolderSync(name) { try { - fileSystem.mkdirSync( './logs/' + name) + fileSystem.mkdirSync( name) } catch (err) { if (err.code !== 'EEXIST') throw err } @@ -96,7 +96,7 @@ try { for (i = 1; i < 1000000; i++) { - filePath = './logs/' + relativePath + i + "." + fileName + '.log'; + filePath = relativePath + i + "." + fileName + '.log'; stats = fileSystem.statSync(filePath); } } @@ -104,14 +104,14 @@ if (i > 1) { - filePath = './logs/' + relativePath + (i - 1) + "." + fileName + '.log'; + filePath = relativePath + (i - 1) + "." + fileName + '.log'; stats = fileSystem.statSync(filePath); const fileSizeInBytes = stats.size; if (fileSizeInBytes > 10240000) { - filePath = './logs/' + relativePath + i + "." + fileName + '.log'; + filePath = relativePath + i + "." + fileName + '.log'; } return filePath; diff --git a/Indicator Bot Main Loop.js b/Indicator Bot Main Loop.js index b86e2e5f4..be85aa5ca 100644 --- a/Indicator Bot Main Loop.js +++ b/Indicator Bot Main Loop.js @@ -7,6 +7,7 @@ const FULL_LOG = true; let USER_BOT_MODULE; + let COMMONS_MODULE; const DEBUG_MODULE = require(ROOT_DIR + 'Debug Log'); const logger = DEBUG_MODULE.newDebugLog(); @@ -30,6 +31,12 @@ USER_BOT_MODULE = require(pBotPath + "/" + pProcessConfig.name + "/" + 'User.Bot'); + try { + COMMONS_MODULE = require(pBotPath + "/" + 'Commons'); + } catch (err) { + // Nothing happens since COMMONS modules are optional. + } + callBackFunction(global.DEFAULT_OK_RESPONSE); } catch (err) { @@ -73,7 +80,7 @@ if (FULL_LOG === true) { logger.write("[INFO] run -> loop -> initializeUserBot -> Entering function."); } - usertBot = USER_BOT_MODULE.newUserBot(bot, UTILITIES, DEBUG_MODULE, FILE_STORAGE, STATUS_REPORT); + usertBot = USER_BOT_MODULE.newUserBot(bot, COMMONS_MODULE, UTILITIES, DEBUG_MODULE, FILE_STORAGE, STATUS_REPORT); usertBot.initialize(undefined, undefined, onInizialized); diff --git a/Project.njsproj b/Project.njsproj index a46d74930..9f1586e98 100644 --- a/Project.njsproj +++ b/Project.njsproj @@ -7,13 +7,13 @@ ShowAllFiles Run.js - C:\Users\Luis\source\repos\AACloudPlatform + C:\Users\Luis\source\repos\AACloud . {3AF33F2E-1136-4D97-BBB7-1795711AC8B8};{349c5851-65df-11da-9384-00065b846f21};{9092AA53-FB77-4645-B42D-1CCCA6BD08BD} 14.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) Project - Trading-Process + Multi-Period-Market C:\Program Files\nodejs\node.exe False @@ -51,7 +51,6 @@ - diff --git a/Run.js b/Run.js index 07ca2dc98..07afeb2b7 100644 --- a/Run.js +++ b/Run.js @@ -3,7 +3,7 @@ const FULL_LOG = true; /* The following global variable tells the system if it is running on test mode or production. */ -global.RUNNING_MODE = 'Production'; // 'Testnet' or 'Production' +global.RUNNING_MODE = 'Mixed'; // 'Testnet' or 'Production' /* You do not have funds at the exchange and still want run your bot? No problem activate the exchange simulation mode: */ @@ -88,6 +88,11 @@ global.DEFAULT_RETRY_RESPONSE = { message: "Retry Later" }; +global.CUSTOM_OK_RESPONSE = { + result: "Ok, but check Message", + message: "Custom Message" +}; + global.CUSTOM_FAIL_RESPONSE = { result: "Fail Because", message: "Custom Message" diff --git a/Trading Bot Main Loop.js b/Trading Bot Main Loop.js index cb90e7544..3c6cd52e2 100644 --- a/Trading Bot Main Loop.js +++ b/Trading Bot Main Loop.js @@ -7,6 +7,7 @@ const FULL_LOG = true; let USER_BOT_MODULE; + let COMMONS_MODULE; const DEBUG_MODULE = require(ROOT_DIR + 'Debug Log'); const logger = DEBUG_MODULE.newDebugLog(); @@ -30,6 +31,12 @@ USER_BOT_MODULE = require(pBotPath + "/" + pProcessConfig.name + "/" + 'User.Bot'); + try { + COMMONS_MODULE = require(pBotPath + "/" + 'Commons'); + } catch (err) { + // Nothing happens since COMMONS modules are optional. + } + callBackFunction(global.DEFAULT_OK_RESPONSE); } catch (err) { @@ -215,7 +222,7 @@ if (FULL_LOG === true) { logger.write("[INFO] run -> loop -> initializeUserBot -> Entering function."); } - usertBot = USER_BOT_MODULE.newUserBot(bot, DEBUG_MODULE); + usertBot = USER_BOT_MODULE.newUserBot(bot, DEBUG_MODULE, COMMONS_MODULE); let platform = { datasource: datasource, diff --git a/obj/Debug/Project.njsproj.FileListAbsolute.txt b/obj/Debug/Project.njsproj.FileListAbsolute.txt index 8949330d2..2a5ce536d 100644 --- a/obj/Debug/Project.njsproj.FileListAbsolute.txt +++ b/obj/Debug/Project.njsproj.FileListAbsolute.txt @@ -1,3 +1,6 @@ C:\Users\Luis\source\repos\AACloudPlatform\obj\Debug\Project.njsproj.CoreCompileInputs.cache C:\Users\Luis\source\repos\AACloudPlatform\bin\Microsoft.NodejsTools.WebRole.dll C:\Users\Luis\source\repos\AACloudPlatform\obj\Debug\Project.njsprojResolveAssemblyReference.cache +C:\Users\Luis\source\repos\AACloud\obj\Debug\Project.njsprojResolveAssemblyReference.cache +C:\Users\Luis\source\repos\AACloud\obj\Debug\Project.njsproj.CoreCompileInputs.cache +C:\Users\Luis\source\repos\AACloud\bin\Microsoft.NodejsTools.WebRole.dll diff --git a/this.config.json b/this.config.json index 53b059787..23049ff1b 100644 --- a/this.config.json +++ b/this.config.json @@ -6,7 +6,7 @@ "patch": 0 }, "bot": { - "path": "../Bots/AAMasters/AAMariam-Trading-Bot" + "path": "../Bots/AAMasters/AAOlivia-Indicator-Bot" }, "stopGracefully": "false" } \ No newline at end of file