Ошибка № 145

 

что за 145 ошибка ?

у одного брокера советник нормально работает,

у другого зависает посередине теста и выдает 145 ошибку.

Как её исправить ?

 
Stells писал(а) >>

что за 145 ошибка ?

у одного брокера советник нормально работает,

у другого зависает посередине теста и выдает 145 ошибку.

Как её исправить ?

Проверять на СтопЛевел и уровень заморозки. Если позиция к цене стоит ближе, то модифицировать нельзя.

 
Vinin >>:

Проверять на СтопЛевел и уровень заморозки. Если позиция к цене стоит ближе, то модифицировать нельзя.

а закрывать?

я закрыть хочу

 
Stells писал(а) >>

а закрывать?

я закрыть хочу

Идентификаторы запроса, используемые в функции MarketInfo(). Mогут быть одной из следующего величин:

MODE_FREEZELEVEL 33 Уровень заморозки ордеров в пунктах. Если цена исполнения находится в пределах, определяемых уровнем заморозки, то ордер не может быть модифицирован, отменен или закрыт.

 
Как можно проверить уровень заморозки ?
 
Stells писал(а) >>
Как можно проверить уровень заморозки ?

Рассчитать расстояние от позиции до цены и сравнить его с уровнем заморозки.

 
можно пример кода, для бай, например ?
 
Stells >>:
Как можно проверить уровень заморозки ?

:) Спросить у marketinfo

 
FreezLvl=MarketInfo(Symbol(), MODE_FREEZELEVEL)*_Point;

// для модификации стопов покупки
if (OrderTakeProfit()>0 && MathAbs(OrderTakeProfit()-Bid)<=FreezLvl) continue;
if (OrderStopLoss()>0 && MathAbs(OrderStopLoss()-Bid)<=FreezLvl) continue;


// для модификации стопов продажи
if (OrderTakeProfit()>0 && MathAbs(OrderTakeProfit()-Ask)<=FreezLvl) continue;
if (OrderStopLoss()>0 && MathAbs(OrderStopLoss()-Ask)<=FreezLvl) continue;

// для модификации отложенных ордеров покупки, продажи
if (MathAbs(OrderOpenPrice()-Ask)<=FreezLvl) continue;
if (MathAbs(OrderOpenPrice()-Bid)<=FreezLvl) continue;
 
sergeev >>:

спасибо

 
sergeev >>:

мне кажется в коде <= нужно поменять на >=,

или я не прав ?

Причина обращения: