通达信编写当前1分钟成交量代码
时间: 2023-07-03 19:13:56 浏览: 1183
使用通达信公式语言,可以编写如下计算当前1分钟成交量的代码:
```text
V:REF(CLOSE,1);
IF(SECONDTIMEFRAME=0 AND BARSSINCE(SECONDTIMEFRAME)=0, SUM(V,60), 0)
```
这个公式的意思是:当当前K线为1分钟K线的第1根K线时,计算最近60根K线的成交量总和,即为当前1分钟内的成交量。
需要注意的是,这个公式必须在1分钟K线上使用,如果使用在其他周期的K线上,计算出来的成交量将不准确。同时,由于该公式使用了REF函数,需要保证历史数据的完整性,否则计算结果也会出现误差。
相关问题
编写一个通达信指标 第一笔成交量 成交价
通达信指标的编写需要使用其自带的编程语言公式语言 (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);
```
以上代码仅供参考,实际编写中需要根据具体需求进行调整。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)