序列变量的载体
上一讲举了一个简单的例子,现在继续用这个例子来讲解。
它使用的策略是:长阳达到X且在均线之上买进,长阴达到X且在均线之下买进。代码是:
public class Signal //信号结构体
{
//定义信号数据,自己写
public Signal(string 下单方式)
{
//根据买开还是买平还是卖开还是卖平什么的,信号数据怎么变,自己写
}
}
public class Strg //策略管理器
{
static List<double> K线序列 = new List<double>();
static List<double> 均线序列 = new List<double>();
//K线序列,有行情模块给它增加元素,这里不用管
//但均线序列需要在这里增加
static void 更新均线(int N) //这个函数是简化了的,它是假设每根K线只更新一次均线的算法
{
//若要每个tick都更新均线,代码就比较多了,这里先不说
if (N <= 0) return;
int K线根数 = K线序列.Count;
if (K线根数 < N) return;
if (K线根数 == N)
{
double sum = 0;
for (int i = 0; i < N; i++) sum += K线序列[i];
double 均线值 = sum / (double)N;
均线序列.Add(均线值);
}
else //if (K线根数 > N)
{
double 上一根K线的均线值 = 均线序列.Last

本文介绍了期货CTP接口与程序化(量化交易)对接过程中序列变量的重要性和管理。序列变量用于提高计算效率,如均线策略,但其在不同模块间的传递和管理是个挑战。为解决这个问题,提出了序列变量的载体概念,作为打包和区分不同交易方案中序列变量的工具。载体结构体在C#中的应用使得每个交易策略的变量能够独立且有序地管理,避免混淆。
最低0.47元/天 解锁文章
1359

被折叠的 条评论
为什么被折叠?



