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

git pu

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