通达信画背景函数
一、背景介绍
通达信是一款广泛使用的股票分析软件,其画面清晰、操作简便,深受投资者的喜爱。在通达信中,可以通过编写函数来实现自定义的技术指标和图形展示。其中,画背景函数是一个非常常用的函数之一,它可以为图表添加各种背景、线条和文本等元素,让图表更加美观易读。
二、函数参数
画背景函数的参数比较多,需要根据具体需求进行设置。下面是一个常用的画背景函数及其参数:
通达信数字转字符串函数
```c
void DrawBK(int nBKColor, int nLineType, int nLineWidth, int nTextColor, int nTextSize, string strText);
```
其中,各个参数的含义如下:
- nBKColor:背景颜(默认为黑);
- nLineType:线条类型(默认为虚线);
- nLineWidth:线条宽度(默认为1);
- nTextColor:文本颜(默认为白);
- nTextSize:文本大小(默认为12号字体);
- strText:文本内容。
三、函数实现
下面是一个完整的画背景函数实现代码:
```c
void DrawBK(int nBKColor = BLACK, int nLineType = LINESTYLE_DOTTED, int nLineWidth = 1, int nTextColor = WHITE, int nTextSize = 12, string strText = "")
{
    int nBKStart = 0, nBKEnd = 0;
    int nCount = GetRecordCount();
    if (nCount <= 0) return;
    // 计算背景起始和结束位置
    for (int i = nCount - 1; i >= 0; i--)
    {
        if (GetDateTime(i) < GetTradingDayStart()) break;
        if (GetClose(i) > GetOpen(i))
        {
            nBKEnd = i;
            if (nBKStart == 0) nBKStart = i;
        }
        else
        {
            if (nBKEnd > 0)
            {
                DrawRegion(nBKStart, GetHigh(nBKStart), nBKEnd, GetLow(nBKEnd), nBKColor, EMPTY, DRAWSTYLE_SOLID);
                DrawLine(nBKStart, GetHigh(nBKStart), nBKEnd, GetLow(nBKEnd), nLineColor,
nLineStyle, nLineWidth);
                DrawText(strText + " " + DateToString(GetDate(i)), i + 1, GetLow(i), nTextColor);
                break;
            }
            else
            {
                continue;
            }
        }
    }
    // 如果没有背景区域,则画一条水平线
    if (nBKEnd == 0)
    {
        DrawLine(0, GetClose(0), Bars - 1, GetClose(Bars - 1), RED);
    }
}
```
四、函数说明
上述代码中,首先定义了一个名为DrawBK的函数,它接受六个参数。其中,前五个参数都有默认值,可以根据实际需求进行修改。最后一个参数strText是一个字符串类型的参数,用于在背景区域上方显示文本内容。
接下来,函数中定义了三个变量nBKStart、nBKEnd和nCount。其中,nCount表示当前K线数量,nBKStart和nBKEnd分别表示背景区域的起始位置和结束位置。
然后,在for循环中,通过遍历K线数据,计算出符合条件的背景区域的起始和结束位置。具体来说,当收盘价大于开盘价时,则认为是一个上涨K线;当收盘价小于等于开盘价时,则认为这个上涨趋势已经结束。这样就可以计算出所有符合条件的背景区域,并对其进行绘制。
最后,在函数末尾判断如果没有到符合条件的背景区域,则画一条水平线。
五、总结
画背景函数是通达信中非常常用的一个函数,它可以为图表添加各种背景、线条和文本等元素,让图表更加美观易读。在编写画背景函数时,需要根据实际需求进行参数设置,并且需要注意计算背景区域的起始和结束位置。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。