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));
Да, я тут прочитал это.
Мне не очень важно их считать до 100%, думаю хватит и 50%.
Я хочу просто сосчитать сколько их примерно.
tick1= iVolume(NULL, PERIOD_M1,i); - вот так кажется я сосчитаю сколько их в минуту. Да?
Извините, я вижу вы программист.
Подскажите пожалуйста, если есть внешняя переменная
Например:
extern double pu = 70;
и в процессе выполняется программа - эта переменная изменяется. Как мне вернуть значение заданное в самом начале перед следующем выполнении програмы.
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 был как задан в самом начале.
Вот пример
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, вариантов масса скажите что хотите сделать?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте. Подскажите пожалуйста как мне сосчитать тики.
Надо как то сосчитать сколько тиков было в баре №1.