未来函数检测 | 推荐资源 | 热门资源 收藏股海网 | 将股海网放到桌面
                  股海网,最好股票软件下载中心,股票软件,股票书籍,股票公式,股票知识,炒股教程
                  股海首页 | 指标公式 | 分析软件 | 行情软件 | 数据软件 | 资讯题材 | 工具应用 | 期货基金 | 书籍教程 | 技术指标 | 股海绝技 | 外汇期货 | 股票知识 |
                  股票软件 大智慧 通达信 飞狐 东财通 操盘手 指南针 同花顺 钱龙 券商软件 ?#21482;?#28818;股 和谐软件 证券之星 金融界 分析家 数据下载 数据接口 期货 基金 教程
                  股票公式 大智慧 通达信 飞狐 同花顺 东财通 | 股?#32972;?/b> 大智慧 通达信 | 股票书籍 | 指标分解 MACD BOLL KDJ OBV CCI RSI DMI SAR VOL DDX DDY DDZ WR CR
                  当前位置 股海网 > 工具应用 > 股软教程 > 正文
                  通达信DLL插件编写大众化教程
                  • 相关简介 通达信DLL插件编写大众化教程 要想象编普通公式一样编DLL插件,我们必须掌握C语言里的for语句的用法,我们不用理解具体的含义,更不需要死记硬背下来,我们只要知道最基本的结构就可以了, 本来我是记不住的,现在想想就能打出代码来了 void SMA(int DataLen, float*pfOUT, float*pfINa, float*pfINb, float*pfINc) 这一行,在C语言里叫指针,在通达信里就叫输入参数的,讲得高雅一点,就是通达信的接口 除了void 后面的那三个字母要各种
                  • 文件大小 unknow
                  • 浏?#26469;?#25968;
                  • 运行环境 通达信
                  • 编辑发布 股海网
                  • 软件来源 Internet
                  • 加入时间 2019/1/5 12:05:51
                  • 解压密码 www.02594633.com请仔细输入复制无效
                  • 下载统计

                  股票软件说明

                  通达信DLL插件编写大众化教程

                  要想象编普通公式一样编DLL插件,我们必须掌握C语言里的for语句的用法,我们不用理解具体的含义,更不需要死记硬背下来,我们只要知道最基本的结构就可以了,

                  本来我是记不住的,现在想想就能打出代码来了

                  void SMA(int DataLen, float*pfOUT, float*pfINa, float*pfINb, float*pfINc)

                  这一行,在C语言里叫指针,在通达信里就叫输入参数的,讲得高雅一点,就是通达信的接口

                  除了void 后面的那三个字母要各?#25351;?#20197;外,别的全部不要动,这个是固定的模式

                  我们还要记住一个英文单词

                  因为很多时间,我用自定义的参数,用这个英文要方便很多

                  fTemp 中文是什么或者怎么读,我也不会,哈哈,如果你认为我不行,可以不用看下面了

                  我们编公式要用到变量和参数,变量因为是计算出来的,会?#34892;?#25968;点,所以用float在指针那一行下面申明一下
                  参数很多时候用的都是整数,我们就用int来申明一下;
                  N=9;
                  V1:MA(C,N);

                  ?#28909;?#35828;这个公式,V1就是变量,N就是参数

                  那么我们用fTemp代替V1

                  申明就这样写了


                  void SMA(int DataLen, float*pfOUT, float*pfINa, float*pfINb, float*pfINc)

                  float fTemp =0.0;

                  int N = 0;


                  申明写完了,我们要开始写一个for语句

                  void SMA(int DataLen, float*pfOUT, float*pfINa, float*pfINb, float*pfINc)

                  float fTemp =0.0;

                  int N = 0;

                  for(int i = 1;i<DataLen;i++)

                  这句意思就是说,申明i等于1(或者你等于零也可以,i后面要是有计算式的话,删掉,至少我删了好多都证明是可行的),第一句用分号结束,第二句,如果i小DataLen,那么i++,意思就是可以朝下进行,再加一次,进入下面的语句,如果不是小于,是大于或等于了,那么就结束了,程序就不朝下运行了,这是固定不变的,所有的for开头的语句都是这样的

                  一个完整的for开头的语句就是这样了

                  void SMA(int DataLen, float*pfOUT, float*pfINa, float*pfINb, float*pfINc)

                  float fTemp =0.0;

                  int N = 0;

                  for(int i = 1;i<DataLen;i++)
                  {

                  }

                  给一个大括句最好,如果不给,只算第一行的,下面的就不算了
                  再继续下面

                  void SMA(int DataLen, float*pfOUT, float*pfINa, float*pfINb, float*pfINc)

                  float fTemp =0.0;

                  int N = 0;

                  for(int i = 1;i<DataLen;i++)
                  {
                  pfOUT = pfINa//这个地方有一个大括号中间有一个i看图,论坛会漏掉
                  }
                  看截图

                  通达信DLL插件编写大众化教程

                  那么,这就是一个完整的for语句了,记住一句,所有的for开头的语句,你可以全部放在一个for语句里各种计算;

                  看我的这个帖子,那些五天线,十天线,还有二十天线,我们全部放在一起计算



                  我们要这样做:

                  ?#28909;?#35828;我们要计算一个公式,这个公式要求是五天线大于十天线,十天线大于二十天线,我们这样来处理
                  void SMA(int DataLen, float*pfOUT, float*pfINa, float*pfINb, float*pfINc)

                  float fTemp =0.0;
                  float fTemp1 =0.0;
                  float fTemp2 =0.0;
                  float fTemp3 =0.0;
                  float fTemp4 =0.0;
                  float sum = 0.0;
                  int N = 0;

                  for(int i = 1;i<DataLen;i++)
                  {

                                  for (int j = 0;
                                          j < 5; j++)
                                          sum = sum + pfINa[i - j];
                                  fTemp1 = sum / 5;
                                  for (int j = 0;
                                          j < 10; j++)
                                          sum = sum + pfINa[i - j];
                                  fTemp2 = sum / 10;
                                  for (int j = 0;
                                          j < 20; j++)
                                          sum = sum + pfINa[i - j];
                                  fTemp3 = sum / 20;
                                pfOUT
                  = fTemp1 > fTemp2 > fTemp2;

                                   }

                  提个醒,pfOUT后面有一个大括号,大括号里有一个小写的i

                  通达信DLL插件编写大众化教程

                  只要是for开头的,全部可以把第一个for省略掉,然后放在一起加减?#39034;?今天大于明天那些全部是一样的,总之思路或者说方法就是这样,怎样发挥,你自己想吧,就是你想怎样都可以 ,如果你明白了这帖子的话

                  前提条件是for的第一句表达式必须是一样,那些五天线还有十天线为什么不能用一个for了,因为括号里有5,还有10,还有20,是不一样的,如果是一样,仍然可以再省略掉,只用一个for

                  两个一样的for,,就是后面的语句是一样的,你编在一起,会把cpu累死,反正我死了好多次机了

                  如果再给一个不是for开头的,可以直接申明一个fTemp 变量

                  等代替上一个语句里的pfOUT

                  然后把fTemp

                  换成下一个语句的里

                  pfINa这个参数

                   

                  下载链接(下载本站资源请点击下面进入下载页蓝色图标)
                  通达信DLL插件编写大众化教程下载
                  精品股票公式
                  ͸