Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
ai
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
ai
Commits
966442e2
Commit
966442e2
authored
May 31, 2022
by
Ahmad Nemati
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
git pu
parent
1cddc9f8
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
85 additions
and
59 deletions
+85
-59
change.js
change.js
+75
-57
test_ccxt.js
test_ccxt.js
+1
-1
test_time.js
test_time.js
+9
-1
No files found.
change.js
View file @
966442e2
...
@@ -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,18 +55,27 @@ let fl=files[i].split('_')
...
@@ -55,18 +55,27 @@ 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)
...
@@ -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
{
})
try
{
}
catch
(
e
)
{
await
exchange
.
createMarketOrder
(
'
BTCUSDT
'
,
'
Sell
'
,
qty
,
0
,
{
reduceOnly
:
true
,
order_link_id
:
lastToken
})
try
{
}
d
=
await
exchange
.
createMarketOrder
(
'
BTCUSDT
'
,
'
Sell
'
,
qty
,
0
,
{
catch
(
e
)
reduceOnly
:
true
,
{
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
{
{
d
=
await
exchange
.
createMarketOrder
(
'
BTCUSDT
'
,
'
Buy
'
,
qty
,
0
,
{
try
{
reduceOnly
:
true
,
await
exchange
.
createMarketOrder
(
'
BTCUSDT
'
,
'
Buy
'
,
qty
,
0
,
{
reduceOnly
:
true
,
order_link_id
:
lastToken
})
order_link_id
:
lastToken
}
})
catch
(
e
)
}
catch
(
e
)
{
{
console
.
log
(
'
Error ->
'
,
sig
,
qty
,
'
Buy
'
)
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
}
test_ccxt.js
View file @
966442e2
...
@@ -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}))
...
...
test_time.js
View file @
966442e2
...
@@ -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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment