chengjie 3 months ago
parent
commit
ba33a11441

src/test/通达信公式1.txt → stock/通达信公式买入1.txt


src/test/通达信公式2.txt → stock/通达信公式买入2.txt


src/test/通达信公式9_在线使用最终版.txt → stock/通达信公式买入9_在线使用最终版.txt


+ 86 - 0
stock/通达信公式卖出1.txt

@@ -0,0 +1,86 @@
1
+{---------------------- 参数设置 ----------------------} 
2
+N1:=2; { 回撤阈值系数 } 
3
+N2:=3; { 开盘过滤时间(分钟) } 
4
+BUYPRICE:=0; {买入均价,手动输入实际值;若0则忽略止盈止损 } 
5
+STOPLOSS:=5; {止损阈值(%),亏损超过此值强制卖出 } 
6
+TAKEPROFIT:=10; {止盈阈值(%),盈利达到此值且有信号则卖出 }
7
+
8
+{---------------------- 基础数据重构 ----------------------} 
9
+分时均价 := DYNAINFO(11); 
10
+基准价 := MAX(OPEN, REF(C, 1)); { 取开盘与前收较高者 } 
11
+有效最高价 := HHV(C, 5);
12
+当前回撤 := (有效最高价 - C) / 基准价 * 100;
13
+
14
+{基于买入价的盈利/亏损计算 } 
15
+当前盈利 := IF(BUYPRICE > 0, (C - BUYPRICE) / BUYPRICE * 100, 0); 
16
+止损触发 := 当前盈利 <= -STOPLOSS; { 强制止损 } 
17
+止盈准备 := 当前盈利 >= TAKEPROFIT; { 止盈待信号确认 }
18
+
19
+{---------------------- 时间控制 ----------------------} 
20
+有效时段 := MACHINETIME > 093000 + N2*100 AND MACHINETIME < 145500; { 过滤开盘N2分钟 }
21
+
22
+{---------------------- 波动性修正 ----------------------} 
23
+TR1 := MAX(MAX(HIGH-LOW, ABS(REF(CLOSE,1)-HIGH)), ABS(REF(CLOSE,1)-LOW)); 
24
+ATR := MA(TR1, 14); 
25
+日内ATR := ATR * (FROMOPEN / 240); { 时间加权 } 
26
+动态回撤阈值 := IF(ATR > 5, 4, IF(ATR > 3, 3, 2.5)) * N1 * (1 + (ATR/REF(C,1)));
27
+
28
+{---------------------- 资金流向增强 ----------------------} 
29
+_DDX := (LARGEINTRDVOL - LARGEOUTTRDVOL)*10000/FINANCE(7); 
30
+_DDY := IF(TRADENUM > 0, (TRADEOUTNUM - TRADEINNUM)*100/TRADENUM, 0); 
31
+DDX质量 := MA(_DDX, 3) - MA(_DDX, 10); 
32
+DDY趋势 := SLOPE(_DDY, 5) < -0.1;
33
+
34
+DDX转负确认 := EVERY(_DDX < -0.3, 2) AND DDX质量 < 0; { 连续确认 } 
35
+DDY转负确认 := EVERY(_DDY < 0, 2) AND DDY趋势;
36
+
37
+{---------------------- 主力行为验证 ----------------------} 
38
+主力对倒:= (L2_AMO(1,3) > L2_AMO(1,2) * 1.2 AND L2_AMO(1,2) > 0) { 主卖与主买金额接近且活跃} 
39
+AND (L2_AMO(1,3) + L2_AMO(1,2)) > MA(VOL,10) * C * 0.5 { 大单交易额显著高于均值} 
40
+AND ABS((ACTOUTVOL - ACTINVOL)/(ACTOUTVOL + ACTINVOL)) < 0.3 { 买卖量相对均衡 } 
41
+AND L2_VOL(2,3)/MA(VOL,10) < 0.5; { 中单参与度低 }
42
+
43
+主动出货:= (L2_AMO(0,3) > L2_AMO(0,2)*2 AND L2_AMO(1,3) > L2_AMO(1,2)*1.5) { 大+超大单主卖强度} 
44
+AND L2_VOL(0,3)/VOL > 0.5 { 超大单卖量占比超50%} 
45
+AND (VOL/MA(VOL,5) > 1.5 OR VOL > MA(VOL,20)*2) { 放量验证 } 
46
+AND (C < O OR (C < REF(C,1) AND (H - C)/C > 0.03)) { 收阴线或长上影线 } 
47
+AND (H - L)/REF(C,1) > 0.06; { 振幅>6% }
48
+
49
+{---------------------- 量价关系优化 ----------------------} 
50
+有效量价背离 := COUNT(V < REF(V,1),3) >=2 { 近3日至少2日缩量 } 
51
+AND V < MA(V,20)*0.7 { 成交量 < 20日均量70% } 
52
+AND C > REF(HHV(C,10),1) { 收盘价创10日新高 } 
53
+AND C > O { 实体阳线 } 
54
+AND MACD.DIF < REF(MACD.DIF,1) { MACD动能减弱 } 
55
+AND (MFI(14) < 40 OR RSI(14) < 40); { 修改:阈值从50调至40,增强弱势过滤 }
56
+
57
+BOLL1:=MA(CLOSE,20); 
58
+BOLL上轨:= Tertiary:=BOLL1+2*STD(CLOSE,20); 
59
+假突破识别 := COUNT(C > BOLL上轨, 3) >= 1 { 布林带上轨 } 
60
+AND C < MA(C,20) AND COUNT(C < REF(C,1),2)>=1; { 添加2日收阴确认 }
61
+
62
+{---------------------- 板块动态评估修正版 ----------------------} 行业收盘 := HORCALC(HYBLOCK, 103, 2, 3); 行业涨幅 := HORCALC(HYBLOCK, 105, 2, 3); 行业成交 := HORCALC(HYBLOCK, 104, 2, 2);
63
+
64
+行业价格变动 := 行业收盘 - REF(行业收盘, 1); 
65
+行业上涨均值 := SMA(MAX(行业价格变动,0), 14, 1); 
66
+行业下跌均值 := SMA(ABS(MIN(行业价格变动,0)), 14, 1); 
67
+行业RSI := 行业上涨均值 / (行业上涨均值 + 行业下跌均值) * 100;
68
+
69
+板块弱势 := 行业RSI < 40 { RSI弱势 } AND 行业涨幅 < REF(行业涨幅, 1) { 涨幅环比下降 } 
70
+AND 行业成交 < REF(MA(行业成交, 5), 1) AND C < MA(C,60); { 趋势过滤,仅弱势趋势下生效 }
71
+
72
+龙头收盘 := HORCALC(HYBLOCK, 103, 1, 3);
73
+龙头回调 := 龙头收盘 / REF(龙头收盘, 1) < 0.97 AND 行业RSI < 50;
74
+
75
+{---------------------- 信号集成 ----------------------} 
76
+卖出条件1 := 当前回撤 >= 动态回撤阈值 AND CROSS(分时均价, C) AND COUNT(C < 分时均价, 10) >= 3;
77
+卖出条件2 := (DDX转负确认 AND 主动出货) OR (DDY转负确认 AND 主力对倒);
78
+卖出条件3 := (有效量价背离 AND 板块弱势) OR (DYNAINFO(58)/DYNAINFO(59) < 0.3 AND 龙头回调);
79
+卖出条件4 := 止损触发 OR (止盈准备 AND (卖出条件1 OR 卖出条件2 OR 卖出条件3)); { 止盈止损整合,止损优先 }
80
+
81
+综合信号 : (卖出条件1 + 卖出条件2 + 卖出条件3 + 卖出条件4) >= 2 
82
+AND 有效时段 AND VOL > MA(VOL,5)*1.0 AND NOT(假突破识别);
83
+
84
+{---------------------- 可视化输出 ----------------------} 
85
+DRAWICON(综合信号, C, 2); { 卖出箭头 } 
86
+STICKLINE(综合信号, O, C, 3, 0), COLORRED; { 红K线突出 }

+ 130 - 0
stock/通达信公式卖出2.txt

@@ -0,0 +1,130 @@
1
+{ 持有股票名称和成本价 }
2
+NAME1:='300806';
3
+PRICE1:=23.40;
4
+NAME2:='301165';
5
+PRICE2:=74.57;
6
+NAME3:='';
7
+PRICE3:=0;
8
+
9
+MYBUYPRICE:=IF(CODELIKE(NAME1),PRICE1,IF(CODELIKE(NAME2),PRICE2,IF(CODELIKE(NAME3),PRICE3,0)));    { 买入均价,若=0则忽略基于买入价的止盈止损 }
10
+
11
+{ ===================== 参数设置 =====================}
12
+N1:=2;          { 回撤阈值系数(相对ATR的倍数) }
13
+N2:=3;          { 开盘过滤时间(分钟) }
14
+N3:=2;          { 保守系数 }
15
+STOPLOSS:=5;    { 基础止损阈值(%),动态止损不会低于此值 }
16
+TAKEPROFIT:=10; { 基础止盈阈值(%),动态止盈不会低于此值 }
17
+
18
+{ ===================== 基础数据 =====================}
19
+{ ATR(相对化)与日内权重 }
20
+TR1 : MAX(MAX(HIGH-LOW, ABS(REF(CLOSE,1)-HIGH)), ABS(REF(CLOSE,1)-LOW));
21
+ATR1 := MA(TR1,14);
22
+相对ATR := IF(REF(C,1)=0,0,ATR1/REF(C,1))*100;      { 相对波动率(%) }
23
+日内系数 := FROMOPEN/240;              { 0~1 的时间占比 }
24
+
25
+分时均价 := DYNAINFO(11);             { 分时均价 }
26
+基准价 := MAX(OPEN, REF(C,1));        { 取开盘与前收较高者 }
27
+有效最高价 := HHV(C, MIN(20, MAX(5, FLOOR(相对ATR))));
28
+当前回撤 := IF(基准价=0, 0, (有效最高价 - C)/基准价*100);
29
+
30
+
31
+{ ===================== 动态止盈止损(自适应波动) =====================}
32
+当前盈利 := IF(MYBUYPRICE>0, IF(MYBUYPRICE=0,0,(C - MYBUYPRICE)/MYBUYPRICE*100), 0);
33
+
34
+动态止损 := MAX(STOPLOSS, 1.2 * 相对ATR);      { 不低于基础止损 }
35
+动态止盈 := MAX(TAKEPROFIT, MAX(0, 2.5 * 相对ATR - 当前盈利*0.1));
36
+
37
+{ 基于买入价的浮动盈亏(可选)}
38
+止损触发 := MYBUYPRICE>0 AND 当前盈利 <= -动态止损;
39
+止盈准备 := MYBUYPRICE>0 AND 当前盈利 >= 动态止盈;
40
+
41
+{ ===================== 时间控制(覆盖午休) =====================}
42
+开盘分钟后_上午 := MACHINETIME >= (093000 + N2*100) AND MACHINETIME <= 113000;
43
+开盘分钟后_下午 := MACHINETIME >= 130000 AND MACHINETIME <= 145500;
44
+有效时段 := 开盘分钟后_上午 OR 开盘分钟后_下午;
45
+
46
+{ ===================== 动态回撤阈值(相对ATR + 日内权重) =====================}
47
+动态回撤阈值 := (1.0 + 相对ATR/100) * N1 * (1 - 0.3*日内系数) * N3;
48
+{ 注:给出保守放大系数2.0,可按标的适度微调 }
49
+
50
+{ ===================== 量价与动能(精简版) =====================}
51
+缩量回落 := V < MA(V,20) * 0.8;
52
+动能转弱 := MACD.DIF < REF(MACD.DIF,1) AND MACD.MACD < 0;
53
+
54
+{ 分时均价“下破”判定}
55
+下破均价 := C < 分时均价 AND REF(C,1) >= REF(分时均价,1);
56
+
57
+{ 假突破(精简)}
58
+BOLL_M:=MA(C,20);
59
+BOLL_U:=BOLL_M + 2*STD(C,20);
60
+假突破 :=REF(C,1) > REF(BOLL_U,1) AND C < BOLL_M AND C < REF(C,1);
61
+
62
+{ ===================== 板块动态(弱化为过滤,不做强信号) =====================}
63
+行业收盘 := HORCALC(HYBLOCK,103,2,3);
64
+行业涨幅 := HORCALC(HYBLOCK,105,2,3);
65
+行业成交 := HORCALC(HYBLOCK,104,2,2);
66
+
67
+行业价格变动 := 行业收盘 - REF(行业收盘,1);
68
+行业上涨均值 := SMA(MAX(行业价格变动,0),14,1);
69
+行业下跌均值 := SMA(ABS(MIN(行业价格变动,0)),14,1);
70
+行业RSI := IF((行业上涨均值+行业下跌均值)=0,0,行业上涨均值/(行业上涨均值+行业下跌均值))*100;
71
+
72
+板块弱势 := 行业RSI < 50 AND 行业涨幅 < REF(行业涨幅,1)
73
+        AND 行业成交 < REF(MA(行业成交,5),1)
74
+        AND C < MA(C,60);
75
+
76
+{ ===================== 【可选】L2 主力行为 =====================}
77
+主力对倒 := (L2_AMO(1,3) > L2_AMO(1,2)*1.2 AND L2_AMO(1,2) > 0)
78
+         AND (L2_AMO(1,3)+L2_AMO(1,2)) > MA(VOL,10)*C*0.5
79
+         AND IF((ACTOUTVOL + ACTINVOL)=0,0,ABS(ACTOUTVOL - ACTINVOL)/(ACTOUTVOL + ACTINVOL)) < 0.3
80
+         AND IF(MA(VOL,10)=0,0,L2_VOL(2,3)/MA(VOL,10)) < 0.5;
81
+
82
+主动出货 := (L2_AMO(0,3) > L2_AMO(0,2)*2 AND L2_AMO(1,3) > L2_AMO(1,2)*1.5)
83
+         AND IF(VOL=0,0,L2_VOL(0,3)/VOL) > 0.5
84
+         AND (VOL/MA(VOL,5) > 1.5 OR VOL > MA(VOL,20)*2)
85
+         AND (C < O OR (C < REF(C,1) AND IF(C=0,0,(H - C)/C) > 0.03))
86
+         AND IF(REF(C,1)=0,0,(H - L)/REF(C,1)) > 0.06;
87
+
88
+{ ===================== 信号分层 =====================}
89
+{ —— 强信号(立即型)——}
90
+强制卖出 := 止损触发 OR 主动出货;
91
+
92
+{—— 组合信号(需合成 ≥2 条)——}
93
+回撤超下破均价 := (当前回撤 >= 动态回撤阈值) AND 下破均价;
94
+量价转弱 := (缩量回落 OR VOL < MA(VOL,5)) AND 动能转弱;
95
+板块弱势确认 := 板块弱势;
96
+可选_主力对倒 := 主力对倒;
97
+
98
+{ 沪深300走势 }
99
+HS300C:="399300$CLOSE";
100
+HS300H:="399300$HIGH";
101
+HS300L:="399300$LOW";
102
+HS300TR:= MAX(MAX(HS300H-HS300L, ABS(REF(HS300C,1)-HS300H)), ABS(REF(HS300C,1)-HS300L));
103
+HS300ATR:= MA(HS300TR,14)/REF(HS300C,1)*100;
104
+大盘弱势:=HS300C < REF(HS300C,1) * (1 - HS300ATR/200);  {跌超半ATR}
105
+
106
+弱信号1 := 回撤超下破均价;
107
+弱信号2 := 量价转弱;
108
+弱信号3 := 板块弱势确认;
109
+弱信号4 := 可选_主力对倒;
110
+弱信号5 := 大盘弱势;
111
+
112
+组合卖出 := (弱信号1*2 + 弱信号2 + 弱信号3 + 弱信号4 + 弱信号5) >= 3;
113
+
114
+{ —— 止盈与强/弱联动 ——}
115
+触发型止盈 := 止盈准备 AND (强制卖出 OR 组合卖出);
116
+
117
+{ ===================== 最终信号与过滤 =====================}
118
+成交过滤 := VOL > MA(VOL,5)*0.8 OR (VOL > MA(VOL,20) AND 缩量回落=0);  { 允许温和缩量 }
119
+持仓天数: BARSSINCE(MYBUYPRICE>0 AND C>MYBUYPRICE);
120
+
121
+综合信号 : (强制卖出 OR 组合卖出 OR 触发型止盈)
122
+         AND 有效时段
123
+         AND 成交过滤
124
+		 AND 持仓天数>1 
125
+         AND NOT(假突破);
126
+
127
+{ ===================== 可视化 =====================}
128
+DRAWICON(综合信号, C, 2);
129
+STICKLINE(综合信号, O, C, 3, 0), COLORRED;
130
+