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

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

Багов нет.

Расширенный спред это шалит. И фриз-левел, при достижении которого ордер блокируется и ничего с ним сделать нельзя.

 
Bicus:

Багов нет.

Расширенный спред это шалит. И фриз-левел, при достижении которого ордер блокируется и ничего с ним сделать нельзя.

Если бы так, в логах писало бы ошибку при попытке удаления. Хотя, только если ошибки обрабатываются в коде.
 
OnGoing:
Если бы так, в логах писало бы ошибку при попытке удаления. Хотя, только если ошибки обрабатываются в коде.
Тут скорее всего тестер нулевую свечу обрабатывает, к бабке не ходи.
 
paukas:
Тут скорее всего тестер нулевую свечу обрабатывает, к бабке не ходи.
А может у сервака пинг дырявый, автор, тестите у нормального брокера.
 
Bicus:

Багов нет.

Расширенный спред это шалит. И фриз-левел, при достижении которого ордер блокируется и ничего с ним сделать нельзя.


Ошибок же нету в журнале. И тем более такие случаи в основном днём бывают на средней волатильности. Вот вчера два ордера так не удалилось после сильного движняка, через минут 10 после него,когда всё более-менее успокоилось. А в момент этого движняка по евро, вроде как всё работало, кроме того случая, где ошибки в журнале вылезли.
 
paukas:
Тут скорее всего тестер нулевую свечу обрабатывает, к бабке не ходи.

Как понять нулевую?
 
FOReignEXchange:

Как понять нулевую?
Текущий бар в условиях. Тестер видит его уже завершенным. А реально клоуз хай и лоу ещё неизвестны, только опен.
 
Bicus:

Багов нет.

Расширенный спред это шалит. И фриз-левел, при достижении которого ордер блокируется и ничего с ним сделать нельзя.


Спред всегда фиксированный. Ни разу не замечал, чтобы он увеличивался или уменьшался.
 
FOReignEXchange:

Ошибок же нету в журнале. И тем более такие случаи в основном днём бывают на средней волатильности. Вот вчера два ордера так не удалилось после сильного движняка, через минут 10 после него,когда всё более-менее успокоилось. А в момент этого движняка по евро, вроде как всё работало, кроме того случая, где ошибки в журнале вылезли.
if (//Тут условие//)
   {
   if (OrderSelect(ticket_buy,SELECT_BY_TICKET)==true)
     {
     if (OrderType() == OP_BUYSTOP && Ask > (OrderOpenPrice() - 4 * Point)) 
        {
        i=0;
        while (i<10)
              {
              if (i>0) Sleep(500);      
              RefreshRates(); OrderDelete(ticket_buy); 
              err=GetLastError();
              if (err==0)
                 {
                 ticket_buy=0; return;
                 }
              i++;
              }
        }
     }
   }

Итак, у вас есть ордер buystop. Потом вы смотрите, когда цена вплотную к нему подойдёт и пытаетесь его удалить. Имхо, но дело в уровне заморозки. Попробуйте код переписать вот так:

if (//Тут условие//)
   {
   if (OrderSelect(ticket_buy,SELECT_BY_TICKET)==true)
     {
     if (OrderType() == OP_BUYSTOP)
        {
         Print ("Уровень заморозки: ", MarketInfo (Symbol(), MODE_FREEZELEVEL), ", Ask: ", Ask);
         if (Ask > (OrderOpenPrice() - 4 * Point)) 
         {Print ("Зашли в условие");
           i=0;
           while (i<10)
              {
              if (i>0) Sleep(500);      
              RefreshRates(); OrderDelete(ticket_buy); 
              err=GetLastError();
              if (err==0)
                 {
                 ticket_buy=0; return;
                 }
              i++;
              }
          } 
        }
     }
   }

И, честно говоря, мне кажется странным удалять ордер лишь в тот момент, когда цена вплотную к нему подошла.