分享

[转载]角度线精解

 ddguo2001 2015-10-14

  GANN 在角度线的精髓就是几何意义上的SQUARE.

他在坐标纸画K线的意义就是使时间与价格遵守8*8或12*12的规范.

SQUARE=主宰數字,主宰九方圖

 大家要清楚江恩角度线和几何角度线的区别,它们是没有直接联系的。在一般情况下,江恩定义的1×1线就是以往大家所知道的45度角。但在用计算机绘制图表的时候不能这样用,因为,如果强行把1×1当作45度来用,那会造成很大的误差,甚至得出错误结果。这是因为各种计算机股票分析软件都有不同的绘制比例,定义1×1的比率(波动率)就可能不同

晋源多年前说过一句话:没有波动率的图表及江恩软件都是误导投资人的,包括市面的江恩书籍.江恩没有了波动率,就没有了灵魂……每个人的成功都不是偶然的,必有其可成功的一面.成功的事情重复做,赚钱的事情简单做,——获利靠方法九月时价转点:9月2日(小转点),9月7日(次级),9月12日(小转点),9月20日(次级),9月26(重要.),9月30日(重要)其中重点关注9月7日,9月26日!

2004年5月吉姆.罗杰斯中国行,我作为广东科德投资顾问公司投资经理人被应邀出席其深圳行活动,在演讲会上投资大师吉姆.罗杰斯精僻的演讲令人惊叹其博学及其深厚的投资理念。在演讲过程中有一些基金经理对其看空中国股市的看法提出了不少反对论据(当然后市证明了谁对谁错),在演讲中,我写出了一组数据,传递给了吉姆.罗杰斯,那是一组沪市大盘数据,理论依据来源于江恩理论,吉姆.罗杰斯看了面露诧色,让助手转告我午餐时可以单独探讨(在技术分析篇我会批露这组数据)。午餐与吉姆.罗杰斯的一番探讨让我明白了,我在这市场上并不是孤独的,因为我提出的十年牛市五年回调论也得到了投资大师的高度认同。在2004年11月浙江大型投资报告会及2005年3月的大型投资研讨会上,我一直沿用十年牛市五年回调的观点。

江恩大数波动率,十年牛市终结点位.这是一组晋源写给投资大师吉姆.罗杰斯的沪市大盘数据:..........325十240x6=1765   325十240x7=2005    325十240x8=2245(中国十年牛市终结位置,一点不差)

 

起點+波動率*1,2,3,4,5,6,…,40,41,…………..,60,61,……….

240=波動率

 

 

呵呵,简单说一点我对指数的看法,和楼主探讨.

第一,指数的头和顶之间存在25的倍数的时间关系.01年2245到05年998,(2245-998)/25=49.88,事实上,第48和第49个月分别出现了998点和1004点.按下个49.88计算,那么见大顶的时间应该在2009年了.

第二,就目前而言,按3049*1.08的等比数列计算,3049*1.08*1.08*1.08=3840.8,几乎精确的吻合于上个月的收盘点,按3840.8*1.08=4148,4148*1.08=4479.9,事实上,指数间存在的这种1.08的等比数列关系实在让人惊讶.2245开始的调整,很多的重要位置几乎都落在这个数列上.

第三,按4月18号3623高点,乘以4月19号低点3358除以前一个明显低点,3月5号的2723计算,那么等于4467.

第四,按2245的一倍计算,等于4490.

所以,我个人认为4465到4500之间将存在巨大的震荡.时间在今年6月底或者7月初

另外,下周将是998点见底以来的第83周,会发生什么好玩的事呢?

 

 

呵呵,我也一一说点我的看法,供你参考.

第一,是4浪调整,后面还有5浪。4浪调整越充分,5浪走的越长越远。

第二,就目前而言,按2994来计算你的*1.08的等比数列更好,2994*1.08*1.08*1.08*1.08=4073,几乎精确的吻合于4072。

第三,1074来的57天见底1238,1074来的57*2=114天见顶1695,2541来的57天正是5月10日。下周二是第57天乘4加1的日子。

第四,2245以来,31*5见1339,1783来的31*10加1天见2005年5月19日的1004.66,而1004.66来的31*7就是重要底2006年6月14日的1512,1004.66来的31*14加1天就是5月10日。而1074来的31*11加1就是下周一,减1就是5月10日。由于1004.66来的31*3加2才产生了更重要的底1074,那么1074来的31*11加2就是下周二5月15日也是很有可能的。

所以,5月10日所见之4072顶是很正常的。

另外,下周将是998点见底以来的第96周,48周见1695,96周的5月15日见4110已是最好的事了。

 

 

也许大家看过“价位密匙”这篇贴子,就说说它吧,注意其中的一些数字36、45,有悟性的朋友已经用在波动率上画角度线,取值为0.036、0.045等,换句话说,就是利用轮中轮上的一些常用角度进行转换,那么0.09、0.018、0.027......等等也是轮上的重要角度,还有0.07、0.014、0.021、0.028.....(怎么说?)7的倍数啊~~~也是转换来的,那么问题来了:这些数字到底使用哪一个?哪一个才是真正有用的??

嘿嘿~~~这还不简单?哪个好用用哪一个呗~~~(晕倒~~~~~~)3?!I)^:M(I

先说到这里吧,欲知后事如何,且听下会分解~~~~,z:C5]9H/C2W7Z(o0O

p

经测试,第三种方法很棒!谢谢。

-C/s(q+e-M+C,I9n深8-8.5,沪8.5-9的波动常数在股市中的应用,我只会提问题哦,我等会再回来江恩,江恩软件,赢家,赢家江恩,数据引擎9r#T7}/J6o-B,b7k:m!a

其实我只想让已研究到这一步的网友有个参考!--学无止境,很多东西要批判就批判出理由,在批判中互相学习,如果只是我讲你听这不昰在传道?--不好吧),波动率可涉及时间也可涉及空间,举个例子吧,沪8.5-9的波动常数.应用在时间上,反映在k线上就存在着一个8.5[+-1.5]的时间周期,即一个相对底或顶确定以后,过7-10天总会出现新一低或高点......k线一.

20020605-6.17!

二.6.18-6.28!

三.7.01-7.09!

四.7.10-7.19!

五.7.22-8.01.—

六.8.02-...这只昰一个很简单的应用,还有步长的应用等,如画1339-1748的四方图,步长9...甚至你可创出你的新用法~~~---学江恩就是学以创新,网友中不昰有很多观点,江恩书籍中没有的吗?--只要实践检验正确即可!!!

 

 

根据江恩理论推测,大盘应该观注的点位为:

325+360*10=3925

325+365*10=3975

 

刚上来,认真看完了所画之图.和我所画之波动率表达不同,江恩在我的预测方法的要素和几何角度线(江恩)

中只讲了常规的江恩箱画法,并沒有涉及波动率画法,你用的是标淮固定周期落点,但实际的时价转折位并不会形成45/90/135...或30/60/90/120的周期走势....

------------------------------------------------------------------------------------------------------角度线教学节选在金三角选股中怎样套入角度线

使用江恩角度线投资者可配合江恩的其它分析方法,特别考虑以下几点:  

时间循环是否到达重要转折点;  

价位有否出现转势形态;  

价位是否到达重要支持/阻力位。  

注:若上述三者同时出现,而价位突破1x1江恩线,将确认转势。  

角度线章节小结:1,市面不少软件供应商对角度线原理的使用处于一知半解状态,所以软件的制图及表达也出现一些常规错误,如刻度读数的不正确/没有波动率的设置/江恩0角度线没有体现/等一系列小技术问题。2,画角度线时要找出中期的顶/底作出正确的起点,中期顶底中的小波段角度线作为辅助参考。3,每个顶/底都画出时价计算器(江恩箱体) 提前对后市时价作出预测以供实战使用。4,短线运用时以分时图画出时价计算器(江恩箱体), 提前对后市时价作出短期精确预测以配合实战买卖临盘,对期货/外汇即市有重大价值。  

什么叫做角度线?  

就是角/度/线 ,度数和。  

角度线有自带波动及设置波动二种     自带波动即自身运作机制原理    角度线加箱体即具有时间与价格的预测功能  

角度,什么叫做角度?  

45度角=1×1线=50%,等于一个波段的中分,这个也是用一个高点和低点画1×1的原因,45度是1×1的固定画法,角度线有固定的画法,10条线里每一条都有固定的角和度,这个就是他们的固定波动法则,除了变速的波动率外,角度线还有自身自带的波动率,他们的角度是固定的,这个是角度线适应每个研究对象的原因,任何一个图表都有自身的波动率,九格图带了波动法则和三角,四方图带了8的波动率和时间价格的波动法则,8=240=360=0(圆),从起点到第三圈,第五圈,第七圈都是敏感转折位。角度线角度的应用一是自带波动率的应用,二是使用股价历史向高/低位作波动率。这二种应用方法是预测大盘/个股,作为支撑和阻力用就是原理!(注:江恩在 我的预测方法的要素和几何角度线 中只讲了第一种方法,第二种方法并没有公开,因为涉及到波动率的应用)

 

 

 

总结语: 晋源高人的方法属波动率法,但未经法则真义定位,且未解决算术波动与几何波动混合的问题

比率: 1.618与 1.382, 1与1.5, 能直观说出它们之间关系吗? 看似简单,回答却不易!

GANN以循环观点把比率放到360度圆中, 以几何方式进行描述.在圆周上画一个三角型:0(360),120,240度.表示比率:1,0.333,0.666.一个四边型:90,180 ,270,360(0)度.表示比率:0.25, 0.5, 0.75, 1.

当说到120度(0.333)时, 它的关系为240(0.666)度, 360(1)度. 说到90(0.25)度时,它的关系为:180(0.5),270(0.75),360(1)度. 用GANN语言描述" 成三角形,成四方形" 指的就是这个意思. (注:当时间超越平衡时,转势就在眼前(when price change squares time, the change in trend is imminent.))(当价格与时间成四方形时,市场转势就在眼前)

研判市场不外乎阻力与支撑,这样描述最大好处把相关系点做为阻力与支撑, 一目了然!并且真实有效!

圆,三角,四方,另加0-9十个数字, 这就是GANN的一切!

 角度线精解 - 196898jiabeizan - 196898jiabeizan的博客

法则的本源在于波动

波动的本源在于波动率

无论空间波动法则或时间波动法则都脱不了波动本源

法则真境是在”正确的起点”定出未来的一切的波动

所谓在”正确的起点”定出未来的一切的波动”,即在A点依据一个最适波动循环规律定出A1,A2,A3……等点的波动满足位,在B点依据一个最适波动循环规律定出B1,B2,B3……等点的波动满足位

至于在那个波动满足位结束,通常由法则决定

 

装神弄鬼一下,哈哈

“””””””””””””

凡人界这个层次的宇宙空间,仙魔妖界这个层次的大量平行宇宙空间, 加上最顶尖的神界空间,合起来便是统称一个宇宙,在这个宇宙内,都是要受同一个空间法则, 同一个时间法则影响, 一个完整的宇宙,只具有一个空间法则, 一个时间法则(修真小说法则)

“””””””””””””””

法则的本源在于波动

波动的本源在于波动率

无论空间波动法则或时间波动法则都脱不了波动本源

法则真境是在”正确的起点”定出未来的一切的波动’’

角度线精解 - 196898jiabeizan - 196898jiabeizan的博客

法则反映股性,而人却受人性左右,当这股跌破12.2附近时,依第一小浪波动,股性说它要去4.5附近玩(此图非法则), 当然中间会有多少外力的抵抗或挣扎,人性会告诉我不相信,股性与人性基本上是相克相冲的,有个分析师说,10个散户来到这市场,平均只一个会赚钱,二个不输不赢,七个是负责赔钱的, 这是股性与人性相悖造成的,法则说穿了就是利用循环贴近股性而已,八线缺乏先验循环这关

角度线精解 - 196898jiabeizan - 196898jiabeizan的博客

 如何用飞狐连结C++程序语言_DLL   [折叠]

 

 

C++程序语言的编译器是Microsoft Visual C++6.0

编译步骤大致如下

一, 用Microsoft Visual C++6.0编译foxfunc.cpp,做成my1.dll

简单流程如下

在Microsoft Visual C++6.0环境中

file - - > new - -> projects - ->win32 dynamic-Link Library - -> 打入projectname,例如”my1” - ->empty project - ->OK

把.cpp及.H档或其它相关档全部复制到”my1”目录

project - ->add to projects - -> files - - >找到foxfunc.cpp檔

project - ->add to projects - -> files - - >找到ppow10.obj檔

build - -> build my1.dll

 

以下内容为程序代码:

#ifndef __FOXFUNC_H_INCLUDE

#define __FOXFUNC_H_INCLUDE

 

#ifdef __cplusplus

extern "C"

{

#endif //__cplusplus

// 分析周期

enum DATA_TYPE

{

    TICK_DATA=2,                //分笔成交

    MIN1_DATA,                  //1分钟线

    MIN5_DATA,                  //5分钟线                  

    MIN15_DATA,                 //15分钟线

    MIN30_DATA,                 //30分钟线

    MIN60_DATA,                 //60分钟线

    DAY_DATA,                   //日线

    WEEK_DATA,                  //周线

    MONTH_DATA,                 //月线

    YEAR_DATA,                  //年线

    MULTIDAY_DATA,              //多日线

    MULTIMIN_DATA               //多分钟线

};

// 基本数据

typedef struct tagSTKDATA  

{

    time_t  m_time;         //时间,UCT

    float   m_fOpen;        //开盘

    float   m_fHigh;        //最高

    float   m_fLow;         //最低

    float   m_fClose;       //收盘

    float   m_fVolume;      //成交量

    float   m_fAmount;      //成交额

    WORD    m_wAdvance;     //上涨家数  仅大盘有效

    WORD    m_wDecline;     //下跌家数  仅大盘有效

} STKDATA;

// 扩展数据,用于描述分笔成交数据的买卖盘

typedef union tagSTKDATAEx

{

    struct

    {

        float m_fBuyPrice[3];       //1--3

        float m_fBuyVol[3];         //1--3

        float m_fSellPrice[3];      //1--3  

        float m_fSellVol[3];        //1--3

    };

    float m_fDataEx[12];

} STKDATAEx;

// 除权数据

typedef struct tagSPLITDATA

{

    time_t  m_time;         //时间,UCT

    float   m_fHg;          //红股

    float   m_fPg;          //配股

    float   m_fPgj;         //配股价

    float   m_fHl;          //红利

} SPLITDATA;

 

// 调用参数项结构

typedef struct tagCALCPARAM

{

    union

    {

        const float*    m_pfParam;              //序列参数,指向一个浮点型数组    

        const float     m_fParam;               //数值参数  

    };

    const int           m_nParamStart;          //序列参数有效起始位置

}CALCPARAM;

// 调用接口信息数据结构

typedef struct tagCALCINFO

{

    const DWORD         m_dwSize;               //结构大小

    const DWORD         m_dwVersion;            //调用软件版本(V2.10 : 0x210)

    const DWORD         m_dwSerial;             //调用软件序列号

    const char*         m_strStkLabel;          //股票代码

    const BOOL          m_bIndex;               //大盘

    const int           m_nNumData;             //数据数量(pData,pDataEx,pResultBuf数据数量)

    const STKDATA*      m_pData;                //常规数据,注意:m_nNumData==0时可能为 NULL

    const STKDATAEx*    m_pDataEx;              //扩展数据,分笔成交买卖盘,注意:可能为 NULL

    const int           m_nParam1Start;         //参数1有效起始位置

    const float*        m_pfParam1;             //调用参数1

    const float*        m_pfParam2;             //调用参数2

    const float*        m_pfParam3;             //调用参数3

    const float*        m_pfParam4;             //调用参数3

    float*              m_pResultBuf;           //结果缓冲区

    const DWORD         m_dataType;             //数据类型

    const float*        m_pfFinData;            //财务数据

// 以上与分析家兼容,所以沿用其结构和名称

// 以下为飞狐交易师扩展

    const DWORD         m_dwReserved;           // 保留

    const int           m_nNumParam;            // 调用参数数量

    const CALCPARAM*    m_pCalcParam;           // 调用参数数组

    const DWORD         m_dwReservedEx[4];      // 保留

    char*               m_strStkName;           //股票名称

    SPLITDATA*          m_pSplitData;           //除权数据

    int                 m_nNumSplitData;        //除权次数

} CALCINFO;

 

 

//示例函数,使用时用实际名称替换

__declspec(dllexport) int WINAPI MYMACLOSE(CALCINFO* pData);

__declspec(dllexport) int WINAPI SMOOTH(CALCINFO* pData);

// __declspec(dllexport) int WINAPI MYMAVAR(CALCINFO* pData);

__declspec(dllexport) int WINAPI MYBBI(CALCINFO* pData);

#ifdef __cplusplus

}

#endif //__cplusplus

#endif //__FOXFUNC_H_INCLUDE

 

 

 

// FoxFunc.cpp : Defines the entry point for the DLL application.

//

#include <string.h>

#include <stdio.h>

#include <io.h>

#include <math.h>

#include <iostream.h>

#include "stdafx.h"

#include "FoxFunc.h"

float y[15000];

float yy[15000];

BOOL APIENTRY DllMain( HANDLE hModule,

                       DWORD  ul_reason_for_call,

                       LPVOID lpReserved

                     )

{

    switch (ul_reason_for_call)

    {

        case DLL_PROCESS_ATTACH:

        case DLL_THREAD_ATTACH:

        case DLL_THREAD_DETACH:

        case DLL_PROCESS_DETACH:

            break;

    }

    return TRUE;

}

//计算收盘价的均价,一个常数参数,表示计算周期

//调用方法:

//  "FOXFUNC@MYMACLOSE"(5)

float smoothb(int ,int );

float realft(int, int );

int fourit(int , int );

//  !!!!!!!! use "C" for Microsoft visual C++ compiler

//  !!!!!!!! use "C" for Microsoft visual C++ compiler

//  !!!!!!!! use "C" for Microsoft visual C++ compiler

__declspec(dllexport) int WINAPI SMOOTH(CALCINFO* pData)

{

    if(pData->m_pfParam1 && pData->m_pfParam2 &&    //参数1,2有效

        pData->m_nParam1Start>=0 &&                 //参数1为序列数

        pData->m_pfParam3==NULL)                    //2个参数

    {

        const float*  pValue = pData->m_pfParam1;   //参数1

        int nFirst = pData->m_nParam1Start;         //有效值起始位

        float fParam = *pData->m_pfParam2;          //参数2

        int nPeriod = (int)fParam;          

        

        int nndata =pData->m_nNumData;

        float aa=(float)0.0;

        if( nFirst >= 0 && nPeriod > 0 )

         

        //  float fTotal;

            int i;

  

            for ( i =nFirst; i < pData->m_nNumData; i++ )

            {

                y[i+1] = pValue[i];    //平均

            }

      

            for ( i = 0; i <15000; i++ )

            {

                yy[i+1]=(float)0.0;

            }

              aa=smoothb(nndata,nPeriod);

            for ( i =nFirst; i < pData->m_nNumData; i++ )

            {

                pData->m_pResultBuf[i]=y[i+1];    //平均

            //   pData->m_pResultBuf[i]=aa;    //平均

            //    pData->m_pResultBuf[i]=nndata;  

            }

            return 0;

        }

    }

    return -1;

}

 

 

以下内容为程序代码:

//计算均价,2个参数,参数1为待求均线的数据,参数2表示计算周期

//调用方法:

//  "FOXFUNC@MYMAVAR"(CLOSE-OPEN,5)

float smoothb(int ma,int pts)

  int  m,n,k,j,n1,nmin,mo2,no2;

   float y1,yn,rn1,fac,cnst,aa,bb;

  

  

  

   m=2;

   n=ma;

   nmin=n*2+(pts*2+1);

   while (m < nmin) {

      m=m*2;

      }

  

   cnst=((float)pts/(float)m);

//!!!!!!!!! don't use cnst=pts/m;

//!!!!!!!!! don't use cnst=(double)(pts/m);

   bb=cnst;

  //  cnst= cnst*(float)pts/(float)n;

     cnst=cnst*cnst;

  

   y1=y[1];

   yn=y[n];

   rn1=(float)1.0/((float)n-(float)1.0);

   j=1;

      while (j<= n) {

          

          y[j]=y[j]-(y1*((float)n-(float)j)+yn*((float)j-(float)1))*rn1;

      j=j+1;

      }

   n1=2*ma;

//     yy=zeros(n1,1);

//   j=1;

//   while (j<=n1) {

//     yy[j]=0.0;

//       }

  

   j=1;

   while (j <= n) {

       yy[2*j-1]=y[j];

       j=j+1;

       }

   //  e=zeros(m-n1,1);yy=yy|e;

//   j=n1+1;

//   while (j<=m)

//       {

//       yy[j]=0.0;

//        }

//!!!!!!!!! yy=[n1+(m-n1),1]

//!!!!!!!!! yy=[n1+(m-n1),1]

//!!!!!!!!! yy=[n1+(m-n1),1]

//!!!!!!!!! yy=[n1+(m-n1),1]

//!!!!!!!!! yy=[n1+(m-n1),1]

   mo2=m/2;

   no2=(n/2);

    

   aa=realft(m,1);

        

   yy[1]=yy[1]/(float)mo2;

    fac=((float)1.05-(float)0.25*(float)pts*(float)pts)/(float)mo2;

    if  (fac < (float)0)

      { fac=(float)0; }

    

    yy[2]=yy[2]*fac;

   fac=(float)1.0;

   j=1;

   while (j < mo2)

    k=2*j+1;

      if  (fac != (float)0)

          fac=((float)1.05- cnst*(float)j*(float)j)/(float)mo2;

             if (fac <(float) 0)

               {fac=(float)0;}

        

            yy[k]=yy[k]*fac;

            yy[k+1]=yy[k+1]*fac;

          }

       else

             yy[k]=0;

               yy[k+1]=0;   }

       j=j+1;

     }

    aa=realft(m,-1);

  

    j=1;          

    while (j <= n)

         y[j]=yy[j*2-1];

            j=j+1;

                 

    

    j=1;

   while (j<= n)

          y[j]=y[j]+(y1*((float)n-(float)j)+yn*((float)j-(float)1))*rn1;

             j=j+1;

             }

  

//  retp(y);

return bb;

}

 

以下内容为程序代码:

 

float realft(int ma,int isign)

{

     int  n,m,i,i1,i2,i3,i4,np3,aa;

     float    h1r,c1,c2,h1i,h2r,h2i,wr,wi,wpr,wpi,wtemp,theta;

    

     m=ma;

     n=m/2;

     c1=(float)0.5;

     theta=(float)3.141592653589793/(float)n;

    

     if (isign == 1)

             c2=(float)-0.5;

              

                aa=fourit(m,1);

                

                }

    

     else

             c2=(float)0.5;

                 theta=-theta;

                 }

    

     wtemp=(float)sin((float)0.5*theta);

     wpr=(float)-2.0*wtemp*wtemp;

     wpi=(float)sin(theta);

     wr=(float)1.0+wpr;

     wi=wpi;

     np3=m+3;

     i=2;

     while (i <= m/4)

     {

        i1=i+i-1;

        i2=i+i1;

        i3=np3-i2;

        i4=1+i3;

        h1r=c1*(yy[i1]+yy[i3]);

        h1i=c1*(yy[i2]-yy[i4]);

        h2r=-c2*(yy[i2]+yy[i4]);

        h2i=c2*(yy[i1]-yy[i3]);

        yy[i1]=h1r+wr*h2r-wi*h2i;

        yy[i2]=h1i+wr*h2i+wi*h2r;

        yy[i3]=h1r-wr*h2r+wi*h2i;

        yy[i4]=-h1i+wr*h2i+wi*h2r;

        wtemp=wr;

        wr=wtemp*wpr-wi*wpi+wr;

        wi=wi*wpr+wtemp*wpi+wi;

        i=i+1;

         }

     if  (isign == 1)

            h1r=yy[1];

               yy[1]=h1r+yy[2];

               yy[2]=h1r-yy[2];

                }

     else

            h1r=yy[1];

                yy[1]=c1*(h1r+yy[2]);

                yy[2]=c1*(h1r-yy[2]);

              

                 aa=fourit(m,-1);

                

                  }

//     retp(data);

return 1;

}

 

 

以下内容为程序代码:

 

int fourit(int ma,int isign)

   int  mmax,m,o,j,istep,i;

     float wtemp,wr,wpr,wpi,wi,theta, tempr,tempi;

     m=ma;

     j=1;

     i=1;

     while (i < m)

     if   (i < j)

             tempr=yy[j];yy[j]=yy[i];yy[i]=tempr;

                tempr=yy[j+1];yy[j+1]=yy[i+1];yy[i+1]=tempr;

                 }

        

         o=m/2;

         while (o>=2 && o<j)

                 j=j-o;

                   o=o/2;

                  }

         j=j+o;

         i=i+2;

     }

     mmax=2;

     while (mmax < m)

               istep=mmax*2;

                   theta=(float)6.28318530717959/((float)isign*(float)mmax);

                  wtemp=(float)sin((float)0.5*theta);

                   wpr=(float)-2.0*wtemp*wtemp;

                   wpi=(float)sin(theta);

                  wr=(float)1.0;

                  wi=(float)0.0;

                   o=1;

               while (o < mmax)

                   i=o;

                     while (i <= m)

                               j=i+mmax;

                                  tempr=wr*yy[j]-wi*yy[j+1];

                                 tempi=wr*yy[j+1]+wi*yy[j];

                                  yy[j]=yy[i]-tempr;

                                  yy[j+1]=yy[i+1]-tempi;

                                  yy[i]=yy[i]+tempr;

                                   yy[i+1]=yy[i+1]+tempi;

                                   i=i+istep;

                                  }

                        wtemp=wr;

                        wr=wtemp*wpr-wi*wpi+wr;

                         wi=wi*wpr+wtemp*wpi+wi;

                         o=o+2;

                         }

                 mmax=istep;

                 }

//     retp(data);

return 1;

}

//计算多个序列的均值,5个参数,参数1-4为待求多个序列,参数5用于举例说明数值参数的用法,实际在此例中无需该参数

 

__declspec(dllexport) int WINAPI MYBBI(CALCINFO* pData)

{

    if ( pData->m_pCalcParam[0].m_nParamStart >= 0 &&

         pData->m_pCalcParam[1].m_nParamStart >= 0 &&

         pData->m_pCalcParam[2].m_nParamStart >= 0 &&

         pData->m_pCalcParam[3].m_nParamStart >= 0 )            //4个序列都含有效数值

    {

        //计算返回的序列的第一个有效值位置

        int nFirst = pData->m_pCalcParam[3].m_nParamStart;      //已知返回的序列的第一个有效值位置与第4个序列一致

//若不知,则

 

        const float* pValue1 = pData->m_pCalcParam[0].m_pfParam;

        const float* pValue2 = pData->m_pCalcParam[1].m_pfParam;         const float* pValue3 = pData->m_pCalcParam[2].m_pfParam;

        const float* pValue4 = pData->m_pCalcParam[3].m_pfParam;

        int nNum = (int)(pData->m_pCalcParam[4].m_fParam);      //实际上该例中已知nNum=4,在此用于说明数值参数的用法

        for( int i = nFirst; i < pData->m_nNumData; i++ )

        {

            pData->m_pResultBuf[i] =

                (pValue1[i] + pValue2[i] + pValue3[i] + pValue4[i])/nNum;

        }

        return nFirst;

    }

    return -1

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多