Помогите пожалуйста разобраться.
Ситуация такая, один и тот же код тестирую на разных компьютерах - результат тестера разный.
Начал разбираться - на одном из терминалов не всегда входит по правилам.
Код абсолютно одинаковый, настройки сова и тестера одинаковые, брокер один.
Дошло до того, что удалил обе платформы, установил заново, закидываю один и тот же код - результаты разные.
А нет ли в коде операций сравнения с вещественными типами (double, float)? https://www.mql5.com/ru/docs/basis/types/double
А нет ли в коде операций сравнения с вещественными типами (double, float)? https://www.mql5.com/ru/docs/basis/types/double
Только в трейлинге, но по сути он не должен на открытие влиять
На первой картинке селл открывается выше красной машки а такого по условиям не должно быть
Только в трейлинге, но по сути он не должен на открытие влиять
На первой картинке селл открывается выше красной машки а такого по условиям не должно быть
Режим тестирования в тестере какой? Попробуйте режим "все тики" и выключить галочку "задержки".
Вот такой режим тестирования на обоих терминалах
Вот условия на вход:
int handle_ma;
int handle_open_bands;
double ma_buffer[];
double open_bands[];
ArraySetAsSeries(ma_buffer,true);
ArraySetAsSeries(open_bands,true);
handle_ma = iMA(NULL,timeframe,PeriodMa,0,MODE_EMA,PRICE_CLOSE);
handle_open_bands = iBands(NULL,timeframe,BandsOpen,0,DevOpenPos,PRICE_CLOSE);
CopyBuffer(handle_ma,0,0,2,ma_buffer);
CopyBuffer(handle_open_bands,1,0,2,open_bands);
ma = ma_buffer[1];
bandsUpper = open_bands[1];
if (ma >= bandsUpper )
TradeShort = true;
else TradeShort = false;
Как видно из первого рисунка, машка ниже верхнего канала боллинджера, то есть вход запрещен. На втором рисунке сделки заходят правильно.
Может поможет чем, на Windows 7 правильно тестирует, на Windows 8 и Windows Server 2012 неправильно.
Вот такой режим тестирования на обоих терминалах
Как видно из первого рисунка, машка ниже верхнего канала боллинджера, то есть вход запрещен. На втором рисунке сделки заходят правильно.
Может поможет чем, на Windows 7 правильно тестирует, на Windows 8 и Windows Server 2012 неправильно.
- Правильно вставляем код на форуме.
- Какой тип у переменных ma и bandsUpper? Если тип double, то снова читаем https://www.mql5.com/ru/docs/basis/types/double.
- Правильно вставляем код на форуме.
- Какой тип у переменных ma и bandsUpper? Если тип double, то снова читаем https://www.mql5.com/ru/docs/basis/types/double.
Нашел в чем проблема - советник при наступлении нового бара брал значения индикаторов не с первого бара (как установлено шифтом) а со второго. Потому что блок обработки тиков был перед блоком обработки бара в функции OnTick(). То есть на самом первом тике нового бара робот обрабатывал устаревшие данные уже ставшего вторым бара.
Но вопрос остается, почему на одном терминале все обрабатывалось нормально, а на втором - нет?
Нашел в чем проблема - советник при наступлении нового бара брал значения индикаторов не с первого бара (как установлено шифтом) а со второго. Потому что блок обработки тиков был перед блоком обработки бара в функции OnTick(). То есть на самом первом тике нового бара робот обрабатывал устаревшие данные уже ставшего вторым бара.
Но вопрос остается, почему на одном терминале все обрабатывалось нормально, а на втором - нет?
handle_ma = iMA(NULL,timeframe,PeriodMa,0,MODE_EMA,PRICE_CLOSE); handle_open_bands = iBands(NULL,timeframe,BandsOpen,0,DevOpenPos,PRICE_CLOSE); CopyBuffer(handle_ma,0,0,2,ma_buffer); CopyBuffer(handle_open_bands,1,0,2,open_bands);
1. Вы каждый раз, на каждой итерации, создаёте индикаторы. Неправильно это. Нужно создавать индикаторы однократно в OnInit
2. Нет ни одной проверки успешности выполнения функций
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Помогите пожалуйста разобраться.
Ситуация такая, один и тот же код тестирую на разных компьютерах - результат тестера разный.
Начал разбираться - на одном из терминалов не всегда входит по правилам.
Код абсолютно одинаковый, настройки сова и тестера одинаковые, брокер один.
Дошло до того, что удалил обе платформы, установил заново, закидываю один и тот же код - результаты разные.