Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
При тестировании нужно указывать период M15, все тики.
//+-------------------------------------------------------------------------------+ //| MultiframeTester.mqh | //| Мультифреймовый тестер | //| Предназначен для тестирования экспертов, работающих на нескольких таймфреймах | //+-------------------------------------------------------------------------------+ int MultiframeTester() { double arr_M15[][6]; double arr_M30[][6]; double arr_H1[][6]; double arr_H4[][6]; double arr_D1[][6]; ArrayCopyRates(arr_M15,Symbol(), PERIOD_M15); ArrayCopyRates(arr_M30,Symbol(), PERIOD_M30); ArrayCopyRates(arr_H1,Symbol(), PERIOD_H1); ArrayCopyRates(arr_H4,Symbol(), PERIOD_H4); ArrayCopyRates(arr_D1,Symbol(), PERIOD_D1); //время нулевого бара на разных таймфреймах datetime zbt_M15=arr_M15[0][0]; datetime zbt_M30=arr_M30[0][0]; datetime zbt_H1=arr_H1[0][0]; datetime zbt_H4=arr_H4[0][0]; datetime zbt_D1=arr_D1[0][0]; //начальные значения open, low, high, close double open=arr_M15[0][1]; double low=arr_M15[0][2]; double high=arr_M15[0][3]; double close=arr_M15[0][4]; //обновление значений нулевых баров больших таймфреймов int i=0; while (zbt_M15>=zbt_D1) { zbt_M15=arr_M15[i][0]; open=arr_M15[i][1]; if (low>arr_M15[i][2]) low=arr_M15[i][2]; if (high<arr_M15[i][3]) high=arr_M15[i][3]; //обновление 30-минуток if (zbt_M30==zbt_M15) {arr_M30[0][1]=open; arr_M30[0][2]=low; arr_M30[0][3]=high;} //обновление 60-минуток if (zbt_H1==zbt_M15) {arr_H1[0][1]=open; arr_H1[0][2]=low; arr_H1[0][3]=high;} //обновление 4-х-часовок if (zbt_H4==zbt_M15) {arr_H4[0][1]=open; arr_H4[0][2]=low; arr_H4[0][3]=high;} //обновление дневок if (zbt_D1==zbt_M15) {arr_D1[0][1]=open; arr_D1[0][2]=low; arr_D1[0][3]=high;} i++; } //обновление цен закрытия на всех таймфреймах arr_M30[0][4]=close; arr_H1[0][4]=close; arr_H4[0][4]=close; arr_D1[0][4]=close; return(0); }1. Создаем в каталоге Include файл filename.mqh
2. Копируем код в файл
3. Вставляем в тексте эксперта команду #include <filename.mqh>
4. В начале процедуры int Start() эксперта вызываем функцию MultiframeTester()
Enjoy.
Вот так некоторые пользователи извращаются если нет нормального тестера :)