chengjie vor 3 Monaten
Ursprung
Commit
061c00fbce
1 geänderte Dateien mit 69 neuen und 58 gelöschten Zeilen
  1. 69 58
      stock/通达信公式卖出2.txt

+ 69 - 58
stock/通达信公式卖出2.txt

@@ -1,101 +1,99 @@
1 1
 { 持有股票名称和成本价 }
2
-BUYDATE1:=1000000+250818;
3
-NAME1:='300806';
4
-PRICE1:=23.40;
2
+BUYDATE1:=1000000+250819;
3
+NAME1:='600487';
4
+PRICE1:=18.76;
5 5
 
6 6
 BUYDATE2:=BUYDATE1;
7
-NAME2:='301165';
8
-PRICE2:=74.57;
9
-
10
-BUYDATE3:=BUYDATE1;
11
-NAME3:='';
12
-PRICE3:=0;
13
-
14
-MYBUYPRICE:=IF(CODELIKE(NAME1),PRICE1,IF(CODELIKE(NAME2),PRICE2,IF(CODELIKE(NAME3),PRICE3,0))); 
15
-MYBUYDATE:=IF(CODELIKE(NAME1),BUYDATE1,IF(CODELIKE(NAME2),BUYDATE2,IF(CODELIKE(NAME3),BUYDATE3,0))); 
16
-
17
-{ ===================== 参数设置 =====================}
18
-N1_BASE:=2;     { 基础回撤阈值系数 }
19
-N2:=3;          { 开盘过滤时间(分钟) }
20
-N3:=2;          { 保守系数 }
21
-N4_BASE:=1.5;   { 基础动态止盈回撤系数 }
22
-N5:=0.5;        { 大盘弱势系数 }
23
-N6:=-5;         { 集合大幅低开阈值 }
24
-N7:=0.7;        { 基础流动性阈值(%) }
25
-N7_创业板:=0.6;  { 创业板流动性阈值(%) }
26
-STOPLOSS:=5;    { 基础止损阈值(%) }
27
-TAKEPROFIT:=10; { 基础止盈阈值(%) }
28
-
29
-{ ========== 创业板特殊参数 (300/301开头股票) ========== }
7
+NAME2:='301171';
8
+PRICE2:=34.10;
9
+
10
+BUYDATE3:=1000000+250818;
11
+NAME3:='301165';
12
+PRICE3:=74.57;
13
+
14
+BUYDATE4:=BUYDATE3;
15
+NAME4:='300806';
16
+PRICE4:=23.40;
17
+
18
+MYBUYPRICE:=IF(CODELIKE(NAME1),PRICE1,IF(CODELIKE(NAME2),PRICE2,IF(CODELIKE(NAME3),PRICE3,IF(CODELIKE(NAME4),PRICE4,0)))); 
19
+MYBUYDATE:=IF(CODELIKE(NAME1),BUYDATE1,IF(CODELIKE(NAME2),BUYDATE2,IF(CODELIKE(NAME3),BUYDATE3,IF(CODELIKE(NAME4),BUYDATE4,0)))); 
20
+持仓天数 :=DATETODAY(DATE)-DATETODAY(MYBUYDATE);
21
+
22
+{ ===================== 参数设置 ===================== }
23
+N1_BASE:=2;     
24
+N2:=3;          
25
+N3:=2;          
26
+N4_BASE:=1.5;   
27
+N5:=0.5;        
28
+N6:=-5;         
29
+STOPLOSS:=5;    
30
+TAKEPROFIT:=10; 
31
+
30 32
 创业板标识 := CODELIKE('300') OR CODELIKE('301');
31
-N1 := IF(创业板标识, 2.75, N1_BASE);   { 创业板用2.75,其他用基础值 }
32
-N4 := IF(创业板标识, 2.25, N4_BASE);   { 创业板用2.25,其他用基础值 }
33
-流动性阈值 := IF(创业板标识, N7_创业板, N7);
33
+N1 := IF(创业板标识, 2.75, N1_BASE);   
34
+N4 := IF(创业板标识, 2.25, N4_BASE);   
34 35
 
35
-{ ===================== 时间控制 =====================}
36
+{ ===================== 时间控制 ===================== }
36 37
 集合竞价时段 := MACHINETIME>=092500 AND MACHINETIME<=093000;
37 38
 上午开盘后 := MACHINETIME >= (093000 + N2*100) AND MACHINETIME <= 113000;
38 39
 下午开盘后 := MACHINETIME >= 130000 AND MACHINETIME <= 145500;
39 40
 有效时段 := 上午开盘后 OR 下午开盘后;
40 41
 
41
-{ ===================== 基础数据 =====================}
42
+{ ===================== 基础数据 ===================== }
42 43
 TR1 := MAX(MAX(H-L, ABS(REF(C,1)-H)), ABS(REF(C,1)-L));
43 44
 相对ATR := MA(TR1,14)/REF(C,1)*100;
44 45
 日内系数 := FROMOPEN/240;  
45 46
 分时均价 := DYNAINFO(11);          
46 47
 基准价 := MAX(O, REF(C,1));        
47 48
 
48
-{ 动态计算最高价 }
49
-{ 方法1:使用BARSLASTCOUNT检测持续状态 }
50 49
 持续高波动 := BARSLASTCOUNT(相对ATR > 0.5);
51
-{ 方法2:使用SUM直接计算高波动天数 }
52 50
 高波动天数 := SUM(相对ATR > 0.5, 100);
53
-{ 组合方法 - 确保在各种情况下都能获得有效周期 }
54
-有效周期 := IF(相对ATR > 0.5, 
55
-             MIN(MAX(持续高波动, 高波动天数), 30), 
56
-             10);
51
+有效周期 := IF(相对ATR > 0.5, MIN(MAX(持续高波动, 高波动天数), 30), 10);
57 52
 有效最高价 := HHV(H, 有效周期);
58 53
 当前回撤 := IF(基准价>0, (有效最高价 - C)/基准价*100, 0);
59 54
 
60
-{ ===================== 集合竞价策略 =====================}
55
+{ ===================== 集合竞价策略 ===================== }
61 56
 集合竞价低开 := (O-REF(C,1))/REF(C,1)*100;
62 57
 集合卖出 := 集合竞价时段 AND (
63 58
     (MYBUYPRICE>0 AND (O - MYBUYPRICE)/MYBUYPRICE*100 <= -STOPLOSS) 
64 59
     OR 集合竞价低开 < N6
65 60
 );
66 61
 
67
-{ ===================== 动态止盈止损 =====================}
62
+{ ===================== 动态止盈止损 ===================== }
68 63
 当前盈利 := IF(MYBUYPRICE>0, (C - MYBUYPRICE)/MYBUYPRICE*100, 0);
69 64
 动态止损 := MAX(STOPLOSS, 1.2 * 相对ATR);
70
-动态止盈 := MAX(TAKEPROFIT, 当前盈利 - N4 * 相对ATR); { 使用调整后的N4 }
65
+动态止盈 := MAX(TAKEPROFIT, 当前盈利 - N4 * 相对ATR);
71 66
 
72
-止损触发 := MYBUYPRICE>0 AND 当前盈利 <= -动态止损;
73
-止盈准备 := MYBUYPRICE>0 AND 当前盈利 >= 动态止盈;
67
+止损触发瞬时 := MYBUYPRICE>0 AND 当前盈利 <= -动态止损;
68
+止盈准备瞬时 := MYBUYPRICE>0 AND 当前盈利 >= 动态止盈;
74 69
 
75
-{ ===================== 动态回撤阈值 =====================}
76
-动态回撤阈值 := (1 + 相对ATR/100) * N1 * (1 - 0.3*日内系数) * N3; { 使用调整后的N1 }
70
+{ ---- 锁定逻辑 ---- }
71
+止损锁定 := IF(BARSLAST(止损触发瞬时)=DRAWNULL,0, BARSLAST(止损触发瞬时)< 10000);
72
+止盈准备锁定 := IF(BARSLAST(止盈准备瞬时)=DRAWNULL,0, BARSLAST(止盈准备瞬时)< 10000);
77 73
 
78
-{ ===================== 量价动能 =====================}
74
+{ ===================== 动态回撤阈值 ===================== }
75
+动态回撤阈值 := (1 + 相对ATR/100) * N1 * (1 - 0.3*日内系数) * N3;
76
+
77
+{ ===================== 量价动能 ===================== }
79 78
 缩量回落 := V < MA(V,20) * 0.8;
80 79
 DIF := EMA(C,12)-EMA(C,26);
81 80
 动能转弱 := DIF < REF(DIF,1) AND MACD<0;
82 81
 下破均价 := C < 分时均价 AND REF(C,1) >= REF(分时均价,1);
83 82
 
84
-{ ===================== 板块计算 =====================}
83
+{ ===================== 板块计算 ===================== }
85 84
 行业涨幅 := HORCALC(HYBLOCK,105,2,3);
86 85
 板块弱势 := 行业涨幅 < REF(行业涨幅,1) AND 行业涨幅 < 0;
87 86
 
88
-{ ===================== L2信号 =====================}
87
+{ ===================== L2信号 ===================== }
89 88
 主力对倒 := L2_AMO(1,3) > L2_AMO(1,2)*1.2 
90 89
         AND (L2_AMO(1,3)+L2_AMO(1,2)) > MA(V,10)*C*0.3;
91 90
 主动出货 := L2_AMO(0,3) > L2_AMO(0,2)*2 
92 91
         AND L2_VOL(0,3)/V > 0.3 
93 92
         AND V/MA(V,5) > 1.2;
94 93
 
95
-{ ===================== 信号分层 =====================}
96
-强制卖出 := 止损触发 OR 主动出货;
94
+{ ===================== 信号分层 ===================== }
95
+强制卖出 := 止损锁定 OR 主动出货;
97 96
 
98
-{ 大盘计算 }
99 97
 HS300C:="399300$C";
100 98
 HS300ATR:= MA(ABS(REF(HS300C,1)-HS300C),14)/REF(HS300C,1)*100;
101 99
 大盘弱势:=HS300C < REF(HS300C,1) * (1 - HS300ATR*N5/100);
@@ -108,17 +106,30 @@ HS300ATR:= MA(ABS(REF(HS300C,1)-HS300C),14)/REF(HS300C,1)*100;
108 106
 
109 107
 组合卖出 := (弱信号1 + 弱信号2*2 + 弱信号3 + 弱信号4 + 弱信号5) >= 3;
110 108
 
111
-{ ===================== 最终信号 =====================}
112
-成交过滤 := V > MA(V,5)*流动性阈值;
113
-持仓天数 :=DATETODAY(DATE)-DATETODAY(MYBUYDATE);
114
-
115
-综合信号: MYBUYPRICE>0 AND (
109
+{ ===================== 成交过滤 ===================== }
110
+基础过滤 := V > MA(V,5)*0.7;
111
+紧急情况 := (REF(C,1)-C)/REF(C,1)*100 > 5 
112
+          OR (止损锁定 AND EVERY(V < MA(V,5)*0.8, 3))
113
+          OR C <= ROUND(REF(C,1)*0.9*100)/100;
114
+创业板紧急情况 := (REF(C,1)-C)/REF(C,1)*100 > 4 
115
+               OR (止损锁定 AND EVERY(V < MA(V,5)*0.8, 2))
116
+               OR C <= ROUND(REF(C,1)*0.86*100)/100;
117
+成交过滤 := IF(创业板标识, 基础过滤 OR 创业板紧急情况, 基础过滤 OR 紧急情况);
118
+
119
+{ ===================== 综合信号 ===================== }
120
+综合信号瞬时 := MYBUYPRICE>0 AND (
116 121
         集合卖出 
117 122
         OR (有效时段 AND (强制卖出 OR 组合卖出))
118
-        OR (止盈准备 AND (强制卖出 OR 组合卖出))
123
+        OR (止盈准备锁定 AND (强制卖出 OR 组合卖出))
119 124
     )
120 125
     AND 成交过滤
121 126
     AND 持仓天数>=1;
122 127
 
123
-{ ===================== 可视化 =====================}
128
+{ ---- 综合信号锁定(记忆功能) ---- }
129
+综合信号锁定 := IF(BARSLAST(综合信号瞬时)=DRAWNULL,0, BARSLAST(综合信号瞬时)< 10000);
130
+
131
+{ ---- 自动清零逻辑:新建仓时重置 ---- }
132
+综合信号 : IF(MYBUYPRICE>0, 综合信号锁定, 0);
133
+
134
+{ ===================== 可视化 ===================== }
124 135
 DRAWICON(综合信号, L*0.98, 2);