Вопросы от "чайника" - страница 217

 
G001:
Правильно. В этом и заключалась моя просьба, как программно узнать когда советник перестает работать.
:)))  да уж.

и это называть "всем спасибо, проблему решил, "

вы её себе создали, а не решили ;)

 
G001: Тоже думал использовать асинхронный вариант, но не знаю если брокер не засчитает сделки.
В смысле? Существует вероятность, что "брокер не засчитает сделки" из-за использования функции OrderSendAsync() ?
 
G001:

Не используйте вечные циклы для проверки. Скорее всего в этом проблема.
 
sergeev:
:)))  да уж.

и это называть "всем спасибо, проблему решил, "

вы её себе создали, а не решили ;)

Ну ведь других советов не получил. :)
Пока это единственный рабочий вариант.
А за 5 лет на реале много "чудес" видел, и не думаю что на все "чудеса" с реала есть решения которые под руку нам.
 

Вообще печально Пытаюсь советника сделать с двумя функциями  ( установка позиций и открытия позиции заново после того как она закрылась по  TP или SL но открыть нужно вместе с противоположно позицией)

 

даже такой простой советник не получается, спрашивал на форумах тоже трудности ((( 

 
G001:
Ну ведь других советов не получил. :)

получили, но вы их игнорируете. ;)

принты и коменты в циклах не ставите, журнал не даете.

вам здесь надо пообщаться, а не на терминал грешить.

Клуб Телепатов - MQL4 форум
  • www.mql5.com
Клуб Телепатов - MQL4 форум
 
tol64: Не используйте вечные циклы для проверки. Скорее всего в этом проблема.

Обратил внимание вот на эту часть кода:

      request.action = TRADE_ACTION_PENDING;
      request.magic = Magic;
      request.symbol = Symbol();
      request.volume = Volume();
      request.price=NormalizeDouble(Ask+OrderDrive*_Point,_Digits);
      request.sl = NormalizeDouble(request.price - StopLoss*_Point,_Digits);
      request.tp = NormalizeDouble(request.price + TakeProfit*_Point,_Digits);
      request.type=ORDER_TYPE_BUY_STOP;
      request.type_filling=ORDER_FILLING_RETURN;
      request.comment=Coments;
      int ResBull = -1;
      while(ResBull < 1)
      {
        if(OrderCheck(request,check))
          {
          ResBull = OrderSend(request,result);
          }
        if((MQL5InfoInteger(MQL5_TESTING)||MQL5InfoInteger(MQL5_OPTIMIZATION)))break;
      }
      Print("BuyStop Order Set ");
      if(UseSound == true){PlaySound(OrderSound);}
      Print(ResultRetcodeDescription(result.retcode));

 Что произойдёт (вопрос автору), если на каком-то этапе функция OrderCheck(request,check) вернёт false? Например, из-за указания неправильного объёма для request.volume.

 
Yedelkin:

Обратил внимание вот на эту часть кода:

 Что произойдёт (вопрос автору), если на каком-то этапе функция OrderCheck(request,check) вернёт false? Например, из-за указания неправильного объёма для request.volume.

tol64 и Вы возможно правильно заметили. Спасибо.
Подскажите пожалуйста вариант как качественно проверить и избавится от вечного цикла.
 
G001:
Ну ведь других советов не получил. :)
Пока это единственный рабочий вариант.
А за 5 лет на реале много "чудес" видел, и не думаю что на все "чудеса" с реала есть решения которые под руку нам.
А если попробовать класс CTrade для отсылки ордеров как в этой статье.
 
G001: Подскажите пожалуйста вариант как качественно проверить и избавится от вечного цикла.

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

Я сам использую не более двух проверок кодов возврата, и если ордер выставить не удаётся, дожидаюсь прихода нового тика.

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