[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 571

 
Frostr:
file://localhost/C:/Users/mv/Desktop/StrategyTester.htm
不错的链接。只是一个看客 :)
 
rigonich:

我不明白什么样的数据?我只是把EA的代码。编译并运行它,只是给它一个名字。我没有测试,我只是按照结果重新编译,然后把它放出来。如果它不能正常工作,请告诉我,我将努力找出原因。



万幸的是,我得到了它......在网上搜索了编译)))原来是编译。

我已经开始测试了,它一次就能打开500-1000个位置

这里有一个测试文件的链接://localhost/C:/Users/mv/Desktop/StrategyTester.htm - 它打开了太多的位置

[Deleted]  
Frostr:



我明白了......在网上搜索了一下Compile的意思)))原来是Compile。

我已经开始用编译器测试,它一次就能打开500-1000个位置


好吧,让我们看看。
 

请你告诉我,目前有多少人物在秩序评论中是无法触及的?

Z.I. 如果它是重要的,它是在Alpari上。

[Deleted]  
Frostr:



我想明白了......我在网上搜索了 "编译"))原来是编译。

我已经开始测试了,它一次就能打开500-1000个位置

这里有一个测试的链接:file://localhost/C:/Users/mv/Desktop/StrategyTester.htm它打开了很多的位置


这是代码,按照你的要求工作。在任何收盘时,它都会打开两个相反的位置。
//+------------------------------------------------------------------+
//|                                                  Trudnyaga_1.mq4 |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
//+------------------------------------------------------------------+
extern int    stoploss   = 0,          // уровень выставления SL, если 0, то SL не выставляется
              takeprofit = 0,          // уровень выставления TP, если 0, то TP не выставляется
              Magic      = 123456;     // уникальный номер ордера
extern double Lot        = 0.1;        // объем ордера
extern int    slippage   = 3;          // Максимально допустимое отклонение цены для рыночных ордеров
extern int    MaxOrders  = 3;          // Максимально допустимое количество ордеров BUY или SELL
extern int    CycleCount = 5;          // количество попыток открытия ордера
//+------------------------------------------------------------------+
double SL,TP;
int    Total,LastTotal;
string ord;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
   {
   return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
   {
   return(0);
}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
   {
   Total=fTotal();
   if((Total==LastTotal&&LastTotal!=0)||Total>=MaxOrders)return(0);
   if(takeprofit!=0)TP=NormalizeDouble(Ask+takeprofit*Point,Digits);else TP=0;
   if(stoploss!=0)SL=NormalizeDouble(Ask-stoploss*Point,Digits);else SL=0;
   OPENORDER("Buy");
   if(takeprofit!=0)TP=NormalizeDouble(Bid-takeprofit*Point,Digits);else TP=0;
   if(stoploss!=0)SL=NormalizeDouble(Bid+stoploss*Point,Digits);else SL=0;
   OPENORDER("Sell");
   LastTotal=fTotal();
   return(0);
}
//+------------------------------------------------------------------+
void OPENORDER(string ord)
   {
   int error,err;
   while(true)
      { 
      error=-1;
      if(ord=="Buy" )error=OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,"BUY",Magic,0,Blue);
      if(ord=="Sell")error=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),slippage,SL,TP,"SELL",Magic,0,Red);
      if(error==-1) //неудачная покупка OK
         { 
         ShowERROR();err++;Sleep(2000);RefreshRates();
      }
      if (err>=CycleCount)break;
   }
   return;
} 
//+------------------------------------------------------------------+
void ShowERROR()
   {
   int err=GetLastError();
   switch(err)
      { 
      case 1   : return;
      case 2   : Alert("Нет связи с торговым сервером ",Symbol());return;
      case 3   : Alert("Error неправильные параметры ",Symbol());return;
      case 130 : Alert("Error близкие стопы Ticket ",Symbol());return;
      case 134 : Alert("Недостаточно денег ",Symbol());return;
      case 146 : Alert("Error Подсистема торговли занята ",Symbol());return;
      case 129 : Alert("Error Неправильная цена ",Symbol());return;
      case 131 : Alert("Error Неправильный объем ",Symbol());return;
      case 4200: Alert("Error Объект уже существует ",Symbol());return;
      default  : Alert("Error " ,err," ",Symbol());return;
   }
}
//+------------------------------------------------------------------+
int fTotal()
   {
   int Tot=OrdersTotal();
   int BuyCount=0,SellCount=0;
   if(Tot>0)
      {
      for(int i=0;i<OrdersTotal();i++)
         {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
            {
            if(OrderSymbol()==Symbol()&&(Magic==0||OrderMagicNumber()==Magic))
               {
               switch (OrderType())
                  {
                  case OP_BUY :BuyCount++; break;
                  case OP_SELL:SellCount++;break;
               }
            }
         }
      }
   }
   return(BuyCount+SellCount);
}
//+------------------------------------------------------------------+
 
哪个邮局可以对收到的邮件及其内容发短信?
[删除]  
gheka:
哪个邮局可以对收到的邮件及其内容发短信?
你最好买个智能手机,现在更便宜了。只是不要连接到MTS,那些混蛋偷走了我最后的两个戈比:))
 
无意冒犯,我支持MTS,与MTS合作7年,没有任何问题
[Deleted]  
gheka:
无意冒犯,我支持MTS,与MTS合作7年,没有任何问题

只要我只有一个电话,五年来我也没有任何问题。我一连接他们的互联网,问题(付款)就马上出现了。 他们当然会解决这些问题,甚至道歉,但要写和证明的东西太多了。最重要的是,一个月后,同样的问题再次出现,一切又重新开始。所以我现在用扩音器。
 
rigonich:

这是代码,它按你的要求工作。在任何收盘时,它都会打开两个相反的位置。



谢谢你。

但你有一个不同的EA,它的工作方式不同。

我希望我的EA能在一些仓位被关闭的情况下双向开仓

我不知道怎么做,但我看到它打开了一些位置。

附加的文件:
sellbuy_1.ex4  5 kb