Помогите дописать советника!

 

Здраствуйте! Кто знает как написать такое условие! Например : Double R=(Bid(Прошлое значение)-Bid(Текушее значение));

 
admin86 >>:

Здраствуйте! Кто знает как написать такое условие! Например : Double R=(Bid(Прошлое значение)-Bid(Текушее значение));


  Если под "прошлым значением" подразумевается значение в этой же свече но на тик раньше то только сохранением этого значение в какой то переменной. Естественно эта переменная должна быть глобальной.
 
admin86 >>:

Здраствуйте! Кто знает как написать такое условие! Например : Double R=(Bid(Прошлое значение)-Bid(Текушее значение));


double Bid0=-1, R;

int start()
{
  if (Bid0>0) R=Bid0-Bid; 

  Bid0=Bid;
}
 
sergeev >>:



Кстати это может не сработать при больших объемах вычислений в функции start - некоторые тики могут быть пропущены. Но это уже совсем другая история :-)
 
SofTAA >>:


  Если под "прошлым значением" подразумевается значение в этой же свече но на тик раньше то только сохранением этого значение в какой то переменной. Естественно эта переменная должна быть глобальной.

Суть задачи такова нужно, например: по валютной паре EURUSD есть главное значение Bid 1.4848 на текущий тик, на следущий тик значение Bid меняется на 1.4850. Так вот как прописать код советника что б переменная дала ответ 0.0002, а на следущем тике происходил перещет значений?

Здесь понятно что надо записать значение в переменную типа масив но как ето  сделать? А может и не масив! Задачка похожая на прописание индикаторов, где для значений создается какойто буфер с памятью.

 
sergeev >>:


double Bid0=-1, R;

int start()
{
if (Bid0>0) R=Bid0-Bid;

Bid0=Bid;
}

Вот что будет когда дописать код: Coment(R,"пробел :)",Bid0);

на екране: 0 пробел:) -1, ето не то! Идет речь о Bid валютных котировок!

 
admin86 писал(а) >>

double Bid0=-1, R;

int start()
{
if (Bid0>0) R=Bid0-Bid;

Bid0=Bid;
}

Вот что будет когда дописать код: Coment(R,"пробел :)",Bid0);

на екране: 0 пробел:) -1, ето не то! Идет речь о Bid валютных котировок!

Если Вы оформили этот код в качестве скрипта, то результат будет именно таким.

Хотя, нет, не так. Bid0 уже на первом тике примет значение из Bid.

А если ввиде советника, то на первом тике он выдаст то, что написано выше, а на втором - R будет содержать требуемую разницу.

PS.

Только не забывайте, что непрерывность тикового потока Вам никто не гарантирует.

 
admin86 писал(а) >>

double Bid0=-1, R;

int start()
{
if (Bid0>0) R=Bid0-Bid;

Bid0=Bid;
}

Вот что будет когда дописать код: Coment(R,"пробел :)",Bid0);

на екране: 0 пробел:) -1, ето не то! Идет речь о Bid валютных котировок!

Для вывода желательно использовать функцию DoubleToStr( ) . Иначе 0 для пятого знака будет

 
admin86 >>:

Суть задачи такова нужно, например: по валютной паре EURUSD есть главное значение Bid 1.4848 на текущий тик, на следущий тик значение Bid меняется на 1.4850. Так вот как прописать код советника что б переменная дала ответ 0.0002, а на следущем тике происходил перещет значений?

Здесь понятно что надо записать значение в переменную типа масив но как ето  сделать? А может и не масив! Задачка похожая на прописание индикаторов, где для значений создается какойто буфер с памятью.


В массив естественно ничего писать не требуется, достаточно одной переменной. Собственно sergeev Вам написал код верного решения.
 
SofTAA >>:


В массив естественно ничего писать не требуется, достаточно одной переменной. Собственно sergeev Вам написал код верного решения. 

Все разобрался!!! Большое спасибо всем кто отавил комент, особенно sergeev (это то)!

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