Помогите найти ошибку, она мне уже мозг вынесла))

 
SL_B = NormalizeDouble(Ask - brake_stop * Point, Digits);

double pps = NormalizeDouble(High[1] + (Otstup + MarketInfo(Symbol(), MODE_SPREAD)) * Point, Digits); 

 

fun_open_order(Symbol(), OP_BUYSTOP, lots, pps, Slippage, SL_B, 0, NULL, Magic1, 0, clrDarkTurquoise);

Код Ошибки 4107
 
Myth63:

ошибка с Сhart.... судя по коду. попробуй цвет сменить

это МТ4
 

Это - четвёрка.

4107 - неправильный ценовой параметр.

Из кода не видно, по какой цене выставляется BUY_STOP. Не слишком ли близко к рынку.

Также нужно выяснить, можно ли выставлять стопы при выставлении ордера. И если да, то не слишком близко ли выставляется стоп

 
stringo:

Это - четвёрка.

4107 - неправильный ценовой параметр.

Из кода не видно, по какой цене выставляется BUY_STOP. Не слишком ли близко к рынку.

Также нужно выяснить, можно ли выставлять стопы при выставлении ордера. И если да, то не слишком близко ли выставляется стоп

Ставлю отступ 1000, стоп лосс тоже очень большой, вывожу цену BUYSTOP в комменты, смотрю все норм, я ваще хз))
 

SL_S = NormalizeDouble(Bid + brake_stop * Point, Digits);

double pricess = NormalizeDouble(Low[1] - Otstup * Point, Digits);

fun_open_order(Symbol(), OP_SELLSTOP, lots, pricess, Slippage, SL_S, 0, NULL, Magic1, 0, clrCrimson);

На продажу норм работает
 
AntonDurden:

приведенного описания -- достаточно только для догадок.

надо больше информации -- значения задействованных переменных, уровни хай/лоу к которым идёт привязка. 

 

выведи pps и SL_B какое значение идет в функцию открытия, и все встанет на свои места.

 
AntonDurden:
SL_B = NormalizeDouble(Ask - brake_stop * Point, Digits);

double pps = NormalizeDouble(High[1] + (Otstup + MarketInfo(Symbol(), MODE_SPREAD)) * Point, Digits); 

 

fun_open_order(Symbol(), OP_BUYSTOP, lots, pps, Slippage, SL_B, 0, NULL, Magic1, 0, clrDarkTurquoise);

Код Ошибки 4107
OrderSend(Symbol(), OP_BUYSTOP, Lot, _OpenPriceLevel, 5, _StopLossLevel, _TakeProfitLevel, "",MagicNumber )

найди отличие

//NULL и т.д.???

остальное тут:

https://www.mql5.com/ru/articles/1404

Управление ордерами – это просто
Управление ордерами – это просто
  • 2006.06.02
  • Andrey Khatimlianskii
  • www.mql5.com
Статья описывает разнообразные способы контроля открытых позиций и отложенных ордеров и призвана облегчить написание экспертов.
 
_new-rena:

найди отличие

//NULL и т.д.???

Иногда полезно заглядывать в документацию https://docs.mql4.com/ru/trading/ordersend

int  OrderSend(
   string   symbol,              // символ
   int      cmd,                 // торговая операция
   double   volume,              // количество лотов
   double   price,               // цена
   int      slippage,            // проскальзывание
   double   stoploss,            // stop loss
   double   takeprofit,          // take profit
   string   comment=NULL,        // комментарий
   int      magic=0,             // идентификатор
   datetime expiration=0,        // срок истечения ордера
   color    arrow_color=clrNONE  // цвет
   );
 
abolk:

Иногда полезно заглядывать в документацию https://docs.mql4.com/ru/trading/ordersend

тогда ой. видимо цена pps как то не там или Otstup - int) вобщем на бумажке посчитать сначала...