chengjie il y a 3 mois
Parent
commit
c854d6e0b4
2 fichiers modifiés avec 32 ajouts et 71 suppressions
  1. 8 6
      src/model/yjbdc.js
  2. 24 65
      src/test/data.txt

+ 8 - 6
src/model/yjbdc.js

@@ -137,7 +137,13 @@ class YJBDC {
137 137
 
138 138
     static async GetYJBDCArticleList(obj) {
139 139
         try {
140
-            if (obj.ID>0 || obj.ID=="MAX"){
140
+            if (obj.IsFine){
141
+                
142
+                let sql = "SELECT `ID`,`CreateTime`,`Words`,`Level`,`ArticleStyle`,`ArticleStart`,`ArticleTitle`,`ArticleTitleCHN`,`ArticleImage`,`WordSource`,`Flag` FROM YJBDC_Articles WHERE IsFine=1 and Flag=0 order by ID desc;";
143
+                return await query(sql, null);
144
+                
145
+            }
146
+            else if (obj.ID>0 || obj.ID=="MAX"){
141 147
                 if (obj.ID=="MAX"){
142 148
                     let sql = "SELECT * FROM YJBDC_Articles WHERE UserID=? order by ID desc limit 1;";
143 149
                     return await query(sql, [obj.UserID]);
@@ -147,14 +153,10 @@ class YJBDC {
147 153
                     return await query(sql, [obj.ID]);
148 154
                 }
149 155
                 else{
150
-                    let sql = "SELECT * FROM YJBDC_Articles WHERE UserID=? and ID=? and Flag=0;";
156
+                    let sql = "SELECT * FROM YJBDC_Articles WHERE (UserID=? or UserID=11) and ID=? and Flag=0;";
151 157
                     return await query(sql, [obj.UserID,obj.ID]);
152 158
                 }
153 159
             }
154
-            else if (obj.IsFine){
155
-                let sql = "SELECT `ID`,`CreateTime`,`Words`,`Level`,`ArticleStyle`,`ArticleStart`,`ArticleTitle`,`ArticleTitleCHN`,`ArticleImage`,`WordSource`,`Flag` FROM YJBDC_Articles WHERE IsFine=1 and Flag=0 order by ID desc;";
156
-                return await query(sql, null);
157
-            }
158 160
             else{
159 161
                 let sql = "SELECT `ID`,`UserID`,`CreateTime`,`Words`,`Level`,`ArticleStyle`,`IsFine`,`ArticleTitle`,`ArticleStart`,`ReadCount`,`Flag` FROM YJBDC_Articles WHERE UserID=? order by ID desc;";
160 162
                 return await query(sql, [obj.UserID]);

+ 24 - 65
src/test/data.txt

@@ -1,73 +1,32 @@
1
-{==================== 参数设置(需手动修改)====================}
2
-BLK1 := '880001';   { 将此处改为您的板块代码1 }
3
-BLK2 := '880002';   { 将此处改为您的板块代码2 }
4
-BLK3 := '880003';   { 将此处改为您的板块代码3 }
5
-BUY_PRICE := 10;    { 修改为您的买入均价 }
6
-STOP_PROFIT := 5;   { 修改为止盈百分比(%) }
7
-STOP_LOSS := 3;     { 修改为止损百分比(%) }
1
+{=== 参数区:手动改这里 ===}
2
+BUY_PRICE:=10.50;     {买入均价}
3
+STOP_PROFIT:=0.05;    {止盈5%}
4
+STOP_LOSS:=0.03;      {止损3%}
8 5
 
9
-{==================== 自动识别大盘 ====================}
10
-IS_SH := IF(INBLOCK('上证A股'), 1, 0);
11
-INDEX_CODE := IF(IS_SH, 'SH000001', 'SZ399001');
12 6
 
13
-{==================== 板块强弱计算 ====================}
14
-BLK1_C := STKINDI(BLK1, 'C', 0, 0);
15
-BLK1_REF := REF(STKINDI(BLK1, 'C', 0, 1), 1);
16
-BLK1_ZDF := IF(BLK1_C > 0, (BLK1_C - BLK1_REF) / BLK1_REF * 100, -1000);
7
+{=== 大盘数据 ===}
8
+DP_ZDF:=(INDEXC-REF(INDEXC,1))/REF(INDEXC,1)*100;
17 9
 
18
-BLK2_C := STKINDI(BLK2, 'C', 0, 0);
19
-BLK2_REF := REF(STKINDI(BLK2, 'C', 0, 1), 1);
20
-BLK2_ZDF := IF(BLK2_C > 0, (BLK2_C - BLK2_REF) / BLK2_REF * 100, -1000);
10
+{=== 股票数据 ===}
11
+CUR_ZDF:=(C-REF(C,1))/REF(C,1)*100;
21 12
 
22
-BLK3_C := STKINDI(BLK3, 'C', 0, 0);
23
-BLK3_REF := REF(STKINDI(BLK3, 'C', 0, 1), 1);
24
-BLK3_ZDF := IF(BLK3_C > 0, (BLK3_C - BLK3_REF) / BLK3_REF * 100, -1000);
13
+{=== 止盈止损价 ===}
14
+Z_Y:=BUY_PRICE*(1+STOP_PROFIT);
15
+Z_S:=BUY_PRICE*(1-STOP_LOSS);
25 16
 
26
-BEST_BLK_ZDF := MAX(MAX(BLK1_ZDF, BLK2_ZDF), BLK3_ZDF);
17
+{=== 次日情景模拟 ===}
18
+G1:=C*1.01; G2:=C*1.02; G3:=C*1.03;
19
+D1:=C*0.99; D2:=C*0.98; D3:=C*0.97;
27 20
 
28
-{==================== 大盘强弱计算 ====================}
29
-INDEX_C := STKINDI(INDEX_CODE, 'C', 0, 0);
30
-INDEX_REF := REF(STKINDI(INDEX_CODE, 'C', 0, 1), 1);
31
-INDEX_ZDF := (INDEX_C - INDEX_REF) / INDEX_REF * 100;
21
+SELL_SIGNAL(P):=IF(P>=Z_Y,1,IF(P<=Z_S,-1,IF(DP_ZDF<0,-1,2)));
32 22
 
33
-{==================== 止盈止损价格 ====================}
34
-STOP_PROFIT_PRICE := BUY_PRICE * (1 + STOP_PROFIT / 100);
35
-STOP_LOSS_PRICE := BUY_PRICE * (1 - STOP_LOSS / 100);
23
+DRAWTEXT_FIX(1,0.00,0.10,0,'高开1%:'+NUMTOSTR(SELL_SIGNAL(G1),0)),COLORWHITE;
24
+DRAWTEXT_FIX(1,0.00,0.15,0,'高开2%:'+NUMTOSTR(SELL_SIGNAL(G2),0)),COLORWHITE;
25
+DRAWTEXT_FIX(1,0.00,0.20,0,'高开3%:'+NUMTOSTR(SELL_SIGNAL(G3),0)),COLORWHITE;
26
+DRAWTEXT_FIX(1,0.00,0.25,0,'低开1%:'+NUMTOSTR(SELL_SIGNAL(D1),0)),COLORWHITE;
27
+DRAWTEXT_FIX(1,0.00,0.30,0,'低开2%:'+NUMTOSTR(SELL_SIGNAL(D2),0)),COLORWHITE;
28
+DRAWTEXT_FIX(1,0.00,0.35,0,'低开3%:'+NUMTOSTR(SELL_SIGNAL(D3),0)),COLORWHITE;
36 29
 
37
-{==================== 策略决策函数 ====================}
38
-STRATEGY := FUNCTION(OPEN_PRICE) {
39
-    IF OPEN_PRICE >= STOP_PROFIT_PRICE THEN RETURN 1;
40
-    IF OPEN_PRICE <= STOP_LOSS_PRICE THEN RETURN -1;
41
-    IF BEST_BLK_ZDF < 0 AND INDEX_ZDF < 0 THEN RETURN -1;
42
-    IF BEST_BLK_ZDF < 0 OR INDEX_ZDF < 0 THEN RETURN 0;
43
-    RETURN 2;
44
-};
45
-
46
-{==================== 模拟开盘情景 ====================}
47
-SIM_HIGH1 := STRATEGY(C * 1.01);
48
-SIM_HIGH2 := STRATEGY(C * 1.02);
49
-SIM_HIGH3 := STRATEGY(C * 1.03);
50
-SIM_LOW1 := STRATEGY(C * 0.99);
51
-SIM_LOW2 := STRATEGY(C * 0.98);
52
-SIM_LOW3 := STRATEGY(C * 0.97);
53
-
54
-{==================== 策略说明 ====================}
55
-STR_TXT := FUNCTION(X) {
56
-    IF X = -1 THEN RETURN '全出';
57
-    IF X = 0 THEN RETURN '减仓';
58
-    IF X = 1 THEN RETURN '止盈全出';
59
-    RETURN '持有';
60
-};
61
-
62
-DRAWTEXT_FIX(1, 0.00, 0.10, 0, '高开+1%: ' + STR_TXT(SIM_HIGH1)), COLORWHITE;
63
-DRAWTEXT_FIX(1, 0.00, 0.15, 0, '高开+2%: ' + STR_TXT(SIM_HIGH2)), COLORWHITE;
64
-DRAWTEXT_FIX(1, 0.00, 0.20, 0, '高开+3%: ' + STR_TXT(SIM_HIGH3)), COLORWHITE;
65
-DRAWTEXT_FIX(1, 0.00, 0.25, 0, '低开-1%: ' + STR_TXT(SIM_LOW1)), COLORWHITE;
66
-DRAWTEXT_FIX(1, 0.00, 0.30, 0, '低开-2%: ' + STR_TXT(SIM_LOW2)), COLORWHITE;
67
-DRAWTEXT_FIX(1, 0.00, 0.35, 0, '低开-3%: ' + STR_TXT(SIM_LOW3)), COLORWHITE;
68
-
69
-{==================== 画止盈止损线 ====================}
70
-DRAWLINE(CURRBARSCOUNT = 1, STOP_PROFIT_PRICE, ISLASTBAR, STOP_PROFIT_PRICE, 0), COLORGREEN, LINETHICK2;
71
-DRAWLINE(CURRBARSCOUNT = 1, STOP_LOSS_PRICE, ISLASTBAR, STOP_LOSS_PRICE, 0), COLORRED, LINETHICK2;
72
-DRAWTEXT(ISLASTBAR, STOP_PROFIT_PRICE, '止盈:' + NUMTOSTR(STOP_PROFIT_PRICE, 2)), COLORGREEN;
73
-DRAWTEXT(ISLASTBAR, STOP_LOSS_PRICE, '止损:' + NUMTOSTR(STOP_LOSS_PRICE, 2)), COLORRED;
30
+{=== 止盈止损线 ===}
31
+STICKLINE(1,Z_Y,Z_Y,3,0),COLORGREEN;
32
+STICKLINE(1,Z_S,Z_S,3,0),COLORRED;