设为首页 收藏本站 切换语言

一键平仓脚本为什么平仓只能平一半?  

| 发表于 2022-6-13 22:57:54 | 显示全部楼层 |复制链接
这是个一键平仓脚本,执行中发现了一个问题,每次平仓只能平一半,今天研究了一下发现问题,出在if循环上。
看下面的代码。如果现在有4笔订单要平仓,那么在下面的代码是这样的执行的。
1、OrdersTotal()>0),判断订单4笔大于0
2、遍历4笔订单
    问题就出在这里。当平掉两笔订单后i等于2,这时OrdersTotal()=2,关键是OrdersTotal(),这也是变化的数字,不再是当时的4.当i=OrdersTotal()时,程序自然就执行不下去了。这时只需要把if换成while就能解决问题。
if 只做判断,判断一次之后,便不会再回来了
while 的话,循环,直到结果为false,才跳出来

//--------------------------------------------------------------------------------------------------  
           
  1. if(OrdersTotal()>0)
  2.                {
  3.                   for(int i=0;i<OrdersTotal();i++)
  4.                      {
  5.                        if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==1)
  6.                           {  
  7.                              if(OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),100,clrNONE)==1)
  8.                                 print("平仓成功");
  9.                                  
  10.                           }
  11.             
  12.                       }
  13.                 }     
复制代码
如果有帮助,就支持一下我呗
举报

评论 使用道具

精彩评论29

pengjhl
CCC
| 发表于 2022-6-14 00:39:22 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

nanaliu
CC
| 发表于 2022-6-14 00:54:41 | 显示全部楼层
路过。。看看先。。。。
举报

点赞 评论 使用道具

banruo
DDD
| 发表于 2022-6-14 06:33:15 | 显示全部楼层
看看先。。。。
举报

点赞 评论 使用道具

彩虹桥
DDD
| 发表于 2022-6-14 10:33:46 | 显示全部楼层
确实牛逼
举报

点赞 评论 使用道具

ea12213
C
| 发表于 2022-6-14 11:11:30 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

6669
DDD
| 发表于 2022-6-14 11:45:49 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

紫竹青荷
CC
| 发表于 2022-6-14 11:51:47 | 显示全部楼层
路过了解一下
举报

点赞 评论 使用道具

qwe11
CCC
| 发表于 2022-6-14 12:34:34 | 显示全部楼层
路过了解一下,好
举报

点赞 评论 使用道具

amwwfndn
DDD
| 发表于 2022-6-14 14:36:41 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

jongjongyoshen
D
| 发表于 2022-6-14 14:37:40 | 显示全部楼层
路过。。看看先。。。
举报

点赞 评论 使用道具

bin
DD
| 发表于 2022-6-17 08:02:09 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

南岭彭于晏
未及格
| 发表于 2022-6-20 09:39:58 | 显示全部楼层
路过看看
举报

点赞 评论 使用道具

jrjr168
D
| 发表于 2022-6-28 00:12:55 | 显示全部楼层
不错,感谢分享
举报

点赞 评论 使用道具

skykey3
DDD
| 发表于 2022-6-28 14:33:44 | 显示全部楼层
能盈利就是好东西
举报

点赞 评论 使用道具

owen09099
未及格
| 发表于 2022-6-28 22:21:56 | 显示全部楼层
这个while的用法的确比if好
举报

点赞 评论 使用道具

jongjongyoshen
D
| 发表于 2022-6-28 22:53:29 | 显示全部楼层
看看。。了解下。。。
举报

点赞 评论 使用道具

mic
DD
| 发表于 2022-6-28 22:54:21 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

wangddtt
CC
| 发表于 2022-6-29 15:43:09 | 显示全部楼层
就是往前平仓和往后平仓的问题,我也碰过这个坑
举报

点赞 评论 使用道具

huxu8777
DD
| 发表于 2022-6-29 23:25:24 | 显示全部楼层
这个while的用法的确比if好
举报

点赞 评论 使用道具

12下一页
发新帖
EA交易
您需要登录后才可以评论 登录 | 立即注册

简体中文
繁體中文
English(英语)
日本語(日语)
Deutsch(德语)
Русский язык(俄语)
بالعربية(阿拉伯语)
Türkçe(土耳其语)
Português(葡萄牙语)
ภาษาไทย(泰国语)
한어(朝鲜语/韩语)
Français(法语)