Commit eb67c49e authored by Ahmad Nemati's avatar Ahmad Nemati

git pu

parent b9a5732f
...@@ -11,7 +11,7 @@ let candles = [] ...@@ -11,7 +11,7 @@ let candles = []
let timeFrame = 0 let timeFrame = 0
function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, maxTradeDays, targetPercentage, candlesData, fft, fftPercent, fftRunup, fftPercentRunup, fftDiffDrawDownProfit, fftDrawDown, ddPlusRunCount, usage) { function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, maxTradeDays, targetPercentage, candlesData, fft, fftPercent, fftRunup, fftPercentRunup, fftDiffDrawDownProfit, fftDrawDown, ddPlusRunCount, ddPlusRunPercent, 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
...@@ -27,6 +27,8 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max ...@@ -27,6 +27,8 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max
type = type + ' ' + usage + ' ' + fftDrawDown type = type + ' ' + usage + ' ' + fftDrawDown
} else if (usage === 'ddPlusRunCount') { } else if (usage === 'ddPlusRunCount') {
type = type + ' ' + usage + ' ' + ddPlusRunCount type = type + ' ' + usage + ' ' + ddPlusRunCount
} else if (usage === 'ddPlusRunPercent') {
type = type + ' ' + usage + ' ' + ddPlusRunPercent
} }
...@@ -73,6 +75,7 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max ...@@ -73,6 +75,7 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max
let countDrop = 0 let countDrop = 0
let allLossProfit = 0 let allLossProfit = 0
let drawDownPlusRunUpCount = 0 let drawDownPlusRunUpCount = 0
let drawDownPlusRunUpPercent= 0
let countDropRunup = 0 let countDropRunup = 0
let fftDrawDownPercent = 0 let fftDrawDownPercent = 0
...@@ -119,6 +122,11 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max ...@@ -119,6 +122,11 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max
runBefore = false runBefore = false
else else
runBefore = true runBefore = true
} else if (usage === 'ddPlusRunPercent') {
if (drawDownPlusRunUpPercent > ddPlusRunPercent)
runBefore = false
else
runBefore = true
} else if (usage === 'fftDrawDown') { } else if (usage === 'fftDrawDown') {
if (fftDrawDownPercent > fftDrawDown) if (fftDrawDownPercent > fftDrawDown)
runBefore = false runBefore = false
...@@ -146,8 +154,10 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max ...@@ -146,8 +154,10 @@ function run(data, config, risk, pfTrade, riskFreeLevel, detail, loss, durs, max
if ((data[i].runUp + data[i].drawDown) < 0) { if ((data[i].runUp + data[i].drawDown) < 0) {
drawDownPlusRunUpCount++ drawDownPlusRunUpCount++
drawDownPlusRunUpPercent=drawDownPlusRunUpPercent+(data[i].runUp + data[i].drawDown)
} else { } else {
drawDownPlusRunUpCount = 0 drawDownPlusRunUpCount = 0
drawDownPlusRunUpPercent=0
} }
if (data[i].profit < 0) { if (data[i].profit < 0) {
......
...@@ -65,6 +65,7 @@ async function run() { ...@@ -65,6 +65,7 @@ async function run() {
i.fftDiffDrawDownProfit=config.fftDiffDrawDownProfit i.fftDiffDrawDownProfit=config.fftDiffDrawDownProfit
i.fftDrawDown=config.fftDrawDown i.fftDrawDown=config.fftDrawDown
i.ddPlusRunCount=config.ddPlusRunCount i.ddPlusRunCount=config.ddPlusRunCount
i.ddPlusRunPercent=config.ddPlusRunPercent
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].fftPercent,config[i].fftRunup,config[i].fftPercentRunup,config[i].fftDiffDrawDownProfit,config[i].fftDrawDown,config[i].ddPlusRunCount,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].fftPercent,config[i].fftRunup,config[i].fftPercentRunup,config[i].fftDiffDrawDownProfit,config[i].fftDrawDown,config[i].ddPlusRunCount,config[i].ddPlusRunPercent,config[i].usage)
if (d !== null) if (d !== null)
cz.push(d) cz.push(d)
} }
......
...@@ -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:10000,pfTrade:2,side:'both',riskFreeLevel:100,onlyShortLong:false,loss:0,level:200,dur:1500,maxTradeDays:40,targetPercentage:{enable:true},fft:1,fftPercent:-2,fftRunup:2,fftPercentRunup:{count:7,percent:15},fftDiffDrawDownProfit:-0.5,fftDrawDown:-1,ddPlusRunCount:4,usage:'fft'} 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:true},fft:1,fftPercent:-2,fftRunup:2,fftPercentRunup:{count:7,percent:15},fftDiffDrawDownProfit:-0.5,fftDrawDown:-1,ddPlusRunCount:4,ddPlusRunPercent:-2,usage:'fft'}
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=detail obj.detail=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