Как сосчитать тики?

 

Здравствуйте. Подскажите пожалуйста как мне сосчитать тики.

Надо как то сосчитать сколько тиков было в баре №1.

 

double iVolume( string symbol, int timeframe, int shift) 
Возвращает значение тикового объема указанного параметром shift бара с соответствующего графика (symbol, timeframe). В случае ошибки функция возвращает 0. Для получения дополнительной информации об ошибке необходимо вызвать функцию GetLastError().
Для текущего графика информация о тиковых объемах каждого бара находится в предопределенном массиве Volume[]. 
Параметры:
symbol - Символьное имя инструмента. NULL означает текущий символ. 
timeframe - Период. Может быть одним из периодов графика. 0 означает период текущего графика. 
shift - Индекс получаемого значения из таймсерии (сдвиг относительно текущего бара на указанное количество периодов назад). 

Пример:
  Print("Current bar for USDCHF H1: ",iTime("USDCHF",PERIOD_H1,i),", ", iOpen("USDCHF",PERIOD_H1,i),", ",
  iHigh("USDCHF",PERIOD_H1,i),", ", iLow("USDCHF",PERIOD_H1,i),", ",
  iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));

 


 
kda >>:

Здравствуйте. Подскажите пожалуйста как мне сосчитать тики.

Надо как то сосчитать сколько тиков было в баре №1.

в теории можно - практически нет

т к - часть тиков просто может не дойти до Вас

---

 

Да, я тут прочитал это.

Мне не очень важно их считать до 100%, думаю хватит и 50%.

 
kda >>:

Да, я тут прочитал это.

Мне не очень важно их считать до 100%, думаю хватит и 50%.

а зачем считать тики ?

в текущем работающем баре


--

в закрытом баре они в принципе есть ...

 

Я хочу просто сосчитать сколько их примерно.

 

tick1= iVolume(NULL, PERIOD_M1,i); - вот так кажется я сосчитаю сколько их в минуту. Да?

Извините, я вижу вы программист.

Подскажите пожалуйста, если есть внешняя переменная

Например:

extern double pu = 70;

и в процессе выполняется программа - эта переменная изменяется. Как мне вернуть значение заданное в самом начале перед следующем выполнении програмы.

 
kda >>:

Я хочу просто сосчитать сколько их примерно.

зачем придумывать себе работу ?

все уже до вас посчитано...

---

берите их из Volume[1][2][3] ...[x]

и не надо считать ...


не закрытый бар - не трогайте да и все

 
kda >>:

tick1= iVolume(NULL, PERIOD_M1,i); - вот так кажется я сосчитаю сколько их в минуту. Да?

Извините, я вижу вы программист.

Подскажите пожалуйста, если есть внешняя переменная

Например:

extern double pu = 70;

и в процессе выполняется программа - эта переменная изменяется. Как мне вернуть значение заданное в самом начале перед следующем выполнении програмы.

ДА

--

2-й вопрос требует формализации

для начала что такое PU ?

 

Вот пример

extern int stop_loss = 550 ;

int init()
{

return(0);
}

int start()
{

if (open[1]>close[1])

{

stop_loss=stop_loss*2;
}

return(0);
}

Как мне вернуть значение stop_loss после выполнения start. Ведь если "stop_loss=stop_loss*2; " исполнится 1 раз, то всегда stop_loss будет всегда в 2 раза больше.

Как мне каждый раз при начале выполнении start stop_loss был как задан в самом начале.

 
kda писал(а) >>

Вот пример

extern int stop_loss = 550 ;

int init()
{

return(0);
}

int start()
{

if (open[1]>close[1])

{

stop_loss=stop_loss*2;
}

return(0);
}

Как мне вернуть значение stop_loss после выполнения start. Ведь если "stop_loss=stop_loss*2; " исполнится 1 раз, то всегда stop_loss будет всегда в 2 раза больше.

Как мне каждый раз при начале выполнении start stop_loss был как задан в самом начале.

Если я Вас правильно понял то достаточно просто не назначать переменную stop_loss как внешнюю переменную. т.е.

int start()

{

int stop_loss = 550;

if (open[1]>close[1])

{

stop_loss=stop_loss*2;
}

return(0);
}

либо как вариант при исполнении кода всегда переопределять stop_loss

extern int stop_loss = 550 ;

int start()

{

stop_loss = 550;

if (open[1]>close[1])

{

stop_loss=stop_loss*2;
}

return(0);
}

Как вариант под измененную величину stop_loss можно завести иную переменную к примеру stop_loss_modified, вариантов масса скажите что хотите сделать?