编写一个通达信指标 第一笔成交量 成交价 直接可以放在公式编辑器里的源代码
时间: 2024-06-08 16:12:28 浏览: 38
以下是通达信指标第一笔成交量和成交价的源代码:
第一笔成交量:
```
FIRSTVOL:REF(VOL,1)=0 AND VOL>0;
```
成交价:
```
FIRSTPRICE:REF(PRICE,1)=0 AND PRICE>0;
```
将以上代码复制到通达信的公式编辑器中即可使用。
相关问题
编写一个通达信指标 第一笔成交量 成交价
通达信指标的编写需要使用其自带的编程语言公式语言 (C语言语法),下面是第一笔成交量和成交价的指标代码:
```
/*
CSTIB_FirstTrade
第一笔成交量与成交价
*/
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "math.h"
#include "float.h"
#include "Indicator.h"
//指标计算函数
static void CSTIB_FirstTrade(CIndicator *pInd)
{
int i, n;
double fV, fP;
n = pInd->m_nRecordCount;
if (n <= 0)
return;
for (i = 0; i < n; i++)
{
fV = pInd->m_pInstrument->m_pRecord[i].m_nVolume;
fP = pInd->m_pInstrument->m_pRecord[i].m_fClose;
if (fV > 0 && fP > 0)
{
pInd->m_pResult[0][i] = fV;
pInd->m_pResult[1][i] = fP;
break;
}
}
}
//指标初始化函数
void CSTIB_FirstTrade_Init(CIndicator *pInd)
{
pInd->m_strName = "FirstTrade";
pInd->m_strDescription = "The first trade volume and price.";
pInd->m_nParamCount = 0;
pInd->m_pParamName = NULL;
pInd->m_pResultName[0] = "FirstTradeVolume";
pInd->m_pResultName[1] = "FirstTradePrice";
pInd->m_pResultType[0] = IND_DATA;
pInd->m_pResultType[1] = IND_DATA;
pInd->m_pResultUnit[0] = NULL;
pInd->m_pResultUnit[1] = NULL;
pInd->m_bShowOnMain = FALSE;
pInd->m_bShowOnAttach = FALSE;
pInd->m_nMinTradeDay = 1;
pInd->m_nDataCount = 2;
pInd->m_pResult = (double **)calloc(pInd->m_nDataCount, sizeof(double *));
pInd->m_pResult[0] = (double *)calloc(pInd->m_nRecordCount, sizeof(double));
pInd->m_pResult[1] = (double *)calloc(pInd->m_nRecordCount, sizeof(double));
pInd->m_pfCalculate = CSTIB_FirstTrade;
}
//指标卸载函数
void CSTIB_FirstTrade_Uninit(CIndicator *pInd)
{
if (pInd->m_pResult != NULL)
{
free(pInd->m_pResult[0]);
free(pInd->m_pResult[1]);
free(pInd->m_pResult);
pInd->m_pResult = NULL;
}
}
```
使用方法:将以上代码保存为 CSTIB_FirstTrade.c 文件,将其放在通达信安装目录下的 T0002\custindicators 目录下,重新打开通达信软件,在公式编辑器中搜索 “第一笔成交量与成交价” 即可使用该指标。
编写一个通达信指标 集合竞价 成交量 成交价
通达信指标的编写需要使用通达信公式语言 (TQL),以下是三个指标的代码示例:
1. 集合竞价指标:
```
/* 集合竞价 */
MA5:=MA(C,5);
MA10:=MA(C,10);
MA20:=MA(C,20);
MA60:=MA(C,60);
JJ:=IF(BARSSINCE(O=REF(O,1),1)=0,(MA5+MA10+MA20+MA60)/4,0);
```
2. 成交量指标:
```
/* 成交量 */
VOLMA5:=MA(VOL,5);
VOLMA10:=MA(VOL,10);
VOLMA20:=MA(VOL,20);
VOLMA60:=MA(VOL,60);
```
3. 成交价指标:
```
/* 成交价 */
CLOSEMA5:=MA(C,5);
CLOSEMA10:=MA(C,10);
CLOSEMA20:=MA(C,20);
CLOSEMA60:=MA(C,60);
```
以上代码仅供参考,实际编写中需要根据具体需求进行调整。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)