3.参数1可以是常数参数或序列数参数,其余参数只能为常数参数.
4.若m_nParam1Start<0,则参数1为常数参数,参数等于*m_pfParam1;
5.若m_nParam1Start>=0,则参数1为序列数参数,m_pfParam1指向一个浮点型数组,
数组大小为m_nNumData,数据有效范围为m_nParam1Start--m_nNumData.
在时间上m_pData[x]与m_pfParam1[x]是一致的
结构CALCINFO中用到的其它数据结构定义可在同一头文件中找到,读者如有疑问可自行查阅。
使用CustomAppWizard编程
由于CustomAppWizard
已完成了所有例行的工作,我们只需要读出原始数据,对其进行处理后,写入结果缓冲区就行了。具体可参阅网友Normal的大作,此处不再赘
述。有几点补充如下:
1、函数返回-1表示错误或全部数据无效,否则返回第一个有效值位置,即:
m_pResultBuf[返回值]--m_pResultBuf[m_nNumData-1]间为有效值。
2、CustomAppWizard只适用于VC6.0,不能用于VC5.0。
不使用CustomAppWizard编程
手工编程的话,要注意以下几点:
1、函数参数传递顺序必须按照C规则,如果文件扩展名用.cpp,则函数声明必须包含在extern"C"{}
的括号中;
2、Project->Settings...->C/C++->Category:General
->Preprocessordefinitions中加入FXJFUNC_EXPORTS;
3、编译时选择1字节对齐,即
Project->Settings...->C/C++->Category:CodeGeneration
->Structmemberalignment:选1Byte;
使用其它编程工具的,可参考以上设置。
不足及期望
编程接口虽然大大增强了公式编制的能力及灵活性,但也存在不足之处。比如,只能被动获取原始数据,不能主动取得其它个股的指定数据;还有,不能同时取得不同周期的数据;另外,不提供基本的函数库,连移动平均也得自己动手。由上可见,编程接口也有其局限性,并非万能。我们期望汇天奇对其作进一步的完善。
(17)、自编公式中迭代问题的解决办法
迭代,利用上次计算结果重复计算,和递归概念相近,不同是递归是从后往前推,而迭代是从头到尾计算,从前往后推,很多定义是用递归定义的,但递归占用资源较多,效率较低,所以常常用迭代或回溯实现。
如阶乘的定义:P(n)=P(n-1)*n;
实现时则可用迭代:for(P=i=1;i<=n;i++){P=P*i;}
在分析家公式系统中,既不支持递归,又不支持迭代(循环),难道很多递归定义的公式不能实现吗?
有一些可以实现!有两种方法我们可以尝试:
1。利用统计函数
如OBV指标,它的算法是:从上市第一天起,逐日累计股票总成交量,若当日收盘价高于昨收,则前OBV加当日成交量为当日OBV,否则减当日成交量为当日OBV。从算法上看,它是个典型的需要迭代计算的例子,但让我们看看分析家是怎样实现的:
SUM(IF(CLOSE>REF(CLOSE,1),VOL,IF(CLOSE 它用一个统计函数SUM就解决了迭代的问题。这种方法能解决每天权重相同的情况(也就是每一天同等对待,特点是用只用加减运算)。那对于每天不同权重的公式怎么办呢?
2。利用引用函数
分析家公式系统中有一组引用函数,特别是EMA、DMA、SMA。EMA既是函数,又是指标,先看看EMA的定义:
EMA(X,N),求X的N日指数平滑移动平均。算法:若Y=EMA(X,N)则Y=[2*X+(N-1)*Y]/(N+1),其中Y表示上一周期Y值。定义中用了乘除,每天的权重按指数规律变化。这种公式可以用DMA函数实现。如我去年编的成本价指标:
Cost:DMA(AMOUNT/VOL/100,VOL/CAPITAL)
这是成本分析中最简单的公式,成本分析的原理详见“成本分布的秘密”一帖,基此思路,应可以轻松编出其它成本分布的公式。
胡呵胡言乱语,贻笑大方
(18)、如何编制高成功率的实战公式
一.引子
1.公式是我们为了用电脑这个设备把依据自己投资理念(衡量我们投资理念正确与否,公式的成功率是重要的评判标准之一)想要选出的股票而编制的一种程序
2.公式的最终定型是为了实战,不允许使用任何可能导致未来数据的函数和超越单一日线的数据,如果不是这样,我们连飞机都可以制造但那是飞不上天的。
3.公式的编制属于预测范畴,由于市场的诸多不确定因素不可能达到100%。
二.思路(大盘背景以后再说)
1.首先我们要考虑的就是成交量。
成交量vol在使用中有一些弊病,它只能反映当天的成交多少,我们把它改为换手率使用比较科学(换手率=vol/capital*100)当日成交与流通盘所占的百分比.
换手率在公式中的应用必须要考虑的因素:
A:股价在即将启动的时候换手率所表现的形式。
B:同样的形式与股价循环周期高低位的关系。
C:换手率在区域时间内的有效性。
D:阶段调整结束的标志。
2.价格变化在公式应用中的重要作用。
价格的变化不只是涨跌幅的概念,只关注当日价格的变化那将蒙住你智慧的双眼,仅以一天的价格波动来判断未来的趋势是远远不够的。
A:短期内价格波动的规律性,盘口语言。
B:同样的规律和盘口语言在高低位的不同性质。
C:价格循环周期规律。
D:价格在向下量度调整的结束性标志。
3.趋势因素
在量能和价格的复杂变化过程中,将逐渐演变出一种我们在K线上能用肉眼大至看清的走势,即使这样仍需你有一双慧眼,这种走势仍有许多不确定因素。
A:个股趋势和大盘背景的关系——同步。
B:个股走势的独立性和有效性——异步。
C:均线系统和K线走势的关系。
D:正偏离和负偏离。
E:主流资金的短期和中期获利造成的抛售压力。
三.小结
综上所述,一个具有价值的公式需要艰苦的创作过程,它需要你必须有正确的投资理念,强烈的风险意识,对股市深刻的理解。高涨幅、抄底、多指标过滤可靠吗?更不用说虚假的未来数据了。
19、未来数据
未来数据大致分为以下几种:
1、使用ZIG类(之字转向函数)
ZIG类(之字转向函数)有:
ZIG(K,N)
之字转向,当价格变化量超过N%时转向。
PEAK(K,N,M)
向前数第M个ZIG转向波峰值,表示之字转向ZIG(K,N)的前M个波峰的数值。
PEAKBARS(K,N,M)
向前数第M个ZIG转向波峰到本周期的距离,表示之字转向ZIG(K,N)的前M个波峰到本周期的周期数。
TROUGH(K,N,M)
向前数第M个ZIG转向波谷值,表示之字转向ZIG(K,N)的前M个波谷的数值。
10/11 首页 上一页 8 9 10 11 下一页 尾页