向柒侠请教CLOSEBUY。

楼主  收藏   举报   帖子创建时间:  2019-05-05 10:23 回复:0 关注量:890
这些日子拜读了您老的贴子后,不懂一点编程的我若有所悟,自己用您的模版试着表达了一下我的意思,意思很简单,只用三条均线,
  MA1=5,MA2=10,MA3=30
  当MA1上穿MA2,且MA2在MA3之上时做多。
  当MA2下穿MA2,且MA2在MA3之下时做空。
  
  当MA1上穿MA2时先平掉多仓,
  当MA2下穿MA2先平掉空仓。
  
  可是发现怎么也调用不了CloseBuy和CloseSell,
  整个代码如下,望老师指点。。
  
  
  //+------------------------------------------------------------------+
  //|                                                         kkkk.mq4 |
  //|                                                         mengtong |
  //|                                    http://www.hahahahahahaha.net |
  //+------------------------------------------------------------------+
  #property copyright "mengtong"
  #property link      "http://www.hahahahahahaha.net"
  
  extern double ma1=5,ma2=10,ma3=30;
  double ma1now,ma1now2,ma2now,ma2now2,ma3now,ma3now2,ma1bnow,ma2bnow,ma3bnow;
  ////////////////////////
  extern string _资金管理_ ="任选一个";
  extern bool zijiguanli1= true;//false true、、
  extern bool zijiguanli2= false;//false true、、
  extern bool zijiguanli3= false;//false true、、
  ///////////////////////////////////
  extern double cheng=1;
  int cnt;
  int i;
  string text="";
  double TrailingStop=0;
  double aa=0;
  int s=0,b=0;
  double CurrentBasket=0;
  double LotMM=0;
  double lotstart=0;
  double LotsMax=100;
  extern double lotab=0.1;
  double lots=0;
  double TP=0,TPP=0,SL=0,SLL=0;
  int slip=6;
  ///////////////////////////////////////
  double mode=0;
  double LastOrderType;
  double LastPricesell;
  double LastPricebuy;
  double LastPrice;
  double OpenSells;
  double OpenSellStops;
  double OpenBuys;
  double OpenBuyStops;
  //+------------------------------------------------------------------+
  //| expert initialization function |
  //+------------------------------------------------------------------+
  int init()
  {
  //----
  
  //----
  return(0);
  }
  //+------------------------------------------------------------------+
  //| expert deinitialization function |
  //+------------------------------------------------------------------+
  int deinit()
  {
  //----
  
  //----
  return(0);
  }
  
  //+------------------------------------------------------------------+
  //| expert start function |
  //+------------------------------------------------------------------+
  int start()
  {
  //----
  jiancha();//检查判断
  MoneyManagement();//资金管理
  ma();//指标管理
  zhangchang();//战场管理
  TrailingStop();
  CloseBuy();
  CloseSell();
  xianshi();
  //----
  return(0);
  }
  //+------------------------------------------------------------------+
  void jiancha()
  {
  
  b=0;s=0;
  for (int cnt=0; cntma3now
  && ma1now20) { SLL=Ask-SL*Point; }
  OrderSend(Symbol(),OP_BUY,LotMM,Ask,slip,SLL,TPP,"M"+Period()+"",0,0,Violet);
  
  return(0); }
  //+------------------------------------------------------------------+
  void sellme(){
  if (TP==0) { TPP=0; } if(TP>0) { TPP=Bid-(TP*Point); }
  if (SL==0) { SLL=0; } if(SL>0) { SLL=Bid+(SL*Point); }
  OrderSend(Symbol(),OP_SELL,LotMM,Bid,2,SLL,TPP,"M"+Period()+"",0,0,GreenYellow);
  return(0); }
  //+------------------------------------------------------------------+
  
  //+------------------------------------------------------------------+
  
  void TrailingStop()
  {
  for(cnt=OrdersTotal();cnt>=0;cnt--)
  {
  OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
  if (OrderSymbol() == Symbol() )//&& OrderMagicNumber()==MAGICMA)
  {
  if (OrderType()==OP_SELL)
  {
  if(TrailingStop>0)
  {
  if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
  {
  if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
  {
  OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
  return(0);
  }
  }
  }
  }
  
  if (OrderType()==OP_BUY)
  {
  if(TrailingStop>0)
  {
  if(Bid-OrderOpenPrice()>Point*TrailingStop)
  {
  if(OrderStopLoss() 0 )
  {
  for(i=OrdersTotal()-1;i 0 )
  {
  for(i=OrdersTotal()-1;i
打赏