Adjustments to doble the value
This commit is contained in:
1 parent
f712282529
commit
5fff4f93f9
2 files changed
+96
-113
No files matched your search
+14
-61
@@ -324,33 +324,7 @@
|
||||
|
||||
for (let i = 0; i < dailyFile.length; i++) {
|
||||
|
||||
let record = {
|
||||
begin: undefined,
|
||||
end: undefined,
|
||||
type: undefined,
|
||||
rate: undefined,
|
||||
amount: undefined,
|
||||
balanceA: undefined,
|
||||
balanceB: undefined,
|
||||
profit: undefined,
|
||||
lastProfit: undefined,
|
||||
stopLoss: undefined,
|
||||
roundtrips: undefined,
|
||||
hits: undefined,
|
||||
fails: undefined,
|
||||
hitRatio: undefined,
|
||||
ROI: undefined,
|
||||
periods: undefined,
|
||||
days: undefined,
|
||||
anualizedRateOfReturn: undefined,
|
||||
sellRate: undefined,
|
||||
lastProfitPercent: undefined,
|
||||
strategy: undefined,
|
||||
strategyPhase: undefined,
|
||||
buyOrder: undefined,
|
||||
stopLossPhase: undefined,
|
||||
buyOrderPhase: undefined
|
||||
};
|
||||
let record = {};
|
||||
|
||||
record.begin = dailyFile[i][0];
|
||||
record.end = dailyFile[i][1];
|
||||
@@ -377,6 +351,7 @@
|
||||
record.buyOrder = dailyFile[i][22];
|
||||
record.stopLossPhase = dailyFile[i][23];
|
||||
record.buyOrderPhase = dailyFile[i][24];
|
||||
record.sellAmount = dailyFile[i][26]; // 25 is the message for the executor
|
||||
|
||||
if (record.begin >= farLeftDate.valueOf() && record.end <= farRightDate.valueOf()) {
|
||||
|
||||
@@ -439,33 +414,7 @@
|
||||
|
||||
for (let i = 0; i < marketFile.length; i++) {
|
||||
|
||||
let record = {
|
||||
begin: undefined,
|
||||
end: undefined,
|
||||
type: undefined,
|
||||
rate: undefined,
|
||||
amount: undefined,
|
||||
balanceA: undefined,
|
||||
balanceB: undefined,
|
||||
profit: undefined,
|
||||
lastProfit: undefined,
|
||||
stopLoss: undefined,
|
||||
roundtrips: undefined,
|
||||
hits: undefined,
|
||||
fails: undefined,
|
||||
hitRatio: undefined,
|
||||
ROI: undefined,
|
||||
periods: undefined,
|
||||
days: undefined,
|
||||
anualizedRateOfReturn: undefined,
|
||||
sellRate: undefined,
|
||||
lastProfitPercent: undefined,
|
||||
strategy: undefined,
|
||||
strategyPhase: undefined,
|
||||
buyOrder: undefined,
|
||||
stopLossPhase: undefined,
|
||||
buyOrderPhase: undefined
|
||||
};
|
||||
let record = {};
|
||||
|
||||
record.begin = marketFile[i][0];
|
||||
record.end = marketFile[i][1];
|
||||
@@ -492,6 +441,7 @@
|
||||
record.buyOrder = marketFile[i][22];
|
||||
record.stopLossPhase = marketFile[i][23];
|
||||
record.buyOrderPhase = marketFile[i][24];
|
||||
record.sellAmount = marketFile[i][26]; // 25 is the message for the executor
|
||||
|
||||
if (record.begin >= leftDate.valueOf() && record.end <= rightDate.valueOf()) {
|
||||
|
||||
@@ -554,7 +504,7 @@
|
||||
|
||||
/* Now we calculate and plot the records */
|
||||
|
||||
for (let i = 1; i < records.length; i++) { // We do not start in 0 so as to be able to read the previous record i - 1
|
||||
for (let i = 0; i < records.length; i++) { // We do not start in 0 so as to be able to read the previous record i - 1
|
||||
|
||||
record = records[i];
|
||||
|
||||
@@ -567,16 +517,18 @@
|
||||
};
|
||||
thisObject.container.eventHandler.raiseEvent("Current Record Changed", currentRecord);
|
||||
}
|
||||
|
||||
|
||||
let stopLossPhase = 0;
|
||||
let buyOrderPhase = 0;
|
||||
|
||||
if (record.stopLossPhase !== records[i - 1].stopLossPhase) {
|
||||
stopLossPhase = record.stopLossPhase;
|
||||
}
|
||||
if (i > 0) {
|
||||
if (record.stopLossPhase !== records[i - 1].stopLossPhase) {
|
||||
stopLossPhase = record.stopLossPhase;
|
||||
}
|
||||
|
||||
if (record.buyOrderPhase !== records[i - 1].buyOrderPhase) {
|
||||
buyOrderPhase = record.buyOrderPhase;
|
||||
if (record.buyOrderPhase !== records[i - 1].buyOrderPhase) {
|
||||
buyOrderPhase = record.buyOrderPhase;
|
||||
}
|
||||
}
|
||||
|
||||
let recordPoint4 = {
|
||||
@@ -811,5 +763,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+82
-52
@@ -6,7 +6,8 @@ function newAAMastersPlottersTradingSimulationTradingSimulationTradingSimulation
|
||||
container: undefined,
|
||||
draw: draw,
|
||||
getContainer: getContainer,
|
||||
initialize: initialize
|
||||
initialize: initialize,
|
||||
finalize: finalize
|
||||
};
|
||||
|
||||
let container = newContainer();
|
||||
@@ -39,6 +40,13 @@ function newAAMastersPlottersTradingSimulationTradingSimulationTradingSimulation
|
||||
|
||||
}
|
||||
|
||||
function finalize() {
|
||||
|
||||
canvas.bottomSpace.destroyControl(controlHandler)
|
||||
controlHandler = undefined
|
||||
|
||||
}
|
||||
|
||||
function getContainer(point) {
|
||||
|
||||
var container;
|
||||
@@ -202,8 +210,9 @@ function newAAMastersPlottersTradingSimulationTradingSimulationTradingSimulation
|
||||
|
||||
params = {}
|
||||
params.VALUE = currentRecord.innerRecord.balanceA;
|
||||
params.INIT_VALUE = 1
|
||||
params.MIN_VALUE = 0.5
|
||||
params.MAX_VALUE = 1
|
||||
params.MAX_VALUE = 2
|
||||
params.ASSET_LABEL = 'Asset A'
|
||||
params.ASSET_NAME = DEFAULT_MARKET.assetB + ' '
|
||||
params.LEFT_OFFSET = 100
|
||||
@@ -213,7 +222,8 @@ function newAAMastersPlottersTradingSimulationTradingSimulationTradingSimulation
|
||||
params = {}
|
||||
params.VALUE = currentRecord.innerRecord.balanceB;
|
||||
params.MIN_VALUE = 0
|
||||
params.MAX_VALUE = 6000
|
||||
params.INIT_VALUE = currentRecord.innerRecord.rate * currentRecord.innerRecord.sellAmount;
|
||||
params.MAX_VALUE = params.INIT_VALUE * 2;
|
||||
params.ASSET_LABEL = 'Asset B'
|
||||
params.ASSET_NAME = DEFAULT_MARKET.assetA + ' '
|
||||
params.LEFT_OFFSET = 220
|
||||
@@ -241,7 +251,7 @@ function newAAMastersPlottersTradingSimulationTradingSimulationTradingSimulation
|
||||
|
||||
fontSize = 15;
|
||||
|
||||
browserCanvasContext.font = "bold " + fontSize + 'px ' + UI_FONT.WHITE + ' Saira';
|
||||
browserCanvasContext.font = "bold " + fontSize + 'px ' + UI_FONT.PRIMARY
|
||||
|
||||
label = 'ASSET BALANCES'
|
||||
|
||||
@@ -290,34 +300,58 @@ function newAAMastersPlottersTradingSimulationTradingSimulationTradingSimulation
|
||||
|
||||
const DEFAULT_THICKNESS = 2;
|
||||
const VALUE_THICKNESS = 4;
|
||||
const VALUE_BG_THICKNESS = 1;
|
||||
const BAR_RADIOUS = RADIOUS * 0.9;
|
||||
const BAR_START_ANGLE = 0.9 * Math.PI;
|
||||
const BAR_END_ANGLE = 2.1 * Math.PI;
|
||||
const CURRENT_VALUE_ANGLE = params.VALUE * (BAR_END_ANGLE - BAR_START_ANGLE) / params.MAX_VALUE + BAR_START_ANGLE
|
||||
const MIN_VALUE_ANGLE = params.MIN_VALUE * (BAR_END_ANGLE - BAR_START_ANGLE) / params.MAX_VALUE + BAR_START_ANGLE
|
||||
let PROFIT_VALUE_ANGLE = (params.VALUE - params.MAX_VALUE) * (BAR_END_ANGLE - BAR_START_ANGLE) / params.MAX_VALUE + BAR_START_ANGLE
|
||||
|
||||
if (PROFIT_VALUE_ANGLE > BAR_END_ANGLE) { PROFIT_VALUE_ANGLE = BAR_END_ANGLE }
|
||||
let BAR_START_ANGLE = 0.9 * Math.PI;
|
||||
let BAR_END_ANGLE = 2.1 * Math.PI;
|
||||
let CURRENT_VALUE_ANGLE = params.VALUE * (BAR_END_ANGLE - BAR_START_ANGLE) / params.MAX_VALUE + BAR_START_ANGLE
|
||||
let MIN_VALUE_ANGLE = params.MIN_VALUE * (BAR_END_ANGLE - BAR_START_ANGLE) / params.MAX_VALUE + BAR_START_ANGLE
|
||||
let INIT_VALUE_ANGLE = params.INIT_VALUE * (BAR_END_ANGLE - BAR_START_ANGLE) / params.MAX_VALUE + BAR_START_ANGLE
|
||||
let PROFIT_VALUE_ANGLE = CURRENT_VALUE_ANGLE
|
||||
|
||||
browserCanvasContext.setLineDash([0, 0])
|
||||
if (CURRENT_VALUE_ANGLE > INIT_VALUE_ANGLE) { CURRENT_VALUE_ANGLE = INIT_VALUE_ANGLE }
|
||||
|
||||
browserCanvasContext.beginPath();
|
||||
browserCanvasContext.arc(centerPoint.x, centerPoint.y, BAR_RADIOUS, BAR_START_ANGLE, MIN_VALUE_ANGLE)
|
||||
if (params.VALUE > 0) {
|
||||
|
||||
browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.TITANIUM_YELLOW + ', ' + OPACITY + ')'
|
||||
browserCanvasContext.lineWidth = DEFAULT_THICKNESS
|
||||
browserCanvasContext.stroke()
|
||||
browserCanvasContext.closePath();
|
||||
browserCanvasContext.setLineDash([0, 0])
|
||||
|
||||
browserCanvasContext.beginPath();
|
||||
browserCanvasContext.arc(centerPoint.x, centerPoint.y, BAR_RADIOUS, MIN_VALUE_ANGLE, BAR_END_ANGLE)
|
||||
browserCanvasContext.beginPath();
|
||||
browserCanvasContext.arc(centerPoint.x, centerPoint.y, BAR_RADIOUS, BAR_START_ANGLE, MIN_VALUE_ANGLE)
|
||||
|
||||
browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.WHITE + ', ' + OPACITY + ')'
|
||||
browserCanvasContext.lineWidth = DEFAULT_THICKNESS
|
||||
browserCanvasContext.stroke()
|
||||
browserCanvasContext.closePath();
|
||||
browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.TITANIUM_YELLOW + ', ' + OPACITY + ')'
|
||||
browserCanvasContext.lineWidth = VALUE_BG_THICKNESS
|
||||
browserCanvasContext.stroke()
|
||||
browserCanvasContext.closePath();
|
||||
|
||||
if (params.VALUE > 0 && params.VALUE <= params.MAX_VALUE) {
|
||||
browserCanvasContext.beginPath();
|
||||
browserCanvasContext.arc(centerPoint.x, centerPoint.y, BAR_RADIOUS, MIN_VALUE_ANGLE, CURRENT_VALUE_ANGLE)
|
||||
|
||||
browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.WHITE + ', ' + OPACITY + ')'
|
||||
browserCanvasContext.lineWidth = VALUE_BG_THICKNESS
|
||||
browserCanvasContext.stroke()
|
||||
browserCanvasContext.closePath();
|
||||
|
||||
browserCanvasContext.beginPath();
|
||||
browserCanvasContext.arc(centerPoint.x, centerPoint.y, BAR_RADIOUS, CURRENT_VALUE_ANGLE, INIT_VALUE_ANGLE)
|
||||
|
||||
browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.RED + ', ' + OPACITY + ')'
|
||||
browserCanvasContext.lineWidth = VALUE_BG_THICKNESS
|
||||
browserCanvasContext.stroke()
|
||||
browserCanvasContext.closePath();
|
||||
|
||||
if (PROFIT_VALUE_ANGLE > INIT_VALUE_ANGLE) {
|
||||
|
||||
browserCanvasContext.beginPath();
|
||||
browserCanvasContext.arc(centerPoint.x, centerPoint.y, BAR_RADIOUS, INIT_VALUE_ANGLE, PROFIT_VALUE_ANGLE)
|
||||
|
||||
browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.GREEN + ', ' + OPACITY + ')'
|
||||
browserCanvasContext.lineWidth = VALUE_BG_THICKNESS
|
||||
browserCanvasContext.stroke()
|
||||
browserCanvasContext.closePath();
|
||||
}
|
||||
|
||||
browserCanvasContext.setLineDash([2, 3])
|
||||
|
||||
browserCanvasContext.beginPath();
|
||||
browserCanvasContext.arc(centerPoint.x, centerPoint.y, BAR_RADIOUS, BAR_START_ANGLE, MIN_VALUE_ANGLE)
|
||||
@@ -336,33 +370,23 @@ function newAAMastersPlottersTradingSimulationTradingSimulationTradingSimulation
|
||||
browserCanvasContext.closePath();
|
||||
|
||||
browserCanvasContext.beginPath();
|
||||
browserCanvasContext.arc(centerPoint.x, centerPoint.y, BAR_RADIOUS, CURRENT_VALUE_ANGLE, BAR_END_ANGLE)
|
||||
browserCanvasContext.arc(centerPoint.x, centerPoint.y, BAR_RADIOUS, CURRENT_VALUE_ANGLE, INIT_VALUE_ANGLE)
|
||||
|
||||
browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.RED + ', ' + OPACITY + ')'
|
||||
browserCanvasContext.lineWidth = DEFAULT_THICKNESS
|
||||
browserCanvasContext.stroke()
|
||||
browserCanvasContext.closePath();
|
||||
|
||||
}
|
||||
|
||||
if (params.VALUE > params.MAX_VALUE) {
|
||||
|
||||
browserCanvasContext.beginPath();
|
||||
browserCanvasContext.arc(centerPoint.x, centerPoint.y, BAR_RADIOUS, BAR_START_ANGLE, BAR_END_ANGLE)
|
||||
|
||||
browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.WHITE + ', ' + OPACITY + ')'
|
||||
browserCanvasContext.lineWidth = DEFAULT_THICKNESS
|
||||
browserCanvasContext.stroke()
|
||||
browserCanvasContext.closePath();
|
||||
|
||||
browserCanvasContext.beginPath();
|
||||
browserCanvasContext.arc(centerPoint.x, centerPoint.y, BAR_RADIOUS, BAR_START_ANGLE, PROFIT_VALUE_ANGLE)
|
||||
|
||||
browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.GREEN + ', ' + OPACITY + ')'
|
||||
browserCanvasContext.lineWidth = VALUE_THICKNESS
|
||||
browserCanvasContext.stroke()
|
||||
browserCanvasContext.closePath();
|
||||
|
||||
if (PROFIT_VALUE_ANGLE > INIT_VALUE_ANGLE) {
|
||||
|
||||
browserCanvasContext.beginPath();
|
||||
browserCanvasContext.arc(centerPoint.x, centerPoint.y, BAR_RADIOUS, INIT_VALUE_ANGLE, PROFIT_VALUE_ANGLE)
|
||||
|
||||
browserCanvasContext.strokeStyle = 'rgba(' + UI_COLOR.GREEN + ', ' + OPACITY + ')'
|
||||
browserCanvasContext.lineWidth = VALUE_THICKNESS
|
||||
browserCanvasContext.stroke()
|
||||
browserCanvasContext.closePath();
|
||||
}
|
||||
}
|
||||
|
||||
/* Common Variables */
|
||||
@@ -376,18 +400,18 @@ function newAAMastersPlottersTradingSimulationTradingSimulationTradingSimulation
|
||||
|
||||
fontSize = 25;
|
||||
|
||||
browserCanvasContext.font = "bold " + fontSize + 'px ' + UI_FONT.WHITE + ' Saira';
|
||||
browserCanvasContext.font = "bold " + fontSize + 'px ' + UI_FONT.PRIMARY
|
||||
|
||||
label = params.VALUE;
|
||||
if (isNaN(label) === false) {
|
||||
label = Number(label);
|
||||
label = label.toLocaleString();
|
||||
if (label === 0) { label = label.toFixed(2) } else { label = label.toLocaleString() }
|
||||
}
|
||||
|
||||
label = label.substring(0, 5);
|
||||
|
||||
|
||||
xOffset = label.length / 2 * fontSize * FONT_ASPECT_RATIO;
|
||||
xOffset = label.length / 2 * fontSize * FONT_ASPECT_RATIO + 10;
|
||||
|
||||
labelPoint = {
|
||||
x: centerPoint.x - xOffset,
|
||||
@@ -401,11 +425,11 @@ function newAAMastersPlottersTradingSimulationTradingSimulationTradingSimulation
|
||||
|
||||
fontSize = 15;
|
||||
|
||||
browserCanvasContext.font = "bold " + fontSize + 'px ' + UI_FONT.WHITE + ' Saira';
|
||||
browserCanvasContext.font = "bold " + fontSize + 'px ' + UI_FONT.PRIMARY
|
||||
|
||||
label = params.ASSET_LABEL;
|
||||
|
||||
xOffset = label.length / 2 * fontSize * FONT_ASPECT_RATIO;
|
||||
xOffset = label.length / 2 * fontSize * FONT_ASPECT_RATIO + 7;
|
||||
yOffset = 22
|
||||
|
||||
labelPoint = {
|
||||
@@ -420,11 +444,11 @@ function newAAMastersPlottersTradingSimulationTradingSimulationTradingSimulation
|
||||
|
||||
fontSize = 15;
|
||||
|
||||
browserCanvasContext.font = "bold " + fontSize + 'px ' + UI_FONT.WHITE + ' Saira';
|
||||
browserCanvasContext.font = "bold " + fontSize + 'px ' + UI_FONT.PRIMARY
|
||||
|
||||
label = params.ASSET_NAME;
|
||||
|
||||
xOffset = label.length / 2 * fontSize * FONT_ASPECT_RATIO;
|
||||
xOffset = label.length / 2 * fontSize * FONT_ASPECT_RATIO + 5;
|
||||
yOffset = - 15
|
||||
|
||||
labelPoint = {
|
||||
@@ -447,3 +471,9 @@ function newAAMastersPlottersTradingSimulationTradingSimulationTradingSimulation
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user