После дебуггинг понял. Тестирование производил по Open Prices Only. Поэтому Close[0]=Open[0] на каждом новом баре. Поэтому смотря в прошлое, Close за какой-то бар не совпадает с тем Close когда тот бар был новым (нулевым).
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
int Run,n; double sum1,sum2,sum3; int init() { Run=1; n=1000; sum1=0.0; for(int i=0;i<=n-1;i++) sum1+=Close[i]; return(0); } int start() { int i; if(Run==1) { sum2=0.0; for(i=0;i<=n-1;i++) sum2+=Close[i]; } if(Run==2) { sum3=0.0; for(i=0;i<=n-1;i++) sum3+=Close[i+1]; Print("sum1=",sum1," sum2=",sum2," sum3=",sum3); } Run++; return(0); }Запускаю на М15 валютные пары. Получаю
2006.10.02 00:15 test EURUSD,M15: sum1=1271.2531 sum2=1271.2531 sum3=1271.253
2006.10.02 00:15 test GBPUSD,M15: sum1=1888.4309 sum2=1888.4309 sum3=1888.431
2006.10.02 00:15 test USDJPY,M15: sum1=117241.6999 sum2=117241.6999 sum3=117241.6599
Все суммы (sum1, sum2 и sum3) должны быть одинаковыми. Но получаются разными. Мой эксперт не работает из-за этого. помогите разобраться.