Commit 7dc8e739 authored by Ahmad Nemati's avatar Ahmad Nemati

git pu

parent 4358d866
...@@ -14,7 +14,8 @@ let avgDrawdown = 0 ...@@ -14,7 +14,8 @@ let avgDrawdown = 0
let avgProfit = 0 let avgProfit = 0
// //
function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, maxTradeDays, targetPercentage, candlesData, fft, ProfitZeroProfit, fftRunup, ProfitZeroProfitRunup, ProfitZeroDrawDownProfit, ProfitZeroDrawDown, ddPlusRunCount, RunupDrawDownZeroRunupDrawDown,ProfitZeroRunupProfit,ProfitZeroRunupDrawDown,RunUpDrawDownZeroProfit,RunUpDrawDownZeroDrawDownProfit,RunUpDrawDownZeroDrawdown,RunUpDrawDownZeroRunupProfit,RunupZeroRunupDrawDown,RunupZeroProfit,RunupZeroProfitDrawDown,RunupZeroDrawDown,RunupZeroProfitRunup, DrawDownZeroDrawDown,DrawDownnZeroProfit,DrawDownZeroProfitDrawDown,DrawDownZeroProfitRunup,DrawDownZeroRunupDrawDown, usage) { function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, maxTradeDays, targetPercentage, candlesData, fft, ProfitZeroProfit, fftRunup, ProfitZeroProfitRunup, ProfitZeroDrawDownProfit, ProfitZeroDrawDown, ddPlusRunCount, RunupDrawDownZeroRunupDrawDown,ProfitZeroRunupProfit,ProfitZeroRunupDrawDown,RunUpDrawDownZeroProfit,RunUpDrawDownZeroDrawDownProfit,RunUpDrawDownZeroDrawdown,RunUpDrawDownZeroRunupProfit,RunupZeroRunupDrawDown,RunupZeroProfit,RunupZeroProfitDrawDown,RunupZeroDrawDown,RunupZeroProfitRunup, DrawDownZeroDrawDown,DrawDownnZeroProfit,DrawDownZeroProfitDrawDown,DrawDownZeroProfitRunup,DrawDownZeroRunupDrawDown,ProfitDrawDownZeroDrawDown,ProfitDrawDownZeroProfit,ProfitDrawDownZeroProfitDrawDown,ProfitDrawDownZeroProfitRunup,ProfitDrawDownZeroRunupDrawDown
, usage) {
let type = config.type + ' param:' + config.param + ' base:' + config.base + ' target:' + config.target + ' targetPercentage:' + targetPercentage.enable let type = config.type + ' param:' + config.param + ' base:' + config.base + ' target:' + config.target + ' targetPercentage:' + targetPercentage.enable
if (usage === 'fft') { if (usage === 'fft') {
type = type + ' ' + usage + ' ' + fft type = type + ' ' + usage + ' ' + fft
...@@ -91,12 +92,36 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max ...@@ -91,12 +92,36 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max
} }
else if (usage === 'ProfitDrawDownZeroDrawDown') {
type = type + ' ' + usage + ' ' + ProfitDrawDownZeroDrawDown
}
else if (usage === 'ProfitDrawDownZeroProfit') {
type = type + ' ' + usage + ' ' + ProfitDrawDownZeroProfit
}
else if (usage === 'ProfitDrawDownZeroProfitDrawDown') {
type = type + ' ' + usage + ' ' + ProfitDrawDownZeroProfitDrawDown
}
else if (usage === 'ProfitDrawDownZeroProfitRunup') {
type = type + ' ' + usage + ' ' + ProfitDrawDownZeroProfitRunup
}
else if (usage === 'ProfitDrawDownZeroRunupDrawDown') {
type = type + ' ' + usage + ' ' + ProfitDrawDownZeroRunupDrawDown
}
ProfitDrawDownZeroDrawDown,ProfitDrawDownZeroProfit,ProfitDrawDownZeroProfitDrawDown,ProfitDrawDownZeroProfitRunup,ProfitDrawDownZeroRunupDrawDown
...@@ -177,6 +202,14 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max ...@@ -177,6 +202,14 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max
let VarProfitDrawDownZeroDrawDown=0
let VarProfitDrawDownZeroProfit=0
let VarProfitDrawDownZeroProfitDrawDown=0
let VarProfitDrawDownZeroProfitRunup=0
let VarProfitDrawDownZeroRunupDrawDown=0
let dur let dur
try { try {
dur = getNewMinDiff(data[0].openDate, data[data.length - 1].closeDate) dur = getNewMinDiff(data[0].openDate, data[data.length - 1].closeDate)
...@@ -359,6 +392,42 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max ...@@ -359,6 +392,42 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max
} }
else if (usage === 'ProfitDrawDownZeroDrawDown') {
if (VarProfitDrawDownZeroDrawDown > ProfitDrawDownZeroDrawDown)
runBefore = false
else
runBefore = true
}
else if (usage === 'ProfitDrawDownZeroProfit') {
if (VarProfitDrawDownZeroProfit > ProfitDrawDownZeroProfit)
runBefore = false
else
runBefore = true
}
else if (usage === 'ProfitDrawDownZeroProfitDrawDown') {
if (VarProfitDrawDownZeroProfitDrawDown > ProfitDrawDownZeroProfitDrawDown)
runBefore = false
else
runBefore = true
}
else if (usage === 'ProfitDrawDownZeroProfitRunup') {
if (VarProfitDrawDownZeroProfitRunup > ProfitDrawDownZeroProfitRunup)
runBefore = false
else
runBefore = true
}
else if (usage === 'ProfitDrawDownZeroRunupDrawDown') {
if (VarProfitDrawDownZeroRunupDrawDown > ProfitDrawDownZeroRunupDrawDown)
runBefore = false
else
runBefore = true
}
...@@ -393,10 +462,18 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max ...@@ -393,10 +462,18 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max
} }
if ((data[i].profit + data[i].drawDown) < 0) { if ((data[i].profit + data[i].drawDown) < 0) {
VarProfitDrawDownZeroRunupDrawDown = VarProfitDrawDownZeroRunupDrawDown + (data[i].runUp + data[i].drawDown)
VarProfitDrawDownZeroProfit = VarProfitDrawDownZeroProfit + data[i].profit
VarProfitDrawDownZeroProfitDrawDown = VarProfitDrawDownZeroProfitDrawDown + (data[i].drawDown - data[i].profit)
VarProfitDrawDownZeroDrawDown = VarProfitDrawDownZeroDrawDown + data[i].drawDown
VarProfitDrawDownZeroProfitRunup=VarProfitDrawDownZeroProfitRunup+(data[i].runUp + data[i].profit)
} else { } else {
//zero VarProfitDrawDownZeroDrawDown=0
VarProfitDrawDownZeroProfit=0
VarProfitDrawDownZeroProfitDrawDown=0
VarProfitDrawDownZeroProfitRunup=0
VarProfitDrawDownZeroRunupDrawDown=0
} }
......
...@@ -92,6 +92,19 @@ async function run() { ...@@ -92,6 +92,19 @@ async function run() {
i.ProfitDrawDownZeroDrawDown=config.ProfitDrawDownZeroDrawDown
i.ProfitDrawDownZeroProfit=config.ProfitDrawDownZeroProfit
i.ProfitDrawDownZeroProfitDrawDown=config.ProfitDrawDownZeroProfitDrawDown
i.ProfitDrawDownZeroProfitRunup=config.ProfitDrawDownZeroProfitRunup
i.ProfitDrawDownZeroRunupDrawDown=config.ProfitDrawDownZeroRunupDrawDown
......
...@@ -140,7 +140,8 @@ function initData(data, config, name, risk, pfTrade, side, riskFreeLevel,detail, ...@@ -140,7 +140,8 @@ function initData(data, config, name, risk, pfTrade, side, riskFreeLevel,detail,
let cz = [] let cz = []
for (let i = 0; i < config.length; i++) { for (let i = 0; i < config.length; i++) {
let d = ai.run(arr, config[i], config[i].risk, config[i].pfTrade, config[i].riskFreeLevel,detail,config[i].loss,config[i].dur,config[i].maxTradeDays,config[i].targetPercentage,candles,config[i].fft,config[i].ProfitZeroProfit,config[i].fftRunup,config[i].ProfitZeroProfitRunup,config[i].ProfitZeroDrawDownProfit,config[i].ProfitZeroDrawDown,config[i].ddPlusRunCount,config[i].RunupDrawDownZeroRunupDrawDown,config[i].ProfitZeroRunupProfit,config[i].ProfitZeroRunupDrawDown,config[i].RunUpDrawDownZeroProfit,config[i].RunUpDrawDownZeroDrawDownProfit,config[i].RunUpDrawDownZeroDrawdown,config[i].RunUpDrawDownZeroRunupProfit,config[i].RunupZeroRunupDrawDown,config[i].RunupZeroProfit,config[i].RunupZeroProfitDrawDown,config[i].RunupZeroDrawDown,config[i].RunupZeroProfitRunup,config[i].DrawDownZeroDrawDown,config[i].DrawDownnZeroProfit,config[i].DrawDownZeroProfitDrawDown,config[i].DrawDownZeroProfitRunup,config[i].DrawDownZeroRunupDrawDown,config[i].usage) let d = ai.run(arr, config[i], config[i].risk, config[i].pfTrade, config[i].riskFreeLevel,detail,config[i].loss,config[i].dur,config[i].maxTradeDays,config[i].targetPercentage,candles,config[i].fft,config[i].ProfitZeroProfit,config[i].fftRunup,config[i].ProfitZeroProfitRunup,config[i].ProfitZeroDrawDownProfit,config[i].ProfitZeroDrawDown,config[i].ddPlusRunCount,config[i].RunupDrawDownZeroRunupDrawDown,config[i].ProfitZeroRunupProfit,config[i].ProfitZeroRunupDrawDown,config[i].RunUpDrawDownZeroProfit,config[i].RunUpDrawDownZeroDrawDownProfit,config[i].RunUpDrawDownZeroDrawdown,config[i].RunUpDrawDownZeroRunupProfit,config[i].RunupZeroRunupDrawDown,config[i].RunupZeroProfit,config[i].RunupZeroProfitDrawDown,config[i].RunupZeroDrawDown,config[i].RunupZeroProfitRunup,config[i].DrawDownZeroDrawDown,config[i].DrawDownnZeroProfit,config[i].DrawDownZeroProfitDrawDown,config[i].DrawDownZeroProfitRunup,config[i].DrawDownZeroRunupDrawDown,config[i].ProfitDrawDownZeroDrawDown,config[i].ProfitDrawDownZeroProfit,config[i].ProfitDrawDownZeroProfitDrawDown,config[i].ProfitDrawDownZeroProfitRunup,config[i].ProfitDrawDownZeroRunupDrawDown
,config[i].usage)
if (d !== null) if (d !== null)
cz.push(d) cz.push(d)
} }
......
...@@ -22,7 +22,8 @@ async function run(usage) ...@@ -22,7 +22,8 @@ async function run(usage)
{ {
for (let n=1;n<40;n++) for (let n=1;n<40;n++)
{ {
let obj={sort:'profitPerMonthDrawDown',alocatedReserve:3,alocatedReserveCompound:3,risk:0,start:10000,pfTrade:2,side:'both',riskFreeLevel:100,onlyShortLong:false,loss:0,level:200,dur:1500,maxTradeDays:40,targetPercentage:{enable:false},fft:1,ProfitZeroProfit:(n*-1),fftRunup:2,ProfitZeroProfitRunup:{count:7,percent:15},ProfitZeroDrawDownProfit:(n*-1),ProfitZeroDrawDown:(n*-1),ddPlusRunCount:4,RunupDrawDownZeroRunupDrawDown:(n*-1),ProfitZeroRunupProfit:(n*-1),ProfitZeroRunupDrawDown:(n*-1),RunUpDrawDownZeroProfit:(n*-1),RunUpDrawDownZeroDrawDownProfit:(n*-1),RunUpDrawDownZeroDrawdown:(n*-1),RunUpDrawDownZeroRunupProfit:(n*-1),RunupZeroRunupDrawDown:(n*-1),RunupZeroProfit:(n*-1),RunupZeroProfitDrawDown:(n*-1),RunupZeroDrawDown:(n*-1),RunupZeroProfitRunup:(n*-1),DrawDownZeroDrawDown:(n*-1),DrawDownnZeroProfit:(n*-1),DrawDownZeroProfitDrawDown:(n*-1),DrawDownZeroProfitRunup:(n*-1),DrawDownZeroRunupDrawDown:(n*-1),usage:usage} let obj={sort:'profitPerMonthDrawDown',alocatedReserve:3,alocatedReserveCompound:3,risk:0,start:10000,pfTrade:2,side:'both',riskFreeLevel:100,onlyShortLong:false,loss:0,level:200,dur:1500,maxTradeDays:40,targetPercentage:{enable:false},fft:1,ProfitZeroProfit:(n*-1),fftRunup:2,ProfitZeroProfitRunup:{count:7,percent:15},ProfitZeroDrawDownProfit:(n*-1),ProfitZeroDrawDown:(n*-1),ddPlusRunCount:4,RunupDrawDownZeroRunupDrawDown:(n*-1),ProfitZeroRunupProfit:(n*-1),ProfitZeroRunupDrawDown:(n*-1),RunUpDrawDownZeroProfit:(n*-1),RunUpDrawDownZeroDrawDownProfit:(n*-1),RunUpDrawDownZeroDrawdown:(n*-1),RunUpDrawDownZeroRunupProfit:(n*-1),RunupZeroRunupDrawDown:(n*-1),RunupZeroProfit:(n*-1),RunupZeroProfitDrawDown:(n*-1),RunupZeroDrawDown:(n*-1),RunupZeroProfitRunup:(n*-1),DrawDownZeroDrawDown:(n*-1),DrawDownnZeroProfit:(n*-1),DrawDownZeroProfitDrawDown:(n*-1),DrawDownZeroProfitRunup:(n*-1),DrawDownZeroRunupDrawDown:(n*-1),ProfitDrawDownZeroDrawDown:(n*-1),ProfitDrawDownZeroProfit:(n*-1),ProfitDrawDownZeroProfitDrawDown:(n*-1),ProfitDrawDownZeroProfitRunup:(n*-1),ProfitDrawDownZeroRunupDrawDown:(n*-1)
,usage:usage}
// let detail=['configs2.json-211021092159_O1_BNC_BTCUSD_Lp1_Y211020a - Copy_Mn.csv&zarib param:1.1 base:200 target:1'] // let detail=['configs2.json-211021092159_O1_BNC_BTCUSD_Lp1_Y211020a - Copy_Mn.csv&zarib param:1.1 base:200 target:1']
obj.detail=[] obj.detail=[]
// let all=[] // let all=[]
......
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