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

 找回密码
 注册

QQ登录

只需一步,快速开始

手机短信登录

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

把持仓的单子按照价格范围选出来平仓,如何用EA实现

[复制链接]
发表于 2012-2-14 17:01:49 | 显示全部楼层 |阅读模式
一直有个思路,请老师帮写个EA,不知道能实现不?
把价格大于XX并且小于XX的持仓单子选出来现价平仓。
如eurusd: 把持仓中的单子,按照价格大于1.31000并且小于1.32000的单子选出来,以现价平仓。这个价格范围能自己去自定义输入选择。谢谢老师。

回复

使用道具 举报

发表于 2012-2-14 17:29:56 | 显示全部楼层
for(int i1=OrdersTotal()-1;i1>=0;i1--)
               {
                   if(OrderSelect(i1,SELECT_BY_POS,MODE_TRADES))
                     {
                       if(OrderSymbol()=="EURUSD")
                         {
                            if(OrderOpenPrice()>=1.31000 && OrderOpenPrice()<1.32000)
                              {
                                if(OrderType()==OP_BUY)
                                  {
                                    OrderClose(OrderTicket(),OrderLots(),Bid,300,Blue);//平buy
                                  }
                                if(OrderType()==OP_SELL)
                                  {
                                     OrderClose(OrderTicket(),OrderLots(),Ask,300,Blue);//平sell
                                  }
                              }
                         }
                      }
               }  
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-14 17:32:25 | 显示全部楼层
去测试一下,谢谢老师。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-14 21:23:34 | 显示全部楼层
范围平仓.rar (745 Bytes, 下载次数: 135)
回复 支持 反对

使用道具 举报

发表于 2012-2-15 10:24:53 | 显示全部楼层
#property copyright "Copyright ?2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
extern bool EA能否加个总开关=true;//EA能否加个总开关,设定TRUE就是开启这个EA,设定FALSE就是停止EA
extern string 范围平仓="范围平仓EA";
extern string 品种 = "EURUSD";
extern string 说明="价格在以下范围内工作";
extern double 价格下限范围 = 1.33040;
extern double 价格上限范围 = 1.33070;
extern bool 平买 = true;
extern bool 平卖 = true;
extern int 点数 = 300;

int init()
  {
   return(0);
  }
int deinit()
  {
   return(0);
  }
int start()
  {
      if(EA能否加个总开关==true)
        {
             for(int i1=OrdersTotal()-1;i1>=0;i1--)
                {
                    if(OrderSelect(i1,SELECT_BY_POS,MODE_TRADES))
                      {
                        if(OrderSymbol()==品种)
                          {
                            if(OrderOpenPrice()>=价格下限范围 && OrderOpenPrice()<价格上限范围)
                               {
                                 if (平买)    {
                                       if(OrderType()==OP_BUY)
                                       {
                                          OrderClose(OrderTicket(),OrderLots(),Bid,点数,Blue);//平buy
                                       }       }
                                 if (平卖)    {
                                 if(OrderType()==OP_SELL)
                                        {
                                           OrderClose(OrderTicket(),OrderLots(),Ask,点数,Blue);//平sell
                                       }       }                                   
                               }
                          }
                      }
                }   
        }
   return(0);
  }
范围平仓.mq4 (1.74 KB, 下载次数: 150)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-15 14:28:56 | 显示全部楼层
感谢老师非常热心,第一时间解决问题,百忙中批复修改,对此赞扬。
回复 支持 反对

使用道具 举报

发表于 2012-2-23 14:12:52 | 显示全部楼层
学习了,不错
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2019-11-15 18:53 , Processed in 0.101403 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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