Такая проблема
После пересечения скользящих средних нужно входить, но нужно игнорировать все следующие пересечения пока не закроется ордер.
datetime TimeBar; а не int. Больше ошибок не вижу.
datetime TimeBar; а не int. Больше ошибок не вижу.
Ордер закрывается по SL или TP, но возможно пересечение скользящих средних, и тогда будет открыт новый ордер, при том что предыдущий не закрылся, а мне надо что бы новый открывался только когда предыдущий закрылся.
Да.... сделки открываются только Buy
Ордер закрывается по SL или TP, но возможно пересечение скользящих средних, и тогда будет открыт новый ордер, при том что предыдущий не закрылся, а мне надо что бы новый открывался только когда предыдущий закрылся
Для начала тип переменной TimeBar должен быть datetime.
Перед отправкой торгового приказа проверяйте наличие уже открытых ордеров (функция OrdersTotal() возвращает кол-во открытых ордеров).
Посмотрите примеры советников в базе кодов, по сто раз одно и тоже писать не хочется.
Для начала тип переменной TimeBar должен быть datetime.
Перед отправкой торгового приказа проверяйте наличие уже открытых ордеров (функция OrdersTotal() возвращает кол-во открытых ордеров).
за datetime спасибо, уже исправил :)
А OrdersTotal не поможет, если вручную был вход, или с другого советника ?
за datetime спасибо, уже исправил :)
А OrdersTotal не поможет, если вручную был вход, или с другого советника ?
Проверяйте ордера на наличие магического номера.
То есть отправляя торговый приказ на сервер указывайте ордеру уникальный маг. номер. По нему вы будете отличать ордера своего советника от других советников и от открытых вручную.
Проверяйте ордера на наличие магического номера.
То есть отправляя торговый приказ на сервер указывайте ордеру уникальный маг. номер. По нему вы будете отличать ордера своего советника от других советников и от открытых вручную.
да, нужно использовать magic Number, возможно Symbol(). Но как написать проверку?
Помогите пожалуйста... я уже столько времени на это потратил и ничего не выходит
Вот простой пример:
int OrderCount(int MN,string SMB) { int count = 0; int Total = OrdersTotal(); if (Total==0) return(0); for(int i=Total-1; i>=0; i--) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue; if (OrderMagicNumber()!=MN && OrderSymbol()!=SMB) continue; count++; } return(count); }
Вот простой пример:
Вот простой пример:
Эта функция считает кол-во всех ордеров любого типа имеющих магической номер MN и символ SMB.
Пример.
if (OrderCount(12345,"EURUSD")==0) OrderSend();
Эта функция считает кол-во всех ордеров любого типа имеющих магической номер MN и символ SMB.
Пример.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Такая проблема
После пересечения скользящих средних нужно входить, но нужно игнорировать все следующие пересечения пока не закроется ордер.