Нужна помощь

 

Заинтересовался программированием. решил написать какой нить советник. И задумал я выставлять ордера при помощи пользовательских функций и их вызовом. написал пользовательские функции и для начала вызовы поставил в старте для проверки. при тесте появляеться ошибка order send error 130. как я понял это про неправильные стопы. поменял я их на более большие и все равно никак не изменилось это дело.

int start()
{
ordersell();
orderbay();
return(0);
}
//+------------------------------------------------------------------+
int orderbay()//функция открытия ордера на покупку
{
OrderSend(Symbol(),OP_SELL,0.1,Ask,3,Bid-35*Point,Bid+35*Point);
}
//+------------------------------------------------------------------+
int ordersell()//функция открытия ордера на продажу
{
OrderSend(Symbol(),OP_SELL,0.1,Ask,3,Bid-35*Point,Bid+35*Point);
}

Думаю ошибка в коде, но вот где? Не хотелось бы прекращать изучение mql из-за этой моей ошибки, которую я не могу заметить в силу своей неопытности.

 

Ве перепутали местами стоплосс и тейкпрофит во второй  ф-и

Для продажи (SELL) поменяйте их местами

т.е попробуйте  OrderSend(Symbol(),OP_SELL,0.1,Bid,Ask+35*Point,3,Ask-35*Point);

А для покупки (в первой ф-и)  замените OP_SELL на  OP_BUY

 
Прекращать конечно же не стоит. Во-первых у вас ордер на покупку открывается командой OP_SELL, что уже необычно :) Потом нужно четко помнить, что покупаем мы всегда по цене Ask, а продаем по Bid. Поэтому ордер на продажу у вас тоже не откроется (у вас по цене ask продает). Ну и третья грабля может быть в размере стопов. 35 пунктов на пятизнаке это 3.5 старых четырехзначных пункта. Если брокер пятизначный, то такой стоп/тейк может и не выставиться из-за его близости. Ну и опять-таки у вас там Bid везде в коде стопов. Удачи.