MT Падает, почему?

 
MT Падает, почему?
MetaTrade 3.10 Build 2888
Падает при подключении к графику М1 эксперта NILeNaiman2,
который вызывает пользовательскую ф-ю NILfSigRSI(обе приводятся ниже).
Поясните причину, пожалуйста.
Заранее благодарен.

==============================================================
There has been a critical error in MetaTrader
Microsoft Windows 2000 version 5.1 (Build 2600)
Version : 3.10 (build: 2888)
Memory : 129588 / 26776 kb
Exception : C0000005
Address : 0044FB0E
Access Type : read
Access Addr : 00000010

Registers : EAX=00000000 CS=001b EIP=0044FB0E EFLGS=00010202
: EBX=00000001 SS=0023 ESP=0012419C EBP=001241E4
: ECX=00000001 DS=0023 ESI=0012425C FS=003b
: EDX=01036430 ES=0023 EDI=00124AF8 GS=0000

Stack Trace : 004273FC 0042C041 0042249B 00420DCA
: 004203FD 0042DFFF 00422D1D 00420DCA
: 004203FD 0040D40D 0048E1CB 004DFF47
: 004E00D4 004E648D 004F1C13 004DE0F6
0044F831:02DD [0044FB0E] ?Calculate@CIndCustom@@UAEXPBUDrawScheme@@@Z
00427380:007C [004273FC] ?AddIndicator@CExpert@@IAEPAVCInd@@PAV2@@Z
0042BD5A:02E7 [0042C041] ?IndCustom@CExpert@@IAENHPAUitem@@@Z
00421FC1:04DA [0042249B] ?DoFunction@CExpert@@IAE?AUitem@@HHPAU2@@Z
004207E4:05E6 [00420DCA] ?ExecuteSequence@CExpert@@IAEHPAUitem@@H@Z
00420239:01C4 [004203FD] ?Run@CExpert@@QAEHPBDHPAVCChart@@@Z
0042D9C0:063F [0042DFFF] ?UserFunction@CExpert@@IAENHPAUitem@@@Z
00421FC1:0D5C [00422D1D] ?DoFunction@CExpert@@IAE?AUitem@@HHPAU2@@Z
004207E4:05E6 [00420DCA] ?ExecuteSequence@CExpert@@IAEHPAUitem@@H@Z
00420239:01C4 [004203FD] ?Run@CExpert@@QAEHPBDHPAVCChart@@@Z
0040D38E:007F [0040D40D] ?ExpertRun@CChart@@QAEXXZ
0048E192:0039 [0048E1CB] ?OnRefreshPrices@CMetaTraderView@@IAEXXZ
004DFEC9:007E [004DFF47] ?_AfxDispatchCmdMsg@@YGHPAVCCmdTarget@@IHP81@AEXXZPAXIPAUAFX_CMDHANDLERINFO@@@Z
004DFFD0:0104 [004E00D4] ?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z
004E646D:0020 [004E648D] ?OnCmdMsg@CView@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z
004F1BC7:004C [004F1C13] ?OnCmdMsg@CFrameWnd@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z
004DE0A5:0051 [004DE0F6] ?OnCommand@CWnd@@MAEHIJ@Z
004F1225:0071 [004F1296] ?OnCommand@CFrameWnd@@MAEHIJ@Z
004DDAC5:0022 [004DDAE7] ?WindowProc@CWnd@@MAEJIIJ@Z
004DCA53:0090 [004DCAE3] ?AfxCallWndProc@@YGJPAVCWnd@@PAUHWND__@@IIJ@Z
004DCCC0:002B [004DCCEB] ?AfxWndProc@@YGJPAUHWND__@@IIJ@Z
00000000:0111 [00000111] _g3d
===================================================================
/*[[
Name := NILeNaiman2
Author := Copyright © 2002, Company
Link := http://www.company.com/
Lots := 1.00
Stop Loss := 15
Take Profit := 30
Trailing Stop := 0
]]*/
vars: SigSellHigh(-3), SigSellMedium(-2), SigSellLow(-1), SigNO(0), SigBuyLow(1), SigBuyMedium(2), SigBuyHigh(3);

if UserFunction("NILfSigRSI") = SigBuyMedium then SetArrow(Time, Low, 217, Blue)
else
if UserFunction("NILfSigRSI") = SigSellMedium then SetArrow(Time, Low, 218, Red);


===================================================================
/*[[
Name := NILfSigRSI
Author := Copyright © 2002, Company
Link := http://www.company.com/
Notes := Ñèãíàë îò RSI
Notes := â + íà ïîêóïêó
Notes := â - íà ïðîäàæó
]]*/
/*
Âîçâðàùàåò Ñèëó ñèãíàëà RSI â âèäå âåñîâîãî êîåôôèöèåíòà
-3 - SellHigh ñèãíàë
-2 - SellMedium ñèãíàë
-1 - SellLow ñèãíàë
0 - Íåò ñèãíàëà
+1 - BuyLow ñèãíàë
+2 - BuyMedium ñèãíàë
+3 - BuyHigh ñèãíàë
*/
Inputs: RSIPriceApp(PRICE_CLOSE), RSILength(14), RSILength2(0), RSIBuyZone(30), RSISellZone(70);
vars: RSI(0);
vars: SigSellHigh(-3), SigSellMedium(-2), SigSellLow(-1), SigNO(0), SigBuyLow(1), SigBuyMedium(2), SigBuyHigh(3);

RSI = iRSIEx(RSILength, RSILength2, RSIPriceApp, MODE_FIRST, 0);
If RSI > RSISellZone then Begin
//Alert("The RSI is in overbought territory");
return (SigSellMedium);
End
Else
If RSI < RSIBuyZone then Begin
//Alert("The RSI is in oversold territory");
return (SigBuyMedium);
End;
 
спасибо за отчет. будем искать
 
очень непонятная ситуация
Вы из эксперта вызываете пользовательскую функцию. то есть этот Ваш эксперт не может быть пользовательским индикатором - в журнале будет запись "Expert Indicator NILeNaiman2: user functions are not allowed". а в крэшлоге, представленном выше, присутствует строчка Calculate@CIndCustom. это говорит о том, что упал пользовательский индикатор - его и надо анализировать.