Прекращать конечно же не стоит. Во-первых у вас ордер на покупку открывается командой OP_SELL, что уже необычно :) Потом нужно четко помнить, что покупаем мы всегда по цене Ask, а продаем по Bid. Поэтому ордер на продажу у вас тоже не откроется (у вас по цене ask продает). Ну и третья грабля может быть в размере стопов. 35 пунктов на пятизнаке это 3.5 старых четырехзначных пункта. Если брокер пятизначный, то такой стоп/тейк может и не выставиться из-за его близости. Ну и опять-таки у вас там Bid везде в коде стопов. Удачи.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Заинтересовался программированием. решил написать какой нить советник. И задумал я выставлять ордера при помощи пользовательских функций и их вызовом. написал пользовательские функции и для начала вызовы поставил в старте для проверки. при тесте появляеться ошибка 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 из-за этой моей ошибки, которую я не могу заметить в силу своей неопытности.