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

git pu

parent af84817e
......@@ -13,8 +13,8 @@ let avgRunup = 0
let avgDrawdown = 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
if (usage === 'fft') {
type = type + ' ' + usage + ' ' + fft
......@@ -67,6 +67,31 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max
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
let VarDrawDownZeroDrawDown=0
let VarDrawDownnZeroProfit=0
let VarDrawDownZeroProfitDrawDown=0
let VarDrawDownZeroProfitRunup=0
let VarDrawDownZeroRunupDrawDown=0
let dur
try {
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
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
if ((data[i].profit + data[i].runUp) < 0) {
......@@ -319,9 +401,18 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max
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 {
VarDrawDownZeroDrawDown=0
VarDrawDownnZeroProfit=0
VarDrawDownZeroProfitDrawDown=0
VarDrawDownZeroProfitRunup=0
VarDrawDownZeroRunupDrawDown=0
//zero
}
......
......@@ -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.detail=config.detail
......
......@@ -140,7 +140,7 @@ function initData(data, config, name, risk, pfTrade, side, riskFreeLevel,detail,
let cz = []
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)
cz.push(d)
}
......
......@@ -120,7 +120,7 @@ async function run(root, name, directory, timestamp) {
let las = []
for (let i = 0; i < last.length; i++) {
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].metaDetailText
let needContinue = false
......
......@@ -22,7 +22,7 @@ async function run(usage)
{
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']
obj.detail=[]
// 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