• 大小: 4.74MB
    文件类型: .rar
    金币: 2
    下载: 3 次
    发布日期: 2021-04-05
  • 语言: 其他
  • 标签: 通达信DLL  

资源简介

通达信提供了DLL插件接口和DLL指标接口标准(见“插件编程规范-通达信原版文件”),但说明晦涩,不容易理解。 经过测试,将原示例代码做了注释,并修正了原来代码的一处错误(主要见MyPlugin.cpp)。 只要明白了道理,剩下的工作就看个人发挥了!

资源截图

代码片段和文件信息

// MyPlugin.cpp : 通达信行情软件插件选股代码示例,根据通达信官方模板改编。


#include “stdafx.h“
#include “Plugin.h“

#define PLUGIN_EXPORTS

//本函数DllMain供调用此DLL的应用程序使用,不可更改,必须保留。
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;
}

//将回调函数入口赋值给g_pFuncCallBack,自编程序中可以就可以使用g_pFuncCallBack函数调用通达信内部数据(如开盘价、收盘价、最高价、最低价、成交金额、成交量等等(具体数据结构参见OutStruct.h)。

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

//注: 本文件以上部分需要完整保留,不要做任何修改(除非你知道自己在做什么)



///////////////////// 注册插件信息 ///////////////////////
//注册插件信息:将公式名称,公式描述,参数数量、参数名字、参数最大最小及默认值等信息传送给通达信,并将存储区地址传递给LPPUGIN结构的指针info(具体数据结构将Plugin.h。本函数的具体参数赋值可以根据用户需要修改。
void GetCopyRightInfo(LPPLUGIN info)
{
//填写基本信息
strcpy(info->Name“插件选股1“); //此信息会显示在通达信插件选股对话框中“名称”栏
strcpy(info->Dy“上海“);
strcpy(info->Author“Julian Zhang“); //此信息会显示在通达信插件选股对话框中“设计人”栏
strcpy(info->Period“短线“); //还不清楚有什么用
strcpy(info->Descript“MA上穿选股“); //此信息会显示在通达信插件选股对话框中“选股对象”栏
strcpy(info->OtherInfo“无其它信息描述“);
//填写参数信息
info->ParamNum = 2; //定义插件参数数量,必须是[0~4]之间整数;
strcpy(info->ParamInfo[0].acParaName“MA短天数“); //第一个参数的名称
info->ParamInfo[0].nMin=1; //这部分通达信官方模板错误写成nMax,应该为nMin,参数最小值;
info->ParamInfo[0].nMax=1000; //定义参数最大值
info->ParamInfo[0].nDefault=10; //定义参数默认值

strcpy(info->ParamInfo[1].acParaName“MA长天数“); //第二个参数的名称
info->ParamInfo[1].nMin=1;
info->ParamInfo[1].nMax=1000;
info->ParamInfo[1].nDefault=20;
}

////////////////////////////////用户自定义选股公式部分/////////////////////////////////////////
//自定义选股公式实现细节函数(可根据选股需要添加)

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

WORD   AfxRightData(float *pDataWORD nMaxData) //获取有效数据位置
{
for(WORD nIndex=0; nIndex return(nIndex);
}

void   AfxCalcMa(float*pDatalong nDataWORD nParam)  //计算简单移动平均MA通达信模板原函数未做任何修改
{
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) //判断穿越,返回值0:当前未发生穿越;1:上穿;2:下穿
{
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);

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

     文件     241768  2015-05-07 20:58  MyPlugin\Debug\AddTxt.dll

     文件     249960  2015-05-08 16:12  MyPlugin\Debug\MyPlugin.dll

     文件        985  2015-05-07 21:53  MyPlugin\Debug\MyPlugin.exp

     文件     372496  2015-05-08 16:12  MyPlugin\Debug\MyPlugin.ilk

     文件       2660  2015-05-07 21:53  MyPlugin\Debug\MyPlugin.lib

     文件      17199  2015-05-08 16:12  MyPlugin\Debug\MyPlugin.obj

    I.A....   1815408  2015-05-08 14:06  MyPlugin\Debug\MyPlugin.pch

     文件     746496  2015-05-08 16:12  MyPlugin\Debug\MyPlugin.pdb

     文件       5448  2015-05-07 16:03  MyPlugin\Debug\StdAfx.obj

     文件      99328  2015-05-08 16:12  MyPlugin\Debug\vc60.idb

     文件      61440  2015-05-08 16:12  MyPlugin\Debug\vc60.pdb

     文件       6841  2015-05-08 16:12  MyPlugin\MyPlugin.cpp

     文件      49152  2013-09-18 11:33  MyPlugin\MyPlugin.dll

     文件       4325  2013-09-18 11:41  MyPlugin\MyPlugin.dsp

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

     文件      91136  2015-05-08 16:12  MyPlugin\MyPlugin.ncb

     文件      48640  2015-05-08 16:12  MyPlugin\MyPlugin.opt

     文件       2350  2015-05-08 16:12  MyPlugin\MyPlugin.plg

     文件       5156  2015-05-08 09:18  MyPlugin\OutStruct.h

     文件       1728  2015-05-08 08:46  MyPlugin\Plugin.h

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

     文件        698  2015-05-08 08:13  MyPlugin\StdAfx.h

     文件       4752  2013-09-18 11:16  插件编程规范-通达信原版文件\MyPlugin\MyPlugin.cpp

     文件      49152  2013-09-18 11:33  插件编程规范-通达信原版文件\MyPlugin\MyPlugin.dll

     文件       4325  2013-09-18 11:41  插件编程规范-通达信原版文件\MyPlugin\MyPlugin.dsp

     文件        539  2002-10-22 11:35  插件编程规范-通达信原版文件\MyPlugin\MyPlugin.dsw

     文件      58368  2015-05-07 15:39  插件编程规范-通达信原版文件\MyPlugin\MyPlugin.ncb

     文件      48640  2015-05-07 15:39  插件编程规范-通达信原版文件\MyPlugin\MyPlugin.opt

     文件       5156  2013-09-18 11:22  插件编程规范-通达信原版文件\MyPlugin\OutStruct.h

     文件       1662  2013-09-18 11:27  插件编程规范-通达信原版文件\MyPlugin\Plugin.h

............此处省略24个文件信息

评论

共有 条评论