В массив надо записывать. И не TimeCurrent(), а OrderOpenTime().
она перезаписаться не может как нормальная переменная ?
дело то одно и то же, может разница в десятую секунды. (TimeCurrent(), а OrderOpenTime().)
но спасибо. попробую
Ну так и перзаписывается, на каждом новом ордере. И зачем оно такое нужно?
А доли секунды разницы только в тестере будут.
помог себе сам:
короче беда в строке {if (OrderSend(NULL,OP_BUY,LOT,Ask,0,0,0,NULL,0,clrDarkOrange)== true) нельзя так делать
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
здравствуйте, снова я с проблемами и с кодом.
/* --------- |*/bool OP()
/* |*/ {if (old<-150 && new>-150 )
/* --------- |*/ {if (OrderSend(NULL,OP_BUY,LOT,Ask,0,0,0,NULL,0,clrDarkOrange)== true)
/* --------- |*/ { i++; // самое первое действие
/* BUY |*/ OOT = TimeCurrent(); //OrderOpenTime()// второе - сохраняем время для ф-ции закрытия
/* |*/ Print ("открваемся на =", new, "предыдущий тик =", old);
/* |*/ return true;
/* |*/ }
/* ----------- |*/ }
не понимаю то ли я слепой, то ли в тестере какие то ограничения.
проблема в том, что этой OOT не присваивается значение TimeCurrent() во второй раз. На первой сделке все работает. На второй же - TimeCurrent() = 1970-й год. * 70-й потому что переменная обнуляется. если не обнулять, дата остается такой же как при первом присваивании. При том что все остальное с этого оператора выполняется.
помогите