Commit 13133a6c authored by Ahmad Nemati's avatar Ahmad Nemati

init

parent 69ecd28f
...@@ -23,6 +23,7 @@ function run(data, config,risk,pfTrade) { ...@@ -23,6 +23,7 @@ function run(data, config,risk,pfTrade) {
let levels=[] let levels=[]
let dur = getMinDiff(data[0].openDate, data[data.length - 1].closeDate) let dur = getMinDiff(data[0].openDate, data[data.length - 1].closeDate)
let newP=dur/data.length let newP=dur/data.length
// console.log(data.length)
// console.log(newP) // console.log(newP)
if (pfTrade>newP) if (pfTrade>newP)
return null return null
......
...@@ -20,7 +20,7 @@ run() ...@@ -20,7 +20,7 @@ run()
async function run() async function run()
{ {
let obj={sort:'profitPerMonthDrawDown',alocatedReserve:3,alocatedReserveCompound:3,risk:0,start:1000,pfTrade:1} let obj={sort:'profitPerMonthDrawDown',alocatedReserve:3,alocatedReserveCompound:3,risk:0,start:10000,pfTrade:0.1}
let all=[] let all=[]
for (let i=0;i<arr.length;i++) for (let i=0;i<arr.length;i++)
all.push(add(arr[i])) all.push(add(arr[i]))
......
...@@ -3,6 +3,7 @@ let csv = require('./csv') ...@@ -3,6 +3,7 @@ let csv = require('./csv')
let _ = require('lodash') let _ = require('lodash')
let directory let directory
let csvFile let csvFile
let drawDown=[30,40,50]
//const perf = require('execution-time')(); //const perf = require('execution-time')();
run() run()
...@@ -36,6 +37,7 @@ async function run() { ...@@ -36,6 +37,7 @@ async function run() {
} }
// console.log(arr2) // console.log(arr2)
arr2 = _.without(arr2, undefined, null); arr2 = _.without(arr2, undefined, null);
generateBaseDrawDown(arr2)
arr2 = _.orderBy(arr2, ['profitPerMonthDrawDown'], ['desc']); arr2 = _.orderBy(arr2, ['profitPerMonthDrawDown'], ['desc']);
let arr20Max = [] let arr20Max = []
let arr1000Compound = [] let arr1000Compound = []
...@@ -115,6 +117,63 @@ async function run() { ...@@ -115,6 +117,63 @@ async function run() {
// console.log(d) // console.log(d)
} }
async function generateBaseDrawDown(arrLast)
{
for (let z=0;z<drawDown.length;z++)
{
let arr2=arrLast
let newArr=[]
for (let i=0;i<arr2.length;i++) {
console.log(arr2[i].drawDown)
if (arr2[i].drawDown >= drawDown[z])
newArr.push(arr2[i])
}
arr2=newArr
arr2 = _.orderBy(arr2, ['profitPerMonthDrawDown'], ['desc']);
let arr20Max = []
let arr1000Compound = []
let arr3=[]
let arrReserv = _.orderBy(arr2, ['percentage'], ['asc']);
let arrCompound = _.orderBy(arr2, ['CompoundPerMonthDrawDown'], ['desc']);
let arrResrv200 = []
let arrReservCompound = []
for (let i = 0; i < 1000; i++) {
if (typeof arr2[i] !== "undefined")
arr3.push(arr2[i])
if (typeof arrReserv[i] !== "undefined")
arrResrv200.push(arrReserv[i])
if (typeof arrCompound[i] !== "undefined")
arr1000Compound.push(arrCompound[i])
}
let arr20MaxNew = []
let arrReservCompoundNew = []
for (let i = 0; i < 1000; i++) {
if (typeof arr20Max[i] !== "undefined")
if (i < arr20Max.length)
arr20MaxNew.push(arr20Max[i])
if (typeof arrReservCompound[i] !== "undefined")
if (i < arrReservCompound.length)
arrReservCompoundNew.push(arrReservCompound[i])
}
createfileADV('profitPerMonth1000DrawDown'+drawDown[z], JSON.stringify(arr3, null, 2))
createfileADV('compound1000DrawDown'+drawDown[z], JSON.stringify(arr1000Compound, null, 2))
}
}
async function startAgain(arr, start) { async function startAgain(arr, start) {
let count = 0 let count = 0
......
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