Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Оцени его работу в терминале MetaTrader 5
Битовый поток - библиотека для MetaTrader 5
- Просмотров:
- 879
- Рейтинг:
- Опубликован:
- 2021.10.03 16:06
- Обновлен:
- 2021.10.05 18:52
- Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Функционал библиотеки:
//Запись последовательности бит в поток template<typename T> int Write( const T &value,//Простая структура или переменная uint pos_bit_read=0,//С какой позиции начать считывание из структуры/переменной.Указывается в битах int bits_count=-1//Количество бит. -1=все до конца );//Возвращает количество записанных бит -1=ошибка //Чтение последовательности бит с потока template<typename T> int Read( T &value,//Простая структура или переменная uint pos_bit_write=0,//С какой позиции начать запись в структуру/переменную.Указывается в битах int bits_count=-1//Количество бит. -1=все до конца );//Возвращает количество прочитанных бит -1=ошибка //Копирование данных с потока в массив uchar //При необходимости,размер целевого массива будет увеличен автоматически //Позиция указателя в потоке не изменяется int Copy_to_array( uchar &dst_values[],//Массив назначения int dst_position_to,//Начальная позиция записи int bytes_count=-1,//Количество копируемых байт. -1=всё до конца потока int src_position_from=0//Начальная позиция чтения с потока в байтах );//Возвращает количество скопированных байт -1=ошибка //Копирование данных с массива uchar в поток //При необходимости,размер потока будет увеличен автоматически //Позиция указателя в потоке не изменяется int Copy_from_array( uchar &src_values[],//Исходный массив int src_position_from,//Начальная позиция чтения int bytes_count=-1,//Количество копируемых байт. -1=всё до конца массива uint dst_position_to=0//Начальная позиция записи в поток в байтах );//Возвращает количество скопированных байт -1=ошибка //Записывает один бит в поток bool Write_bit( bool value,//Записываемое значение uint pos_bit_write=UINT_MAX//UINT_MAX=запись в текущую позицию,указатель будет смещён на +1 );//Возвращает успешность операции //Чтение одного бита с потока bool Read_bit( uint pos_bit_read=UINT_MAX//UINT_MAX=чтение с текущей позиции,указатель будет смещён на +1 );//При ошибке возвращает false //Возвращает размер потока в битах uint Get_size( ); //Возвращает позицию указателя для записи/чтения в потоке uint Get_position( ); //Изменяет размер потока //Новый объём заполняется нулями void Set_size( uint new_size//Размер потока в битах ); //Изменяет позицию указателя на запись/чтение в потоке //Указатель не может быть больше размера потока bool Seek( uint offset,//Позиция в ьитах ENUM_FILE_POSITION origin//Позиция отсчёта );//Возвращает успешность операции
В комплекте есть скрипт для тестирования на ошибки и быстродействие.
У меня результат такой:
10*1024*1024 записей 61.631 мс 10*1024*1024 чтений 42.781 мс Время тестирования: 191.675 мс Ошибок при тестировании= 0
iBands Crossing the Middle
Стратегия по индикатору iBands (Bollinger Bands, BB) - пересечение серединной линии является сигналом
RSIOnMAOnRSI Cross signal only 2Доработка первой версии - добавлен Трейлинг
Extend Box
Индикатор-утилита: управляет прямоугольниками, всегда сдвигает правую границу по бару #0
Scripts TrianglesСкрипт находит все пары для треугольного арбитража.