Не могу найти ошибку.

 
Набросал простенький индикатор (так сказать исследование), а от него терминал с крашем падает.
Как не пытался я его отладить ничего не выходит, сначала думал что у меня индекс массива выходит за размер массива, но попробовал в наглую это сделать терминал не вылетел. Короче вот индикатор


#property copyright "Copyright © 2006, Jhonny"
#property link      "mailto:Jhonnyfx@mail.ru"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- buffers
double ExtMapBuffer1[];
int up[1500];
int down[1500];

int init()
  {

   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexBuffer(0,ExtMapBuffer1);
   ArrayInitialize(up,1);
   ArrayInitialize(down,1);

   return(0);
  }


int start()
  {
   bool     ex=false;
   datetime time=StrToTime("2006.10.12");
   int      N =iBarShift(Symbol(),Period(),time, ex);
   for(int i=MathFloor(N*Period()/1440);i>0;i--) // успевает пройти 2-3 цикла
    {Print(i);
    int j=0;
      while(TimeDay(Time[i])==TimeDay(Time[i-j]))
      { 
         int adr=MathRound((Open[i]-Close[i-j])/Point);

         if(adr>0)up[adr]++;
         else {adr=-1*adr;down[adr]++;}
         j++;
         if(i<j) break;
      }
 }
 
   Print("all correct!");// не доходит до выполнения этой строки
   
   for (i=0;i<499;i++)ExtMapBuffer1[i]=down[i];
   for (i=0;i<499;i++)ExtMapBuffer1[i+500]=up[i];   

   return(0);
  }




А вотон краш

There has been a critical error
Time        : 2006.11.13 00:14
Program     : Client Terminal
Version     : 4.00 (build: 199, 07 Nov 2006)
Owner       : MetaQuotes Software Corp. (MetaTrader)
OS          : Windows XP Professional 5.1 Service Pack 2 (Build 2600)
Processors  : 2, type 586, level 15
Memory      : 458220/171332 kb
Exception   : C0000005
Address     : 0045CAC9
Access Type : write
Access Addr : 00000002

Registers   : EAX=01CD95F4 CS=001b EIP=0045CAC9 EFLGS=00010216
            : EBX=00000002 SS=0023 ESP=0012E6C4 EBP=0012E6FC
            : ECX=00000002 DS=0023 ESI=0045BB0C FS=003b
            : EDX=00000038 ES=0023 EDI=01F5F388 GS=0000

Stack Trace : 00451AAC 02998370 00483E90 BE8D016A
            : 00000000 00000000 00000000 00000000
            : 00000000 00000000 00000000 00000000
            : 00000000 00000000 00000000 00000000
Modules     :
          1 : 00400000 007A8000 E:\MT\terminal.exe
          2 : 03460000 00007000 C:\Program Files\RBTray\RBHook.dll
          3 : 10000000 00006000 C:\Program Files\Punto Switcher\correct.dll
          4 : 20000000 002CD000 C:\WINDOWS\system32\xpsp2res.dll
          5 : 5B260000 00038000 C:\WINDOWS\system32\UxTheme.dll
          6 : 61EC0000 0000E000 C:\WINDOWS\system32\MFC42LOC.DLL
          7 : 698B0000 00058000 C:\WINDOWS\system32\hnetcfg.dll
          8 : 71A30000 00040000 C:\WINDOWS\system32\mswsock.dll
          9 : 71A70000 00008000 C:\WINDOWS\System32\wshtcpip.dll
         10 : 71A80000 00008000 C:\WINDOWS\system32\WS2HELP.dll
         11 : 71A90000 00017000 C:\WINDOWS\system32\WS2_32.dll
         12 : 72CD0000 00008000 C:\WINDOWS\system32\msacm32.drv
         13 : 72CE0000 00009000 C:\WINDOWS\system32\wdmaud.drv
         14 : 73D90000 000FE000 C:\WINDOWS\system32\MFC42.DLL
         15 : 76350000 00005000 C:\WINDOWS\system32\MSIMG32.dll
         16 : 76380000 00049000 C:\WINDOWS\system32\comdlg32.dll
         17 : 769A0000 000B4000 C:\WINDOWS\system32\USERENV.dll
         18 : 76B20000 0002E000 C:\WINDOWS\system32\WINMM.dll
         19 : 76C20000 0002E000 C:\WINDOWS\system32\WINTRUST.dll
         20 : 76C80000 00028000 C:\WINDOWS\system32\IMAGEHLP.dll
         21 : 76D50000 00019000 C:\WINDOWS\system32\iphlpapi.dll
         22 : 76F10000 00027000 C:\WINDOWS\system32\DNSAPI.dll
         23 : 76F50000 0002D000 C:\WINDOWS\system32\WLDAP32.dll
         24 : 76FA0000 00008000 C:\WINDOWS\System32\winrnr.dll
         25 : 76FB0000 00006000 C:\WINDOWS\system32\rasadhlp.dll
         26 : 77110000 0008C000 C:\WINDOWS\system32\OLEAUT32.dll
         27 : 773C0000 00102000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\comctl32.dll
         28 : 774D0000 0013C000 C:\WINDOWS\system32\ole32.dll
         29 : 77A70000 00095000 C:\WINDOWS\system32\CRYPT32.dll
         30 : 77B10000 00012000 C:\WINDOWS\system32\MSASN1.dll
         31 : 77BC0000 00007000 C:\WINDOWS\system32\midimap.dll
         32 : 77BD0000 00015000 C:\WINDOWS\system32\MSACM32.dll
         33 : 77C00000 00058000 C:\WINDOWS\system32\msvcrt.dll
         34 : 77D30000 00090000 C:\WINDOWS\system32\USER32.DLL
         35 : 77DC0000 000AC000 C:\WINDOWS\system32\ADVAPI32.dll
         36 : 77E70000 00091000 C:\WINDOWS\system32\RPCRT4.dll
         37 : 77F10000 00046000 C:\WINDOWS\system32\GDI32.dll
         38 : 77F60000 00076000 C:\WINDOWS\system32\SHLWAPI.dll
         39 : 7C800000 000F6000 C:\WINDOWS\system32\kernel32.dll
         40 : 7C900000 000B1000 C:\WINDOWS\system32\ntdll.dll
         41 : 7C9C0000 00818000 C:\WINDOWS\system32\SHELL32.dll

Call stack  :
0045BA90:1039 [0045CAC9] ?ExecuteStaticAsm@CExpertInterior
004519A0:010C [00451AAC] ?RunExpertInt@CExpertInterior
00483E90:0000 [00483E90] ?Name@CIndCustom




ЗЫ никаких длл ни в индюке не радом на графиках


 
Знаешь, сам в смятении. Как только заменил:
down[adr]++;
на
down[adr]=down[adr]+1;
сразу ошибка исчезла. А вот почему? Нужен кто потолковее. :-)
 
Блин... ирония судьбы.
Всегда раньше программил на делфи, и никогда не пользовался тамашенй функцией inc(), всегда писал x:=x+1 а тут думаю дай сделаю как правильно, хотя при первой компиляции когда еще на график ни разу не бросал написал down[adr]=down[adr]+1; и потом поправил, да уж...
 
Спасибо за креш. Будем проверять
 
Все в 200 билде эта ошибка ушла.
Причина обращения: