Commit a6ab1d29 authored by Ahmad Nemati's avatar Ahmad Nemati

init

parent d247f516
......@@ -6,7 +6,7 @@ let zarib = 'zarib'
let base = 'base'
function run(data, config,risk) {
function run(data, config,risk,pfTrade) {
let commision = config.commision
let money = config.base
let total = 0
......@@ -21,6 +21,10 @@ function run(data, config,risk) {
let lastCom = 0
let lastMoney = 0
let levels=[]
let dur = getMinDiff(data[0].openDate, data[data.length - 1].closeDate)
let newP=dur/data.length
if (pfTrade>newP)
return null
for (let i = 0; i < data.length; i++) {
if (step === 0)
......@@ -94,7 +98,7 @@ function run(data, config,risk) {
let dur = getMinDiff(data[0].openDate, data[data.length - 1].closeDate)
let totalFinal = total * config.target
let newT = totalFinal / dur
let percentage = maxReserve + totalFinal
......
......@@ -6,7 +6,7 @@ let moment = require('moment-timezone')
let ai = require('./ai')
async function parse(directory,name, configs,risk) {
async function parse(directory,name, configs,risk,pfTrade) {
return new Promise(function (resolve, reject) {
let arr = []
// console.log(name)
......@@ -14,12 +14,12 @@ async function parse(directory,name, configs,risk) {
.pipe(csv.parse({headers: true}))
.on('error', error => reject(error))
.on('data', row => arr.push(row))
.on('end', rowCount => resolve(initData(arr, configs, name,risk)));
.on('end', rowCount => resolve(initData(arr, configs, name,risk,pfTrade)));
});
}
function initData(data, config, name,risk) {
function initData(data, config, name,risk,pfTrade) {
data = JSON.stringify(data)
......@@ -106,7 +106,7 @@ function initData(data, config, name,risk) {
let cz = []
for (let i = 0; i < config.length; i++) {
cz.push(ai.run(arr, config[i],risk))
cz.push(ai.run(arr, config[i],risk,pfTrade))
}
return cz
......
......@@ -20,7 +20,7 @@ run()
async function run()
{
let obj={sort:'profitPerMonthDrawDown',alocatedReserve:3,alocatedReserveCompound:3,risk:0,start:1000}
let obj={sort:'profitPerMonthDrawDown',alocatedReserve:3,alocatedReserveCompound:3,risk:0,start:1000,pfTrade:1}
let all=[]
for (let i=0;i<arr.length;i++)
all.push(add(arr[i]))
......
......@@ -19,7 +19,7 @@ async function run() {
for (let i = 0; i < files.length; i++)
if (files[i].includes('.csv')) {
csvFile = files[i]
arr.push(csv.parse(directory, files[i], configs.data, configs.risk))
arr.push(csv.parse(directory, files[i], configs.data, configs.risk,configs.pfTrade))
}
arr = await Promise.all(arr)
......@@ -35,7 +35,7 @@ async function run() {
}
}
// console.log(arr2)
arr2=_.without(arr2,undefined,null);
arr2 = _.orderBy(arr2, ['profitPerMonthDrawDown'], ['desc']);
let arr20Max = []
let arr1000Compound = []
......
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