как исправить код, чтобы следующий ордер открывался позже предыдущего на одну минуту - страница 2

[Удален]  
DhP:

Вставьте перед операцией открытия ордера:

static datetime LastOpenTime;

if(TimeCurrent()- LastOpenTime<60)return(0);

а следом за {OrderSend(.....); LastOpenTime=TimeCurrent();}


 if(TimeCurrent()- LastOpenTime<60)return(0);

если (время сервера() - время сервера<60)???????? я здесь не понял
[Удален]  
неужели никто не знает?
 
charony:
если (время сервера() - время сервера<60)???????? я здесь не понял

LastOpenTime - это время открытия последнего ордера
[Удален]  
вы на код посмотрите
 
charony:

вы на код посмотрите

Смотрю:

а следом за {OrderSend(.....); LastOpenTime=TimeCurrent();} При открытии ордера запоминается время открытия.

[Удален]  

вставьте это static datetime LastOpenTime;

if(TimeCurrent()- LastOpenTime<60)return(0);

а следом за {OrderSend(.....); LastOpenTime=TimeCurrent();}

в код,может у вас получится?

я вставлял не работает

[Удален]  
нужно вставить это

for(int i=OrdersTotal() −1;i>=0;i--)
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if(TimeCurrent() - OrderOpenTime()>60)

OpenOrder();

вставляю не работает
[Удален]  

повторю вопрос,как изменить код?

чтобы при одном открытом ордере, второй мог открыться только по истечении 60сек. и сигнала на открытие

если открытых ордеров нет, то должен открываться сразу при приходе сигнала на открытие

[Удален]  
khorosh Смотрю:

а следом за {OrderSend(.....); LastOpenTime=TimeCurrent();} При открытии ордера запоминается время открытия.


LastOpenTime = последнему OrderOpenTime, но никак не TimeCurrent

плохо смотрите

 
charony:
нужно вставить это

for(int i=OrdersTotal() −1;i>=0;i--)
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if(TimeCurrent() - OrderOpenTime()>60)

OpenOrder();

вставляю не работает
Выложите код полностью, тогда можно подумать.