怎么样可以限制每天的下单总量?

 

MT4怎么限制每天的下单总量  EA还是安全点好

通过MQL5社区和服务探索MetaTrader 5的新机遇
通过MQL5社区和服务探索MetaTrader 5的新机遇
  • www.mql5.com
MQL5:MetaTrader 5客户端内置的交易策略语言。语言允许编写您自己的自动交易系统,技术指标,脚本和函数程序库
 
建议控制当前K线上的持仓个数。
 
发出开仓指令后,检查是否仓位增加,然后再做其他,搞成闭环系统。平仓亦同。
 
Ziheng Zhuang #:
建议控制当前K线上的持仓个数。
xy45019980:

        各位大佬:本人是一个新手,挂EA3个多月一直没有出现什么问题,一直在VPS上跑着!不知道什么原因,昨天突然出现了大量的开仓平仓,直接把肉一点点割掉掉,一夜回到解放前啊!唉,实在是没有办法了,跪求各位大佬帮帮忙,其他的单子都是好好的,而且都是用同个EA,同个代码?

就是这个磅日突然出现了问题。。。。。?????




以下是我的代码:

#property copyright "Copyright 2021, MetaQuotes Software Corp."

#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
double 下单量;
string 货币对;
double 最大下单量=100;
double 止损点数,止损价格,止损价格1;
double 止盈点数,止盈价格,止盈价格1;
int MAGIC=20210513;int ticket;int 滑点;
bool 启动警报=false;
double BUYSTOP点数距离=500;
double BUYLIMIT点数距离=500;
double SELLSTOP点数距离=500;
double SELLLIMIT点数距离=500;
double BUYSTOP线条=2,BUYLIMIT线条=1;
double SELLSTOP线条=1,SELLLIMIT线条=1;


double 历史总下单量=0,历史总盈亏=0,历史下单量=0,历史盈亏=0;
double mbbo=0,mbbprofito=0,msso=0,mssprofito=0,bb=0,bbprofit=0;
double ss=0,ssprofit=0,bbl=0,bbprofitl=0,ssl=0,ssprofitl=0;
double ossa=0,osla=0,obsa=0,obla=0,Twbs=0,Twin=0,Tlbs=0,Tloss=0;
double SLOTS=0,mbb=0,mbbprofit=0,BLOTS=0,mss=0,mssprofit=0,moss=0;
double mosl=0,mobs=0,mobl=0,profitmm=0,TOTALLOTS=0,TLOTSS=0,s=0;
double sprofit=0,LastPricebuy=0,LastPricesell=0,TLOTSB=0,b=0;
double bprofit=0,TLOTS=0,oss=0,osl=0,obs=0,obl=0,SLASTLOTS=0,BLASTLOTS=0;
datetime 一根K线交易一单=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   EventSetTimer(60);
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();
   全部删除物件();
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   货币对=Symbol();
    户口检查管理();
    
    double kw0=iStochastic(货币对,PERIOD_W1,9,2,3,MODE_SMA,1,MODE_MAIN,0);
    double kw1=iStochastic(货币对,PERIOD_W1,9,2,3,MODE_SMA,1,MODE_MAIN,1);
    double dw0=iStochastic(货币对,PERIOD_W1,9,2,3,MODE_SMA,1,MODE_SIGNAL,0);
    double dw1=iStochastic(货币对,PERIOD_W1,9,2,3,MODE_SMA,1,MODE_SIGNAL,1);
    bool 金头=false;
    bool 金叉=false;
    bool 死头=false;
    bool 死叉=false;
    
    double kd0=iStochastic(货币对,PERIOD_D1,9,2,3,MODE_SMA,1,MODE_MAIN,0);
    double kd1=iStochastic(货币对,PERIOD_D1,9,2,3,MODE_SMA,1,MODE_MAIN,1);
    double dd0=iStochastic(货币对,PERIOD_D1,9,2,3,MODE_SMA,1,MODE_SIGNAL,0);
    double dd1=iStochastic(货币对,PERIOD_D1,9,2,3,MODE_SMA,1,MODE_SIGNAL,1);
    bool 多头=false;
    bool 空头=false;
    
    if(kw0>dw0){金头=true;}
    if(kw0-dw0>3){金叉=true;}
    if(kw0<dw0){死头=true;}
    if(kw0-dw0<3){死叉=true;}
    if(kd0>dd0){多头=true;}
    if(kd0<dd0){空头=true;}
    
    if(金叉&&s!=0){关闭卖下();}
    
    if(多头&&金头&&b==0){下单量=0.1;买上();}
    
    if(死叉&&b!=0){关闭买上();}
    
    if(空头&&死头&&s==0){下单量=0.1;卖下();}
    
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
    OnTick();
   
  }
//+------------------------------------------------------------------+

强烈建议不要使用第0根新柱作为交叉的依据!因为第0根柱还没有固定成型,交叉信号会随着价格上下波动而不断的形成金叉和死叉,这样EA就会在第0根新柱里不停的开仓和平仓!另外,还要添加每根柱子只判断交易一次,如果一次不成功,也只能限定再重试几次,宁可错过也不可做错,而不是不停的给服务器发送命令!一定要确保EA在没有被手动干预之前也不会连续出现错误而造成重大损失,这关乎你的真金白银,祝你好运!

 
你的ea要有一个检查现有仓位的系统
 
xy45019980:

MT4怎么限制每天的下单总量  EA还是安全点好

最多下多少单子,难道不是自己规则决定的吗? 设计EA时候就应该规定好

原因: