|
|
@@ -42,40 +42,46 @@ function statisticB(kLines, index) {
|
|
|
/* 形态学说 */
|
|
|
|
|
|
// 如果前一根k线是阴线,并且收了影线,影线涨幅>=实体跌幅*0.732【有用,能过滤60%的交易,但是过滤的交易很多都是能盈利的,所以这个因子只能说保留一下】
|
|
|
-function statisticD(kLines, index) {
|
|
|
- let k = kLines[index - 1]
|
|
|
-
|
|
|
- if (!k) return 0
|
|
|
-
|
|
|
- // 计算实体的跌幅
|
|
|
- const bodyDecline = k.Open - k.Close;
|
|
|
-
|
|
|
- // 如果跌幅小于5%,不适用这个过滤
|
|
|
- if (100 * (k.Low - k.Open) / k.Open > -10) return 1
|
|
|
-
|
|
|
- // 计算下影线的涨幅
|
|
|
- const lowerShadowGain = Math.min(k.Open, k.Close) - k.Low;
|
|
|
-
|
|
|
- // 判断下影线的涨幅是否大于或等于实体的跌幅
|
|
|
- const hasLongLowerShadow = (lowerShadowGain / k.Low) >= (bodyDecline / k.Open) * 1;
|
|
|
-
|
|
|
- // 阴线并且下影线涨幅大于或等于实体跌幅
|
|
|
- return hasLongLowerShadow ? 1 : 0;
|
|
|
+function statisticD(_kLines, _index) {
|
|
|
+ // let k = kLines[index - 1]
|
|
|
+ //
|
|
|
+ // if (!k) return 0
|
|
|
+ //
|
|
|
+ // // 计算实体的跌幅
|
|
|
+ // const bodyDecline = k.Open - k.Close;
|
|
|
+ //
|
|
|
+ // // 如果跌幅小于5%,不适用这个过滤
|
|
|
+ // if (100 * (k.Low - k.Open) / k.Open > -10) return 1
|
|
|
+ //
|
|
|
+ // // 计算下影线的涨幅
|
|
|
+ // const lowerShadowGain = Math.min(k.Open, k.Close) - k.Low;
|
|
|
+ //
|
|
|
+ // // 判断下影线的涨幅是否大于或等于实体的跌幅
|
|
|
+ // const hasLongLowerShadow = (lowerShadowGain / k.Low) >= (bodyDecline / k.Open) * 1;
|
|
|
+ //
|
|
|
+ // // 阴线并且下影线涨幅大于或等于实体跌幅
|
|
|
+ // return hasLongLowerShadow ? 1 : 0;
|
|
|
+
|
|
|
+ return 0
|
|
|
}
|
|
|
|
|
|
// 现在应该想一个形态,能过滤一下熊市时的亏损,牛市时的回撤无所谓
|
|
|
-function statisticC(kLines, index) {
|
|
|
-
|
|
|
-}
|
|
|
+// function statisticC(kLines, index) {
|
|
|
+//
|
|
|
+// }
|
|
|
|
|
|
// 指标过滤
|
|
|
function filter(kLines, index) {
|
|
|
// 过去N日累计涨幅,85表示亏15%,115表示赚15%,100是分界线
|
|
|
let upRateN = statisticA(kLines, index)
|
|
|
- if (upRateN >= 85 && upRateN <= 100) return false
|
|
|
+ if (upRateN >= 85 && upRateN <= 100) {
|
|
|
+ return false
|
|
|
+ }
|
|
|
|
|
|
// 一共N天涨幅超过M%
|
|
|
- if (statisticB(kLines, index) !== 0) return false
|
|
|
+ if (statisticB(kLines, index) !== 0) {
|
|
|
+ return false
|
|
|
+ }
|
|
|
|
|
|
return true
|
|
|
}
|