设为首页收藏本站

 找回密码
 注册
查看: 1068|回复: 7
打印 上一主题 下一主题

提示 :无法识别的字符串 bool [复制链接]

Rank: 1

精华
0
UID
279024
积分
23
帖子
20
主题
3
阅读权限
10
注册时间
2019-5-15
最后登录
2019-6-11
跳转到指定楼层
1#
发表于 2019-5-18 08:45:39 |只看该作者 |倒序浏览
本帖最后由 r5d0z6n8 于 2019-5-18 09:28 编辑

最终目标文件编译错误  
:fatal  error LNK1181:cannot  open  imput  file...
FOR,WHILE ,IF,ELSE中包含序列函数,可能存在潜在…     错误 号wo2o1   行号 43


Rank: 1

精华
0
UID
279024
积分
23
帖子
20
主题
3
阅读权限
10
注册时间
2019-5-15
最后登录
2019-6-11
2#
发表于 2019-5-18 08:48:35 |只看该作者
本帖最后由 r5d0z6n8 于 2019-5-18 09:30 编辑

模型原码

Params

     Bool BINITSTATUS(FALSE);
     NUMERIC INITMP(0);       //初始仓,+
     //NUMERIC MIDLINE(5600);    //初始中线值
     NUMERIC MIDLINELENGTH(250);   //中线移动的平均周期数
     NUMERIC FIRSTGRID(3);         //第一格的间距,点数
     NUMERIC TOTALGRIDS(10);       //总网格数,即最大持仓数
     NUMERIC GRIDINTERVAL(3);    //网格间距,点数
     NUMERIC WINGRID(3);    //盈利点数
     NUMERIC EVERYLOTS(1);   //每次开仓手数
     NUMERIC MIDLINEWEIGHT(1);    //中线所占权重
     NUMERIC EXITONCLOSEMINS(14.50);   //收盘平仓时间
Vars
   NumericSeries midline;
   NUMERIC MINPOINT;
   NUMERIC AVGOFCLOSE;
   NUMERIC ASKLINE;
   NUMERIC BIDLINE;
   NUMERICSERIES REALMIDLINE;
   NUMERIC MYREALMP(0);
   NUMERIC TMPGRIDINDEX;
   NUMERIC TMPPRICE;
Begin
  IF(DAY<>DAY[1])
  {MIDLINE=OPEND(0); }ELSE
  {MIDLINE=MIDLINE[1];}
   MINPOINT=MINMOVE*PRICESCALE;
   MYREALMP=GETGLOBALVAR(0);

   AVGOFCLOSE=AVERAGEFC(CLOSE,MIDLINELENGTH);
   IF(BARSTATUS==0)
        IF(MYREALMP == INVALIDNUMERIC  ||  BINITSTATUS)
   {MYREALMP = INITMP; SETGLOBALVAR(0,MYREALMP); }
   ELSE  IF(BARSTATUS == 2 && A_ACCOUNTID != " " )
   {IF(Q_ASKPRICE <= 0 || Q_BIDPRICE <= 0 ) RETURN;}
   IF(Q_BIDPRICE == Q_UPPERLIMIT || Q_ASKPRICE == Q_LOWERLIMIT) RETURN;
   IF ((TIME == 0.0900 || TIME == 0.1030 || TIME == 0.1330 ) && (HIGH==LOW)) RETURN;
   IF(CURRENTTIME<EXITONCLOSEMINS/100)
   {REALMIDLINE=MIDLINE*MIDLINEWEIGHT+AVGOFCLOSE*(1-MIDLINEWEIGHT);
   ASKLINE=Q_ASKPRICE;
   BIDLINE=Q_BIDPRICE;
   COMMENTARY("中线="+TEXT(REALMIDLINE));
   COMMENTARY("叫卖价="+TEXT(ASKLINE));
   COMMENTARY("叫买价="+TEXT(BIDLINE));
   IF(MYREALMP<=0&&BIDLINE>REALMIDLINE+FIRSTGRID*MINPOINT)
   {TMPPRICE=REALMIDLINE+FIRSTGRID*MINPOINT+(ABS  (MYREALMP)*  GRIDINTERVAL*MINPOINT);
   TMPPRICE=CEILING(TMPPRICE,MINPOINT);
   COMMENTARY("开仓价="+TEXT(TMPPRICE));
   TMPGRIDINDEX=-1-INTPART  ((BIDLINE-REALMIDLINE-FIRSTGRID*MINPOINT)/(GRIDINTERVAL*MINPOINT));
   IF(TMPGRIDINDEX<MYREALMP&&TMPGRIDINDEX>=-1*TOTALGRIDS)
   {MYREALMP=MYREALMP-1;  A_SENDORDER  (ENUM_BUY,ENUM_ENTRY,EVERYLOTS,BIDLINE);}}ELSE IF(MYREALMP>=0 && ASKLINE<REALMIDLINE-FIRSTGRID*MINPOINT)
   {TMPPRICE=REALMIDLINE-FIRSTGRID*MINPOINT-ABS (MYREALMP)*  (GRIDINTERVAL*MINPOINT);
   TMPPRICE=FLOOR(TMPPRICE,MINPOINT);
   COMMENTARY("开仓价="+TEXT(TMPPRICE));
   TMPGRIDINDEX=1+INTPART  ((REALMIDLINE-FIRSTGRID*MINPOINT-   ASKLINE)/(GRIDINTERVAL*MINPOINT));
   IF(TMPGRIDINDEX>MYREALMP && TMPGRIDINDEX<=TOTALGRIDS)
   {MYREALMP=MYREALMP+1;
   A_SENDORDER(ENUM_SELL,ENUM_ENTRY,EVERYLOTS,ASKLINE);}
   IF(MYREALMP>0)
   {TMPPRICE=REALMIDLINE-FIRSTGRID*MINPOINT-(ABS(MYREALMP)-1)*(GRIDINTERVAL*MINPOINT)+WINGRID*MINPOINT;
   TMPPRICE = CEILING(TMPPRICE,MINPOINT);
   COMMENTARY("平仓价="+TEXT(TMPPRICE));
   }ELSE IF(MYREALMP<0)
   {TMPPRICE=REALMIDLINE+FIRSTGRID*MINPOINT+(ABS(MYREALMP)-1)*(GRIDINTERVAL*MINPOINT)-WINGRID*MINPOINT;
   TMPPRICE = FLOOR(TMPPRICE,MINPOINT);
   COMMENTARY("平仓价="+TEXT(TMPPRICE));}
   TMPGRIDINDEX=-1-INTPART  
   ((ASKLINE-FIRSTGRID*MINPOINT+WINGRID*MINPOINT-REALMIDLINE)/(GRIDINTERVAL*MINPOINT));
   TMPGRIDINDEX=MIN(0,TMPGRIDINDEX);
   IF(TMPGRIDINDEX>MYREALMP)
   {MYREALMP=MYREALMP+1;     A_SENDORDER   (ENUM_SELL,ENUM_EXIT,EVERYLOTS,ASKLINE);}
   TMPGRIDINDEX=1+INTPART
   ((REALMIDLINE-FIRSTGRID*MINPOINT+WINGRID*MINPOINT-BIDLINE)/(GRIDINTERVAL*MINPOINT));
   TMPGRIDINDEX=MAX(0,TMPGRIDINDEX);
   IF(TMPGRIDINDEX < MYREALMP)
   {MYREALMP=MYREALMP-1; A_SENDORDER   (ENUM_BUY,ENUM_EXIT,EVERYLOTS,BIDLINE);}
   }ELSE IF(CURRENTTIME > EXITONCLOSEMINS/100)
   {IF(MYREALMP > 0)
   {MYREALMP = MYREALMP - 1;A_SENDORDER  (ENUM_SELL,ENUM_EXIT,EVERYLOTS,BIDLINE);}
   ELSE IF(MYREALMP<0)
   {MYREALMP  =  MYREALMP + 1;A_SENDORDER (ENUM_BUY,ENUM_EXIT,EVERYLOTS,ASKLINE);}
  }SETGLOBALVAR(0,MYREALMP);}
   COMMENTARY("实际仓位="+TEXT(MYREALMP));
   COMMENTARY("当前时间="+TEXT(Q_LASTTIME));
   IF (Q_LASTTIME>0.145000 AND CURRENTTIME<0.150000)
   {A_SENDORDER(ENUM_SELL,ENUM_EXIT,1,Q_BIDPRICE);
   A_SENDORDER(ENUM_BUY,ENUM_EXIT,1,Q_ASKPRICE);}
   
   END

使用道具 举报

Rank: 1

精华
0
UID
279024
积分
23
帖子
20
主题
3
阅读权限
10
注册时间
2019-5-15
最后登录
2019-6-11
3#
发表于 2019-5-18 09:14:50 |只看该作者
本帖最后由 r5d0z6n8 于 2019-5-18 09:34 编辑

麻烦老师辛苦下帮我改下,多谢了!!

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2019-5-20 14:54:18 |只看该作者
r5d0z6n8 发表于 2019-5-18 08:48
模型原码

Params

公式可以通过编译,
出现的提示是midline= openD(0)这一句放到了条件内,是可能导致计算结果出错的。。
建议使用中间变量,在条件外将openD(0)赋值给中间变量,再将中间变量代入条件中使用。

使用道具 举报

Rank: 1

精华
0
UID
279024
积分
23
帖子
20
主题
3
阅读权限
10
注册时间
2019-5-15
最后登录
2019-6-11
5#
发表于 2019-5-20 18:06:31 |只看该作者
小米 发表于 2019-5-20 14:54
公式可以通过编译,
出现的提示是midline= openD(0)这一句放到了条件内,是可能导致计算结果出错的。。
...

"出现的提示是midline= openD(0)这一句放到了条件内,是可能导致计算结果出错的。。
建议使用中间变量,在条件外将openD(0)赋值给中间变量,再将中间变量代入条件中使用"

恳求老师帮我改下,万分感谢!!!

使用道具 举报

Rank: 1

精华
0
UID
279024
积分
23
帖子
20
主题
3
阅读权限
10
注册时间
2019-5-15
最后登录
2019-6-11
6#
发表于 2019-5-22 17:35:02 |只看该作者
"出现的提示是midline= openD(0)这一句放到了条件内,是可能导致计算结果出错的。。
建议使用中间变量,在条件外将openD(0)赋值给中间变量,再将中间变量代入条件中使用"

恳求老师帮我改下,万分感谢!!!

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
7#
发表于 2019-5-23 09:38:41 |只看该作者
r5d0z6n8 发表于 2019-5-22 17:35
"出现的提示是midline= openD(0)这一句放到了条件内,是可能导致计算结果出错的。。
建议使用中间变量,在 ...

这段代码真的没有修改的价值。
建议系统学习再编写策略公式吧。

使用道具 举报

Rank: 1

精华
0
UID
279024
积分
23
帖子
20
主题
3
阅读权限
10
注册时间
2019-5-15
最后登录
2019-6-11
8#
发表于 2019-5-23 09:42:06 |只看该作者
谢谢!!

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-4-25 16:43

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部