|
|
@@ -153,7 +153,7 @@ function statisticD(kLines, index) {
|
|
|
return NumKit.getSubFloat(totalRiseAndFall / kCount, 2)
|
|
|
}
|
|
|
|
|
|
-// 过去30天的上影线幅度大于2.5%的次数,跟这个无关
|
|
|
+// 过去30天的上影线幅度大于2.5%,并且收盘是阴线的次数
|
|
|
function statisticE(kLines, index) {
|
|
|
let kCount = 0
|
|
|
let count = 0
|
|
|
@@ -165,7 +165,7 @@ function statisticE(kLines, index) {
|
|
|
kCount += 1
|
|
|
let target = kLine.Close > kLine.Open ? kLine.Close : kLine.Open
|
|
|
let rise = (100 * (kLine.High - target) / target)
|
|
|
- count += (rise > 2.5 ? 1 : 0)
|
|
|
+ count += (rise > 2.5 && kLine.Close < kLine.Open ? 1 : 0)
|
|
|
}
|
|
|
|
|
|
if (kCount === 0) {
|
|
|
@@ -221,7 +221,7 @@ function statisticG(kLines, index) {
|
|
|
function statisticH(kLines, index) {
|
|
|
let kCount = 0
|
|
|
let rst = 0
|
|
|
- for (let i = index - 1; i >= index - 7; i--) {
|
|
|
+ for (let i = index - 1; i >= index - 3; i--) {
|
|
|
let kLine = kLines[i]
|
|
|
|
|
|
if (!kLines[i - 1]) break
|
|
|
@@ -246,7 +246,7 @@ function dragonAnalysis(kLinesMap, dragonMap, dayCount) {
|
|
|
let kLines = kLinesMap[symbol]
|
|
|
let index = kLines.length - (dayCount + 1)
|
|
|
|
|
|
- let x = statisticA(kLines, index)
|
|
|
+ let x = statisticE(kLines, index)
|
|
|
let y = dragonMap[symbol].Profit
|
|
|
|
|
|
// logger.info(
|
|
|
@@ -262,7 +262,7 @@ function dragonAnalysis(kLinesMap, dragonMap, dayCount) {
|
|
|
async function main() {
|
|
|
let kLinesMap = await readData()
|
|
|
|
|
|
- const FIRST_FEW_DAYS = 10 // 第几天的数据,0表示今天,1表示昨天,2表示前天,以此类推
|
|
|
+ const FIRST_FEW_DAYS = 1 // 第几天的数据,0表示今天,1表示昨天,2表示前天,以此类推
|
|
|
const BUY_LIMIT_RATE = 2.5 // 从什么比例入场
|
|
|
const BAKE_TEST_DAYS = 10 // 一共回测多少天
|
|
|
|