交易危机

 找回密码
 快捷注册(禁q号)

QQ登录

只需一步,快速开始

搜索
查看: 2288|回复: 13

[ea和相关说明] 求一个基本功能网格EA

[复制链接]

13

主题

2773

积分

2

精华

中级操盘手

金钱
2773 美元
权重
12
发表于 2017-11-12 17:31 | 显示全部楼层 |阅读模式
求一个基本功能网格EA。
不需要其他多余的过滤等功能,只需要最基本功能。
比如多单, 现价多,然后在现价上下若干点均匀都布上多单挂单,设置止盈止损。 某一单止盈后在原来的位置上重新布上多单挂单。
空单同理。
多空能分别或者同时运行。

我知道网格和马丁的问题及缺陷,我只是比较懒,想用它来干某些事情。
谢谢了。

1787

主题

6万

积分

157

精华

大型投行

金钱
65148 美元
权重
9
发表于 2017-11-12 19:08 | 显示全部楼层

13

主题

2773

积分

2

精华

中级操盘手

金钱
2773 美元
权重
12
 楼主| 发表于 2017-11-12 20:48 | 显示全部楼层
frlin2003 发表于 2017-11-12 19:08
http://my.fx3q.com/thread-19-1-1.html 小明。

多谢小明。
不过这个不是我想要的。 这个只是挂单而已。
我要的是能辅助交易的EA。
比如现价做多,那么同时在现价往上每隔20点挂buy stop,现价往下每隔20点挂buy limit单。上涨一个格子就止盈,止盈的同时将这个多单重新挂上。 比如A点的多单在A+20点止盈了,止盈的同时在A点重新挂buy limit(当然同时A+20的buy stop也成交了)。
做空同样的道理。
多谢了!

1787

主题

6万

积分

157

精华

大型投行

金钱
65148 美元
权重
9
发表于 2017-11-12 20:53 | 显示全部楼层
whyn403 发表于 2017-11-12 20:48
多谢小明。
不过这个不是我想要的。 这个只是挂单而已。
我要的是能辅助交易的EA。
简易版循环挂单v20130808.zip (1021 Bytes, 下载次数: 6)

  1. //+------------------------------------------------------------------+
  2. //|                                      简易版循环挂单v20130808.mq4 |
  3. //+------------------------------------------------------------------+
  4. double 第一单价格=0;
  5. int 第一单多空=-1;
  6. double 全体止盈线=0;
  7. //+------------------------------------------------------------------+
  8. //| expert initialization function                                   |
  9. //+------------------------------------------------------------------+
  10. int init()
  11.   {
  12. //----
  13.    
  14. //----
  15.    return(0);
  16.   }
  17. //+------------------------------------------------------------------+
  18. //| expert deinitialization function                                 |
  19. //+------------------------------------------------------------------+
  20. int deinit()
  21.   {
  22. //----
  23.    
  24. //----
  25.    return(0);
  26.   }
  27. //+------------------------------------------------------------------+
  28. //| expert start function                                            |
  29. //+------------------------------------------------------------------+
  30. int start()
  31.   {
  32. //----
  33.    
  34.    if(OrdersTotal()==1){   //当只有一张定单时执行
  35.       if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==true)//选中这唯一一张定单
  36.       {         
  37.          if(OrderType()==OP_BUY || OrderType()==OP_SELL)//当这张定单为多单或空单时执行(挂单则不执行)
  38.          {  
  39.             int ticket;
  40.             
  41.             if(OrderType()==OP_BUY){
  42.                第一单多空=OP_BUYSTOP;
  43.                第一单价格=OrderOpenPrice();

  44.                for (int i=1; i<=100; i++){
  45.                   ticket=OrderSend(Symbol(),第一单多空,0.02,第一单价格+i*0.0002,0,0,全体止盈线,"",0,CLR_NONE);
  46.                   if(ticket<0)Print("挂多: "+DoubleToStr(第一单价格+i*0.0002,4)+"失败");
  47.                   Sleep(3000);
  48.                }
  49.             }
  50.             else if(OrderType()==OP_SELL){
  51.                第一单多空=OP_SELLSTOP;
  52.                第一单价格=OrderOpenPrice();

  53.                for (int j=1; j<=100; j++){
  54.                   ticket=OrderSend(Symbol(),第一单多空,0.02,第一单价格-j*0.0002,0,0,全体止盈线,"",0,CLR_NONE);
  55.                   if(ticket<0)Print("挂空: "+DoubleToStr(第一单价格-j*0.0002,4)+"失败");
  56.                   Sleep(3000);
  57.                }
  58.             }            
  59.          }
  60.          
  61.       }
  62.       else
  63.       {
  64.          Print("OrderSelect返回的错误:",GetLastError());
  65.       }
  66.    }
  67.    else{
  68.       return(0);
  69.    }
  70.    
  71. /*
  72.    for (int i=1; i<=20; i++){
  73.       OrderSend(Symbol(),OP_SELLSTOP,0.02,第一单价格-i*0.0002,0,0,全体止盈线,"",0,CLR_NONE);
  74.    }
  75. */
  76. //----
  77.    return(0);
  78.   }
  79. //+------------------------------------------------------------------+
复制代码

1787

主题

6万

积分

157

精华

大型投行

金钱
65148 美元
权重
9
发表于 2017-11-12 20:55 | 显示全部楼层
whyn403 发表于 2017-11-12 20:48
多谢小明。
不过这个不是我想要的。 这个只是挂单而已。
我要的是能辅助交易的EA。

计算第一单手数.zip (1020 Bytes, 下载次数: 2)

1787

主题

6万

积分

157

精华

大型投行

金钱
65148 美元
权重
9
发表于 2017-11-12 20:56 | 显示全部楼层
拿来就用,整个互联网中恐难找到,
可能需要适当加工,小明。

1787

主题

6万

积分

157

精华

大型投行

金钱
65148 美元
权重
9
发表于 2017-11-12 20:56 | 显示全部楼层

  1. double 第一单价格=0; //等待程序自动索取第一张定单的价格
  2. int 第一单多空=-1;   //等待程序自动索取第一张定单的类型
  3. double 全体止盈线=0;//手动自行设置
  4. double 全体止损线=0;//未使用/爆仓即止损
  5. int 挂单数量=20;
  6. double 挂单头寸=2;
  7. int init()
  8.   {
  9.    return(0);
  10.   }
  11. int deinit()
  12.   {
  13.    return(0);
  14.   }
  15. int start()
  16.   {
  17.    if(OrdersTotal()==1){   //当有且只有一张定单时执行
  18.       if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==true)//选中这唯一一张定单
  19.       {         
  20.          if(OrderType()==OP_BUY || OrderType()==OP_SELL)//当这张定单为多单或空单时执行(挂单则不执行)
  21.          {  
  22.             int ticket;
  23.             
  24.             if(OrderType()==OP_BUY){         //如果这一单是多单则......
  25.                第一单多空=OP_BUYSTOP;        //则挂buystop单
  26.                第一单价格=OrderOpenPrice();  //这一单的开仓价

  27.                for (int i=1; i<=挂单数量; i++){
  28.                   ticket=OrderSend(Symbol(),第一单多空,挂单头寸,第一单价格+i*0.0002,0,0,全体止盈线,"",0,CLR_NONE);    //0.0002为定单之间间隔   //CLR_NONE表示不在挂单时生成小箭头
  29.                   if(ticket<0)Print("挂多: "+DoubleToStr(第一单价格+i*0.0002,4)+"失败");     //ticket<0表示挂单失败
  30.                   Sleep(3000);                                                               //挂单间隔3秒=3000毫秒/挂单间隔太小平台有时报错
  31.                }
  32.             }
  33.             else if(OrderType()==OP_SELL){   //如果这一单是空单则......
  34.                第一单多空=OP_SELLSTOP;       //则挂sellstop单
  35.                第一单价格=OrderOpenPrice();

  36.                for (int j=1; j<=挂单数量; j++){
  37.                   ticket=OrderSend(Symbol(),第一单多空,挂单头寸,第一单价格-j*0.0002,0,0,全体止盈线,"",0,CLR_NONE);
  38.                   if(ticket<0)Print("挂空: "+DoubleToStr(第一单价格-j*0.0002,4)+"失败");
  39.                   Sleep(3000);
  40.                }
  41.             }            
  42.          }
  43.          
  44.       }
  45.       else
  46.       {
  47.          Print("OrderSelect返回的错误:",GetLastError());
  48.       }
  49.    }
  50.    else{
  51.       return(0);
  52.    }
  53.    return(0);
  54.   }
复制代码

1787

主题

6万

积分

157

精华

大型投行

金钱
65148 美元
权重
9
发表于 2017-11-12 21:05 | 显示全部楼层
三段代码的大意是,
自动算头寸;
检测头寸是多还是空。如果头寸挂单成交,那么瞬间网格化挂单。的一种半自动化思路。

13

主题

2773

积分

2

精华

中级操盘手

金钱
2773 美元
权重
12
 楼主| 发表于 2017-11-12 21:07 | 显示全部楼层

小明这编程功底杠杆的,容我好好学习下再看。
多谢了!!!!

1787

主题

6万

积分

157

精华

大型投行

金钱
65148 美元
权重
9
发表于 2017-11-12 21:07 | 显示全部楼层
whyn403 发表于 2017-11-12 21:07
小明这编程功底杠杆的,容我好好学习下再看。
多谢了!!!!


原作者:平大爷。

13

主题

2773

积分

2

精华

中级操盘手

金钱
2773 美元
权重
12
 楼主| 发表于 2017-11-12 21:27 | 显示全部楼层
frlin2003 发表于 2017-11-12 21:07
原作者:平大爷。

所以要将3段代码和在一个里面?
感谢!

1787

主题

6万

积分

157

精华

大型投行

金钱
65148 美元
权重
9
发表于 2017-11-12 21:30 | 显示全部楼层
whyn403 发表于 2017-11-12 21:27
所以要将3段代码和在一个里面?
感谢!

每个当时都可以独立使用。其中 1 3 是相似的,中间的是辅助品。

13

主题

2773

积分

2

精华

中级操盘手

金钱
2773 美元
权重
12
 楼主| 发表于 2017-11-12 21:41 | 显示全部楼层
frlin2003 发表于 2017-11-12 21:30
每个当时都可以独立使用。其中 1 3 是相似的,中间的是辅助品。

好的,多谢!!

2

主题

358

积分

0

精华

见习操盘手

金钱
358 美元
权重
0
发表于 2020-4-1 09:13 | 显示全部楼层
全面,功能实现没问题!
您需要登录后才可以回帖 登录 | 快捷注册(禁q号)

本版积分规则

QQ|黄金吧|黄金论坛|手机版|指标下载|非农|目录|交易危机

版权所有: ©2014-2021 fx3q.com Powered by Discuz! X3
浙ICP备: ICP14039028

浙公网安备 33011802001420号

风险提示:杠杆风险高,交易要谨慎 声明:坛友发言和回复均为个人观点,不代表论坛立场。
若有侵权请联系fx3q@qq.com删除

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