㈠ 怎么用C语言表达通达信BARSLAST函数
从当日开始使用K线数据计算条件是否成立,如果不成立k线数据取前一日,并用一个变量记录k线移动的次数,直到条件成立。这个变量的值就等于BARSLAST的返回值。
㈡ 通达信程序化行情接口有人需要吗
股票基本没有,金字塔据说正在谈。
期货ctp的api可以直接用c、c++接入。
tb(交易开拓者)的语言接近c
文华、金字塔、mc都可以程序化交易,但是不是c,c++
㈢ 想用易语言写一个股票下单程序,调用通达信接口下单。如何做呀。
web端的,还是PC?
㈣ 如何打开通达信C语言编译器
如果你想编辑公式,请按以下方法操作:
在报表状态下单击左上角“功能”---系统公式---单击公式管理器---单击用户---这时你若是创建指标公式请再单击‘其他类型’(在技术指标名下)---新建---OK指标公式编辑器就打开了,需要复制指标公式或者写指标公式就可以进行了。
你若是创建选股公式请双击‘条件选股公式’---单击“其他类型”---新建---OK选股公式编辑器打开了,需要复制选股公式或者写选股公式就可以进行了。
大概就是这些,希望能够帮助你!
㈤ 通达信的股票软件是用什么语言开发的 能否获得其主程序的源代码
关键是数据接口,这个是软件开发商向交易所购买的吧,呵呵。
㈥ Excell中的数据可以被C语言程序读出来吗
excell当然以用程序读出来。用JAVA或者VC都可以。 贴一段VC的程序,你参考吧,不过JAVA更好用。
// MFC源代码
// 功能:修改单元格底色
void CGupiao_ExcelDlg::OnBtnStart()
{
// TODO: Add your control notification handler code here
//用m_ExlApp对象创建Excel2003进程
if(!m_ExlApp.CreateDispatch("Excel.Application",NULL))
{
AfxMessageBox("创建Excel服务失败!");
return;
}
//设置为可见
m_ExlApp.SetVisible(TRUE);
///////////////////下面得到应用程序所在的路径///////////////////
CString TempPath="";
char Path[MAX_PATH];
GetCurrentDirectory(MAX_PATH,Path);
TempPath = Path;
TempPath += "\\Table.xls";
m_ExlBooks.AttachDispatch(m_ExlApp.GetWorkbooks(),TRUE);
m_ExlBook.AttachDispatch(m_ExlBooks.Add((_variant_t)TempPath),TRUE);//加载EXCEL模板
m_ExlSheets.AttachDispatch(m_ExlBook.GetSheets(),TRUE);//加载Sheet页面
// 得到第一个页面
m_ExlSheet.AttachDispatch(m_ExlSheets.GetItem(_variant_t((long)1)),TRUE);
// m_ExlRge.AttachDispatch(m_ExlSheet.GetCells(),TRUE);//加载所有单元格 m_ExlRge.AttachDispatch(m_ExlSheet.GetUsedRange(), TRUE);
int len;
long lines = 0, val;
Range rowCells, colCells, rowCell, colCell;
long row, column;
long color = 1, fcolor = 1; // 设置颜色
Font ft; // 设置整体的字体、字号及颜色
Interior it; // 设置底色
Range Cell;
_variant_t var;
CString context, str, sNum;
//// 设置所有单元格边框线(未完成)
m_ExlRge.BorderAround(_variant_t((long)1),_variant_t((long)2),_variant_t((long)-4105),vtMissing);//设置边框
//// 以下是对列属性进行设置
// colCells.AttachDispatch(m_ExlRge.GetColumns()); // 得到所有列
// 设置第1列底色
Cell = m_ExlRge.GetItem(_variant_t((long)1),_variant_t((long)1)).pdispVal; // 第1行第1列
colCell.AttachDispatch(Cell.GetEntireColumn()); // 通过第1行第1列来获取整列
it.AttachDispatch(colCell.GetInterior());
it.SetColorIndex(_variant_t((long)36)); //底色 - 第1列
// 设置第2列底色
Cell = m_ExlRge.GetItem(_variant_t((long)1),_variant_t((long)2)).pdispVal; // 第1行第2列
colCell.AttachDispatch(Cell.GetEntireColumn()); // 通过第1行第2列来获取整列
it.AttachDispatch(colCell.GetInterior());
it.SetColorIndex(_variant_t((long)37)); //底色 - 第2列
// 设置第3列底色 - 此列为"现手"列, 底色下面会特别修改,此处可以省略
Cell = m_ExlRge.GetItem(_variant_t((long)1),_variant_t((long)3)).pdispVal; // 第1行第3列
colCell.AttachDispatch(Cell.GetEntireColumn()); // 通过第1行第3列来获取整列
// it.AttachDispatch(colCell.GetInterior());
// it.SetColorIndex(_variant_t((long)40)); //底色 - 第3列
colCell.AutoFit(); // 自适应列宽
// 设置第4列底色
Cell = m_ExlRge.GetItem(_variant_t((long)1),_variant_t((long)4)).pdispVal; // 第1行第4列
colCell.AttachDispatch(Cell.GetEntireColumn()); // 通过第1行第4列来获取整列
it.AttachDispatch(colCell.GetInterior());
it.SetColorIndex(_variant_t((long)39)); //底色 - 第4列
//// 以下是对第一行属性进行设置
rowCells.AttachDispatch(m_ExlRge.GetRows()); // 得到所有行
lines = rowCells.GetCount(); // 行的总数
Cell = m_ExlRge.GetItem(_variant_t((long)1), _variant_t((long)1)).pdispVal; // 第1行第1列
rowCell.AttachDispatch(Cell.GetEntireRow()); // 通过第1行第1列来获取整行
it.AttachDispatch(rowCell.GetInterior());
it.SetColorIndex(_variant_t((long)38)); //底色 - 第1行
ft.AttachDispatch(rowCell.GetFont());
//ft.SetColorIndex(_variant_t((long)1)); //字的颜色
ft.SetBold(_variant_t((long)1)); //粗体
//ft.SetSize(_variant_t((long)13)); //字大小
long price, max, mid, mmax;
Cell=m_ExlRge.GetItem(_variant_t((long)2),_variant_t((long)2)).pdispVal;
var = (_variant_t) Cell.GetText();
price = (long)(_variant_t)(var);
max = 500000 / price; // 50W多少手
mid = 100000 / price; // 10W多少手
mmax = 5000000 / price; // 500W多少手
//// 以下是修改"现手"这一列的属性
row = 2; // 行
column = 3; // 列
while(row <= lines)
{
Cell=m_ExlRge.GetItem(_variant_t((long)row),_variant_t((long)column)).pdispVal;
var = (_variant_t) Cell.GetText();
context = (LPCSTR)_bstr_t(var);
if (context == "")
{
return;
}
len = context.GetLength();
sNum = context;
sNum.Delete(len-2, 2);
val = atoi(sNum);
str = context.GetAt(len - 2);
str += context.GetAt(len - 1);
// 设置颜色
// 常用颜色定义,对就Excel中颜色名(少了值为17-32的颜色)
// 无色 = -4142, 自动 = -4105,
// 黑色 = 1, 白色 = 2, 红色 = 3, 鲜绿 = 4, 蓝色 = 5, 黄色 = 6, 粉红 = 7, 青绿 = 8,
// 深红 = 9, 绿色 = 10, 深蓝 = 11, 深黄 = 12, 紫罗兰=13, 青色 = 14, 灰色25=15, 灰色50 = 16,
// 天蓝 = 33, 浅青绿=34, 浅绿 = 35, 浅黄 = 36, 淡蓝 = 37, 玫瑰红=38, 淡紫 = 39, 茶色 = 40,
// 浅蓝 = 41, 水绿色=42, 酸橙色=43, 金色 = 44, 浅橙色=45, 橙色 = 46, 蓝灰 = 47, 灰色40=48,
// 深青 = 49, 海绿 = 50, 深绿 = 51, 橄榄 = 52, 褐色 = 53, 梅红 = 54, 靛蓝 = 55, 灰色80 = 56,
if (str == "--")
{
color = 19; //
}
else if (str == "↑")
{
if (val >= mmax) {
color = 5; // 蓝色
fcolor = 6; // 字体改黄色
}
else if (val >= max) // 数值高, 颜色深
color = 3;
else if (val >= mid)
color = 46;
else
color = 44;
}
else if (str == "↓")
{
if (val >= mmax) {
color = 5; // 蓝色
fcolor = 2; // 字体改白色
}
else if (val >= max) // 数值高, 颜色深
color = 10;
else if (val >= mid)
color = 4;
else
color = 43;
}
if (val >= mid)
{
ft.AttachDispatch(Cell.GetFont());
if (val >= mmax) // 超过mmax时修改字的颜色 ft.SetColorIndex(_variant_t((long)fcolor));
ft.SetBold(_variant_t((long)1)); // 粗体
//ft.SetSize(_variant_t((long)13)); // 字大小
}
it.AttachDispatch(Cell.GetInterior());
it.SetColorIndex(_variant_t((long)color)); //底色
color = 1;
fcolor = 1;
row++;
}
//// 以下是为了在第一行前插入一行时间
const long xlShiftDown = -4121; //常量
Cell = m_ExlRge.GetItem(_variant_t((long)1), _variant_t((long)1)).pdispVal; // 第1行第1列
rowCell.AttachDispatch(Cell.GetEntireRow()); // 通过第1行第1列来获取整行
rowCell.Insert(COleVariant(xlShiftDown), _variant_t((long)0)); //在第一行之前插入空白行
//加载要合并的单元格
m_ExlRge.AttachDispatch(m_ExlSheet.GetRange(_variant_t("A1"),_variant_t("D1")),TRUE);
m_ExlRge.Merge(_variant_t((long)0));
m_ExlRge.SetItem(_variant_t((long)1),_variant_t((long)1),_variant_t(GetTimeString()));
//设置齐方式为水平靠左垂直居中
//水平对齐:默认=1,居中=-4108,左=-4131,右=-4152
//垂直对齐:默认=2,居中=-4108,左=-4160,右=-4107
m_ExlRge.SetHorizontalAlignment(_variant_t((long)-4131));
m_ExlRge.SetVerticalAlignment(_variant_t((long)-4108));
//粗体, 底色为酸橙色
ft.AttachDispatch(m_ExlRge.GetFont());
ft.SetBold(_variant_t((long)1)); // 粗体
it.AttachDispatch(m_ExlRge.GetInterior());
it.SetColorIndex(_variant_t((long)43)); // 底色为酸橙色
//// 释放对象(相当重要!)
m_ExlRge.ReleaseDispatch();
m_ExlSheet.ReleaseDispatch();
m_ExlSheets.ReleaseDispatch();
m_ExlBook.ReleaseDispatch();
m_ExlBooks.ReleaseDispatch();
//m_ExlApp一定要释放,否则程序结束后还会有一个Excel进程驻留在内存中,而且程序重复运行的时候会出错
m_ExlApp.ReleaseDispatch();
m_ExlApp.Quit(); //退出程序
}
㈦ 通达信5分钟数据格式搞不清,请说明,谢谢!
呵呵,我以前也写过代码读取5分钟数据,以下以前一段代码,包括日期的算法。
用C语言读取5分钟数据格式:
typedef struct
{
/*year=floor(m_date/2048)+2004; %提取年信息
mon=floor(mod(m_date,2048)/100); %提取月信息
day=mod(mod(m_date,2048),100); %提取日信息*/
// m_time/60 输出小时
// m_time%60 输出分钟
short m_date;
short m_time;
float Open; //
float Hight;
float Low;
float Close;
float Amount; //成交额
int Vol; //成交量
int reservation;//预留
} Five_Minute_DATA,*pFive_Minute_DATA;
㈧ 通达信和文华财经里的公式属于什么程序语言
通达信和文华财经里的公式属于基础的C语言
㈨ 用通达信接口,怎样把通达信软件的历史数据转换到飞狐
飞狐的历史数据最好不要用接口来补,应该到网站里下载数据包,然后再用导入的方式来补足!使用接口(尤其是通达信接口) 应该只接收当天的数据,或者少设置一些前期的数据(设置自动补数据最多不要超过30-50天),便于实时收看行情!另外,也最好隔一段时间(比如1-几个月),下载近期的数据包覆盖补充一次,使数据完整!