谁能帮助解决机器人的问题,为什么它不工作了? - 页 5

 
Sergey Gritsay:
最有可能的是,编译器在打架,但它应该给出一个警告而不是一个错误。
我刚刚编译了上面的代码,并附上了一张截图,在#property strict 下,奇怪的是没有错误和警告,但变量不应该重合,当然,除非是巧妙地设计成这样我没有去研究操作的逻辑。
 

然后是这样的

//+------------------------------------------------------------------+
//|                                                          123.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  lots       = 0.01;   // Лот
input int     stop_loss      = 10; // Указываем в валюте депозита
input int     take_profit    = 20; // Указываем в валюте депозита
extern int    Slippage = 3;        // Допустимое проскальзываение цены в пунктах
input int     Magic = 16384;       // Уникальный номер эксперта

int            last_bar       = 0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
// ===== Пересчет под пятизнак =========
   if(Digits()==3 || Digits()==5)
     {
      Slippage           *= 10;
     }   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if (last_bar == Bars) {return;}
   last_bar = Bars;
   if (OrdersTotal() == 0){
          int ticketbuy = OrderSend(Symbol(), OP_BUY, lots ,Ask, Slippage, 0, 0,  "", Magic, 0, clrBlue);
            if(ticketbuy<0)
               Print(Symbol()," OpenPosition. OrderSend Buy fail #",GetLastError());
            else
               Print(Symbol()," OpenPosition. OrderSend Buy successfully");
          int ticketsell = OrderSend(Symbol(), OP_SELL, lots ,Bid, Slippage, 0, 0,  "", Magic, 0, clrRed);
            if(ticketsell<0)
               Print(Symbol()," OpenPosition. OrderSend Sell fail #",GetLastError());
            else
               Print(Symbol()," OpenPosition. OrderSend Sell successfully");      
}
 double profit=0;
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==_Symbol && OrderMagicNumber()== Magic)
        {
         profit+=OrderProfit()+OrderSwap()+OrderCommission();
        }
     }
 int requot=0;
 if(profit>=take_profit || (-profit)>=stop_loss)
   for(int ii=0;ii<OrdersTotal();ii++)
     {
      if(OrderSelect(ii,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==_Symbol && OrderMagicNumber()== Magic)
        {
         if(OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrRed))
               requot=0;
            else
              {
               requot++;
              }
         if(requot>10)
              {
               ii++;
               requot=0;
              }
            ii--;
        }
     }
 
  }
//+------------------------------------------------------------------+
 
Vladimir Zubov:

然后是这样的

谢谢你!我明天会试着检查....
 
Vladimir Zubov:

然后是这样的

通过测试器工作,但在真实账户上 没有交易打开....
 
GIM:
测试器工作,但真实账户 没有开出一笔交易....。
专家顾问在专家顾问选项卡中有一些条目,但总的来说,我认为真实账户的EA是歪打正着。
 
Sergey Gritsay:
专家顾问在专家顾问选项卡中有一些条目,但在我看来,它是歪打正着的真金白银。
我需要在什么地方进行修复才能使其发挥作用?
 
GIM:
你需要在哪些方面进行修复才能使其发挥作用?
在任何地方,我还不能理解这个EA的逻辑写法,你一次在不同的方向开仓,但这两个订单的利润永远是一样的,只有在互换累积时才会改变。
 
Sergey Gritsay:
你一次在不同的方向开仓,但这两个订单的利润永远是一样的,只有在掉期收费时才会改变。
当我在图表上安装EA 时,我调整了订单只在一个方向上打开,在趋势和几个货币对上,要么买入要么卖出。
 
GIM:
当我在图表上安装EA时,我调整了订单只在一个方向上打开,在趋势和几个货币对上,无论是买入还是卖出,所以我需要关闭所有交易的总利润。
我明白,今天对我来说太晚了,我明天会给你勾勒一个方案。
 
Sergey Gritsay:
我明白了,今天太晚了,我明天给你勾勒一个版本。
谢谢你!