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

为什么下不了单?

| 发表于 2024-8-21 15:22:44 | 显示全部楼层 |复制链接
   Refresh();

   //获取指标中的数据--
   double k[],d[];//数组,存放指标数据
   double sl_long[],sl_short[];

   ArraySetAsSeries(k, true);//倒序排列,形成时间序列排序
   ArraySetAsSeries(d, true);
   ArraySetAsSeries(sl_long, true);
   ArraySetAsSeries(sl_short, true);

   GetArray(handle_kdj, 5, 0, 3, k);//读取指标数据   
   GetArray(handle_kdj, 4, 0, 3, d);
   GetArray(handle_kdj, 0, 0, 3, sl_long);//读取指标数据   
   GetArray(handle_kdj, 4, 0, 3, sl_short);   



   //下单条件
   bool GoLong=k[0]<80&&k[0]>d[0]&&k[1]<d[1];   
   bool GoShort=k[0]>20&&k[0]<d[0]&&k[1]>d[1];

   // 挂单取消条件

   if(isNewBar()&&m_positon.PositionType() != POSITION_TYPE_BUY)
   {
      cancle_long_pos = m_positon.PositionType() != POSITION_TYPE_BUY;
   }
   if(isNewBar()&&m_positon.PositionType() != POSITION_TYPE_SELL)
   {
      cancle_short_pos = m_positon.PositionType() != POSITION_TYPE_SELL;
   }   
   bool CancleLong=Low(0)>sl_long[0]&&Low(1)<sl_long[1]&&cancle_long_pos;
   bool CancleShort=Low(0)>sl_short[0]&&Low(1)<sl_short[1]&&cancle_short_pos;

   // 下单
   if(GoLong)
   {  m_trade.Buy(inp_lot);
      //OpenBuy(inp_lot,0,m_symbol.Ask()+TakeProfitLevel * m_symbol.Point());
   }
   if(GoShort)
   {
      m_trade.Sell(inp_lot);
      //OpenSell(inp_lot,0,m_symbol.Bid()-TakeProfitLevel * m_symbol.Point());
   }

   if(m_positon.Volume()!=0) ModifyOrder(sl_long[0], sl_short[0]);

举报

评论 使用道具

精彩评论1

liguangxing2007
DDD
| 发表于 2024-8-22 09:28:43 | 显示全部楼层
应该哪里写错了
举报

点赞 评论 使用道具

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

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