智能交易网,程序化交易,自动交易,量化交易

 找回密码
 注册

QQ登录

只需一步,快速开始

手机短信登录

参加MT4智能交易编程培训,7课免费在线试听MT4指标,EA代写,或EA指标加密账户远程验证服务 最完善商业MT4跟单系统(0.1秒极速响应不漏单)
为论坛做贡献有奖学金,奖学金可直接换真钱 扫本站微信公 众号部分视频课程指标EA免费得智能交易网MT4操盘神器,扫公众号免费得
查看: 2004|回复: 3

我这跟老师的一样呀?为什么不停止运行了呢?

[复制链接]
发表于 2014-10-29 19:49:37 | 显示全部楼层 |阅读模式
void OnStart()
  {
     int t=OrdersTotal();
     while(t>0)
       {
           for(int i=t-1;i>=0;i--)
             {
               if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
                 {
                   if(OrderType()<1)  
                     {
                       int p=OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),300,Green);
                     }
                    else
                     {
                       int d=OrderDelete(OrderTicket(),clrNONE);
                     }
                 }
             }
       }
  }

脚本一直运行中,一定要手工停止才行的,这是为什么呢?
回复

使用道具 举报

发表于 2014-10-31 09:43:25 | 显示全部楼层
你这个 跟我是有区别的。你要看仔细我是怎么写的。
你这样 是会一直运行的。
void OnStart()
  {
     while(OrdersTotal()>0)
       {
           int t=OrdersTotal();
           for(int i=t-1;i>=0;i--)
             {
               if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
                 {
                   if(OrderType()<1)  
                     {
                       int p=OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),300,Green);
                     }
                    else
                     {
                       int d=OrderDelete(OrderTicket(),clrNONE);
                     }
                 }
             }
       }
  }
我是这样写的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-31 15:45:23 | 显示全部楼层
{:soso_e179:}是我水平差,没理解透!
回复 支持 反对

使用道具 举报

发表于 2014-11-29 17:48:43 | 显示全部楼层
void OnStart()
  {
     int t=OrdersTotal();//设开仓数为1,则t=1;
     while(t>0)//t>0条件成立,进入循环,进去后就出不来了,形成死循环
       {
           for(int i=t-1;i>=0;i--)
             {
               if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
                 {
                   if(OrderType()<1)  
                     {
                       int p=OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),300,Green);
                     }
                    else
                     {
                       int d=OrderDelete(OrderTicket(),clrNONE);
                     }
                 }
             }
    t--;//在此加上本句,功能就和老师的一样了,呵呵
       }  
  }
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|sitemap|智能交易网,程序化交易,自动交易,量化交易 ( 苏ICP备08108698号,苏州智德金网络科技股份有限公司版权所有 )

GMT+8, 2019-10-23 19:46 , Processed in 0.071636 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表