• 大小: 28.39 KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-08-16
  • 语言: 其他
  • 标签:

资源简介

vc编写的通达信插件选股,适用于通达信集成版和个人版中的选股器->插件选股的插件开发接口
通达信插件编程规范及实例

资源截图

代码片段和文件信息

// choice1.cpp : Defines the entry point for the DLL application.
// 插件实例

#define PLUGIN_EXPORTS

#include “stdafx.h“
#include “plugin.h“

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;
}

PDATAIOFUNC  m_pfn;

void RegisterDataInterface(PDATAIOFUNC pfn)
{
m_pfn = pfn;
}

////////////////////////////////////////////////////////////////////////////////
//注册插件信息
void GetCopyRightInfo(LPPLUGIN info)
{
//填写基本信息
strcpy(info->Name“两MA线穿越“);
strcpy(info->Dy“武汉“);
strcpy(info->Author“系统“);
strcpy(info->Period“短线“);
strcpy(info->Descript“两MA线穿越“);
strcpy(info->OtherInfo“自定义天数两MA线金叉穿越“);
//填写参数信息
info->ParamNum = 2;
strcpy(info->ParamInfo[0].acParaName“MA天数1“);
info->ParamInfo[0].nMax=1;
info->ParamInfo[0].nMax=1000;
info->ParamInfo[0].nDefault=13;
strcpy(info->ParamInfo[1].acParaName“MA天数2“);
info->ParamInfo[1].nMax=1;
info->ParamInfo[1].nMax=1000;
info->ParamInfo[1].nDefault=30;
}

////////////////////////////////////////////////////////////////////////////////
const BYTE g_nAvoidMask[]={0xF80xF80xF80xF8}; // 无效数据标志(系统定义)

WORD   AfxRightData(float*pDataWORD nMaxData) //获取有效数据位置
{
for(WORD nIndex=0;nIndex return(nIndex);
}
////////////////////////////////////////////////////////////////////////////////
//自定义实现细节函数(可根据选股需要添加)

void   AfxCalcMa(float*pDatalong nDataWORD nParam)
{
if(pData==NULL||nData==0||nParam==1) return;
long i=nData-nParam+1nMinEx=AfxRightData(pDatanData);
if(nParam==0||nParam+nMinEx>nData) nMinEx=nData;
else
{
float nDataEx=0nDataSave=0;
float *MaPtr=pData+nData-1*DataPtr=pData+nData-nParam;
for(nMinEx+=nParam-1;i for(i=nData-1;i>=nMinEx;i--MaPtr--DataPtr--)
{
nDataEx+=(*DataPtr);
nDataSave=(*MaPtr);
*MaPtr=nDataEx/nParam;
nDataEx-=nDataSave;
}
}
}

WORD   AfxCross(float*psDatafloat*plDataWORD nIndexfloat&nCross)
{
if(psData==NULL||plData==NULL||nIndex==0) return(0);
float  nDif=psData[nIndex-1]-plData[nIndex-1];
float  nDifEx=plData[nIndex]-psData[nIndex];
float  nRatio=(nDif+nDifEx)?nDif/(nDif+nDifEx):0;
nCross=psData[nIndex-1]+(psData[nIndex]-psData[nIndex-1])*nRatio;
if(nDif<0&&nDifEx<0) return(1);
if(nDif>0&&nDifEx>0) return(2);
return(0);
}

///////////////////////////////////////////////////////////////////////////////////
//
BOOL InputInfoThenCalc1(char * Codeshort nSetCodeint Value[4]short DataTypeshort nDataNumBYTE nTQunsigned long unused) //按最近数据计算
{
BOOL nRet = FALSE;
NTime tmpTime={0};

LPHISDAT pHisDat = new HISDAT[nDataNum];  //数据缓冲区
long readnum = m_pfn(CodenSetCodeDataT

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     目录          0  2007-01-27 11:28  MyPlugin

     文件       4937  2007-01-27 11:15  MyPlugin\MyPlugin.cpp

     文件       4325  2007-01-27 11:27  MyPlugin\MyPlugin.dsp

     文件        539  2002-10-22 11:35  MyPlugin\MyPlugin.dsw

     文件       9828  2007-01-27 14:22  MyPlugin\OutStruct.h

     文件       1825  2002-10-22 12:03  MyPlugin\Plugin.h

     文件        294  2001-01-15 16:53  MyPlugin\StdAfx.cpp

     文件        802  2001-01-15 16:53  MyPlugin\StdAfx.h

     文件      43008  2007-01-27 14:28  插件选股说明.doc

----------- ---------  ---------- -----  ----

                65558                    9


评论

共有 条评论

相关资源