надо скорее всего Volume анализировать...
if(New_Time!=Time[0])
Это условие не есть правильным. Time[0] возвращает количество секунд, прошедших начиная от 1970.01.01 до момента появления нулевого бара. Думаю, правильнее будет так:
if(TimeCurrent()==Time[0]) ...
Если текущее время совпадает с временем открытия новго бара, тогда..
Это условие не есть правильным. Time[0] возвращает количество секунд, прошедших начиная от 1970.01.01 до момента появления нулевого бара. Думаю, правильнее будет так:
Если текущее время совпадает с временем открытия новго бара, тогда..
if(TimeCurrent()==Time[0])
ошибка! так пролетать будете
это не лучший способ поиска нового бара
---
есть достаточно высокая вероятность есть получить на первом тике значение VOLUME[0] >= 2
есть такая проблема - называется - пропущенные бары
а вот конструкция
if(New_Time!=Time[0]) { New_Time =Time[0] ; // новый бар }
не пропустит новый бар
Чтобы эксперт при установке не выдавал сообщений, а ждал до появления нового бара, надо вынести переменную New_Time в глобальные и инициализировать её в ф-ции init.
datetime New_Time; int init() { New_Time=Time[0]; return; }
icq 379296833
rtfi91@rambler.ru
Чтобы эксперт при установке не выдавал сообщений, а ждал до появления нового бара, надо вынести переменную New_Time в глобальные и инициализировать её в ф-ции init.
А если эксперт запущен в самом начале нового бара и надо чтобы он отреагировал?
Вот более универсальное решение ( пример для заданного ТФ 4Н ):
extern int WorkingTF = 240; extern int MaxNewWorkingTFBarTime = 10;
datetime WorkingTFBar = 0;
// Проверим сколько реально времени прошло от начала нового бара к приходу первого тика: int minutes = TimeMinute( TimeCurrent( )); if( WorkingTF > 60 ) { int houres = TimeHour( TimeCurrent( )); if(( houres % ( WorkingTF / 60 )) > 0 ) { return( 0 ); } } if( minutes > MaxNewWorkingTFBarTime ) { return( 0 ); } // Итак, это новый бар на заданном ТФ и в заданном временном промежутке от начала бара, - значит идем дальше: WorkingTFBar = iTime( Symbol( ), WorkingTF, 0 );
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Я новичок в програмировании, не могу никак розобратса в коде.
Это из учебника.
Задача 26.Найти минимальное и максимальное значения цены среди последних n баров.
??? Как сделать так, чтобы он видавал первое сообщение не при первом тике а при появлении нового бара???