变量声明

Params

String TRADESYMBOL(\"IF888.CFFEX\");

String INDEXSYMBOL(\"000300.SSE\");

String TRADESYMBOL1(\"IC888.CFFEX\");

String INDEXSYMBOL1(\"000905.SSE\");

String TRADESYMBOL2(\"IM888.CFFEX\");

String INDEXSYMBOL2(\"000852.SSE\");

Vars

Defs

Events

//此处实现事件函数

//初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作

OnInit()

{

//与数据源有关

SubscribeBar(TRADESYMBOL,\"5M\",20210101,0,Enum_Data_FullPeriod);

SubscribeBar(INDEXSYMBOL,\"5M\",20190101,0,Enum_Data_FullPeriod);

SubscribeBar(INDEXSYMBOL,\"10M\",20080927,0,Enum_Data_FullPeriod);

SubscribeBar(INDEXSYMBOL,\"15M\",20080927,0,Enum_Data_FullPeriod);

SubscribeBar(INDEXSYMBOL,\"30M\",20080927,0,Enum_Data_FullPeriod);

SubscribeBar(INDEXSYMBOL,\"1H\",20080927,0,Enum_Data_FullPeriod);

SubscribeBar(INDEXSYMBOL,\"2H\",20080927,0,Enum_Data_FullPeriod);

SubscribeBar(INDEXSYMBOL,\"1D\",20080927,0,Enum_Data_FullPeriod);

SubscribeBar(TRADESYMBOL1,\"5M\",20210101,0,Enum_Data_FullPeriod);

SubscribeBar(INDEXSYMBOL1,\"5M\",20190101,0,Enum_Data_FullPeriod);

SubscribeBar(INDEXSYMBOL1,\"10M\",20080927,0,Enum_Data_FullPeriod);

SubscribeBar(INDEXSYMBOL1,\"15M\",20080927,0,Enum_Data_FullPeriod);

SubscribeBar(INDEXSYMBOL1,\"30M\",20080927,0,Enum_Data_FullPeriod);

SubscribeBar(INDEXSYMBOL1,\"1H\",20080927,0,Enum_Data_FullPeriod);

SubscribeBar(INDEXSYMBOL1,\"2H\",20080927,0,Enum_Data_FullPeriod);

SubscribeBar(INDEXSYMBOL1,\"1D\",20080927,0,Enum_Data_FullPeriod);

AddDataFlag(Enum_Data_AutoSwapPosition()); //设置自动换仓

SetInitCapital(10000000); //设置初始资金为100万

SetSlippage(Enum_Rate_PointPerHand,5);

setCommissionRate(Enum_Rate_ByFillAmount,0.26);

SetBeginBarMaxCount(1); //设置最大起始bar数为10

SetBackBarMaxCount(1000); //设置最大回溯bar数为10

}

OnBar(ArrayRef<Integer> indexs)

{

Integer i;

For i = 0 To 1

{

CodeProperty CP1;

GetProperty(DATA[0+i*8].Symbol,CP1);

If(i==1)

{

Data[0+i*8].Commentary(\"Portfolio_CurrentEquity =\"+Text(Portfolio_CurrentEquity()));

Data[0+i*8].Commentary(\"DATA[0+i*8].Close =\"+Text(DATA[0+i*8].Close));

Data[0+i*8].Commentary(\"CP1.bigPointValue =\"+Text(CP1.bigPointValue));

Data[0+i*8].Commentary(\"CP1.contractUnit =\"+Text(CP1.contractUnit));

Integer oldbar_Lots;

oldbar_Lots = Portfolio_CurrentEquity()/(DATA[0+i*8].Close*CP1.bigPointValue*CP1.contractUnit);

Data[8].Commentary(\"oldbar_Lots =\"+Text(oldbar_Lots));

}

}

}

上面代码变量oldbar_lots在上面的位置声明运行正确,但在vars下声明出现赋值错误。是什么原因造成的?

请教变量声明
变量声明问题咨询
这种变量声明方式是什么意思?
驱动区域和变量声明结构体应用的不同
请问一下kyover:简语言的全局静态变量声明关键字,好像是Va开头的,谢谢!还有一篇关于编程基础的文档哪里下载?
参数、变量声明时有多个默认值,运行时是怎样使用的
运行机制方面
咨询关于series<Numeric>的问题
旗舰版公式升级成TBQuant有重大Bug。
请问老师,我这个代码怎么编写不进去tb的程序里面,麻烦帮我看一下

data-href=

这里加上一个data0

因为vars变量定义的局部类型是分图层的,你上面oldbar_Lots赋值的时候没加data前缀,那么默认就赋值到data0图层。输出的时候用data8.commentary,里面的参数默认跟随外部对象data8,等于输出了data8.oldbar_Lots,不同图层的oldbar_Lots是不同的对象,所以错误了