请问我这个初始化全局变量的写法对吗?
主要是为了掉线或者第二日开仓防止初始化掉原有持仓。If(BarStatus==0 )
{
if(A_TotalPosition() >0)
{
SetGlobalVar(0,1);
}
If(A_TotalPosition() <0)
{
SetGlobalVar(1,1);
}
Else
{
SetGlobalVar(0,0);
SetGlobalVar(1,0);
}
帮忙看下可以吗? 测试的时候 有时候灵 有时候不灵。。。 三天没人上一下么?大家都怎么解决的?
你的需求并没有表现清楚,所以可能其他人没法帮您判断呢。。
首先,持仓最是存在于帐户信息中的,并不会因为掉线等原因而导致“被初始化”。
其次,如果是担心掉线等原因导致的全局变量被始始化,可以使用if(getglobalvar(0)==invalidnumeric)setglobalvar(0,0);这样的方式进行初始化。。
如果是担心软件重启后的全局变量被初始化,可以使用settbprofilestring这样读写数据库的方式来替代全局变量。 版主说的对,需求说清楚啊。我只说一下你这个程序结构上的问题,这个程序可能能够运行,但是语法不够严谨。你里面的嵌套应该是这样的:
If (Condition1)
{
TradeBlazer 公式语句1;
}Else If(Condition2)
{
TradeBlazer 公式语句2;
}Else
{
虽然你那样也能运行,但是语法上不严谨。
页:
[1]