智能交易网,程序化交易,自动交易,量化交易

 找回密码
 注册

QQ登录

只需一步,快速开始

手机短信登录

参加MT4智能交易编程培训,7课免费在线试听MT4指标,EA代写,或EA指标加密账户远程验证服务 最完善商业MT4跟单系统(0.1秒极速响应不漏单)
为论坛做贡献有奖学金,奖学金可直接换真钱 扫本站微信公 众号部分视频课程指标EA免费得智能交易网MT4操盘神器,扫公众号免费得
查看: 485|回复: 2

如何把斐波那契 写成类

[复制链接]
发表于 2018-11-20 15:59:09 | 显示全部楼层 |阅读模式
本帖最后由 sweven 于 2018-11-21 08:31 编辑

我想把斐波那契(1 1 2 3 5 8 13 21)写成亏损或盈利加仓倍数应该怎么写?
EA中直接执行这条语句,
a=MathPow((1+MathSqrt(5))/2,(jy.danshu()))/MathSqrt(5)-MathPow((1-MathSqrt(5))/2,(jy.danshu()))/MathSqrt(5) ;
a读取数据是正确的,但添加到倍数是只开一单,想把他写成类直接调用应该可以吧!   
分步编写可以应用,如何编写成类
                                                   

                                     辛苦老师了
回复

使用道具 举报

发表于 2018-11-27 09:46:32 | 显示全部楼层
你这个要用递归函数来算的:具体我都给你写好了:
void OnStart()
  {
      double i=beishu(5);
      for(int i=1;i<10;i++)
       {
         printf(DoubleToStr(beishu(i),0));
       }
  }
double beishu(int danshu)
  {
     double a=0;
     if(danshu==1)//目前有1张单,马上开第二张单
      {
        a=1;//第一次加倍,是1倍
      }
     else if(danshu==2) //目前有2张单,马上开第三张单
      {
        a=1;//第二次加倍,还是1倍
      }
     else
      {
        a=beishu(danshu-1)+beishu(danshu-2);//第三次以后的倍数,就等于前面两次倍数的和,这里运用了递归函数来解决
      }
     return(a);
  }
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|sitemap|智能交易网,程序化交易,自动交易,量化交易 ( 苏ICP备08108698号,苏州智德金网络科技股份有限公司版权所有 )

GMT+8, 2019-9-17 07:17 , Processed in 0.119104 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表