Commit c5ee3b13 authored by Ahmad Nemati's avatar Ahmad Nemati

git pu

parent 3b3ebdfe
function run(data, vars) { function run(data,avgRunup,avgDrawdown, vars) {
let avgRunup = 0
let avgDrawdown = 0
let avgProfit = 0
let countDrop = 0 let countDrop = 0
let allLossProfit = 0 let allLossProfit = 0
...@@ -47,23 +46,10 @@ function run(data, vars) { ...@@ -47,23 +46,10 @@ function run(data, vars) {
let VarProfitRunupZeroRunupDrawDown = 0 let VarProfitRunupZeroRunupDrawDown = 0
if (data.length > 3) {
for (let i = 0; i < data.length; i++) {
avgProfit = avgProfit + data[i].profit
avgDrawdown = avgDrawdown + data[i].drawDown
avgRunup = avgRunup + data[i].runUp
}
avgProfit = avgProfit / data.length
avgRunup = avgRunup / data.length
avgDrawdown = avgDrawdown / data.length
}
if (vars) { if (vars) {
avgProfit = vars.avgProfit
avgDrawdown = vars.avgDrawdown
avgRunup = vars.avgRunup
countDrop = vars.countDrop countDrop = vars.countDrop
allLossProfit = vars.allLossProfit allLossProfit = vars.allLossProfit
RunUpDrawDownAllLossProfit = vars.RunUpDrawDownAllLossProfit RunUpDrawDownAllLossProfit = vars.RunUpDrawDownAllLossProfit
...@@ -244,10 +230,7 @@ function run(data, vars) { ...@@ -244,10 +230,7 @@ function run(data, vars) {
VarProfitZeroRunupDrawDown, VarProfitZeroRunupDrawDown,
diffDrawdownProfitAll, diffDrawdownProfitAll,
countDrop, countDrop,
ProfitZeroDrawDownPercent, ProfitZeroDrawDownPercent
avgProfit,
avgDrawdown,
avgRunup
} }
......
...@@ -44,7 +44,9 @@ async function run() { ...@@ -44,7 +44,9 @@ async function run() {
if (!files[i].includes('id')) if (!files[i].includes('id'))
continue continue
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 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')
...@@ -53,13 +55,13 @@ async function run() { ...@@ -53,13 +55,13 @@ async function run() {
let data = grabData(lastFile) let data = grabData(lastFile)
let vars = ai.run(data) 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[5] let usage = sp[7]
let value = parseFloat(sp[6]) let value = parseFloat(sp[8])
//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)}) datas.push({name: files[i], size: stats.size, vars: vars, id: id, usage: usage, value: (-1 * value),avgRunup:avgRunup,avgDrawDown:avgDrawDown})
} }
// console.log(datas) // console.log(datas)
...@@ -147,7 +149,7 @@ async function updateVars(name) { ...@@ -147,7 +149,7 @@ async function updateVars(name) {
let data = grabData([lastData]) let data = grabData([lastData])
closer(sig,data[0].closeTime) closer(sig,data[0].closeTime)
let vars = ai.run(data, 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)
...@@ -157,7 +159,7 @@ async function updateVars(name) { ...@@ -157,7 +159,7 @@ async function updateVars(name) {
sig = allData.id + '_Sell' sig = allData.id + '_Sell'
else else
sig = allData.id + '_Buy' sig = allData.id + '_Buy'
adder(sig, 0.01, data[0].closeTime) adder(sig, 0.001, data[0].closeTime)
} }
// console.log(name,vars) // console.log(name,vars)
updateVarsFromName(name, vars) updateVarsFromName(name, vars)
...@@ -261,9 +263,9 @@ async function closer(sig,date) { ...@@ -261,9 +263,9 @@ async function closer(sig,date) {
qty = qty.qty qty = qty.qty
console.log('try reduce',sig,qty) console.log('try reduce',sig,qty)
if (sig.includes('Buy')) { if (sig.includes('Buy')) {
exchange.createMarketOrder('ETHUSDT', 'Sell', qty, 0, {reduceOnly: true,order_link_id: lastToken}) exchange.createMarketOrder('BTCUSDT', 'Sell', qty, 0, {reduceOnly: true,order_link_id: lastToken})
} else { } else {
exchange.createMarketOrder('ETHUSDT', 'Buy', qty, 0, {reduceOnly: true,order_link_id: lastToken}) exchange.createMarketOrder('BTCUSDT', 'Buy', qty, 0, {reduceOnly: true,order_link_id: lastToken})
} }
...@@ -275,7 +277,7 @@ async function adder(sig, qty, date) { ...@@ -275,7 +277,7 @@ async function adder(sig, qty, date) {
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('ETHUSDT', '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)
...@@ -285,7 +287,7 @@ async function adder(sig, qty, date) { ...@@ -285,7 +287,7 @@ async function adder(sig, qty, date) {
.exec(); .exec();
} }
} else { } else {
let d = await exchange.createMarketOrder('ETHUSDT', '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)
......
...@@ -5,17 +5,17 @@ ...@@ -5,17 +5,17 @@
// for (let i=0;i<t.length;i++) // for (let i=0;i<t.length;i++)
// console.log(i,t[i]) // console.log(i,t[i])
// let t='dynamic param:1.0 base:100 target:1000 targetPercentage:false RunupZeroDrawDown -1.5' let t='220525110858_O1_BTCUSDT_Lp994_BTCLp24148RZDD10_5.3109028571428585_-2.2305485714285695_RunupZeroDrawDown_1_BTC.csv'
// t=t.split(' ') t=t.split('_')
// console.log(t) console.log(t)
//
let t='ProfitDrawDownZeroDrawDown' // let t='ProfitDrawDownZeroDrawDown'
let f='' // let f=''
for (let j=0;j<t.length;j++) // for (let j=0;j<t.length;j++)
if (isUpper(t[j])) // if (isUpper(t[j]))
f=f+t[j] // f=f+t[j]
console.log(f) // console.log(f)
function isUpper(str) { function isUpper(str) {
return !/[a-z]/.test(str) && /[A-Z]/.test(str); return !/[a-z]/.test(str) && /[A-Z]/.test(str);
......
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