全局变量

if(Q_UpperLimit > 0 && Q_LowerLimit > 0 && BarStatus == 0)

   {

       // 初始化全局变量(共18个)

       SetGlobalVar(0, 0);      // [0] 系统就绪标记

       SetGlobalVar(3, 9999);   // [3] 多单时间戳

       SetGlobalVar(13, 0);     // [13] 多仓标记(0/1)

       SetGlobalVar(17, 9999);  // [17] 空单时间戳

       SetGlobalVar(14, 0);     // [14] 空仓标记(0/1)}因BarStatus == 0,是否每根K线切换都重新初始化?

全局变量定义
全局变量
关于全局变量
TBquant全局变量问题
咨询全局变量
为什么要用全局变量?
全局变量的问题。
序列变量和全局变量区别
restart 中关于全局变量问题
如何查看全局变量

BarStatus == 0  是第一根K线 所以是加载时候执行

因我的代码是在BarStatus == 2时发单,if(BarStatus == 2 &&CanLong && GetGlobalVar(13)==0)

           {

               SetGlobalVar(13, 1);  

               SetGlobalVar(3, NextBarDateTime);

               

                if(totalBuyLots >= 5*LotMultiple)

               {

                   {

                   for i = 0 to 4 {

                       if (i < dremainder) {

                            A_SendOrder(Enum_Buy, Enum_Entry, dbaseLots + 1,

                                     GetGlobalVar(5) + (i+1)*MinMove*PriceScale);  

                       } else {

                         A_SendOrder(Enum_Buy, Enum_Entry, dbaseLots,

                                     GetGlobalVar(5) + (i+1)*MinMove*PriceScale);

                       }

                   }

                   

               }

               }}发单后全局变量13,3作了标计,只有第1根k线初化,就对的,若每k线初化,标计就初化了。起不到标计作用了。

我看错了

你的没问题


是只初始化一次

要看你代码放在哪个域

如果init域就是初始化一次

如果是onbaropen就是K线开始的时候初始化一次,有多少k就初始化多少次


btw:

涨跌停有的交易所是0

有的是具体数值

有的是无效值

所以编码逻辑有问题

看到BarStatus == 0了

那就是初始化一次

意思是 实盘有可能无法提取到正确的涨跌停价格 ,是吗?

能娶到

我看错了

ASK和BID价不一定

发单后全局变量13,3作了标计,只有第1根k线初化,就对的,若每k线初化,标计就初化了。起不到标计作用了。

你就说一下你的诉求


我的诉求就是 BarStatus == 0时初始化(第一根k线)以后的K线不要再( BarStatus == 0时初始化)因全局变量开仓标记了,只有平仓再标记0,

那就直接设置个全局变量

在oninit域初始化一次更简单吧

有道理