[Invalid price] или как съехать в дурку - страница 2

 
Sergey Gridnev #:
PriceOpen() вызывается 6 раз. Всегда ли она возвращает одно и тоже значение?

Да, первым делом это проверил

 

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

 
Roman Shiredchenko #:

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

Спасибо

 
Anton Zverev #:

Спасибо

PriceOpen(Symbol_2,0)

вместо нуля сделайте количество знаков после запятой для торгуемого символа EURUSD это 5.

_DIGITS.

вот для примера 
SymbolInfoInteger(Symbol_2,SYMBOL_DIGITS)
 
Roman Shiredchenko #:

вместо нуля сделайте количество знаков после запятой для торгуемого символа EURUSD это 5.

_DIGITS.

Это другой параметр, сама функция возвращает уже нормализованную цену, там все гуд

 
Anton Zverev #:

Это другой параметр, сама функция возвращает уже нормализованную цену, там все гуд

тут Symbbol2 не надо?

вначале

 m_trade.BuyLimit(Symbol2,Lot_2,PriceOpen(Symbol_2,SYMBOL_DIGITS),0,tp_buy_2,ORDER_TIME_GTC,0,OrderComment);

проверьте правильность и порядок переменных в вашей реализации

m_trade.BuyLimit(Lot_2,PriceOpen(Symbol_2,0),Symbol_2,0,tp_buy_2,ORDER_TIME_GTC,0,OrderComment);
 

Короче народ решил я свою проблему сея расчётами, может пригодится кому-то:

Это для Бай Лимита

double ask          = SymbolInfoDouble(_Symbol,SYMBOL_ASK);
double bid          = SymbolInfoDouble(_Symbol,SYMBOL_BID);
long   stop_level   = SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL);
long   frezee       = SymbolInfoInteger(_Symbol,SYMBOL_TRADE_FREEZE_LEVEL);

if (PriceOpen < NormalizeDouble(ask-stop_level*_Point,_Digits) &&  PriceOpen < NormalizeDouble(ask-frezee*_Point,_Digits)) {
  CheckOrder=true;
  return(CheckOrder);
} 
else {
  CheckOrder=false;
  return(CheckOrder);
}
 
Anton Zverev #:

Короче народ решил я свою проблему сея расчётами, может пригодится кому-то:

Это для Бай Лимита

Т.е. проблема была в ненормализованных значениях.
 
Sergey Gridnev #:
Т.е. проблема была в ненормализованных значениях.
Вы типо угораете щас?)
 
Нет.
Просто, про нормализацию цены ордера и тейка вспомнили, а на очевидную причину, которая видна в коде первого сообщения, никто не обратил внимания.