[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 43

 
sergeev:

Сделка в определенное время


1
Mega4alik 03.08.2011 17:34

Как написать советника который который открывает сделку в определенную секунду?

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

А если в эту секунду будет кратковременный разрыв связи? И это явление встречается очень часто у всех брокеров.

if(TimeHour(prevtime)==1 && TimeMinute(prevtime)==1 && TimeSeconds(prevtime)==1)
{
функция открытия ордера
}

prevtime=TimeCurrent();

примерно так и еще нужно весь старт зациклить:


int start()
{
while(!IsStopped())
{

RefreshRates();

все операции

}

}

 
demlin:
...Ctrl+Alt+M было раньше для вставки кода, че-то не работает. SRC не могу найти, уж извините пож.
Как оформить пост, вставить код программы, изображение, видео
 

demlin т.е. в любом случае выполнится второе условие?



 
if (x2==x1) return(y1);
else
return((y2-y1)/(x2-x1)*(x-x1)+y1);}
 
nuan:

в нем и смысл - вычисление значения
 
demlin вы пытаетесь сначала одно значение вернуть
return(y1);
потом сразу другое
return((y2-y1)/(x2-x1)*(x-x1)+y1);
а смысл у1 возвращать
 
nuan:
demlin вы пытаетесь сначала одно значение вернуть

y1 возвращается в случае если х1=х2, т е точка одна. Если точек две и х1 не равен х2, тогда происходит вычисление.

С функцией все нормально, я отдельно ее тестировал вне цикла - корректно работает

 
nuan:

А что вам не понятно? Не путайте человека:

double EquationDirect(double x1, double y1, double x2, double y2, double x) 
{
  if (x2==x1) return(y1);              // Если х2 равно х1, то вычислять ничего не нужно, а просто вернуть значение y1
  return((y2-y1)/(x2-x1)*(x-x1)+y1);   // а тут вычисления нужны (х2 не равно х1), вычисляем значение по формуле уравнения прямой и возвращаем его
}

Так понятнее?

 
demlin:

y1 возвращается в случае если х1=х2, т е точка одна. Если точек две и х1 не равен х2, тогда происходит вычисление.

С функцией все нормально, я отдельно ее тестировал вне цикла - корректно работает

Ещё раз дайте в студию участок кода индикатора, куда хотите всё это впихнуть. Но... точно не нужно буфер увеличивать - нужно смещать указатель на ячейку буфера куда значение вписывать.

Причина обращения: