Пригоден ли советник для реала? - страница 31

 
Да, попробуй.
 
OnGoing:
Хотя не знаю, да, попробуй.

Чёта не знаю. Хотя она допустим какая-нибудь и ненормализованная, но условие-то всё-равно будет выполняться. Нормализовывать же надо стопы после вычислений, если они есть.
 
FOReignEXchange:

Чёта не знаю. Хотя она допустим какая-нибудь и ненормализованная, но условие-то всё-равно будет выполняться. Нормализовывать же надо стопы после вычислений, если они есть.
Просто когда разница между Аском и сравниваемой величиной не очень большая, то количество знаков после запятой имеет значение и условие часто не срабатывает.
 

Мне почему-то кажется надо так делать

   if (OrderSelect(ticket_sell,SELECT_BY_TICKET)==true)
      {
      if (OrderType()==OP_SELLSTOP) 
         {
         if (Bid<(OrderOpenPrice()+4*Point)) 
            {

Такое впечатление, что сразу 2 условия иногда не может прочитать. Попробую поставить. На какой-то баг в языке похоже.

Попробую с нормализацией тоже.

Может кто сталкивался с такими проблеммами ещё?

 

Да нет, работают оба варианта. Скорей всего все же не приведены значения при сравнении.

Попробуй отследить на каждом этапе получаемые значения.

 
OnGoing:

Да нет, работают оба варианта. Скорей всего все же не приведены значения при сравнении.

Попробуй отследить на каждом этапе получаемые значения.


Я уже проверял с помощью коментов. Даже ставил коммент перед этим условием. Сигнал идёт на эту строку, а дальше никак не идёт. Причём такое редко случается. За сутки 2-4 раза. Всё остальное время всё правильно работает. Смотрел все значения по коментам, когда ордер не удалялся. Он должен был удалиться, но не дошел до функции удаления. Сигнал пошёл перед этим условием а дальше нет.
 
Блин туплю. Забыл сказать самое главное. В тестере-то всё нормально работает. В этом-то вся проблемма. Если бы в тестере ордер тоже не удалялся, то я бы вообще не парился. А так в реале не удаляется, а в тестере удаляется, если визулизацию включить после сделки. Поэтому я считаю,что это на какой-то баг в языке похож. Такое впечатление, что не может снять много данных с выбранного ордера. Я с таким не первый раз сталкиваюсь. Вернее даже постоянно сталкиваюсь. В тестере всё гуд, а в реале нет.
 
Вот щас визуализацию включил и смотрю. Запас времени на удаление огромный. Полминуты почти. В тестере он удалился, а сегодня на демо-счёте там он даже не пытался удалить и открыл сделку лососевую :)
 

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

Ведь понятно же, что условие не пропускает. Вот и надо выяснить почему. Для этого нужно постоянно мониторить все сравниваемые значения.

 

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

Посмотрел логи демо-счёта за это время и там никаких попыток не было удалить ордер. Тестер удалил, а демо-счёт нет. Пробывал в процессе торгов комменты ставить и до условия и после условия и в конце кода и в начале кода всё разом. Все условия соблюдаются, но дальше этого условия дело не проходит. Нет попыток даже удалить ордер! Запас времени большой для удаления, хотя дело тут не во времени, так как нету даже попыток. Скачков на 2-3 тика тоже не было. Просто условие не пропускает к функции удаления и всё.

Ладно попробую другой вариант - выставить эти условия с каждой новой строчкой отдельно. Посмотрю завтра что будет. По первой проблемме вроде как догадывыаюсь как решить. Завтра буду смотреть как себя поведёт обновлённый код.