当前位置: 首页 > news >正文

斐波那契数列策略

一种基于斐波那契数列的交易策略,主要通过结合移动平均线、KDJ指标和斐波那契数列来确定买卖点和风险管理。

 

交易逻辑思维  

1. 多指标结合:    

- 移动平均线:使用34期指数移动平均线(Em)和8期简单移动平均线(Sm)来判断短期和长期趋势。    

 

- KDJ指标:通过计算K线和D线来识别趋势和买卖信号。K线代表快速线,D线代表慢速线,K线由下向上穿过D线形成金叉,通常视为买入信号。    

 

- 斐波那契数列:利用斐波那契回撤和扩展水平来设定止损和止盈点,以实现动态的风险控制。  

 

2. 趋势判断:    

- 短期均线(Sm)大于长期均线(Em)时,表明短期趋势向上。    

- K线由下向上穿过D线形成金叉,结合短期趋势向上,作为买入信号。  

 

3. 突破确认:    

- 在K线和D线交叉后的四个周期内,如果价格能够突破交叉时的高点(Tp),则认为是有效的突破信号,确认开仓时机。  

 

4. 下单逻辑:    

- 当满足开仓条件且当前没有持仓时,以市价单买入指定数量的合约。  

 

特点  

1. 动态风险管理:    

- 幅度止损:

根据开仓时记录的前一轮高低点以及斐波那契回撤比例设定多个止损点,当价格触及这些回撤水平时,将全部卖出平仓。    

- 幅度止盈:

当价格上涨达到前一轮行情最低价上方的1.272倍斐波那契扩展水平时,卖出一半持仓;当价格达到1.618倍扩展水平时,卖出剩余全部持仓,实现盈利锁定。  

 

2. 多周期分析:    

- 使用不同周期的移动平均线和KDJ指标来捕捉不同时间框架下的市场信号。    

- 通过识别前一轮行情的高点和低点,结合斐波那契数列进行更精确的买卖点判断。  

 

3. 综合指标应用:    

- 结合了移动平均线的趋势判断能力、KDJ指标的买卖信号指示以及斐波那契数列的风险管理功能,形成了一套完整的交易系统。  

 

4. 灵活性和适应性:    

- 参数设置具有一定的灵活性,用户可以根据市场情况调整参数以适应不同的市场环境。    

- 策略设计考虑了多种市场情况,旨在捕捉趋势性行情并实施动态的风险控制。  

 

该策略通过综合运用移动平均线、KDJ指标和斐波那契数列,形成了一套完整的交易系统。

其核心在于多指标结合的趋势判断和动态风险管理,旨在捕捉趋势性行情并实施有效的风险控制。

策略的设计考虑了多种市场情况,具有较高的灵活性和适应性。

然而,用户在实际应用时应充分验证策略的有效性,避免直接实盘操作带来的风险。

 

 

本策略主要交易逻辑如下:  

1. 参数设置:    

- N: 参考周期,默认值为81,范围从1到100,步长为10。    

- P1和P2: 分别用于计算K线和D线的周期,默认都是14,范围从2到40,步长为4。    

- P3: 用来识别前一轮行情高点的周期,默认值为36,范围从10到100,步长为2。    

- Num: 每次交易的手数或股数,默认为2。  

2. 技术指标计算:    

- 计算34期指数移动平均线(Em)和8期简单移动平均线(Sm)。    

- 使用N周期内的最低价和最高价计算相对强弱值(Rsv)。    

- 基于Rsv计算K线和D线,分别代表快慢线,用以识别趋势和买卖信号。    

- Tp: 记录最近一次K线与D线交叉时的最高价。    - Gj: 记录前一轮行情的最高价。    

- Dj: 记录前一轮行情的最低价。  

3. 交易条件:    

- Cond1: 当短期均线(Sm)大于长期均线(Em),表明短期趋势向上。    

- Cond2: K线由下向上穿过D线,形成金叉,通常视为买入信号。    

- Cond3: 在K线和D线交叉后的四个周期内,如果价格能够突破交叉时的高点(Tp),则认为是有效的突破信号。    

- 开仓条件(BuyCond): 结合上述三个条件,当短期趋势向上、K线位于D线上方,并且价格有效突破,即为开仓时机。  

4. 下单逻辑:    

- 当满足开仓条件且当前没有持仓时,以市价单买入指定数量的合约。  

5. 止损与止盈策略:    

- 幅度止损: 根据开仓时记录的前一轮高低点(Gl和Dl)以及斐波那契回撤比例设定多个止损点,当价格触及这些回撤水平时,将全部卖出平仓。   

 - 幅度止盈: 当价格上涨达到前一轮行情最低价(Dl)上方的1.272倍斐波那契扩展水平时,卖出一半持仓;当价格达到1.618倍扩展水平时,卖出剩余全部持仓,实现盈利锁定。  

该策略综合运用了移动平均线、KDJ指标和斐波那契数列来确定买卖点和风险管理,旨在捕捉趋势性行情并实施动态的风险控制。

 

策略信号代码:

/定义参数

Input:N(81,1,100,10),P1(14,2,40,4),P2(14,2,40,4),P3(36,10,100,2);

 

//中间变量

Variable:ls=0,Gl=0,Dl=0;

Num:=2;

Em:Ema(Close,34);//收盘价34期EMA

Sm:Sma(Close,8,1);//收盘价8期SMA

Rsv:=(Close-Llv(Low,N))/(Hhv(High,N)-Llv(Low,N))*100;

K:Sma(RSV,P1,1),NOAXIS;

D:Sma(K,P2,1),noaxis;

Tp:=Valuewhen(Cross(k,d),High);//KD交叉时对应高点

Gj:=Valuewhen(H>=HHV(High,P3),High);//前一轮行情最高价

Cond4:=Barslast(H>=HHV(High,P3));//前一轮行情高点到现在的周期数

Dj:=Llv(Low,Cond4);//前一轮行情最低价

 

Cond1:=Sm>Em;

Cond2:=Cross(K,D);//K、D交叉

Cond3:=Barslast(COND2)<=4 AND High>Tp;//KD交叉以后四个周期内,价格突破

BuyCond:Cond1 And K>D And Cond3 ;//开仓条件

 

 

//下单语句

If BuyCond And Holding=0 Then

   Begin

   Buy(1,Num,Market);

   Gl:=Gj;//开仓时前一轮行情高价

   Dl:=Dj;//开仓时前一轮最低价

   ls:=Gl-Dl;//区间幅度

   End

   

//幅度止损部分  

If Enterprice>=Gl And Close<=Dl+0.618*ls Then Sell(1,Num,Market);

If Enterprice>=Dl+0.786*ls And Enterprice<=Gl And Close<=Dl+0.5*ls Then Sell(1,Num,Market);

If Enterprice>=Dl+0.5*ls And Enterprice<=Dl+0.786*ls And Close<=Dl+0.236*ls Then Sell(1,Num,Market);

If Enterprice>=Dl+0.236*ls And Enterprice<Dl+0.5*ls And Close<=Dl Then Sell(1,Num,Market);

 

//幅度止盈部分

If Close>=Dl+1.272*ls Then Sell(1,Intpart(Num/2),Market);

If Close>=Dl+1.618*ls Then Sell(1,0,Market);

 

●借鉴学习使用,请勿实盘。应充分验证!

http://www.xdnf.cn/news/1180999.html

相关文章:

  • 人形机器人_双足行走动力学:Maxwell模型及在拟合肌腱特性中的应用
  • Java学习----原型模式
  • 使用Claude Code从零到一打造一个现代化的GitHub Star项目管理器
  • day46day47 通道注意力
  • 无源域自适应综合研究【2】
  • C++ 性能优化
  • 力扣 hot100 Day54
  • pytest中使用skip跳过某个函数
  • 无人机速度模块技术要点分析
  • 第三章:掌握 Redis 存储与获取数据的核心命令
  • MNIST 手写数字识别模型分析
  • 秋叶sd-webui频繁出现生成后无反应的问题
  • 【Web APIs】JavaScript 节点操作 ⑧ ( 删除节点 - removeChild 函数 | 删除节点 - 代码示例 | 删除网页评论案例 )
  • 算法竞赛阶段二-数据结构(34)数据结构链表STL vector
  • 【PyTorch】图像二分类项目-部署
  • Spring Boot 3整合Spring AI实战:9轮面试对话解析AI应用开发
  • HttpServletRequest深度解析:Java Web开发的核心组件
  • PyTorch数据选取与索引详解:从入门到高效实践
  • Vue3 面试题及详细答案120道(91-105 )
  • 开立医疗2026年校园招聘
  • 论文复现-windows电脑在pycharm中运行.sh文件
  • 工具篇之开发IDEA插件的实战分享
  • C# 方法执行超时策略
  • 处理URL请求参数:精通`@PathVariable`、`@RequestParam`与`@MatrixVariable`
  • Lua元表(Metatable)
  • Python 使用环境下编译 FFmpeg 及 PyAV 源码(英特尔篇)
  • TDengine 转化类函数 TO_CHAR 用户手册
  • 【数字IC验证学习------- SOC 验证 和 IP验证和形式验证的区别】
  • 借助 VR 消防技术开展应急演练,检验完善应急预案​
  • 数据库底层索引讲解-排序和数据结构