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

请教:如何实现平仓后多久再进行开仓

| 发表于 2024-1-11 20:22:20 | 显示全部楼层 |复制链接
如果当前时间距离最晚平仓订单的时间超过一定值,比如1小时,我们就可以开仓,源码如何实现,请教大佬不吝指教!非常感谢
举报

评论 使用道具

精彩评论7

tanwentian
D
| 发表于 2024-1-11 21:08:48 | 显示全部楼层
查询历史订单,根据closetime来判断
举报

点赞 评论 使用道具

zhoujun
DD
 楼主 | 发表于 2024-1-12 14:11:36 | 显示全部楼层
我想在EA中加入平仓后1小时再开仓,如何实现
举报

点赞 评论 使用道具

zhoujun
DD
 楼主 | 发表于 2024-1-12 14:13:23 | 显示全部楼层
tanwentian 发表于 2024-1-11 21:08
查询历史订单,根据closetime来判断

源码发一下可以吗,比如平仓后1小时再开仓
举报

点赞 评论 使用道具

aliang9887
C
| 发表于 2024-1-13 21:14:15 | 显示全部楼层
用系统时间减去你的平仓时间,值大于3600秒就行
if((TimeCurrent()-CloseTime)>3600)

  1.     datetime CloseTime;
  2.     if(OrdersHistoryTotal()>0)//历史数据大于0才进行历史数据扫描
  3.       {
  4.          for(int i=OrdersHistoryTotal()-1;i>OrdersHistoryTotal()-2;i--)//检查历史当中的最近平掉的那张单子
  5.            {
  6.              if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)//选中历史的订单
  7.                {
  8.                   CloseTime=OrderCloseTime();//获取历史当中的最近平掉的那张单子的平仓时间
  9.                }
  10.            }
  11.       }
  12.     if((TimeCurrent()-CloseTime)>3600)  //用系统时间减去平仓时间,如果大于3600秒再执行你的开仓条件
  13.       {
  14.       //开仓条件;
  15.       }
复制代码


这里有个前提,就是在你的账户历史要选择好时段,不然OrdersHistoryTotal()这个函数查不出来你最近平的单子
360截图20240113211303022.jpg

以上应该说得够清楚了
举报

点赞 评论 使用道具

3309945875
DD
| 发表于 2024-1-13 22:54:38 | 显示全部楼层
够清楚够清楚
举报

点赞 评论 使用道具

求稳
DD
| 发表于 2024-1-14 18:19:54 | 显示全部楼层
讲的真详细
举报

点赞 评论 使用道具

ea12213
C
| 发表于 2024-1-29 19:49:01 | 显示全部楼层
会编程就是好
举报

点赞 评论 使用道具

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

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