У меня на одном терминале с NDD счетом есь на всех кроме М5 и М1. Никак не пойму в чем загвоздка! Никто не встречался с подобной фигней?
Самое интересное, что после нескольких запусков перестал работать. Теперь всё, как у Вас.
Код, вроде, правильный.
Запрет деления на ноль еще пока никто не отменил!
(2010.07.15 21:42:18 Dix GBPUSD,M5: zero divide)
///////////////////////////////// double setDix(int period, int i) { double rt=0,rr=0; int j=i; while(j<=i+period-1) { rt+=MathAbs(Close[j]-Open[j])/Point; rr+=(Close[j]-Open[j])/Point; j++; } if(rt==0)rt=0.0000001; return(rr/rt*100); } /////////////////////////////// double setVol(int period, int i) { double rtv=0, rtf=0; int j=i; while(j<=i+period-1) { rtv+=MathAbs(Close[j]-Open[j])/Point; rtf+=MathAbs(High[j]-Low[j])/Point; j++; } if(rtv==0)rtv=0.0000001; return(rtf/rtv*15); } ///
Можно так попробовать.
Да, действительно! Сам недавно обнаружил у себя такое. Мне это не сильно мешало. Но оказалось очень много есть баров со всеми одинаковыми ценами. Даже на старших ТФ. При арифметических действиях возможен в результате ноль.
Мне пришлось свою математику вводить : 0 / 0 = 1
Это, чтобы ряд не прерывался: 0 / 0 = 1; 1 / 1 = 1; 2 / 2 = 1 ...
to VBAG: спасибо! Не учел я вероятность нулевого результата! Спасибо за помощь!
А так еще лучше:
///////////////////////////////// double setDix(int period, int i) { double rt=0,rr=0; int j=i; while(j<=i+period-1) { rt+=MathAbs(Close[j]-Open[j]);///Point; rr+=(Close[j]-Open[j]);///Point; j++; } if(rt==0)rt=0.0000001; return(rr/rt*100); } /////////////////////////////// double setVol(int period, int i) { double rtv=0,rtf=0; int j=i; while(j<=i+period-1) { rtv+=MathAbs(Close[j]-Open[j]);///Point; rtf+=MathAbs(High[j]-Low[j]);///Point; j++; } if(rtv==0)rtv=0.0000001; return(rtf/rtv*15); } ///
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Господа выручайте :)
Никак не пойму - индюк не всегда выводится, например на Н1 есть, на М30 есть, на М15 есть, перехожу на М5 - нет! Даже не то чтобы нет, а есть но до определенной даты какой нибудь. В терминалах разных брокеров/дц ситуация различная .. Ничего не понимаю )))