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

【网格马丁EA(黄金)】根据几个EA进行参考修改的,供大家研究学习。全部源码,参数备注  

| 发表于 2021-6-3 17:03:32 | 显示全部楼层 |复制链接
最后由 dark163 于 2021-6-4 12:03 编辑

11.png 12.png

本EA特点思路是利用布林带做突破,请多多测试研究,提出改进,勿用于实盘。


部分代码贴出:
#property copyright "Copyright © 2021, wes"
#property link      ""
#property version   "1.00"
#property description "wes grider EA V1.0。不要管过去发生了什么,你不是你的过去,你是你从过去所汲取的资源与能力。而这才是所有改变的根基。"
#property strict

input bool     IsEnableDeal = true;                //是否允许交易
input double   Lot=0.01;                           //操作手数
input int      gridStep=90;                         //网格步长点数
input double   totalEquityLess = 200;                //绝对止损总额(0禁用)
input double   totalTakeProfit = 100;              //每1手希望的获利
input double   tpPoint = 1000;                     //带止盈时希望获利点数
input double   slPoint = 500;                      //带止损时希望获利点数
input ENUM_TIMEFRAMES PERIOD = PERIOD_M1;          //部署网格用布林带的时间帧
input int      bandsMidMin = 50;                   //网格用布林带中轨部署最小距离
input int      bandsMax = 500;                     //网格用布林带窄带识别最大值
input int      maxLimits=10;                        //在一个方向上的限价订单数量
input int      checkProfitTime = 3000;             //检查利润毫秒数

bool     isLog = false;                            //是否显示日志
bool     LOTSKG   = false;                         //复利开关

string         sysName = "WES-Grid";
string         prefix_graph="grider_";             //图像对象前缀
extern int     EA_Magic = 32352;                   //魔术数
long           MaxSPREAD  =  30;                   //最大挂单点差
double         ST = 0;                             //修正后步长
double         allLots, buyLots, sellLots;         //总手数,多单空单手数
double         allProfit, buyProfit, sellProfit;   //总盈利,单空单盈利
int            buyNum, sellNum, allNum;            //订单数量
int            buyStopNum, selStoplNum;            //挂单数量
double         lastLot, lastType;                  //最后单手数,最后单类型
double         lastOrderPrice;                     //最后订单价格
MqlTick        lastPrice;                          //最后报价
double         currBuyHigh = 0;                    //当前买入订单最高价
double         currSellLow = 0;                    //当前卖出订单最低价


int OnInit(){
   ST=gridStep;
   if(_Digits==5 || _Digits==3){ // 修正网格步长
      ST *=10;
      SymbolInfoDouble(_Symbol, SYMBOL_POINT);
   }
   ST *= SymbolInfoDouble(_Symbol, SYMBOL_POINT);//修正价格      

   ObjectsDeleteAll(0, prefix_graph);
   //EventSetTimer(60);
   EventSetMillisecondTimer(checkProfitTime);
   return(INIT_SUCCEEDED);
}
void OnTimer(){
   Print("##################");
}

void OnTick(){   

   RefreshRates();
   SymbolInfoTick(_Symbol, lastPrice);//获取最新报价
   CountAllTrades();
   checkLost();
   checkTakeProfit();//检查利润
   displayInfo();
   if(!IsEnableDeal) return;//检查是否启用   
   if(!pdxIsNewBar()) return;//检查是否新分时柱   

   if(!existLimits()) setOrders();
}

bool existLimits() {//检测是否有订单及挂单
   if(buyNum==0 && sellNum==0 && buyStopNum==0 && selStoplNum==0) return false;
   return true;
}  
bool pdxIsNewBar(){ // 检测是否柱开始的第一个分时,为了让EA每五分钟检查一次我们的状况,它应该在M5时间段启动
   static datetime Old_Time;
   datetime New_Time[1];
   if(CopyTime(_Symbol,_Period,0,1,New_Time)>0){
      if(Old_Time!=New_Time[0]){
         Old_Time=New_Time[0];
         return true;
      }
   }
   return false;
}
void checkLost(){ ///检查绝对止损
   double curProfit=0;
   double profit=0;
   int total  = OrdersTotal();  
   for (int ti = total-1 ; ti >= 0 ; ti--){   
      bool sel = OrderSelect(ti,SELECT_BY_POS ,MODE_TRADES);      
      if(OrderSymbol()!=_Symbol) continue;
      if(OrderMagicNumber()!=EA_Magic) continue;
      profit += OrderProfit()+OrderCommission()+OrderSwap();
   }   
   //if(buyNum+sellNum >= (int)maxLimits*2 ){//如果所有网格都已经进入订单,接受一定止损
   //   closeAllPos();
   //}
   if(profit< -MathAbs(totalEquityLess) && totalEquityLess!=0){//检查绝对止损(绝对止损不为0时为启用)
      CloseAllOrders();
   }
}

void checkTakeProfit(){ //离场逻辑
   double curProfit=0;
   double profit=0;
   int total  = OrdersTotal();  
   for (int ti = total-1 ; ti >= 0 ; ti--){   
      bool sel = OrderSelect(ti,SELECT_BY_POS ,MODE_TRADES);      
      if(OrderSymbol()!=_Symbol) continue;
      if(OrderMagicNumber()!=EA_Magic) continue;
      profit += OrderProfit()+OrderCommission()+OrderSwap();
   }

   // 计算获取逻辑
   double takeval; // 希望获取利润, 已经交易手数差值

   takeval = MathAbs(buyLots-sellLots) * totalTakeProfit;

   if(isLog) Print("### take:",takeval, ", buyLots:",DoubleToString(buyLots,2), ", sellLots:",DoubleToString(sellLots,2),
   ", buyNum:",buyNum, ", sellNum:",sellNum,", H:",currBuyHigh,",L:",currSellLow, ",bid:",lastPrice.bid);
   if(isLog) Print("#################  profit:", profit);

   if(profit> takeval){// && takeProfit>0){ // 达到获利则关闭
      CloseAllOrders();
   }
}

wes-grid.mq4

49.16 KB, 下载次数: 8, 下载积分: 活跃度 -5 售价: 2 H币  [记录]  [下载]

源码

wes-grid.ex4

34.57 KB, 下载次数: 3, 下载积分: 活跃度 -5 售价: 1 H币  [记录]  [购买]

程序

评分
  • 1
  • 2
  • 3
  • 4
  • 5
平均分:NAN    参与人数:0    我的评分:未评 下载时遇到问题?
举报

评论 使用道具

精彩评论24

jom1436
DDD
| 发表于 2021-6-3 17:16:20 | 显示全部楼层
谢谢分享  要是贴上图说明开仓逻辑就更好了
举报

点赞 评论 使用道具

addat
DD
| 发表于 2021-6-3 17:23:43 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

独孤求败
DD
| 发表于 2021-6-3 17:35:36 | 显示全部楼层
感恩分享, 有MT5的吗?
举报

点赞 评论 使用道具

时光微醺
DD
| 发表于 2021-6-3 17:39:19 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

dark163
DD
 楼主 | 发表于 2021-6-3 17:39:20 | 显示全部楼层
独孤求败 发表于 2021-6-3 17:35
感恩分享, 有MT5的吗?

MT5版本被我不小心删除了,本来我是移植了一份的。
举报

点赞 1 评论 使用道具

ffj781212
CC
| 发表于 2021-6-3 18:11:28 | 显示全部楼层
突破上轨做多是吗
举报

点赞 评论 使用道具

ffj781212
CC
| 发表于 2021-6-3 18:11:50 | 显示全部楼层
是顺势还是逆势开单
举报

点赞 评论 使用道具

732474127
D
| 发表于 2021-6-3 19:05:25 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

独孤求败
DD
| 发表于 2021-6-3 20:06:25 | 显示全部楼层
dark163 发表于 2021-6-3 17:39
MT5版本被我不小心删除了,本来我是移植了一份的。

没事
举报

点赞 评论 使用道具

kbit0928
D
| 发表于 2021-6-3 23:13:05 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

keliya511
D
| 发表于 2021-6-4 16:58:22 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

wf_1013
DD
| 发表于 2021-6-7 09:58:30 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

ifernicer
D
| 发表于 2021-6-16 20:48:47 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

Alaxander_Ng
DD
| 发表于 2021-6-26 22:38:22 | 显示全部楼层
不搓 值得一试
举报

点赞 评论 使用道具

horsequiet
DD
| 发表于 2021-6-28 17:00:21 | 显示全部楼层
jom1436 发表于 2021-6-3 17:16
谢谢分享  要是贴上图说明开仓逻辑就更好了

你能理解他说的吗?
举报

点赞 评论 使用道具

zm0688
未及格
| 发表于 2021-8-20 09:06:14 | 显示全部楼层
感恩分享, 有MT5的吗?
举报

点赞 评论 使用道具

whyn403
D
| 发表于 2021-11-12 21:33:56 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

Moel2016
DD
| 发表于 2021-12-5 21:38:36 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

温暖的小心心
DD
| 发表于 2021-12-11 08:37:51 | 显示全部楼层
谢谢分享  要是贴上图说明开仓逻辑就更好了
举报

点赞 评论 使用道具

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

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