Commit 4358d866 authored by Ahmad Nemati's avatar Ahmad Nemati

git pu

parent af84817e
...@@ -13,8 +13,8 @@ let avgRunup = 0 ...@@ -13,8 +13,8 @@ let avgRunup = 0
let avgDrawdown = 0 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, 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, 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
...@@ -67,6 +67,31 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max ...@@ -67,6 +67,31 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max
type = type + ' ' + usage + ' ' + RunupZeroProfitRunup type = type + ' ' + usage + ' ' + RunupZeroProfitRunup
} }
else if (usage === 'RunupZeroProfitRunup') {
type = type + ' ' + usage + ' ' + RunupZeroProfitRunup
}
else if (usage === 'DrawDownZeroDrawDown') {
type = type + ' ' + usage + ' ' + DrawDownZeroDrawDown
}
else if (usage === 'DrawDownnZeroProfit') {
type = type + ' ' + usage + ' ' + DrawDownnZeroProfit
}
else if (usage === 'DrawDownZeroProfitDrawDown') {
type = type + ' ' + usage + ' ' + DrawDownZeroProfitDrawDown
}
else if (usage === 'DrawDownZeroProfitRunup') {
type = type + ' ' + usage + ' ' + DrawDownZeroProfitRunup
}
else if (usage === 'DrawDownZeroRunupDrawDown') {
type = type + ' ' + usage + ' ' + DrawDownZeroRunupDrawDown
}
...@@ -144,6 +169,14 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max ...@@ -144,6 +169,14 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max
let VarDrawDownZeroDrawDown=0
let VarDrawDownnZeroProfit=0
let VarDrawDownZeroProfitDrawDown=0
let VarDrawDownZeroProfitRunup=0
let VarDrawDownZeroRunupDrawDown=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)
...@@ -290,6 +323,54 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max ...@@ -290,6 +323,54 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max
runBefore = true runBefore = true
} }
else if (usage === 'DrawDownZeroDrawDown') {
if (VarDrawDownZeroDrawDown > DrawDownZeroDrawDown)
runBefore = false
else
runBefore = true
}
else if (usage === 'DrawDownnZeroProfit') {
if (VarDrawDownnZeroProfit > DrawDownnZeroProfit)
runBefore = false
else
runBefore = true
}
else if (usage === 'DrawDownZeroProfitDrawDown') {
if (VarDrawDownZeroProfitDrawDown > DrawDownZeroProfitDrawDown)
runBefore = false
else
runBefore = true
}
else if (usage === 'DrawDownZeroProfitRunup') {
if (VarDrawDownZeroProfitRunup > DrawDownZeroProfitRunup)
runBefore = false
else
runBefore = true
}
else if (usage === 'DrawDownZeroRunupDrawDown') {
if (VarDrawDownZeroRunupDrawDown > DrawDownZeroRunupDrawDown)
runBefore = false
else
runBefore = true
}
//
...@@ -303,6 +384,7 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max ...@@ -303,6 +384,7 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max
if ((data[i].profit + data[i].runUp) < 0) { if ((data[i].profit + data[i].runUp) < 0) {
...@@ -319,9 +401,18 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max ...@@ -319,9 +401,18 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max
if (data[i].drawDown < avgDrawdown) { if (data[i].drawDown < avgDrawdown) {
VarDrawDownZeroRunupDrawDown = VarDrawDownZeroRunupDrawDown + (data[i].runUp + data[i].drawDown)
VarDrawDownnZeroProfit = VarDrawDownnZeroProfit + data[i].profit
VarDrawDownZeroProfitDrawDown = VarDrawDownZeroProfitDrawDown + (data[i].drawDown - data[i].profit)
VarDrawDownZeroDrawDown = VarDrawDownZeroDrawDown + data[i].drawDown
VarDrawDownZeroProfitRunup=VarDrawDownZeroProfitRunup+(data[i].runUp + data[i].profit)
} else { } else {
VarDrawDownZeroDrawDown=0
VarDrawDownnZeroProfit=0
VarDrawDownZeroProfitDrawDown=0
VarDrawDownZeroProfitRunup=0
VarDrawDownZeroRunupDrawDown=0
//zero //zero
} }
......
...@@ -84,6 +84,19 @@ async function run() { ...@@ -84,6 +84,19 @@ async function run() {
i.DrawDownZeroDrawDown=config.DrawDownZeroDrawDown
i.DrawDownnZeroProfit=config.DrawDownnZeroProfit
i.DrawDownZeroProfitDrawDown=config.DrawDownZeroProfitDrawDown
i.DrawDownZeroProfitRunup=config.DrawDownZeroProfitRunup
i.DrawDownZeroRunupDrawDown=config.DrawDownZeroRunupDrawDown
i.usage= config.usage i.usage= config.usage
i.detail=config.detail i.detail=config.detail
......
...@@ -140,7 +140,7 @@ function initData(data, config, name, risk, pfTrade, side, riskFreeLevel,detail, ...@@ -140,7 +140,7 @@ 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].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].usage)
if (d !== null) if (d !== null)
cz.push(d) cz.push(d)
} }
......
...@@ -120,7 +120,7 @@ async function run(root, name, directory, timestamp) { ...@@ -120,7 +120,7 @@ async function run(root, name, directory, timestamp) {
let las = [] let las = []
for (let i = 0; i < last.length; i++) { for (let i = 0; i < last.length; i++) {
if (i < last.length) if (i < last.length)
if (last[i].total > 0 && last[i].pftrade >= 0.000001 && last[i].maxLevel ===0 ) { if (last[i].total > 5 && last[i].pftrade >= 0.000001 && last[i].maxLevel ===0 ) {
delete last[i].durDetailText delete last[i].durDetailText
delete last[i].metaDetailText delete last[i].metaDetailText
let needContinue = false let needContinue = false
......
...@@ -22,7 +22,7 @@ async function run(usage) ...@@ -22,7 +22,7 @@ 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),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),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