Backtrader 量化回测实践(2)—— K线16主要形态定义(上)

2024-02-22 15:44

本文主要是介绍Backtrader 量化回测实践(2)—— K线16主要形态定义(上),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Backtrader 量化回测实践(2)—— K线16主要形态定义(上)

K线图形中的趋势线和价格走势能够反映市场的整体趋势,比如是否处于上涨或下跌趋势中。
用Backtrader做策略的时候,需要考虑K线形态,作为分析依据。K线的常用形态搜集整理如下:

1、光头光脚大阳线(极端强势);
2、光头光脚大阴线(极端弱势);
3、光头阳线(高价位强势线,先跌后涨型);
4、光头阴线(低价位弱势线,下跌抵抗型);
5、光脚阳线(高价位强势线,上升阻力型);
6、光脚阴线(低价位弱势线,先涨后跌型);
7、大阳线(较为强烈的买势信号,反转试探型);
8、大阴线(较为强烈的卖势信号,弹升试探型);
9、十字线(阳线,阴线);
10、T字线(阳线,阴线);
11、倒T字线(阳线,阴线);
12、一字线(阳线涨停,阴线跌停)。

以上一共16个,应该是常见的K线主要形态。
在策略中需要通过程序定义K线的形态,根据网上的介绍和定义,用dataframe分析。
取一个股票的数据导入到dataframe中,通过定义找到相应的形态并mplfinance绘图展示。

如果有错误,不妥之处欢迎留言,改进完善。

0.绘图

# signal是符合形态的日期列表,df是全量股票数据
# 只展示两个符合条件的图示
def mpfplot(signal,df) :counter = 0show_num = 2for i in signal:if counter < show_num :  # 以信号日期为中心前后10天的数据begin_date = i + datetime.timedelta(days=-10)end_date = i + datetime.timedelta(days=10)# 按时间段绘图df_candle = df.loc[(df.index>=begin_date.strftime("%Y-%m-%d")) & (df.index<=end_date.strftime("%Y-%m-%d"))]mpf.plot(df_candle , type='candle', title='Signal date: ' +i.strftime("%Y-%m-%d") ,figsize=(6,2))mpf.show()counter += 1counter = 0    for i in signal:if counter < show_num :      begin_date = i + datetime.timedelta(days=-10)end_date = i + datetime.timedelta(days=10)df_candle = df.loc[(df.index>=begin_date.strftime("%Y-%m-%d")) & (df.index<=end_date.strftime("%Y-%m-%d"))]# 按时间段数据print(df_candle[['open','high','low','close']])   counter += 1

1. 光头光脚大阳线

(1)代码
#1、光头光脚大阳线(极端强势)
# 开盘就是最低价,收盘就是最高价,收盘价大于开盘价
signal = []
for t_date in df.index :if df.loc[t_date,'open']==df.loc[t_date,'low'] and df.loc[t_date,'close']==df.loc[t_date,'high'] and df.loc[t_date,'close']>df.loc[t_date,'open']:signal.append(t_date)signal = []
for t_date in df.index :if df.loc[t_date,'open']==df.loc[t_date,'low'] and df.loc[t_date,'close']==df.loc[t_date,'high'] and df.loc[t_date,'close']>df.loc[t_date,'open']:signal.append(t_date)mpfplot(signal,df)            
(2)图示

在这里插入图片描述

(3)数据
             open   high    low  close
trade_date                            
2001-06-15  38.52  39.10  38.45  38.54
2001-06-18  38.50  38.88  37.60  37.66
2001-06-19  37.66  37.99  37.43  37.72
2001-06-20  37.72  37.90  37.11  37.19
2001-06-21  37.19  37.79  37.19  37.56
2001-06-22  36.80  38.20  36.80  38.00
2001-06-25  38.03  38.68  38.03  38.68
2001-06-26  38.78  38.84  38.50  38.80
2001-06-27  38.80  39.61  38.60  39.60
2001-06-28  39.60  39.95  38.65  39.29
2001-06-29  39.40  39.98  39.01  39.24
2001-07-02  39.10  39.15  38.37  38.52
2001-07-03  38.50  38.85  38.40  38.71
2001-07-04  38.71  38.90  38.56  38.71
2001-07-05  38.71  38.96  38.41  38.53open   high    low  close
trade_date                            
2003-11-03  10.08  10.18   9.97  10.12
2003-11-04  10.19  10.60  10.00  10.31
2003-11-05  10.34  10.52  10.25  10.46
2003-11-06  10.55  10.60  10.30  10.40
2003-11-07  10.39  10.39  10.01  10.18
2003-11-10  10.10  10.29  10.05  10.28
2003-11-11  10.25  10.48  10.25  10.48
2003-11-12  10.47  10.48  10.11  10.14
2003-11-13  10.13  10.20  10.01  10.09
2003-11-14  10.06  10.15   9.97  10.08
2003-11-17  10.03  10.12   9.98  10.08
2003-11-18  10.03  10.03   9.80   9.90
2003-11-19   9.80  10.00   9.76   9.94
2003-11-20  10.00  10.22   9.90  10.17
2003-11-21  10.18  10.24   9.98  10.01

2.光头光脚大阴线

(1)代码
#2、光头光脚大阴线(极端弱势)
# 开盘就是最高价,收盘就是最低价,开盘价大于收盘价
signal = []
for t_date in df.index :if df.loc[t_date,'open']==df.loc[t_date,'high'] and df.loc[t_date,'close']==df.loc[t_date,'low'] and df.loc[t_date,'open']>df.loc[t_date,'close']:signal.append(t_date)signal = []
for t_date in df.index :if df.loc[t_date,'open']==df.loc[t_date,'low'] and df.loc[t_date,'close']==df.loc[t_date,'high'] and df.loc[t_date,'close']>df.loc[t_date,'open']:signal.append(t_date)mpfplot(signal,df)
(2)图示

在这里插入图片描述

(3)数据
            open  high   low  close
trade_date                         
2004-06-14  6.14  6.18  5.99   6.02
2004-06-15  6.03  6.20  6.00   6.18
2004-06-16  6.18  6.28  6.08   6.17
2004-06-17  6.15  6.17  6.04   6.09
2004-06-18  6.06  6.08  6.00   6.07
2004-06-21  6.08  6.16  6.02   6.11
2004-06-22  6.11  6.21  6.09   6.19
2004-06-23  6.19  6.22  6.12   6.15
2004-06-24  6.15  6.15  6.09   6.09
2004-06-25  6.09  6.16  6.02   6.05
2004-06-28  6.05  6.18  5.95   6.08
2004-06-29  6.08  6.22  6.02   6.14
2004-06-30  6.14  6.17  6.10   6.12
2004-07-01  6.10  6.33  6.08   6.29
2004-07-02  6.32  6.36  6.21   6.31open  high   low  close
trade_date                         
2005-01-10  6.70  6.82  6.66   6.82
2005-01-11  6.86  6.88  6.75   6.80
2005-01-12  6.80  6.84  6.70   6.78
2005-01-13  6.77  6.81  6.68   6.75
2005-01-14  6.76  6.88  6.74   6.79
2005-01-17  6.77  6.77  6.55   6.61
2005-01-18  6.58  6.70  6.57   6.69
2005-01-19  6.72  6.74  6.65   6.73
2005-01-20  6.70  6.70  6.60   6.60
2005-01-21  6.59  6.83  6.45   6.80
2005-01-24  6.88  6.97  6.80   6.84
2005-01-25  6.85  7.00  6.77   7.00
2005-01-26  7.00  7.08  6.90   6.98
2005-01-27  6.97  6.97  6.80   6.83
2005-01-28  6.83  6.98  6.79   6.95

3. 阳线十字星

(1)代码
#3、阳线十字星
# 收盘价大于开盘价,K线体 / 上下影线的长度占比 < 1/3
signal = []
body_perc = 1 / 3 # K线体比上下影线,可调
shadow_perc = 1 / 4 # 上下影线比例,上下均衡,可调for t_date in df.index :k_body = df.loc[t_date,'close'] - df.loc[t_date,'open']k_shadow_up = df.loc[t_date,'high'] - df.loc[t_date,'close']k_shadow_down = df.loc[t_date,'open'] - df.loc[t_date,'low']k_shadow = abs(k_shadow_up) + abs(k_shadow_down)#上下影线的长度 占比 1/3 ,可以调整# 无影线的情况不考虑 ,避免T字形,要求上影线和下影线都要有一定长度,至少要总影线长度的1/4if k_shadow != 0 and k_shadow_up/k_shadow > shadow_perc and k_shadow_down/k_shadow > shadow_perc: if df.loc[t_date,'close']>df.loc[t_date,'open'] and k_body/k_shadow < body_perc:signal.append(t_date)mpfplot(signal,df)            
(2)图示

在这里插入图片描述

(3)数据
            open   high    low  close
trade_date                            
2000-01-04  29.50  30.38  29.30  30.10
2000-01-05  30.30  31.60  30.17  30.38
2000-01-06  30.30  31.88  30.10  31.60
2000-01-07  31.88  33.10  31.86  32.71
2000-01-10  33.10  33.50  32.67  32.81
2000-01-11  32.86  33.06  31.25  31.44
2000-01-12  31.05  32.00  30.60  30.90
2000-01-13  30.80  31.00  30.48  30.50
2000-01-14  30.40  30.70  29.98  30.01open   high    low  close
trade_date                            
2000-01-10  33.10  33.50  32.67  32.81
2000-01-11  32.86  33.06  31.25  31.44
2000-01-12  31.05  32.00  30.60  30.90
2000-01-13  30.80  31.00  30.48  30.50
2000-01-14  30.40  30.70  29.98  30.01
2000-01-17  29.99  30.66  29.61  30.66
2000-01-18  30.80  31.45  30.36  31.15
2000-01-19  31.30  33.28  31.30  32.58
2000-01-20  32.56  33.10  32.10  32.58
2000-01-21  32.60  32.99  32.22  32.65
2000-01-24  32.85  34.35  32.75  33.59
2000-01-25  34.00  34.20  32.65  32.70
2000-01-26  35.95  35.95  32.35  32.67
2000-01-27  32.70  32.88  31.52  31.95
2000-01-28  32.00  33.40  31.00  33.30

4.阴线十字星

(1)代码
#4、阴线十字星
# 收盘价小于开盘价,K线体 / 上下影线的长度占比 < 1/3
signal = []
body_perc = 1 / 3 # K线体比上下影线,可调
shadow_perc = 1 / 4 # 上下影线比例,上下均衡,可调for t_date in df.index :k_body = abs(df.loc[t_date,'close'] - df.loc[t_date,'open'])k_shadow_up = df.loc[t_date,'high'] - df.loc[t_date,'open']k_shadow_down = df.loc[t_date,'close'] - df.loc[t_date,'low']k_shadow = abs(k_shadow_up) + abs(k_shadow_down)#上下影线的长度 占比 1/3 ,可以调整# 无影线的情况不考虑 ,避免T字形,要求上影线和下影线都要有一定长度,至少要总影线长度的1/4if k_shadow != 0 and k_shadow_up/k_shadow > body_perc and k_shadow_down/k_shadow > body_perc: if df.loc[t_date,'open']>df.loc[t_date,'close'] and k_body/k_shadow < body_perc:signal.append(t_date)mpfplot(signal,df)
(2)图示

在这里插入图片描述

(3)数据
             open   high    low  close
trade_date                            
2000-01-04  29.50  30.38  29.30  30.10
2000-01-05  30.30  31.60  30.17  30.38
2000-01-06  30.30  31.88  30.10  31.60
2000-01-07  31.88  33.10  31.86  32.71
2000-01-10  33.10  33.50  32.67  32.81
2000-01-11  32.86  33.06  31.25  31.44
2000-01-12  31.05  32.00  30.60  30.90
2000-01-13  30.80  31.00  30.48  30.50
2000-01-14  30.40  30.70  29.98  30.01
2000-01-17  29.99  30.66  29.61  30.66
2000-01-18  30.80  31.45  30.36  31.15
2000-01-19  31.30  33.28  31.30  32.58
2000-01-20  32.56  33.10  32.10  32.58
2000-01-21  32.60  32.99  32.22  32.65open   high    low  close
trade_date                            
2000-03-20  29.00  29.98  29.00  29.90
2000-03-21  29.90  30.78  29.90  30.14
2000-03-22  30.12  30.40  30.08  30.17
2000-03-23  30.16  30.28  29.80  30.02
2000-03-24  30.05  31.09  30.05  30.65
2000-03-27  30.80  31.17  30.28  30.82
2000-03-28  31.01  31.30  30.58  30.86
2000-03-29  30.95  31.03  30.00  30.56
2000-03-30  30.61  30.80  30.35  30.48
2000-03-31  30.50  30.52  30.00  30.15
2000-04-03  30.15  30.97  30.00  30.20
2000-04-04  30.01  30.15  29.60  29.80
2000-04-05  29.80  30.30  29.80  30.00
2000-04-06  30.05  30.50  30.00  30.36
2000-04-07  30.40  30.50  30.10  30.19

5.阳线T字

(1)代码
#5、阳线T字
# 收盘价等于最高价,收盘价大于开盘价,K线体 / 下影线的长度占比 < 1/4
signal = []
body_perc = 1 / 3 # K线体比上下影线,可调
shadow_perc = 1 / 4 # 上下影线比例,上下均衡,可调for t_date in df.index :k_body = df.loc[t_date,'close'] - df.loc[t_date,'open']k_shadow_down = df.loc[t_date,'open'] - df.loc[t_date,'low']# 下影线的长度 占比 1/4 ,可以调整# 无影线的情况不考虑 if k_shadow_down != 0 and df.loc[t_date,'close'] == df.loc[t_date,'high']: if df.loc[t_date,'close']>df.loc[t_date,'open'] and k_body/k_shadow_down < shadow_perc:signal.append(t_date)mpfplot(signal,df)            
(2)图示

在这里插入图片描述

(3)数据
             open   high    low  close
trade_date                            
2008-04-14  24.17  24.17  22.60  22.80
2008-04-15  22.60  23.80  21.89  23.70
2008-04-16  23.70  25.00  23.20  24.45
2008-04-17  24.18  25.35  23.86  24.23
2008-04-18  24.18  24.81  23.17  23.45
2008-04-21  25.48  25.48  23.64  24.06
2008-04-22  23.71  24.78  22.70  24.55
2008-04-23  24.70  26.32  23.98  26.11
2008-04-24  28.50  28.72  27.50  28.72
2008-04-25  28.50  29.30  28.03  28.39
2008-04-28  27.81  28.45  26.98  27.65
2008-04-29  27.38  27.70  26.90  27.02
2008-04-30  27.19  28.55  27.19  28.45

6.阴线T字

(1)代码
#6、阴线T字
# 开盘价等于最高价,开盘价大于收盘价,K线体 / 下影线的长度占比 < 1/4
signal = []
body_perc = 1 / 3 # K线体比上下影线,可调
shadow_perc = 1 / 4 # 上下影线比例,上下均衡,可调for t_date in df.index :k_body = abs(df.loc[t_date,'close'] - df.loc[t_date,'open'])k_shadow_down = df.loc[t_date,'close'] - df.loc[t_date,'low']# 下影线的长度 占比 1/4 ,可以调整# 无影线的情况不考虑 if k_shadow_down != 0 and df.loc[t_date,'open'] == df.loc[t_date,'high']: if df.loc[t_date,'open']>df.loc[t_date,'close'] and k_body/k_shadow_down < shadow_perc:signal.append(t_date)mpfplot(signal,df)
(2)图示

在这里插入图片描述

(3)数据
             open   high    low  close
trade_date                            
2002-06-14  13.34  13.56  13.24  13.42
2002-06-17  13.25  13.42  13.25  13.36
2002-06-18  13.36  13.52  13.34  13.51
2002-06-19  13.60  13.65  13.30  13.32
2002-06-20  13.30  13.47  13.30  13.39
2002-06-21  13.41  14.00  13.35  13.80
2002-06-24  15.18  15.18  14.61  15.16
2002-06-25  15.18  15.18  14.60  14.63
2002-06-26  14.62  14.70  14.31  14.43
2002-06-27  14.45  14.80  14.43  14.58
2002-06-28  14.60  15.70  14.40  15.68
2002-07-01  15.68  15.90  15.30  15.42
2002-07-02  15.40  15.53  15.18  15.50
2002-07-03  15.55  15.78  15.33  15.46
2002-07-04  15.47  15.64  15.15  15.17open   high    low  close
trade_date                            
2002-06-25  15.18  15.18  14.60  14.63
2002-06-26  14.62  14.70  14.31  14.43
2002-06-27  14.45  14.80  14.43  14.58
2002-06-28  14.60  15.70  14.40  15.68
2002-07-01  15.68  15.90  15.30  15.42
2002-07-02  15.40  15.53  15.18  15.50
2002-07-03  15.55  15.78  15.33  15.46
2002-07-04  15.47  15.64  15.15  15.17
2002-07-05  15.17  15.17  14.95  15.13
2002-07-08  15.20  15.40  15.16  15.30
2002-07-09  15.45  15.50  15.23  15.28
2002-07-10  15.24  15.26  14.78  14.86
2002-07-11  14.83  14.96  14.70  14.83
2002-07-12  14.80  14.99  14.75  14.87
2002-07-15  14.85  14.85  14.70  14.72

7.阳线倒T字

(1)代码
#7、阳线倒T字
# 开盘价等于最低价,收盘价大于开盘价,K线体 / 上影线的长度占比 < 1/4
signal = []
body_perc = 1 / 3 # K线体比上下影线,可调
shadow_perc = 1 / 4 # 上下影线比例,上下均衡,可调for t_date in df.index :k_body = df.loc[t_date,'close'] - df.loc[t_date,'open']k_shadow_up = df.loc[t_date,'high'] - df.loc[t_date,'close']# 上影线的长度 占比 1/4 ,可以调整# 无影线的情况不考虑 if k_shadow_up != 0 and df.loc[t_date,'open'] == df.loc[t_date,'low']: if df.loc[t_date,'close']>df.loc[t_date,'open'] and k_body/k_shadow_down < shadow_perc:signal.append(t_date)mpfplot(signal,df)
(2)图示

在这里插入图片描述

(3)数据
             open   high    low  close
trade_date                            
2000-03-13  31.00  32.00  30.71  31.31
2000-03-14  31.00  31.00  30.00  30.51
2000-03-15  30.56  30.80  30.18  30.21
2000-03-16  30.19  30.20  28.90  29.16
2000-03-17  29.00  29.60  28.88  29.57
2000-03-20  29.00  29.98  29.00  29.90
2000-03-21  29.90  30.78  29.90  30.14
2000-03-22  30.12  30.40  30.08  30.17
2000-03-23  30.16  30.28  29.80  30.02
2000-03-24  30.05  31.09  30.05  30.65
2000-03-27  30.80  31.17  30.28  30.82
2000-03-28  31.01  31.30  30.58  30.86
2000-03-29  30.95  31.03  30.00  30.56
2000-03-30  30.61  30.80  30.35  30.48
2000-03-31  30.50  30.52  30.00  30.15open   high    low  close
trade_date                            
2000-03-27  30.80  31.17  30.28  30.82
2000-03-28  31.01  31.30  30.58  30.86
2000-03-29  30.95  31.03  30.00  30.56
2000-03-30  30.61  30.80  30.35  30.48
2000-03-31  30.50  30.52  30.00  30.15
2000-04-03  30.15  30.97  30.00  30.20
2000-04-04  30.01  30.15  29.60  29.80
2000-04-05  29.80  30.30  29.80  30.00
2000-04-06  30.05  30.50  30.00  30.36
2000-04-07  30.40  30.50  30.10  30.19
2000-04-10  30.25  31.28  30.25  31.08
2000-04-11  31.10  31.28  30.63  30.84
2000-04-12  30.98  31.09  30.32  30.50
2000-04-13  30.50  30.94  30.48  30.73
2000-04-14  30.79  31.89  30.75  31.42

8.阴线倒T字

(1)代码
#8、阴线倒T字
# 收盘价等于最低价,开盘价大于收盘价,K线体 / 上影线的长度占比 < 1/4
signal = []
body_perc = 1 / 3 # K线体比上下影线,可调
shadow_perc = 1 / 4 # 上下影线比例,上下均衡,可调for t_date in df.index :k_body = abs(df.loc[t_date,'close'] - df.loc[t_date,'open'])k_shadow_up = df.loc[t_date,'high'] - df.loc[t_date,'open']# 上影线的长度 占比 1/4 ,可以调整# 无影线的情况不考虑 if k_shadow_up != 0 and df.loc[t_date,'close'] == df.loc[t_date,'low']: if df.loc[t_date,'open']>df.loc[t_date,'close'] and k_body/k_shadow_up < shadow_perc:signal.append(t_date)mpfplot(signal,df)
(2)图示

在这里插入图片描述

(3)数据
              open    high     low   close
trade_date                                
2021-01-22  295.08  299.91  292.58  295.56
2021-01-25  295.57  316.33  293.20  315.69
2021-01-26  315.69  315.71  305.10  305.78
2021-01-27  302.90  302.90  287.00  292.58
2021-01-28  288.23  292.00  283.00  286.00
2021-01-29  290.00  295.14  288.78  291.14
2021-02-01  293.01  299.87  292.29  292.29
2021-02-02  292.00  304.33  291.90  304.12
2021-02-03  303.80  309.00  301.12  308.75
2021-02-04  306.00  316.80  305.01  313.60
2021-02-05  314.01  330.00  314.00  319.76
2021-02-08  324.00  330.50  313.80  320.00
2021-02-09  322.00  330.00  317.86  329.50
2021-02-10  333.00  345.68  332.50  342.65

这篇关于Backtrader 量化回测实践(2)—— K线16主要形态定义(上)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/735722

相关文章

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

MyBatis-Plus 中 nested() 与 and() 方法详解(最佳实践场景)

《MyBatis-Plus中nested()与and()方法详解(最佳实践场景)》在MyBatis-Plus的条件构造器中,nested()和and()都是用于构建复杂查询条件的关键方法,但... 目录MyBATis-Plus 中nested()与and()方法详解一、核心区别对比二、方法详解1.and()

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Spring事务传播机制最佳实践

《Spring事务传播机制最佳实践》Spring的事务传播机制为我们提供了优雅的解决方案,本文将带您深入理解这一机制,掌握不同场景下的最佳实践,感兴趣的朋友一起看看吧... 目录1. 什么是事务传播行为2. Spring支持的七种事务传播行为2.1 REQUIRED(默认)2.2 SUPPORTS2

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

MySQL 中 ROW_NUMBER() 函数最佳实践

《MySQL中ROW_NUMBER()函数最佳实践》MySQL中ROW_NUMBER()函数,作为窗口函数为每行分配唯一连续序号,区别于RANK()和DENSE_RANK(),特别适合分页、去重... 目录mysql 中 ROW_NUMBER() 函数详解一、基础语法二、核心特点三、典型应用场景1. 数据分

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

MySQL 用户创建与授权最佳实践

《MySQL用户创建与授权最佳实践》在MySQL中,用户管理和权限控制是数据库安全的重要组成部分,下面详细介绍如何在MySQL中创建用户并授予适当的权限,感兴趣的朋友跟随小编一起看看吧... 目录mysql 用户创建与授权详解一、MySQL用户管理基础1. 用户账户组成2. 查看现有用户二、创建用户1. 基

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

CSS Anchor Positioning重新定义锚点定位的时代来临(最新推荐)

《CSSAnchorPositioning重新定义锚点定位的时代来临(最新推荐)》CSSAnchorPositioning是一项仍在草案中的新特性,由Chrome125开始提供原生支持需... 目录 css Anchor Positioning:重新定义「锚定定位」的时代来了! 什么是 Anchor Pos