我如何通过试验和错误组装我的顾问 - 页 30

 
Сергей Криушин:
当我看黄色按钮时,它们应该在我忙碌时打开--买入时买入,卖出时卖出,关闭买入,卖出时关闭买入关闭,看看黄色买入关闭里有多少钱--我想明白了,我觉得不应该问作者...

它需要检查--并在终端配置。现在不可能了解它需要什么,它在测试器中不能正常工作。周一我将弄清楚它需要什么和在哪里。

 
Aleksandr Klapatyuk:

它需要检查--并在终端配置。现在不可能了解它需要什么,它在测试器中不能正常工作。周一我将弄清楚它需要什么和在哪里。

我弄错了。现在,黄色的按钮设置了线,线会变成布或卖。

 
Aleksandr Klapatyuk:

这里已经配对了 -AVGiS intelligence.mq5195 kb

你试着用另一种方式,它不会起作用。你必须在没有它的情况下重写一切(CSampleExpert::)--- bool CSampleExpert::Init(void)

因此,我正在寻找一些不起作用的东西...我把ButtonCreate放在顶部...我把它和作者的代码一样...

 
Сергей Криушин:

所以我在看一些没有用的东西......我把ButtonCreate放在顶部...与作者的代码相同...

这样,它就会工作,就像它所做的那样,再加上我的

 
Сергей Криушин:

所以我在看一些没有用的东西......我把ButtonCreate放在顶部...与作者的代码相同...

明天--我将尝试像你那样把它粘在一起。

 
Сергей Криушин:

所以我在看一些没有用的东西......我把ButtonCreate放在顶部...与作者的代码相同...

它是这样的吗?

我无法插入代码--由于某种原因,它无法进入。

附加的文件:
01_AVGiS.mq5  41 kb
 
该死的,我重新安装了操作系统--现在我对mt5的代码感到困惑。
 
Aleksandr Klapatyuk:

你有这些东西吗?

我不能把代码放进去

你跳过开头的代码,从最上面的黄色代码开始......已经在某个地方写过了,帖子消失了......))你需要把它们连接到你的信号上......。

//+------------------------------------------------------------------+  
//|                                                                  |
//+------------------------------------------------------------------+
bool OpenBuy(double tp)
  {
//--- перебор всех открытых позиций
   if(PositionsTotal()<limit_total)
     {
      //--- объявление и инициализация запроса и результата
      MqlTradeRequest request={0};
      MqlTradeResult result={0};
      //--- параметры запроса
      request.action=TRADE_ACTION_DEAL; // тип торговой операции
      request.symbol=Symbol(); // символ
      request.volume=Volume(); // объем в 0.1 лот *((int)MathAbs(main_buffer))
      request.type=ORDER_TYPE_BUY; // тип ордера
      request.price=SymbolInfoDouble(Symbol(),SYMBOL_ASK); // цена для открытия
      request.deviation=5; // допустимое отклонение от цены
      request.magic=EXPERT_MAGIC; // MagicNumber ордера
      //request.sl=SymbolInfoDouble(Symbol(),SYMBOL_BID)-TrailingStop_STOPS_LEVEL*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // Уровень Stop Loss ордера
      //request.tp=SymbolInfoDouble(Symbol(),SYMBOL_BID)+TProf*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // Уровень Take Profit ордера
        
      //--- отправка запроса
      if(!OrderSend(request,result))
         PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки
      //--- информация об операции
      PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
     };

   return ( true );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool OpenSell(double tp)
  {
  
//--- перебор всех открытых позиций
   if(PositionsTotal()<limit_total)
     {
      //--- объявление и инициализация запроса и результата
      MqlTradeRequest request={0};
      MqlTradeResult result={0};
      //--- параметры запроса
      request.action=TRADE_ACTION_DEAL; // тип торговой операции
      request.symbol=Symbol(); // символ
      request.volume=Volume(); // объем в 0.1 лот *((int)MathAbs(main_buffer))
      request.type=ORDER_TYPE_SELL; // тип ордера
      request.price=SymbolInfoDouble(Symbol(),SYMBOL_BID); // цена для открытия
      request.deviation=5; // допустимое отклонение от цены
      request.magic=EXPERT_MAGIC; // MagicNumber ордера
      
      //request.sl=SymbolInfoDouble(Symbol(),SYMBOL_ASK)+TrailingStop_STOPS_LEVEL*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // Уровень Stop Loss ордера
      //request.tp=SymbolInfoDouble(Symbol(),SYMBOL_ASK)-TProf*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // Уровень Take Profit ордера
                        
         
           
                    
      //--- отправка запроса
      if(!OrderSend(request,result))
         PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки
      //--- информация об операции
      PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
     };

   return ( true );
  }
 
Сергей Криушин:

你跳过打开代码,从最上面的黄色代码开始......已经在某个地方写过了,帖子消失了......))你需要把它们与你的信号联系起来......。

它们是 - 我将OpenSell(double tp)重命名 为TradeSell(double LotsX)。

或者我最初从链接中下载了另一个代码--你给我的Speed-v1.mq548 kb

一些东西--可能是不同的, Tp),我在那里下载了(双LotsX)

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool TradeBuy(double LotsX)
  {
//--- перебор всех открытых позиций
   if(PositionsTotal()<limit_total)
     {
      //--- объявление и инициализация запроса и результата
      MqlTradeRequest request= {0};
      MqlTradeResult result= {0};
      //--- параметры запроса
      request.action=TRADE_ACTION_DEAL; // тип торговой операции
      request.symbol=Symbol(); // символ
      request.volume=InpLots; // объем в 0.1 лот *((int)MathAbs(main_buffer))
      request.type=ORDER_TYPE_BUY; // тип ордера
      request.price=SymbolInfoDouble(Symbol(),SYMBOL_ASK); // цена для открытия
      request.deviation=5; // допустимое отклонение от цены
      request.magic=Magic_Number; // MagicNumber ордера
      //--- отправка запроса
      if(!OrderSend(request,result))
         PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки
      //--- информация об операции
      PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
     };
   return (true);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool TradeSell(double LotsX)
  {
//--- перебор всех открытых позиций
   if(PositionsTotal()<limit_total)
     {
      //--- объявление и инициализация запроса и результата
      MqlTradeRequest request= {0};
      MqlTradeResult result= {0};
      //--- параметры запроса
      request.action=TRADE_ACTION_DEAL; // тип торговой операции
      request.symbol=Symbol(); // символ
      request.volume=InpLots; // объем в 0.1 лот *((int)MathAbs(main_buffer))
      request.type=ORDER_TYPE_SELL; // тип ордера
      request.price=SymbolInfoDouble(Symbol(),SYMBOL_BID); // цена для открытия
      request.deviation=5; // допустимое отклонение от цены
      request.magic=Magic_Number; // MagicNumber ордера
      //--- отправка запроса
      if(!OrderSend(request,result))
         PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки
      //--- информация об операции
      PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
     };
   return (true);
  }
//+------------------------------------------------------------------+

我删除了所有不必要的东西,并给原来的名字AVGiS.mq5和 01中的名字AVGiS.mq5。

快照.PNG

 

好的,我把文件上传到这里。 我现在正在恢复电脑。

并没有救出最后一个考官。