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')
const _=require('lodash')
let express = require('express');
let moment = require('moment-timezone')
......@@ -14,7 +15,6 @@ let server = require('http').createServer(app);
let port = 80;
app.use(cors())
app.use(bodyParser.text());
server.listen(port, () => {
......@@ -24,7 +24,6 @@ server.listen(port, () => {
})
app.post('/signal', (req, res) => {
res.send('Done')
......@@ -36,46 +35,49 @@ app.post('/signal', (req, res) => {
})
function analyse(body)
{
let t=body.split(',')
let obj={}
obj.symbol=t[0]
obj.entry=parseFloat(t[1])
obj.exit=parseFloat(t[2])
obj.side=t[3]
obj.timeframe=t[4]
obj.runUp=parseFloat(t[5])
obj.drawDown=parseFloat(t[6])
obj.profit=getPercent(obj.entry,obj.exit)
obj.runUp=getPercent(obj.entry,(obj.runUp+obj.entry))
obj.drawDown=getPercent(obj.entry,(obj.drawDown+obj.entry))
obj.closeTime=moment().utc().format('YYYY.MM.DD HH:mm')+':00.000'
let indicator=''
for (let i=7;i<t.length;i++) {
async function analyse(body) {
let t = body.split(',')
let obj = {}
obj.symbol = t[0]
obj.entry = parseFloat(t[1])
obj.exit = parseFloat(t[2])
obj.side = t[3]
obj.timeframe = t[4]
obj.runUp = parseFloat(t[5])
obj.drawDown = parseFloat(t[6])
obj.profit = getPercent(obj.entry, obj.exit)
obj.runUp = getPercent(obj.entry, (obj.runUp + obj.entry))
obj.drawDown = getPercent(obj.entry, (obj.drawDown + obj.entry))
obj.closeTime = moment().utc().format('YYYY.MM.DD HH:mm') + ':00.000'
let indicator = ''
for (let i = 7; i < t.length; i++) {
indicator = indicator + t[i]
if (i !== t.length-1)
indicator=indicator+'&'
if (i !== t.length - 1)
indicator = indicator + '&'
}
//Ticket,Open_Time,Type,Symbol,Open_Price,Close_Price,Close_Time,dPrfPipWrtOpPrPc,dAgeHiPrfInPrPc_RunUpPc,dAgeLoPrfInPrPc_DrawDownPc
let final='0,00:00,'
if (obj.side ==='Long')
final=final+'Buy'
let final = '0,00:00,'
if (obj.side === 'Long')
final = final + 'Buy'
else
final=final+'Sell'
final=final+','
final=final+obj.entry+','+obj.exit+','+obj.closeTime+','+obj.profit+','+obj.runUp+','+obj.drawDown
appendCsv(final,indicator)
final = final + 'Sell'
final = final + ','
final = final + obj.entry + ',' + obj.exit + ',' + obj.closeTime + ',' + obj.profit + ',' + obj.runUp + ',' + obj.drawDown
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) {
fs.appendFile('temp/'+name+'.csv', data + '\n', function (err) {
function appendCsv(data, name) {
fs.appendFile('temp/' + name + '.csv', data + '\n', function (err) {
if (err) throw err;
});
}
app.get('/', (req, res) => {
res.send('Done')
......
let fs = require('fs')
const _=require('lodash')
let candles
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')
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