Commit 966442e2 authored by Ahmad Nemati's avatar Ahmad Nemati

git pu

parent 1cddc9f8
......@@ -44,9 +44,9 @@ async function run() {
if (!files[i].includes('Lp'))
continue
let fl=files[i].split('_')
let avgRunup=parseFloat(fl[5])
let avgDrawDown=parseFloat(fl[6])
let fl = files[i].split('_')
let avgRunup = parseFloat(fl[5])
let avgDrawDown = parseFloat(fl[6])
let lastFile = await fs.readFileSync(path + files[i], 'utf8')
let stats = await fs.statSync(path + files[i])
lastFile = lastFile.split('\n')
......@@ -55,18 +55,27 @@ let fl=files[i].split('_')
let data = grabData(lastFile)
let vars = ai.run(data,avgRunup,avgDrawDown)
let vars = ai.run(data, avgRunup, avgDrawDown)
let sp = files[i].split('_')
let id = sp[4]
let usage = sp[7]
let value = parseFloat(sp[8])
let qty=parseFloat(sp[9])
let qty = parseFloat(sp[9])
//console.log(vars.VarProfitDrawDownZeroProfit)
datas.push({name: files[i], size: stats.size, vars: vars, id: id, usage: usage, value: (-1 * value),avgRunup:avgRunup,avgDrawDown:avgDrawDown,qty:qty})
datas.push({
name: files[i],
size: stats.size,
vars: vars,
id: id,
usage: usage,
value: (-1 * value),
avgRunup: avgRunup,
avgDrawDown: avgDrawDown,
qty: qty
})
}
// console.log(datas)
// console.log(datas)
// console.log(datas)
......@@ -86,9 +95,9 @@ function grabData(data) {
let profit = parseFloat(d[7])
let runUp = parseFloat(d[8])
let drawDown = parseFloat(d[9])
let t=d[6]
t=t.split(':')
let closeTime = t[0]+':'+t[1]
let t = d[6]
t = t.split(':')
let closeTime = t[0] + ':' + t[1]
if (isNaN(profit))
continue
......@@ -103,8 +112,6 @@ function grabData(data) {
}
async function checker() {
let arr = []
// console.log('check')
......@@ -149,11 +156,10 @@ async function updateVars(name) {
sig = allData.id + '_Sell'
let data = grabData([lastData])
closer(sig,data[0].closeTime)
closer(sig, data[0].closeTime, data[0])
let vars = ai.run(data, allData.avgRunup,allData.avgDrawdown,getVarsFromName(name))
let vars = ai.run(data, allData.avgRunup, allData.avgDrawdown, getVarsFromName(name))
let varUsage = getVarFromUsage(vars, allData.usage)
console.log(allData.id, allData.usage, allData.value, varUsage)
......@@ -247,9 +253,9 @@ function getVarFromUsage(vars, usage) {
}
async function closer(sig,date) {
async function closer(sig, date, bigData) {
let lastToken = sig + '_2' + date
lastToken=lastToken.replace(/_/g, '').replace(/Lp/g, '').replace(/BTC/g, '').replace(/ /g, '')
lastToken = lastToken.replace(/_/g, '').replace(/Lp/g, '').replace(/BTC/g, '').replace(/ /g, '')
const [data, delStatus] = await client
.multi()
.get(sig)
......@@ -264,66 +270,74 @@ async function closer(sig,date) {
}
let qty = JSON.parse(data)
qty = qty.qty
console.log('try reduce',sig,qty)
let d
let newData = JSON.parse(data)
let qty = newData.qty
console.log('try reduce', sig, qty)
if (sig.includes('Buy')) {
try {
await exchange.createMarketOrder('BTCUSDT', 'Sell', qty, 0, {reduceOnly: true,order_link_id: lastToken})
}
catch (e)
{
try {
await exchange.createMarketOrder('BTCUSDT', 'Sell', qty, 0, {reduceOnly: true,order_link_id: lastToken})
}
catch (e)
{
console.log('Error ->',sig ,qty,'Sell','Reduce true')
}
}
try {
d = await exchange.createMarketOrder('BTCUSDT', 'Sell', qty, 0, {
reduceOnly: true,
order_link_id: lastToken
})
} catch (e) {
try {
d = await exchange.createMarketOrder('BTCUSDT', 'Sell', qty, 0, {
reduceOnly: true,
order_link_id: lastToken
})
} catch (e) {
console.log('Error ->', sig, qty, 'Sell', 'Reduce true')
}
}
} else {
try {
await exchange.createMarketOrder('BTCUSDT', 'Buy', qty, 0, {reduceOnly: true,order_link_id: lastToken})
}
catch (e)
{
try {
await exchange.createMarketOrder('BTCUSDT', 'Buy', qty, 0, {reduceOnly: true,order_link_id: lastToken})
}
catch (e)
{
console.log('Error ->',sig ,qty,'Buy')
}
}
try {
d = await exchange.createMarketOrder('BTCUSDT', 'Buy', qty, 0, {reduceOnly: true, order_link_id: lastToken})
} catch (e) {
try {
d = await exchange.createMarketOrder('BTCUSDT', 'Buy', qty, 0, {
reduceOnly: true,
order_link_id: lastToken
})
} catch (e) {
console.log('Error ->', sig, qty, 'Buy')
}
}
}
let profit = getCalculateProfit(newData.price,d.price)
if (newData.side ==='sell')
profit=profit*-1
console.log('bybit profit:',profit,'yashil profit:',bigData.profit,'diff:',profit-bigData.profit)
}
async function adder(sig, qty, date) {
let lastToken = sig + '_' + date
lastToken=lastToken.replace(/_/g, '').replace(/Lp/g, '').replace(/BTC/g, '').replace(/ /g, '')
console.log('Add db and ex :',lastToken)
lastToken = lastToken.replace(/_/g, '').replace(/Lp/g, '').replace(/BTC/g, '').replace(/ /g, '')
console.log('Add db and ex :', lastToken)
if (sig.includes('Buy')) {
let d = await exchange.createMarketOrder('BTCUSDT', 'Buy', qty, 0, {order_link_id: lastToken})
// console.log('Add Suc With id',sig)
if (typeof d.id !=="undefined") {
console.log('Suc Exchange id',d.id,sig)
// console.log('Add Suc With id',sig)
if (typeof d.id !== "undefined") {
console.log('Suc Exchange id', d.id, sig)
const [add] = await client
.multi()
.set(sig, JSON.stringify({pair:d.info.symbol,qty: d.amount,price:d.price}))
.set(sig, JSON.stringify({pair: d.info.symbol, side: d.side, qty: d.amount, price: d.price}))
.exec();
}
} else {
let d = await exchange.createMarketOrder('BTCUSDT', 'Sell', qty, 0, {order_link_id: lastToken})
// console.log('Add Suc With id',sig)
if (typeof d.id !=="undefined") {
console.log('Add Suc With id',d.id,sig)
// console.log('Add Suc With id',sig)
if (typeof d.id !== "undefined") {
console.log('Add Suc With id', d.id, sig)
const [add] = await client
.multi()
.set(sig, JSON.stringify({pair:d.info.symbol,qty: d.amount,price:d.price}))
.set(sig, JSON.stringify({pair: d.info.symbol, side: d.side, qty: d.amount, price: d.price}))
.exec();
}
}
......@@ -367,4 +381,8 @@ async function sleep(millis) {
return new Promise(resolve => setTimeout(resolve, millis));
}
function getCalculateProfit(basePrice, value) {
return ((value - basePrice) / basePrice) * 100
}
......@@ -34,7 +34,7 @@ async function test () {
let d = await exchange.createMarketOrder('ETHUSDT', 'Sell', 0.01, 0)
// console.log('Add Suc With id',sig)
console.log(d.info.symbol)
console.log(d)
// const [add] = await client
// .multi()
// .set(sig, JSON.stringify({qty: d.,price:d.price}))
......
......@@ -4,4 +4,12 @@ var startTime = performance.now()
var endTime = performance.now()
console.log(`Call to doSomething took ${endTime - startTime} milliseconds`)
\ No newline at end of file
//console.log(`Call to doSomething took ${endTime - startTime} milliseconds`)
console.log(getCalculateProfit(200,100))
function getCalculateProfit(basePrice, value) {
return ((value - basePrice) / basePrice) * 100
}
\ 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