как исправить код, чтобы следующий ордер открывался позже предыдущего на одну минуту - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вставьте перед операцией открытия ордера:
static datetime LastOpenTime;
if(TimeCurrent()- LastOpenTime<60)return(0);
а следом за {OrderSend(.....); LastOpenTime=TimeCurrent();}
если (время сервера() - время сервера<60)???????? я здесь не понял
вы на код посмотрите
Смотрю:
а следом за {OrderSend(.....); LastOpenTime=TimeCurrent();} При открытии ордера запоминается время открытия.
if(TimeCurrent()- LastOpenTime<60)return(0);
а следом за {OrderSend(.....); LastOpenTime=TimeCurrent();}
в код,может у вас получится?
я вставлял не работает
for(int i=OrdersTotal() −1;i>=0;i--)
OpenOrder();if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if(TimeCurrent() - OrderOpenTime()>60)
повторю вопрос,как изменить код?
чтобы при одном открытом ордере, второй мог открыться только по истечении 60сек. и сигнала на открытие
если открытых ордеров нет, то должен открываться сразу при приходе сигнала на открытие
а следом за {OrderSend(.....); LastOpenTime=TimeCurrent();} При открытии ордера запоминается время открытия.
LastOpenTime = последнему OrderOpenTime, но никак не TimeCurrent
плохо смотрите
нужно вставить это
for(int i=OrdersTotal() −1;i>=0;i--)
OpenOrder();if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if(TimeCurrent() - OrderOpenTime()>60)