Commit 2bef73d1 authored by Ahmad Nemati's avatar Ahmad Nemati

git pull

parent a6ae3ffc
let fs=require('fs') let fs = require('fs')
var cors = require('cors') var cors = require('cors')
const _=require('lodash')
let express = require('express'); let express = require('express');
let moment = require('moment-timezone') let moment = require('moment-timezone')
...@@ -14,7 +15,6 @@ let server = require('http').createServer(app); ...@@ -14,7 +15,6 @@ let server = require('http').createServer(app);
let port = 80; let port = 80;
app.use(cors()) app.use(cors())
app.use(bodyParser.text()); app.use(bodyParser.text());
server.listen(port, () => { server.listen(port, () => {
...@@ -24,7 +24,6 @@ server.listen(port, () => { ...@@ -24,7 +24,6 @@ server.listen(port, () => {
}) })
app.post('/signal', (req, res) => { app.post('/signal', (req, res) => {
res.send('Done') res.send('Done')
...@@ -36,46 +35,49 @@ app.post('/signal', (req, res) => { ...@@ -36,46 +35,49 @@ app.post('/signal', (req, res) => {
}) })
function analyse(body) async function analyse(body) {
{ let t = body.split(',')
let t=body.split(',') let obj = {}
let obj={} obj.symbol = t[0]
obj.symbol=t[0] obj.entry = parseFloat(t[1])
obj.entry=parseFloat(t[1]) obj.exit = parseFloat(t[2])
obj.exit=parseFloat(t[2]) obj.side = t[3]
obj.side=t[3] obj.timeframe = t[4]
obj.timeframe=t[4] obj.runUp = parseFloat(t[5])
obj.runUp=parseFloat(t[5]) obj.drawDown = parseFloat(t[6])
obj.drawDown=parseFloat(t[6]) obj.profit = getPercent(obj.entry, obj.exit)
obj.profit=getPercent(obj.entry,obj.exit) obj.runUp = getPercent(obj.entry, (obj.runUp + obj.entry))
obj.runUp=getPercent(obj.entry,(obj.runUp+obj.entry)) obj.drawDown = getPercent(obj.entry, (obj.drawDown + obj.entry))
obj.drawDown=getPercent(obj.entry,(obj.drawDown+obj.entry)) obj.closeTime = moment().utc().format('YYYY.MM.DD HH:mm') + ':00.000'
obj.closeTime=moment().utc().format('YYYY.MM.DD HH:mm')+':00.000' let indicator = ''
let indicator='' for (let i = 7; i < t.length; i++) {
for (let i=7;i<t.length;i++) {
indicator = indicator + t[i] indicator = indicator + t[i]
if (i !== t.length-1) if (i !== t.length - 1)
indicator=indicator+'&' indicator = indicator + '&'
} }
//Ticket,Open_Time,Type,Symbol,Open_Price,Close_Price,Close_Time,dPrfPipWrtOpPrPc,dAgeHiPrfInPrPc_RunUpPc,dAgeLoPrfInPrPc_DrawDownPc //Ticket,Open_Time,Type,Symbol,Open_Price,Close_Price,Close_Time,dPrfPipWrtOpPrPc,dAgeHiPrfInPrPc_RunUpPc,dAgeLoPrfInPrPc_DrawDownPc
let final='0,00:00,' let final = '0,00:00,'
if (obj.side ==='Long') if (obj.side === 'Long')
final=final+'Buy' final = final + 'Buy'
else else
final=final+'Sell' final = final + 'Sell'
final=final+',' final = final + ','
final=final+obj.entry+','+obj.exit+','+obj.closeTime+','+obj.profit+','+obj.runUp+','+obj.drawDown final = final + obj.entry + ',' + obj.exit + ',' + obj.closeTime + ',' + obj.profit + ',' + obj.runUp + ',' + obj.drawDown
appendCsv(final,indicator) let file = await fs.readFileSync('temp/' + indicator + '.csv', 'utf8')
file = file.match(/.+/g)
if (file.length > 2 && file[file.length - 2].includes(obj.side))
appendCsv(final, indicator)
} }
function appendCsv(data,name) { function appendCsv(data, name) {
fs.appendFile('temp/'+name+'.csv', data + '\n', function (err) { fs.appendFile('temp/' + name + '.csv', data + '\n', function (err) {
if (err) throw err; if (err) throw err;
}); });
} }
app.get('/', (req, res) => { app.get('/', (req, res) => {
res.send('Done') res.send('Done')
......
let fs = require('fs') let fs = require('fs')
const _=require('lodash')
let candles let candles
reaD() reaD()
async function reaD() { async function reaD() {
candles = await fs.readFileSync('./csv/coin.csv', 'utf8') let file = await fs.readFileSync('temp.csv', 'utf8')
file = file.match(/.+/g)
console.log(file[file.length - 2])
// let end=candles.split('\n') // let end=candles.split('\n')
candles = candles.match(/.+/g)
let arr = []
for (let i = 1; i < candles.length; i++) {
let t = candles[i].split(',')
arr.push({
t: parseFloat(t[0]),
o: parseFloat(t[1]),
h: parseFloat(t[2]),
l: parseFloat(t[3]),
c: parseFloat(t[4])
})
}
candles = arr
// let d = calculateRunnigTime('LONG', 1547632800, 1577653500, 2.04)
// console.log(d)
let d= grabData(1547634300,1547635500)
console.log(d)
//
} }
function calculateRunnigTime(side, startTime, endTime, targetPrice) {
let arr = grabData(startTime, endTime)
let timeFrame = arr[1].t - arr[0].t
for (let i = 0; i < arr.length; i++) {
if (side === 'LONG') {
if (targetPrice <= arr[i].h)
return timeFrame * (i + 1)
} else {
if (targetPrice >= arr[i].l) {
return timeFrame * (i + 1)
}
}
}
}
function grabData(start, end) {
let arr = []
let indexStart = false
let timeFrame=300
let startIndex=(start -candles[0].t)/timeFrame
let endIndex=(end -candles[0].t)/timeFrame
for (let i = startIndex; i <= endIndex; i++) {
if (indexStart && candles[i].t <= end)
arr.push(candles[i])
else if (candles[i].t === start) {
indexStart = true
arr.push(candles[i])
}
}
return arr
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment