diff --git a/.vs/AAWebPlatform/v15/.suo b/.vs/AAWebPlatform/v15/.suo index e3a6cb0a0..3b957727b 100644 Binary files a/.vs/AAWebPlatform/v15/.suo and b/.vs/AAWebPlatform/v15/.suo differ diff --git a/Ecosystem.js b/Ecosystem.js index 5cbe63d29..699f419aa 100644 --- a/Ecosystem.js +++ b/Ecosystem.js @@ -6,458 +6,437 @@ function newEcosystem() { getBot: getBot, getProduct: getProduct, getLayer: getLayer, + getLayers: getLayers, getExchange: getExchange, initialize: initialize } const ECOSYSTEM = { devTeams: - { - team: [{ - codeName: "AAMasters", - organization: { - name: "AAMasters", - type: "Open Source Community", - displayName: "AA Masters", - location: "Global", - leader: "Luis Molina", - logo: "AAMasters.jpg" - }, - teamMembers: + [{ + codeName: "AAMasters", + organization: { + name: "AAMasters", + type: "Open Source Community", + displayName: "AA Masters", + location: "Global", + leader: "Luis Molina", + logo: "AAMasters.jpg" + }, + teamMembers: - [{ - member: { - displayName: "Luis Molina", - githubUsername: "Luis-Fernando-Molina", - profilePicture: "Luis.jpg", - tokens: { - percentDistribution: 100, - totalCollected: 121.45 - } + [{ + member: { + displayName: "Luis Molina", + githubUsername: "Luis-Fernando-Molina", + profilePicture: "Luis.jpg", + tokens: { + percentDistribution: 100, + totalCollected: 121.45 } - }] - , - bots: - { - bot: [ - { - codeName: "AAOlivia", - displayName: "Olivia", - type: "Indicator", - version: { - number: "1.0.0", - status: "Mantained", // Discontinued - }, - products: { - product: [{ - codeName: "Market Candles", - displayName: "Market Candles per Period", - description: "A set of files per period that contains all candles of one whole market.", - storageAccount: "aaolivia", - filePath: "@Exchange/Output/Candles/Multi-Period-Market/@Period", - fileName: "@AssetA_@AssetB.json", - exchangeList: { - exchange: [{ - name: "Poloniex", - datetimeRange: { - minDatetime: "2017-02-19 19:15:00.000 GMT+0000", - maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" - } - }] - }, - layers: { - layer: [{ - codeName: "Market Candlesticks", - displayName: "Candlesticks", - exchangeList: ["Poloniex"], - validPeriods: ["24-hs", "12-hs", "08-hs", "06-hs", "04-hs", "03-hs", "02-hs", "01-hs"], - plotter: { - devTeam: "AAMasters", - repo: "AAOlivia-Plotter", - moduleName: "Candles", - target: "Timeline" - } - }] + } + }] + , + bots: + { + bot: [ + { + codeName: "AAOlivia", + displayName: "Olivia", + type: "Indicator", + version: { + number: "1.0.0", + status: "Mantained", // Discontinued + }, + products: [{ + codeName: "Market Candles", + displayName: "Market Candles per Period", + description: "A set of files per period that contains all candles of one whole market.", + storageAccount: "aaolivia", + filePath: "@Exchange/Output/Candles/Multi-Period-Market/@Period", + fileName: "@AssetA_@AssetB.json", + exchangeList: { + exchange: [{ + name: "Poloniex", + datetimeRange: { + minDatetime: "2017-02-19 19:15:00.000 GMT+0000", + maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" } - }, { + }] + }, + layers: [{ + codeName: "Market Candlesticks", + displayName: "Candlesticks", + exchangeList: ["Poloniex"], + validPeriods: ["24-hs", "12-hs", "08-hs", "06-hs", "04-hs", "03-hs", "02-hs", "01-hs"], + plotter: { + devTeam: "AAMasters", + repo: "AAOlivia-Plotter", + moduleName: "Candles", + target: "Timeline" + } + }] + } + , { + codeName: "Market Volumes", + displayName: "Market Volumes per Period", + description: "A set of files per period that contains all volumes of one whole market.", + storageAccount: "aaolivia", + filePath: "@Exchange/Output/Volumes/Multi-Period-Market/@Period", + fileName: "@AssetA_@AssetB.json", + exchangeList: { + exchange: [{ + name: "Poloniex", + datetimeRange: { + minDatetime: "2017-02-19 19:15:00.000 GMT+0000", + maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" + } + }] + }, + layers: [{ codeName: "Market Volumes", - displayName: "Market Volumes per Period", - description: "A set of files per period that contains all volumes of one whole market.", - storageAccount: "aaolivia", - filePath: "@Exchange/Output/Volumes/Multi-Period-Market/@Period", - fileName: "@AssetA_@AssetB.json", - exchangeList: { - exchange: [{ - name: "Poloniex", - datetimeRange: { - minDatetime: "2017-02-19 19:15:00.000 GMT+0000", - maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" - } - }] - }, - layers: { - layer: [{ - codeName: "Market Volumes", - displayName: "Volumes", - exchangeList: ["Poloniex"], - validPeriods: ["24-hs", "12-hs", "08-hs", "06-hs", "04-hs", "03-hs", "02-hs", "01-hs"], - plotter: { - devTeam: "AAMasters", - repo: "AAOlivia-Plotter", - moduleName: "Volumes", - target: "Timeline" - } - }] + displayName: "Volumes", + exchangeList: ["Poloniex"], + validPeriods: ["24-hs", "12-hs", "08-hs", "06-hs", "04-hs", "03-hs", "02-hs", "01-hs"], + plotter: { + devTeam: "AAMasters", + repo: "AAOlivia-Plotter", + moduleName: "Volumes", + target: "Timeline" } - }, { - codeName: "Daily Candles", - displayName: "Daily Candles per Period", - description: "A set of files per period that contains all candles of one whole market.", - storageAccount: "aaolivia", - filePath: "@Exchange/Output/Candles/Multi-Period-Daily/@Period/@Year/@Month/@Day", - fileName: "@AssetA_@AssetB.json", - exchangeList: { - exchange: [{ - name: "Poloniex", - datetimeRange: { - minDatetime: "2017-02-19 19:15:00.000 GMT+0000", - maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" - } - }] - }, - layers: { - layer: [{ - codeName: "Daily Candlesticks", - displayName: "Candlesticks", - exchangeList: ["Poloniex"], - validPeriods: ["45-min", "40-min", "30-min", "20-min", "15-min", "10-min", "05-min", "04-min", "03-min", "02-min", "01-min"], - plotter: { - devTeam: "AAMasters", - repo: "AAOlivia-Plotter", - moduleName: "Candlesticks", - target: "Timeline" - } - }] - } - }, { - codeName: "Daily Volumes", - displayName: "Daily Volumes per Period", - description: "A set of files per period that contains all volumes of one whole market.", - storageAccount: "aaolivia", - filePath: "@Exchange/Output/Volumes/Multi-Period-Daily/@Period/@Year/@Month/@Day", - fileName: "@AssetA_@AssetB.json", - exchangeList: { - exchange: [{ - name: "Poloniex", - datetimeRange: { - minDatetime: "2017-02-19 19:15:00.000 GMT+0000", - maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" - } - }] - }, - layers: { - layer: [{ - codeName: "Daily Volumes", - displayName: "Volumes", - exchangeList: ["Poloniex"], - validPeriods: ["45-min", "40-min", "30-min", "20-min", "15-min", "10-min", "05-min", "04-min", "03-min", "02-min", "01-min"], - plotter: { - devTeam: "AAMasters", - repo: "AAOlivia-Plotter", - moduleName: "Volumes", - target: "Timeline" - } - }] - } - }] - }, - processes: - { - process: [{ - name: "One-Min-Daily-Candles-Volumes", - description: "Read trades files and generates one minute candles and volumes files for each day." }] - }, - directDependencies: [], - directDependents: [], - collaboratorsList: [], - github: { - org: "AAMasters", - repos: { - repo: [{ - name: "AABruce", - description: "Produces two data-sets with candles and volumes for all markets at all exchanges.", - openIssues: 0, - openPullRequests: 0, - contributors: 1 + }, { + codeName: "Daily Candles", + displayName: "Daily Candles per Period", + description: "A set of files per period that contains all candles of one whole market.", + storageAccount: "aaolivia", + filePath: "@Exchange/Output/Candles/Multi-Period-Daily/@Period/@Year/@Month/@Day", + fileName: "@AssetA_@AssetB.json", + exchangeList: { + exchange: [{ + name: "Poloniex", + datetimeRange: { + minDatetime: "2017-02-19 19:15:00.000 GMT+0000", + maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" + } }] - } - }, - storage: { - sas: '?sv=2017-04-17&ss=f&srt=sco&sp=rl&se=2018-12-31T02:34:32Z&st=2018-02-01T18:34:32Z&spr=https,http&sig=24UJjGDVpPrHjhBoZtt3iKj4sxgenfSV4VTJD2v0q1U%3D', - fileUri: 'https://' + 'aaolivia' + '.file.core.windows.net' + }, + layers:[{ + codeName: "Daily Candlesticks", + displayName: "Candlesticks", + exchangeList: ["Poloniex"], + validPeriods: ["45-min", "40-min", "30-min", "20-min", "15-min", "10-min", "05-min", "04-min", "03-min", "02-min", "01-min"], + plotter: { + devTeam: "AAMasters", + repo: "AAOlivia-Plotter", + moduleName: "Candlesticks", + target: "Timeline" + } + }] + }, { + codeName: "Daily Volumes", + displayName: "Daily Volumes per Period", + description: "A set of files per period that contains all volumes of one whole market.", + storageAccount: "aaolivia", + filePath: "@Exchange/Output/Volumes/Multi-Period-Daily/@Period/@Year/@Month/@Day", + fileName: "@AssetA_@AssetB.json", + exchangeList: { + exchange: [{ + name: "Poloniex", + datetimeRange: { + minDatetime: "2017-02-19 19:15:00.000 GMT+0000", + maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" + } + }] + }, + layers: [{ + codeName: "Daily Volumes", + displayName: "Volumes", + exchangeList: ["Poloniex"], + validPeriods: ["45-min", "40-min", "30-min", "20-min", "15-min", "10-min", "05-min", "04-min", "03-min", "02-min", "01-min"], + plotter: { + devTeam: "AAMasters", + repo: "AAOlivia-Plotter", + moduleName: "Volumes", + target: "Timeline" + } + }] + }] + , + processes: + { + process: [{ + name: "One-Min-Daily-Candles-Volumes", + description: "Read trades files and generates one minute candles and volumes files for each day." + }] + }, + directDependencies: [], + directDependents: [], + collaboratorsList: [], + github: { + org: "AAMasters", + repos: { + repo: [{ + name: "AABruce", + description: "Produces two data-sets with candles and volumes for all markets at all exchanges.", + openIssues: 0, + openPullRequests: 0, + contributors: 1 + }] } }, - { - codeName: "AATom", - displayName: "Tom", - type: "Indicator", - version: { - number: "1.0.0", - status: "Mantained", // Discontinued + storage: { + sas: '?sv=2017-04-17&ss=f&srt=sco&sp=rl&se=2018-12-31T02:34:32Z&st=2018-02-01T18:34:32Z&spr=https,http&sig=24UJjGDVpPrHjhBoZtt3iKj4sxgenfSV4VTJD2v0q1U%3D', + fileUri: 'https://' + 'aaolivia' + '.file.core.windows.net' + } + }, + { + codeName: "AATom", + displayName: "Tom", + type: "Indicator", + version: { + number: "1.0.0", + status: "Mantained", // Discontinued + }, + products:[{ + codeName: "Market Candle-Stairs", + displayName: "Market Candle-Stairs per Period", + description: "A set of files per period that contains all candle-stairs of one whole market.", + storageAccount: "aatom", + filePath: "@Exchange/Tom/dataSet.V1/Output/Candle-Stairs/Multi-Period-Market/@Period", + fileName: "@AssetA_@AssetB.json", + exchangeList: { + exchange: [{ + name: "Poloniex", + datetimeRange: { + minDatetime: "2017-02-19 19:15:00.000 GMT+0000", + maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" + } + }] }, - products: { - product: [{ - codeName: "Market Candle-Stairs", - displayName: "Market Candle-Stairs per Period", - description: "A set of files per period that contains all candle-stairs of one whole market.", - storageAccount: "aatom", - filePath: "@Exchange/Tom/dataSet.V1/Output/Candle-Stairs/Multi-Period-Market/@Period", - fileName: "@AssetA_@AssetB.json", - exchangeList: { - exchange: [{ - name: "Poloniex", - datetimeRange: { - minDatetime: "2017-02-19 19:15:00.000 GMT+0000", - maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" - } - }] - }, - layers: { - layer: [{ - codeName: "Market Candle-Stairs", - displayName: "Candle-Stairs", - exchangeList: ["Poloniex"], - validPeriods: ["24-hs", "12-hs", "08-hs", "06-hs", "04-hs", "03-hs", "02-hs", "01-hs"], - plotter: { - devTeam: "AAMasters", - repo: "AATom-Plotter", - moduleName: "CandleStairs", - target: "Timeline" - } - }] + layers: [{ + codeName: "Market Candle-Stairs", + displayName: "Candle-Stairs", + exchangeList: ["Poloniex"], + validPeriods: ["24-hs", "12-hs", "08-hs", "06-hs", "04-hs", "03-hs", "02-hs", "01-hs"], + plotter: { + devTeam: "AAMasters", + repo: "AATom-Plotter", + moduleName: "CandleStairs", + target: "Timeline" + } + }] + }, { + codeName: "Market Volume-Stairs", + displayName: "Market Volume-Stairs per Period", + description: "A set of files per period that contains all volume-stairs of one whole market.", + storageAccount: "aaolivia", + filePath: "@Exchange/Tom/dataSet.V1/Output/Volume-Stairs/Multi-Period-Market/@Period", + fileName: "@AssetA_@AssetB.json", + exchangeList: { + exchange: [{ + name: "Poloniex", + datetimeRange: { + minDatetime: "2017-02-19 19:15:00.000 GMT+0000", + maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" } - }, { - codeName: "Market Volume-Stairs", - displayName: "Market Volume-Stairs per Period", - description: "A set of files per period that contains all volume-stairs of one whole market.", - storageAccount: "aaolivia", - filePath: "@Exchange/Tom/dataSet.V1/Output/Volume-Stairs/Multi-Period-Market/@Period", - fileName: "@AssetA_@AssetB.json", - exchangeList: { - exchange: [{ - name: "Poloniex", - datetimeRange: { - minDatetime: "2017-02-19 19:15:00.000 GMT+0000", - maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" - } - }] - }, - layers: { - layer: [{ - codeName: "Market Volume-Stairs", - displayName: "Volume-Stairs", - exchangeList: ["Poloniex"], - validPeriods: ["24-hs", "12-hs", "08-hs", "06-hs", "04-hs", "03-hs", "02-hs", "01-hs"], - plotter: { - devTeam: "AAMasters", - repo: "AATom-Plotter", - moduleName: "VolumeStairs", - target: "Timeline" - } - }] + }] + }, + layers: [{ + codeName: "Market Volume-Stairs", + displayName: "Volume-Stairs", + exchangeList: ["Poloniex"], + validPeriods: ["24-hs", "12-hs", "08-hs", "06-hs", "04-hs", "03-hs", "02-hs", "01-hs"], + plotter: { + devTeam: "AAMasters", + repo: "AATom-Plotter", + moduleName: "VolumeStairs", + target: "Timeline" + } + }] + }, { + codeName: "Daily Candle-Stairs", + displayName: "Daily Candle-Stairs per Period", + description: "A set of files per period that contains all candle-stairs of one whole market.", + storageAccount: "aatom", + filePath: "@Exchange/Tom/dataSet.V1/Output/Candle-Stairs/Multi-Period-Daily/@Period/@Year/@Month/@Day", + fileName: "@AssetA_@AssetB.json", + exchangeList: { + exchange: [{ + name: "Poloniex", + datetimeRange: { + minDatetime: "2017-02-19 19:15:00.000 GMT+0000", + maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" } - }, { + }] + }, + layers: [{ codeName: "Daily Candle-Stairs", - displayName: "Daily Candle-Stairs per Period", - description: "A set of files per period that contains all candle-stairs of one whole market.", - storageAccount: "aatom", - filePath: "@Exchange/Tom/dataSet.V1/Output/Candle-Stairs/Multi-Period-Daily/@Period/@Year/@Month/@Day", - fileName: "@AssetA_@AssetB.json", - exchangeList: { - exchange: [{ - name: "Poloniex", - datetimeRange: { - minDatetime: "2017-02-19 19:15:00.000 GMT+0000", - maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" - } - }] - }, - layers: { - layer: [{ - codeName: "Daily Candle-Stairs", - displayName: "Candle-Stairs", - exchangeList: ["Poloniex"], - validPeriods: ["45-min", "40-min", "30-min", "20-min", "15-min", "10-min", "05-min", "04-min", "03-min", "02-min", "01-min"], - plotter: { - devTeam: "AAMasters", - repo: "AATom-Plotter", - moduleName: "CandleStairs", - target: "Timeline" - } - }] - } - }, { - codeName: "Daily Volume-Stairs", - displayName: "Daily Volume-Stairs per Period", - description: "A set of files per period that contains all volume-stairs of one whole market.", - storageAccount: "aaotom", - filePath: "@Exchange/Tom/dataSet.V1/Output/Volume-Stairs/Multi-Period-Daily/@Period/@Year/@Month/@Day", - fileName: "@AssetA_@AssetB.json", - exchangeList: { - exchange: [{ - name: "Poloniex", - datetimeRange: { - minDatetime: "2017-02-19 19:15:00.000 GMT+0000", - maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" - } - }] - }, - layers: { - layer: [{ - codeName: "Daily Volume-Stairs", - displayName: "Volume-Stairs", - exchangeList: ["Poloniex"], - validPeriods: ["45-min", "40-min", "30-min", "20-min", "15-min", "10-min", "05-min", "04-min", "03-min", "02-min", "01-min"], - plotter: { - devTeam: "AAMasters", - repo: "AATom-Plotter", - moduleName: "VolumeStairs", - target: "Timeline" - } - }] - } - }] - }, - processes: - { - process: [{ - name: "One-Min-Daily-Candles-Volumes", - description: "Read trades files and generates one minute candles and volumes files for each day." - }] - }, - directDependencies: [], - directDependents: [], - collaboratorsList: [], - github: { - org: "AAMasters", - repos: { - repo: [{ - name: "AABruce", - description: "Produces two data-sets with candles and volumes for all markets at all exchanges.", - openIssues: 0, - openPullRequests: 0, - contributors: 1 + displayName: "Candle-Stairs", + exchangeList: ["Poloniex"], + validPeriods: ["45-min", "40-min", "30-min", "20-min", "15-min", "10-min", "05-min", "04-min", "03-min", "02-min", "01-min"], + plotter: { + devTeam: "AAMasters", + repo: "AATom-Plotter", + moduleName: "CandleStairs", + target: "Timeline" + } }] - } - }, - storage: { - sas: '?sv=2017-04-17&ss=f&srt=sco&sp=r&se=2018-12-31T19:28:33Z&st=2018-02-22T11:28:33Z&spr=https&sig=YaprSp9zO%2Fsz0nPPWwPMqPACxZTnYhSWKApfun%2Bfez4%3D', - fileUri: 'https://' + 'aatom' + '.file.core.windows.net' + }, { + codeName: "Daily Volume-Stairs", + displayName: "Daily Volume-Stairs per Period", + description: "A set of files per period that contains all volume-stairs of one whole market.", + storageAccount: "aaotom", + filePath: "@Exchange/Tom/dataSet.V1/Output/Volume-Stairs/Multi-Period-Daily/@Period/@Year/@Month/@Day", + fileName: "@AssetA_@AssetB.json", + exchangeList: { + exchange: [{ + name: "Poloniex", + datetimeRange: { + minDatetime: "2017-02-19 19:15:00.000 GMT+0000", + maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" + } + }] + }, + layers: [{ + codeName: "Daily Volume-Stairs", + displayName: "Volume-Stairs", + exchangeList: ["Poloniex"], + validPeriods: ["45-min", "40-min", "30-min", "20-min", "15-min", "10-min", "05-min", "04-min", "03-min", "02-min", "01-min"], + plotter: { + devTeam: "AAMasters", + repo: "AATom-Plotter", + moduleName: "VolumeStairs", + target: "Timeline" + } + }] + }] + , + processes: + { + process: [{ + name: "One-Min-Daily-Candles-Volumes", + description: "Read trades files and generates one minute candles and volumes files for each day." + }] + }, + directDependencies: [], + directDependents: [], + collaboratorsList: [], + github: { + org: "AAMasters", + repos: { + repo: [{ + name: "AABruce", + description: "Produces two data-sets with candles and volumes for all markets at all exchanges.", + openIssues: 0, + openPullRequests: 0, + contributors: 1 + }] } }, - { - codeName: "AAMariam", - displayName: "Mariam", - type: "Trading", - version: { - number: "1.0.0", - status: "Mantained", // Discontinued - }, - products: { - product: [{ - codeName: "Trading History", - displayName: "Mariam Trading History", - description: "General information about Mariam trading history.", - storageAccount: "aamariam", - filePath: "@Exchange/Mariam/dataSet.V1/Output/Trading-Process", - fileName: "Execution.History.json", - exchangeList: { - exchange: [{ - name: "Poloniex", - datetimeRange: { - minDatetime: "2017-02-19 19:15:00.000 GMT+0000", - maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" - } - }] - }, - layers: { - layer: [{ - codeName: "Trading History", - displayName: "Mariam Trading History", - exchangeList: ["Poloniex"], - validPeriods: ["24-hs", "12-hs", "08-hs", "06-hs", "04-hs", "03-hs", "02-hs", "01-hs"], - plotter: { - devTeam: "AAMasters", - repo: "AAMariam-Plotter", - moduleName: "History", - target: "Timeline" - } - }] + storage: { + sas: '?sv=2017-04-17&ss=f&srt=sco&sp=r&se=2018-12-31T19:28:33Z&st=2018-02-22T11:28:33Z&spr=https&sig=YaprSp9zO%2Fsz0nPPWwPMqPACxZTnYhSWKApfun%2Bfez4%3D', + fileUri: 'https://' + 'aatom' + '.file.core.windows.net' + } + }, + { + codeName: "AAMariam", + displayName: "Mariam", + type: "Trading", + version: { + number: "1.0.0", + status: "Mantained", // Discontinued + }, + products: [{ + codeName: "Trading History", + displayName: "Mariam Trading History", + description: "General information about Mariam trading history.", + storageAccount: "aamariam", + filePath: "@Exchange/Mariam/dataSet.V1/Output/Trading-Process", + fileName: "Execution.History.json", + exchangeList: { + exchange: [{ + name: "Poloniex", + datetimeRange: { + minDatetime: "2017-02-19 19:15:00.000 GMT+0000", + maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" } - }, { + }] + }, + layers: [{ + codeName: "Trading History", + displayName: "Mariam Trading History", + exchangeList: ["Poloniex"], + validPeriods: ["24-hs", "12-hs", "08-hs", "06-hs", "04-hs", "03-hs", "02-hs", "01-hs"], + plotter: { + devTeam: "AAMasters", + repo: "AAMariam-Plotter", + moduleName: "History", + target: "Timeline" + } + }] + }, { + codeName: "Trading Details", + displayName: "Mariam Trading Details", + description: "Detailed information about Mariam execution.", + storageAccount: "aamariam", + filePath: "@Exchange/Mariam/dataSet.V1/Output/Trading-Process//@Year/@Month/@Day/@Hour/@Minute", + fileName: "Execution.Context.json", + exchangeList: { + exchange: [{ + name: "Poloniex", + datetimeRange: { + minDatetime: "2017-02-19 19:15:00.000 GMT+0000", + maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" + } + }] + }, + layers: [{ codeName: "Trading Details", displayName: "Mariam Trading Details", - description: "Detailed information about Mariam execution.", - storageAccount: "aamariam", - filePath: "@Exchange/Mariam/dataSet.V1/Output/Trading-Process//@Year/@Month/@Day/@Hour/@Minute", - fileName: "Execution.Context.json", - exchangeList: { - exchange: [{ - name: "Poloniex", - datetimeRange: { - minDatetime: "2017-02-19 19:15:00.000 GMT+0000", - maxDatetime: "2018-02-13 10:10:00.000 GMT+0000" - } - }] - }, - layers: { - layer: [{ - codeName: "Trading Details", - displayName: "Mariam Trading Details", - exchangeList: ["Poloniex"], - validPeriods: ["24-hs", "12-hs", "08-hs", "06-hs", "04-hs", "03-hs", "02-hs", "01-hs"], - plotter: { - devTeam: "AAMasters", - repo: "AAMariam-Plotter", - moduleName: "Details", - target: "Timeline" - } - }] + exchangeList: ["Poloniex"], + validPeriods: ["24-hs", "12-hs", "08-hs", "06-hs", "04-hs", "03-hs", "02-hs", "01-hs"], + plotter: { + devTeam: "AAMasters", + repo: "AAMariam-Plotter", + moduleName: "Details", + target: "Timeline" } }] - }, - processes: - { - process: [{ - name: "Trading-Process", - description: "Read trades files and generates one minute candles and volumes files for each day." + }] + , + processes: + { + process: [{ + name: "Trading-Process", + description: "Read trades files and generates one minute candles and volumes files for each day." + }] + }, + directDependencies: [], + directDependents: [], + collaboratorsList: [], + github: { + org: "AAMasters", + repos: { + repo: [{ + name: "AABruce", + description: "Produces two data-sets with candles and volumes for all markets at all exchanges.", + openIssues: 0, + openPullRequests: 0, + contributors: 1 }] - }, - directDependencies: [], - directDependents: [], - collaboratorsList: [], - github: { - org: "AAMasters", - repos: { - repo: [{ - name: "AABruce", - description: "Produces two data-sets with candles and volumes for all markets at all exchanges.", - openIssues: 0, - openPullRequests: 0, - contributors: 1 - }] - } - }, - storage: { - sas: '?sv=2017-07-29&ss=f&srt=sco&sp=r&se=2018-12-30T23:44:52Z&st=2018-02-25T15:44:52Z&spr=https&sig=0pzOTcVAAOkgH7C4KmA1Rbs15kyjvVC1XFCsLQYjXKU%3D', - fileUri: 'https://' + 'aamariam' + '.file.core.windows.net' } + }, + storage: { + sas: '?sv=2017-07-29&ss=f&srt=sco&sp=r&se=2018-12-30T23:44:52Z&st=2018-02-25T15:44:52Z&spr=https&sig=0pzOTcVAAOkgH7C4KmA1Rbs15kyjvVC1XFCsLQYjXKU%3D', + fileUri: 'https://' + 'aamariam' + '.file.core.windows.net' } - ] - } - }] + } + ] + } } + ] + }; return ecosystem; @@ -471,11 +450,11 @@ function newEcosystem() { function getTeam(pTeamCodeName) { - for (let i = 0; i < ECOSYSTEM.devTeams.team.length; i++) { + for (let i = 0; i < ECOSYSTEM.devTeams.length; i++) { - if (ECOSYSTEM.devTeams.team[i].codeName === pTeamCodeName) { + if (ECOSYSTEM.devTeams[i].codeName === pTeamCodeName) { - return ECOSYSTEM.devTeams.team[i]; + return ECOSYSTEM.devTeams[i]; } } } @@ -493,22 +472,22 @@ function newEcosystem() { function getProduct(pBot, pProductCodeName) { - for (let i = 0; i < pBot.products.product.length; i++) { + for (let i = 0; i < pBot.products.length; i++) { - if (pBot.products.product[i].codeName === pProductCodeName) { + if (pBot.products[i].codeName === pProductCodeName) { - return pBot.products.product[i]; + return pBot.products[i]; } } } function getLayer(pProduct, pLayerCodeName) { - for (let i = 0; i < pProduct.layers.layer.length; i++) { + for (let i = 0; i < pProduct.layers.length; i++) { - if (pProduct.layers.layer[i].codeName === pLayerCodeName) { + if (pProduct.layers[i].codeName === pLayerCodeName) { - return pProduct.layers.layer[i]; + return pProduct.layers[i]; } } } @@ -524,5 +503,14 @@ function newEcosystem() { } } + function getLayers() { + + for (let i = 0; i < ecosystem.devTeams.length; i++) { + + + } + + } + } diff --git a/Panels/ChartLayersPanel.js b/Panels/ChartLayersPanel.js index 189d6673d..282678fd2 100644 --- a/Panels/ChartLayersPanel.js +++ b/Panels/ChartLayersPanel.js @@ -26,7 +26,7 @@ function newChartLayersPanel() { LINEAR_REGRESION_CURVE: 'Linear Regression Curve' }; - var chartLayersPanel = { + var panel = { container: undefined, buttons: undefined, getLayerStatus: getLayerStatus, @@ -40,16 +40,15 @@ function newChartLayersPanel() { container.initialize(); container.isDraggeable = true; container.isZoomeable = false; - chartLayersPanel.container = container; - chartLayersPanel.container.frame.containerName = "Chart Layers Panel"; + panel.container = container; + panel.container.frame.containerName = "Chart Layers Panel"; let isInitialized = false; let buttons; - return chartLayersPanel; - - + let layers = new Map(); + return panel; function initialize() { @@ -63,6 +62,11 @@ function newChartLayersPanel() { this.container.frame.position = position; + /* First thing is to build the layers Map */ + + + + var buttonPosition; var buttonNames = [ @@ -101,7 +105,7 @@ function newChartLayersPanel() { buttonPosition = { // The first textButton x: 10, - y: chartLayersPanel.container.frame.height - chartLayersPanel.container.frame.getBodyHeight() + y: panel.container.frame.height - panel.container.frame.getBodyHeight() }; textButton.container.frame.position.x = buttonPosition.x; textButton.container.frame.position.y = buttonPosition.y + lastY; @@ -131,16 +135,15 @@ function newChartLayersPanel() { status: textButton.status } - chartLayersPanel.container.eventHandler.raiseEvent('Layer Status Changed', eventData); + panel.container.eventHandler.raiseEvent('Layer Status Changed', eventData); } - chartLayersPanel.buttons = buttons; + panel.buttons = buttons; isInitialized = true; } - function getLayerStatus(layerName) { for (let i = 0; i < buttons.length; i++) { @@ -158,7 +161,6 @@ function newChartLayersPanel() { return BUTTONS_STATES.OFF; } - function getContainer(point) { @@ -197,55 +199,46 @@ function newChartLayersPanel() { } - - - function buttonPressed(event, buttonPressedIndex) { - switch (chartLayersPanel.buttons[buttonPressedIndex].status) { + switch (panel.buttons[buttonPressedIndex].status) { case BUTTONS_STATES.ON: - chartLayersPanel.buttons[buttonPressedIndex].status = BUTTONS_STATES.INVISIBLE; + panel.buttons[buttonPressedIndex].status = BUTTONS_STATES.INVISIBLE; break; case BUTTONS_STATES.INVISIBLE: - chartLayersPanel.buttons[buttonPressedIndex].status = BUTTONS_STATES.OFF; + panel.buttons[buttonPressedIndex].status = BUTTONS_STATES.OFF; break; case BUTTONS_STATES.OFF: - chartLayersPanel.buttons[buttonPressedIndex].status = BUTTONS_STATES.ON; + panel.buttons[buttonPressedIndex].status = BUTTONS_STATES.ON; break; } let eventData = { - layer: chartLayersPanel.buttons[buttonPressedIndex].type, - status: chartLayersPanel.buttons[buttonPressedIndex].status + layer: panel.buttons[buttonPressedIndex].type, + status: panel.buttons[buttonPressedIndex].status } - chartLayersPanel.container.eventHandler.raiseEvent('Layer Status Changed', eventData); + panel.container.eventHandler.raiseEvent('Layer Status Changed', eventData); - window.localStorage.setItem(chartLayersPanel.buttons[buttonPressedIndex].type, chartLayersPanel.buttons[buttonPressedIndex].status); + window.localStorage.setItem(panel.buttons[buttonPressedIndex].type, panel.buttons[buttonPressedIndex].status); } - - function draw() { if (isInitialized === false) {return;} - chartLayersPanel.container.frame.draw(false, false, true); + panel.container.frame.draw(false, false, true); - for (var i = 0; i < chartLayersPanel.buttons.length; i++) { - chartLayersPanel.buttons[i].draw(); + for (var i = 0; i < panel.buttons.length; i++) { + panel.buttons[i].draw(); } } - - - - } \ No newline at end of file diff --git a/server.js b/server.js index 069cfb7ef..2ddfe3e83 100644 --- a/server.js +++ b/server.js @@ -30,7 +30,7 @@ function onContent (error, result) { return; */ -let debugMode = false; +let debugMode = true; let githubPages = new Map; //'use strict';