比特币通信协议 - 币圈消息

比特币通信协议篇11、二、TURN简介。在典型的情况下,TURN客户端连接到内网中,并且通过一个或者多个NAT到 详细

求助老司机看看EA

  [复制链接]
418 15
geziyi 发表于 2016-6-19 14:32:30 | 只看该作者 |阅读模式 打印 上一主题 下一主题
花钱做了一个EA,有个问题一直解决不了,就是预警提示几次(一般是买开-买平-卖开-卖平一共4次)就不再预警了,求助神咖看看源码哪里不对?能帮助小弟解决的话,交易系统双手奉上!!本人QQ584826321,如果论坛上没在,请联系小弟
//+------------------------------------------------------------------+
//|                                                        ff_EA.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
input double line_up=0.0012;
input double line_down=-0.0012;
input int MA1=60;
input int BOLL_period=25;
input int BOLL_dev=2;
input int InpFastEMA=12;   // Fast EMA Period
input int InpSlowEMA=26;   // Slow EMA Period
input int InpSignalSMA=9;  // Signal SMA Period
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
bool mark1; bool mark2; bool mark3; bool mark4,markup,markdown;
double uper,downer;
datetime marktime;
bool markinit;
int OnInit()
  {
//---
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
      if(markinit==true && TimeHour(CurTime())>=6 )
         {
            OnInit();markinit=false;
          }
      if(markinit==false && TimeHour(CurTime())>=5 && TimeHour(CurTime()Ask && minabs1>=ww[i]-Ask)
               {
                  minabs1=ww[i]-Ask;
                  uper=ww[i];
               }
            if(ww[i][B]=Bid-ww[i])
               {
                  minabs2=Bid-ww[i];
                  downer=ww[i];
               }
         }
      if(tempup!=uper && tempup>0) markup=false;
      if(tempdown!=downer && tempdown>0) markdown=false;
      if(markup==false && Ask>uper-0.1*(uper-downer) && CurTime()-marktime>7200)
         {
            Alert("触上线: ", Ask, "  预警时间 :", TimeToString(CurTime()));
            SendMail("触上线","价格: "+ DoubleToString(Ask,Digits)+ "  预警时间 :"+TimeToString(CurTime()));
            markup=true;
            marktime=CurTime();
         }
      if(markdown==false && Bid7200)
         {
            Alert("触下线: ", Bid, "  预警时间 :", TimeToString(CurTime()));
            SendMail("触下线","价格: "+ DoubleToString(Bid,Digits)+ "  预警时间 :"+TimeToString(CurTime()));
            markdown=true;
            marktime=CurTime();
         }
      double macd1=iMACD(NULL,0,InpFastEMA,InpSlowEMA,InpSignalSMA,PRICE_CLOSE,MODE_MAIN,0);
      double boolline=iBands(NULL,0,BOLL_period,BOLL_dev,0,PRICE_CLOSE,MODE_SMA,0);
      //THV3 Coral
      //THV3 HA
      //THV3 Trix v4.01 Div
      double xxx=0,yyy=0;
      if(trix20) xxx=MathAbs(trix2-line_up);
      if(trix40) yyy=MathAbs(trix4-line_up);
      bool buytrend=false;
      if(ha_c>coral && ha_c>ma && trix1-1 && trix2-1 && xxx>0 && xxx0) buytrend=true;
      bool selltrend=false;
      if(ha_c-1 && trix4-1 && yyy>0 && yyycoral || ha_c>ma)) sellclose=true;   
      if(buyclose==true && mark3==false)
         {
            Alert("买平价格: ", Bid, "  预警时间 :", TimeToString(CurTime()));
            SendMail("买平价格: ","买平价格: "+ DoubleToString(Bid, Digits)+"  预警时间 :"+ TimeToString(CurTime()));
            mark3=true;
            buytrend=false;
         }
      if(sellclose==true && mark4==false)
         {
            Alert("卖平价格: ", Ask, "  预警时间 :", TimeToString(CurTime()));
            SendMail("卖平价格: ","卖平价格: "+ DoubleToString(Ask,Digits)+ "  预警时间 :"+TimeToString(CurTime()));
            mark4=true;
            selltrend=false;
         }
  }
//+------------------------------------------------------------------+
收藏
收藏0
转播
转播
分享
分享
分享
淘帖0

精彩评论15

跳转到指定楼层
沙发
jwzhangsir 发表于 2016-6-17 20:06:00 | 只看该作者

你这个再增加一个变量应该就可以了
//+------------------------------------------------------------------+
//|                                                        ff_EA.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
input double line_up=0.0012;
input double line_down=-0.0012;
input int MA1=60;
input int BOLL_period=25;
input int BOLL_dev=2;
input int InpFastEMA=12;   // Fast EMA Period
input int InpSlowEMA=26;   // Slow EMA Period
input int InpSignalSMA=9;  // Signal SMA Period
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
bool mark1; bool mark2; bool mark3; bool mark4,markup,markdown;
double uper,downer;
datetime marktime,marktime1;
bool markinit;
int OnInit()
  {
//---
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
      //iCustom()
      double coral=iCustom(NULL,0,"THV3 Coral",0,1);
      double ha_c=iCustom(NULL,0,"THV3 HA",3,1);
      double week=iCustom(NULL,0,"THV Visual_BT_Pivots V1.3",0,0);
      double ma=iMA(Symbol(),0,MA1,0,MODE_SMA,PRICE_CLOSE,1);
      double trix1=iCustom(NULL,0,"THV3 Trix v4.01 Div",0,1);
      double trix2=iCustom(NULL,0,"THV3 Trix v4.01 Div",2,1);
      double trix3=iCustom(NULL,0,"THV3 Trix v4.01 Div",1,1);
      double trix4=iCustom(NULL,0,"THV3 Trix v4.01 Div",3,1);
      double ww[7];
      ww[0]=ObjectGetDouble(0,"PivotLine",OBJPROP_PRICE1,0);
      ww[1]=ObjectGetDouble(0,"R1Line",OBJPROP_PRICE1,0);
      ww[2]=ObjectGetDouble(0,"R2Line",OBJPROP_PRICE1,0);
      ww[3]=ObjectGetDouble(0,"R3Line",OBJPROP_PRICE1,0);
      ww[4]=ObjectGetDouble(0,"S1Line",OBJPROP_PRICE1,0);
      ww[5]=ObjectGetDouble(0,"S2Line",OBJPROP_PRICE1,0);
      ww[6]=ObjectGetDouble(0,"S3Line",OBJPROP_PRICE1,0);
      double tempup=uper;
      double tempdown=downer;
      double minabs1=999;
      double minabs2=999;
      for(int i=0;iAsk && minabs1>=ww-Ask)
               {
                  minabs1=ww-Ask;
                  uper=ww;
               }
            if(ww[B]=Bid-ww)
               {
                  minabs2=Bid-ww;
                  downer=ww;
               }
         }
      if(tempup!=uper && tempup>0) markup=false;
      if(tempdown!=downer && tempdown>0) markdown=false;
      if(markup==false && Ask>uper-0.1*(uper-downer) && CurTime()-marktime>7200)
         {
            Alert("触上线: ", Ask, "  预警时间 :", TimeToString(CurTime()));
            SendMail("触上线","价格: "+ DoubleToString(Ask,Digits)+ "  预警时间 :"+TimeToString(CurTime()));
            markup=true;
            marktime=CurTime();
         }
      
      if(markdown==false && Bid7200)
         {
            Alert("触下线: ", Bid, "  预警时间 :", TimeToString(CurTime()));
            SendMail("触下线","价格: "+ DoubleToString(Bid,Digits)+ "  预警时间 :"+TimeToString(CurTime()));
            markdown=true;
            marktime=CurTime();
         }
      double macd1=iMACD(NULL,0,InpFastEMA,InpSlowEMA,InpSignalSMA,PRICE_CLOSE,MODE_MAIN,0);
      double boolline=iBands(NULL,0,BOLL_period,BOLL_dev,0,PRICE_CLOSE,MODE_SMA,0);
      //THV3 Coral
      //THV3 HA
      //THV3 Trix v4.01 Div
      double xxx=0,yyy=0;
      if(trix20) xxx=MathAbs(trix2-line_up);
      if(trix40) yyy=MathAbs(trix4-line_up);
      bool buytrend=false;
      if(ha_c>coral && ha_c>ma && trix1-1 && trix2-1 && xxx>0 && xxx0) buytrend=true;
      bool selltrend=false;
      if(ha_c-1 && trix4-1 && yyy>0 && yyy60)
         {
            Alert("买开价格: ", Ask, "  预警时间 :", TimeToString(CurTime()));
            SendMail("买开预警","买开价格: "+ DoubleToString(Ask,Digits)+ "  预警时间 :"+TimeToString(CurTime()));
            mark1=true;mark3=false;
            
marktime1=CurTime();
         }
      if(selltrend==true && mark2==false && CurTime()-
marktime1>60)
         {
            Alert("卖开价格: ", Bid, "  预警时间 :", TimeToString(CurTime()));
            SendMail("卖开价格","卖开价格: "+ DoubleToString(Bid,Digits)+ "  预警时间 :"+ TimeToString(CurTime()));
            mark2=true;mark4=false;
            
marktime1=CurTime();
         }
      if( (ha_cboolline || ha_c>coral || ha_c>ma)) sellclose=true;   
      if(buyclose==true && mark3==false && CurTime()-
marktime1>60)
         {
            Alert("买平价格: ", Bid, "  预警时间 :", TimeToString(CurTime()));
            SendMail("买平价格: ","买平价格: "+ DoubleToString(Bid, Digits)+"  预警时间 :"+ TimeToString(CurTime()));
            mark3=true;
            buytrend=false;   mark1=false;
            
marktime1=CurTime();
         }
      if(sellclose==true && mark4==false && CurTime()-
marktime1>60)
         {
            Alert("卖平价格: ", Ask, "  预警时间 :", TimeToString(CurTime()));
            SendMail("卖平价格: ","卖平价格: "+ DoubleToString(Ask,Digits)+ "  预警时间 :"+TimeToString(CurTime()));
            mark4=true;
            selltrend=false;   mark2=false;
            
marktime1=CurTime();
         }
      string trend1="";  string trend2="";
      if(buytrend==true)   trend1="买单开仓状态";
      if(selltrend==true)   trend2="卖单开仓状态";
   Comment(trend1+trend2+"\n"+
      DoubleToString(ha_c,Digits) + "  " +DoubleToStr(boolline,Digits));
  }
//+------------------------------------------------------------------+
应该就是因为紫色和蓝色的time都是一个time,所以影响到红色的阻力位预警了

板凳
knightfx 发表于 2016-6-29 00:36:00 | 只看该作者
粗看了下,似乎是标记位的问题
地板
 楼主| geziyi 发表于 2016-6-13 17:52:10 | 只看该作者

怎么修改啊?我不懂编程。。。
5#
knightfx 发表于 2016-6-13 18:13:00 | 只看该作者

花了钱的,至少应该能正常运行吧,搞成个半成品算哪门子事,找他服务到底
6#
 楼主| geziyi 发表于 2016-6-13 18:13:43 | 只看该作者

能运行,但不好用啊,做了两个月还做不好,完全没有做EA的水准,服务还差的很,我已经投诉了,钱也够呛能要回来。。
7#
jwzhangsir 发表于 2016-6-13 17:52:00 | 只看该作者
红色代码为添加内容,你加进去试试看。
/*************************************/
if(buytrend==true && mark1==false)
         {
            Alert("买开价格: ", Ask, "  预警时间 :", TimeToString(CurTime()));
            SendMail("买开预警","买开价格: "+ DoubleToString(Ask,Digits)+ "  预警时间 :"+TimeToString(CurTime()));
            mark1=true;mark3=false;
         }
      if(selltrend==true && mark2==false)
         {
            Alert("卖开价格: ", Bid, "  预警时间 :", TimeToString(CurTime()));
            SendMail("卖开价格","卖开价格: "+ DoubleToString(Bid,Digits)+ "  预警时间 :"+ TimeToString(CurTime()));
            mark2=true;mark4=false;
         }
      if( (ha_c[b]boolline || ha_c>coral || ha_c>ma)) sellclose=true;   
      if(buyclose==true && mark3==false)
         {
            Alert("买平价格: ", Bid, "  预警时间 :", TimeToString(CurTime()));
            SendMail("买平价格: ","买平价格: "+ DoubleToString(Bid, Digits)+"  预警时间 :"+ TimeToString(CurTime()));
            mark3=true;
            buytrend=false;            mark1==false;
         }
      if(sellclose==true && mark4==false)
         {
            Alert("卖平价格: ", Ask, "  预警时间 :", TimeToString(CurTime()));
            SendMail("卖平价格: ","卖平价格: "+ DoubleToString(Ask,Digits)+ "  预警时间 :"+TimeToString(CurTime()));
            mark4=true;
            selltrend=false;
            mark2==false;
         }
  }
//+------------------------------------------------------------------+
8#
jero 发表于 2016-6-13 20:14:00 | 只看该作者
回复有金币,挣钱是唯一
9#
cinalex 发表于 2016-6-13 20:14:24 | 只看该作者
服务到底
10#
 楼主| geziyi 发表于 2016-6-13 18:13:00 | 只看该作者

加了点击编写,出来这个
红色部分两个==是什么意思?改成一个=再编写就不提示错误了,为什么啊?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
阅读排行更多+

Powered by 顺水鱼MT4外汇EA网! X3.2© 2001-2017 顺水MT4外汇EA公司.( 陕ICP备17014341号-1