YJT1982 发表于 2017-11-30 21:34:40

请问我这个初始化全局变量的写法对吗?

主要是为了掉线或者第二日开仓防止初始化掉原有持仓。
If(BarStatus==0 )
     {
      if(A_TotalPosition() >0)
      {
      SetGlobalVar(0,1);
      }
      If(A_TotalPosition() <0)
      {
      SetGlobalVar(1,1);     
      }
      Else
      {
     SetGlobalVar(0,0);
     SetGlobalVar(1,0);
      }
帮忙看下可以吗? 测试的时候 有时候灵 有时候不灵。。。

YJT1982 发表于 2017-12-3 16:36:36

三天没人上一下么?大家都怎么解决的?

小米 发表于 2017-12-4 08:58:56

你的需求并没有表现清楚,所以可能其他人没法帮您判断呢。。
首先,持仓最是存在于帐户信息中的,并不会因为掉线等原因而导致“被初始化”。
其次,如果是担心掉线等原因导致的全局变量被始始化,可以使用if(getglobalvar(0)==invalidnumeric)setglobalvar(0,0);这样的方式进行初始化。。
如果是担心软件重启后的全局变量被初始化,可以使用settbprofilestring这样读写数据库的方式来替代全局变量。

mianmian 发表于 2017-12-22 18:30:47

版主说的对,需求说清楚啊。我只说一下你这个程序结构上的问题,这个程序可能能够运行,但是语法不够严谨。你里面的嵌套应该是这样的:
If (Condition1)
{
TradeBlazer 公式语句1;
}Else If(Condition2)
{
TradeBlazer 公式语句2;
}Else
{

虽然你那样也能运行,但是语法上不严谨。
页: [1]
查看完整版本: 请问我这个初始化全局变量的写法对吗?