Ошибка при отправке запроса на реале: "failed market buy 0.01 NZDCHF.m [Invalid volume]"
Показано с 1 по 9 из 9

Тема: Ошибка при отправке запроса на реале: "failed market buy 0.01 NZDCHF.m [Invalid volume]"

  1. #1
    Новичок Аватар для Mike_Kharkov
    Регистрация
    08.07.2014
    Сообщений
    103
    Promo (¢)
    1,685
    Благодарности
    Получено: 8
    Отправлено: 126

    Ошибка при отправке запроса на реале: "failed market buy 0.01 NZDCHF.m [Invalid volume]"

    Доброй ночи.
    На демо счете код работает нормально.
    Поставил потестить на истории на реальном счете.
    (Депозит там нулевой)
    И советник отказывается совершать сделку:
    "failed market buy 0.01 NZDCHF.m [Invalid volume]"

    Код запроса на покупку выглядит следующим образом:


    PHP код:
    bool SendOrderBuy(double pricedouble volumedouble pos_profdouble prc_bid)
    {  
       
       if(
    volume >= 50){
           
    volume 50;
       }
       
       
    /*----------
       
       else if(volume >= 500){
          Print("ОШИБКА! Обьем Ордера привысил размер 50 лотов и сейчас ровняется", volume,"-м");
          return(false);
       };
       
       ------------*/

       
    MqlTradeRequest request = {0};
       
    MqlTradeResult  result  = {0};
       
    //---заполняем поля торгового запроса
       
    request.action       TRADE_ACTION_DEAL;       // Тип выполняемого действия
       
    request.symbol       _Symbol;                 // Имя торгового инструмента
       
    request.magic        magic_number;            // Магический Ордер
       
    request.volume       volume;                  // Запрашиваемый объем сделки в лотах
       
    request.price        price;                   // Цена  
       
    request.type         ORDER_TYPE_BUY;          // Тип ордера
       
    request.tp           0;                       // Цена, по которой сработает Take Profit ордер при движении цены в благоприятном направлении
       
    request.sl           0;                       // Цена, по которой сработает Stop Loss ордер при движении цены в неблагоприятном направлении
       
    request.deviation    0;                       // Максимально приемлемое отклонение от запрашиваемой цены, задаваемое в пунктах
       
    request.type_filling ORDER_FILLING_IOC;       // Тип ордера по исполнению
       
    request.type_time    ORDER_TIME_DAY;          // Тип  длительности действия ордера               
                      
                      
       //---проверим хватает ли средств для открытия позиции
            
    double margin 0.0;
                         
       if (!
    OrderCalcMargin(request.typerequest.symbolrequest.volumerequest.pricemargin))
                            return(
    false);
                         
       if (
    margin AccountInfoDouble(ACCOUNT_FREEMARGIN))
                            return(
    false);
                      
                         
       
    //---отправка запроса на сервер и проверка результата отправки
       
    if (OrderSend(request,result))
           {
             if ( 
    result.retcode == TRADE_RETCODE_DONE)
                  {
                     return (
    true);
                  };
                };

                                                      
                         return(
    false);
       };
    // функция торгового запроса-------------------------------------------------------------------------------------------------+ 
    Вопрос:
    В чем может быть проблема?


    + такой момент для себя хотел ещё выяснить:
    Допустим я хочу перебрать все инструменты существующие, по нужным мне критериям и что бы в одном советнике можно было торговать сразу на всех инструментах.
    Как это можно реализовать правильно?
    Что конкретно прописать необходимо?
    (в общем саму идею(максимально рациональную) хотелось бы увидеть.)

    P.S. Буду благодарен за советы.

    Вы не можете благодарить!
    Последний раз редактировалось Mike_Kharkov; 17.11.2014 в 01:12.

  2. #2
    Программист Аватар для Azizkin
    Регистрация
    05.02.2013
    Адрес
    Шервудский лес
    Сообщений
    2,078
    Promo (¢)
    250
    Благодарности
    Получено: 2,120
    Отправлено: 3,717
    Цитата Сообщение от Mike_Kharkov Посмотреть сообщение
    Вопрос:
    В чем может быть проблема?
    Наверное в том, что минимальный лот 0.1 на том счете.




    Цитата Сообщение от Mike_Kharkov Посмотреть сообщение
    Допустим я хочу перебрать все инструменты существующие, по нужным мне критериям
    Цитата Сообщение от Mike_Kharkov Посмотреть сообщение
    request.symbol = _Symbol; // Имя торгового инструмента
    Вместо _Symbol ставите имя нужной пары. То же самое в индикаторах.

    Вы не можете благодарить!

  3. #3
    Новичок Аватар для Mike_Kharkov
    Регистрация
    08.07.2014
    Сообщений
    103
    Promo (¢)
    1,685
    Благодарности
    Получено: 8
    Отправлено: 126
    Цитата Сообщение от Azizkin Посмотреть сообщение
    Наверное в том, что минимальный лот 0.1 на том счете.
    Вы правы.
    Сделка обьемом 0.1 лота работает.

    P.S. Во время тестирования на истории мне так же непонятен момент со свопами:
    Если я торгую объемом 0.01(на демо на истории) или объемом 0.1(на реале на истории) то своп взымается(или начисляется) таким образом, как будто я торгую одним лотом!?
    3.jpg
    Почему это происходит?
    Это же полная дезинформация для новичков получается.
    (от этого же очень сильно результаты тестирования зависеть могут в некоторых стратегиях.)


    Цитата Сообщение от Azizkin Посмотреть сообщение
    Вместо _Symbol ставите имя нужной пары. То же самое в индикаторах.
    Выходит, что 30 - 40 функций отправки запроса создавать необходимо - я правильно понимаю?

    Вы не можете благодарить!
    Последний раз редактировалось Mike_Kharkov; 17.11.2014 в 02:56.

  4. #4
    Программист Аватар для Azizkin
    Регистрация
    05.02.2013
    Адрес
    Шервудский лес
    Сообщений
    2,078
    Promo (¢)
    250
    Благодарности
    Получено: 2,120
    Отправлено: 3,717
    Цитата Сообщение от Mike_Kharkov Посмотреть сообщение
    Выходит, что 30 - 40 функций отправки запроса создавать необходимо - я правильно понимаю?
    Выходит так. Или функцию запустить через цикл с перебором инструментов.

    Цитата Сообщение от Mike_Kharkov Посмотреть сообщение
    Если я торгую объемом 0.01(на демо на истории) или объемом 0.1(на реале на истории) то своп взымается(или начисляется) таким образом, как будто я торгую одним лотом!?
    Интересно. Даже не могу предположить, почему так.

    Вы не можете благодарить!

  5. #5
    Уважаемый Аватар для viktan
    Регистрация
    18.09.2014
    Адрес
    Far, far away...
    Сообщений
    2,816
    Promo (¢)
    11,505
    Благодарности
    Получено: 2,388
    Отправлено: 1,307
    Цитата Сообщение от Mike_Kharkov Посмотреть сообщение
    P.S. Во время тестирования на истории мне так же непонятен момент со свопами:
    Если я торгую объемом 0.01(на демо на истории) или объемом 0.1(на реале на истории) то своп взымается(или начисляется) таким образом, как будто я торгую одним лотом!?
    Плохо видно картинку. Вы уверены что своп начисляется именно в том объеме что указан в колонке? Может быть для начисления своп из колонки перемножается с объемом лота?

    Вы не можете благодарить!
    Хоть и не ново, я напомню снова: перед лицом и друга и врага, Ты - господин несказанного слова, а сказанного слова - ты слуга.
    ©Омар Хайам

  6. #6
    Новичок Аватар для Mike_Kharkov
    Регистрация
    08.07.2014
    Сообщений
    103
    Promo (¢)
    1,685
    Благодарности
    Получено: 8
    Отправлено: 126
    Цитата Сообщение от viktan Посмотреть сообщение
    Плохо видно картинку. Вы уверены что своп начисляется именно в том объеме что указан в колонке? Может быть для начисления своп из колонки перемножается с объемом лота?
    Нажмите контрал плюс на странице со скрином(это разрешение браузера меняет - будет крупнее картинка. Контрал ноль потом вернете на свои места.)
    На счет свопа уверен. Уже протестил сто пятсот раз.
    Может он конечно как то начисляется по странному. Но в любом случае для меня это загадка..

    Вы не можете благодарить!

  7. #7
    Уважаемый Аватар для viktan
    Регистрация
    18.09.2014
    Адрес
    Far, far away...
    Сообщений
    2,816
    Promo (¢)
    11,505
    Благодарности
    Получено: 2,388
    Отправлено: 1,307
    Масштаб я менять умею, спасибо. Но картинка от этого лучше не становится. Ну да ладно. Протестил у себя один из встроенных советников - все нормально со свопами, счет центовый, реал. Что то там у вас не так. Попробуйте сменить тип счета, может исправится.

    Вы не можете благодарить!
    Хоть и не ново, я напомню снова: перед лицом и друга и врага, Ты - господин несказанного слова, а сказанного слова - ты слуга.
    ©Омар Хайам

  8. #8
    Теоретик Аватар для Mage-biker
    Регистрация
    16.09.2012
    Адрес
    Ростов-на-Дону
    Сообщений
    2,577
    Promo (¢)
    1,980
    Благодарности
    Получено: 323
    Отправлено: 124
    Цитата Сообщение от Mike_Kharkov Посмотреть сообщение
    Если я торгую объемом 0.01(на демо на истории) или объемом 0.1(на реале на истории) то своп взымается(или начисляется) таким образом, как будто я торгую одним лотом!?
    Такое ощущение, что это косяк совы. Я точно не вижу количество ордеров в сутки (либо за определённые промежуток времени), но может быть и такое, что сработаные ордера могут восприниматься как будто они ещё в рынке. Своп что то велик на картинке, попробуйте пересчитать количество ордеров, плюсаниете их и прикиньте своп будет теперь совпадать, как будто все ордера ещё в рынке стоят?

    Вы не можете благодарить!

  9. #9
    Новичок Аватар для Mike_Kharkov
    Регистрация
    08.07.2014
    Сообщений
    103
    Promo (¢)
    1,685
    Благодарности
    Получено: 8
    Отправлено: 126
    Пока что(исходя из ветки в другом форуме) я понял, что у билда 1010 MT5 наблюдается данная проблема не только у меня.
    В билде 1014 говорят вроде бы этого нет..

    Вы не можете благодарить!

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •