Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Справочник MQL5 доступен на 8 языках. Изучай MQL5 на удобном тебе языке!
Dmitiry Ananiev
6334
Dmitiry Ananiev 2012.03.29 18:05 

Следующий код выдает ошибку 10013. (Неправильный запрос). Где ошибка? 

2012.03.29 19:04:08 Trades '1000053': failed modify sell 2.70 EURCHF sl: 0.00000, tp: 0.00000 -> sl: 1.23499, tp: 0.00000 [Invalid request]

 

uint OrderSL()
 {
  if(PositionSelect(_Symbol))
  {
  if (PositionGetDouble(POSITION_SL)==0)
     {MqlTradeRequest   request;
        MqlTradeResult          result;
        request.action=TRADE_ACTION_SLTP;
        double price=PositionGetDouble(POSITION_PRICE_OPEN);
        //volume=PositionGetDouble(POSITION_VOLUME);
        request.symbol=Symbol();
        request.deviation=3;
           
           if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL) 
           {    request.sl=NormalizeDouble(price+SL*MyPoint,_Digits);
                request.tp=0.0;
           }
           if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)         
           {    request.sl=NormalizeDouble(price-SL*MyPoint,_Digits);
                request.tp=0.0;
           }
   
// отправляем запрос на торговый сервер
           if(OrderSend(request,result)==false)
             {
              Print("OrderSend возвратил ошибку: "+IntegerToString(result.retcode)+"/"+result.comment);
              return result.retcode;
             }
        
           return result.retcode;
                }
 }      
  
  return (0);           
        
}
Yedelkin
4532
Yedelkin 2012.03.29 18:08  
dimeon:

Следующий код выдает ошибку 10013. (Неправильный запрос). Где ошибка? 

Попробуйте обнулить переменные request и result после их объявления.
Dmitiry Ananiev
6334
Dmitiry Ananiev 2012.03.29 18:16  
Yedelkin:
Попробуйте обнулить переменные request и result после их объявления.
MqlTradeRequest request;
    MqlTradeResult result;
    ZeroMemory(request);

    ZeroMemory(result);

... 

 

так - не помогло.

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - Документация по MQL5
Ruslan Khasanov
3028
Ruslan Khasanov 2012.03.29 21:02  
Что такое MyPoint?

Используй _Point

if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
           {
            request.sl=NormalizeDouble(price+SL*_Point,_Digits);
            request.tp=0.0;
           }
         if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
           {
            request.sl=NormalizeDouble(price-SL*_Point,_Digits);
            request.tp=0.0;
           }
Dmitiry Ananiev
6334
Dmitiry Ananiev 2012.03.29 22:03  
Kos:
Что такое MyPoint?

Используй _Point

MyPoint=_Point*10; для 4-5 знака сделано 

Alexander Laur
7512
Alexander Laur 2012.03.29 23:56  
dimeon:

Следующий код выдает ошибку 10013. (Неправильный запрос). Где ошибка? 

2012.03.29 19:04:08 Trades '1000053': failed modify sell 2.70 EURCHF sl: 0.00000, tp: 0.00000 -> sl: 1.23499, tp: 0.00000 [Invalid request] 

Правильно что дает ошибку. У Вас при модификации sell позиции закоментирован request.tp. Поэтому в запросе не хватает обязательных полей, вот компилятор и сообщает ([Invalid request]) об ошибке.

Yedelkin
4532
Yedelkin 2012.03.30 07:38  
papaklass:

Правильно что дает ошибку. У Вас при модификации sell позиции закоментирован request.tp. Поэтому в запросе не хватает обязательных полей...

Ну так он же обнулял всю переменную request после её объявления, как я предлагал. Говорит - не помогло. Значит, дело не в закомментированности.
Alexander Laur
7512
Alexander Laur 2012.03.30 08:54  
Yedelkin:
Ну так он же обнулял всю переменную request после её объявления, как я предлагал. Говорит - не помогло. Значит, дело не в закомментированности.

Какой смысл обнулять то, чего нет. В запросе должно быть определенное количество параметров. Если количество параметров в запросе != требуемому количеству параметров, то будет ошибка. Обнуление здесь не причем.

Yedelkin
4532
Yedelkin 2012.03.30 09:12  
papaklass:

Какой смысл обнулять то, чего нет. В запросе должно быть определенное количество параметров. Если количество параметров в запросе != требуемому количеству параметров, то будет ошибка. Обнуление здесь не причем.

Интересный у Вас подход к обнулению объявленных  переменных типа структур и к результатам такого обнуления :) Даже переубеждать не буду :) Надеюсь, Вы сами разберётесь с этим вопросом и примените правильные выводы к конкретному примеру.
Alexander Laur
7512
Alexander Laur 2012.03.30 09:38  

Yedelkin:
Интересный у Вас подход к обнулению объявленных  переменных типа структур и к результатам такого обнуления :) Даже переубеждать не буду :) Надеюсь, Вы сами разберётесь с этим вопросом и примените правильные выводы к конкретному примеру. 

Вы действительно бестолковый или прикидываетесь? Запрос не правильный ([Invalid request]). Вы в торговом приказе указываете НЕ ВЕРНОЕ КОЛИЧЕСТВО ПАРАМЕТРОВ. Обнуляйте параметры, не обнуляйте - от этого их количество в торговои приказе не изменится.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - Документация по MQL5
voix_kas
681
voix_kas 2012.03.30 09:51  

Вообще, введение функции ZeroMemory применительно к переменным торгового приказа является избыточной, т.к. в документации указан необходимый и достаточный перечень параметров структуры MqlTradeRequest для каждого случая.

Но, как это уже стало понятно, MQ не всегда способно конструктивно вопринимать критику в свой адрес. :) 

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - Документация по MQL5
/ /12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий