на первый взгляд : в твоем индикаторе буферы не просчитываются, хотя и объявлено целых два, а в эксперте ты хочешь получить значения из этих буферов, а так здесь так много наворочено, что с ходу даже при желании трудно разобраться :)
на первый взгляд : в твоем индикаторе буферы не просчитываются, хотя и объявлено целых два, а в эксперте ты хочешь получить значения из этих буферов, а так здесь так много наворочено, что с ходу даже при желании трудно разобраться :)
Eto kuski koda, v katorovom u menia eti oshybki vylezli, na return() nismotri - sami funkciji po sebe v skompilirovannom MQL ploxo obrabatyvajutsia. Kompilirujetsia bez oshybok.
Gdie tam stack overflow ili 4to nibut' poxoze - tol'ko Metaquotes s debugerami MT4 mozet uznat' :-)
Privet,
Pokapalsia ja jies4io nad etim crashlogom i vot 4to uvidel:
Jiesli v biblioteke ispolzujetsia "extern bool variable;" - srazu crash!
vot moj kod biblioteki posle otslezovanija:
Pokapalsia ja jies4io nad etim crashlogom i vot 4to uvidel:
Jiesli v biblioteke ispolzujetsia "extern bool variable;" - srazu crash!
vot moj kod biblioteki posle otslezovanija:
//+------------------------------------------------------------------+ //| badlib.mq4 | //| Copyright © 2005, Arunas Pranckevicius | //| irc://irc.omnitel.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2005, Arunas Pranckevicius(T-1000), Lithuania" #property link "irc://irc.omnitel.net/forex" #property library //---- input parameters extern bool Arrows=true; double badlib() { return(0); } //+------------------------------------------------------------------+
Popravtie peredavajemyje global'nyje peremennyje na biblioteki MQL4 tak kak eto inogda nuzno peredavat' 4erez stack. 4erez GlobalVariableSet/Get - ni samyj lu4yj sposob dlia etoj situaciji, potomu lu4e iz indikatora takovo vroda sdelat' biblioteku.
Budu zdat' fixa :-)
Vot jies4io narvalsia na 1 oshybku:
Kokda ObjectCreate() sidit v biblioteke mql4 kak 4ast' funkciji, objety tipa arrow iz eksperta nirisujetsia kokda vyzyvaju etu funkciju.
Vot kod:
biblioteka badlib.mq4
Kokda ObjectCreate() sidit v biblioteke mql4 kak 4ast' funkciji, objety tipa arrow iz eksperta nirisujetsia kokda vyzyvaju etu funkciju.
Vot kod:
biblioteka badlib.mq4
//+------------------------------------------------------------------+ //| badlib.mq4 | //| Copyright © 2005, Arunas Pranckevicius | //| irc://irc.omnitel.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2005, Arunas Pranckevicius(T-1000), Lithuania" #property link "irc://irc.omnitel.net/forex" #property library #include <stdlib.mqh> //---- input parameters //extern bool Arrows=true; void SetArrow(datetime ArrowTime, double Price, double ArrowCode, color ArrowCollor) { int err; string ArrowName = TimeToStr(ArrowTime); if (ObjectFind(ArrowName) != -1) ObjectDelete(ArrowName); if(!ObjectCreate(ArrowName, OBJ_ARROW, 0, ArrowTime, Price)) { err=GetLastError(); Print("error: can't create Arrow! code #",err," ",ErrorDescription(err)); return; } else { ObjectSet(ArrowName, OBJPROP_ARROWCODE, ArrowCode); ObjectSet(ArrowName, OBJPROP_COLOR , ArrowCollor); ObjectSet(ArrowName, OBJPROP_WIDTH , 1); ObjectSetText(ArrowName,DoubleToStr(ArrowCode,1), 8, "Arial", ArrowCollor); ObjectsRedraw(); } } void SetObject(string ObjName,int ObjType,datetime ObjTime1,double ObjPrice1,datetime ObjTime2=0,double ObjPrice2=0,color ObjColor=Red,int ObjSize=1,int ObjStyle=STYLE_SOLID,datetime ObjTime3=0,double ObjPrice3=0) { if (ObjectFind(ObjName) != -1) ObjectDelete(ObjName); ObjectCreate(ObjName, ObjType, 0,ObjTime1 , ObjPrice1, ObjTime2, ObjPrice2, ObjTime3, ObjPrice3); ObjectSet(ObjName,OBJPROP_COLOR,ObjColor); ObjectSet(ObjName,OBJPROP_STYLE,ObjStyle); ObjectSet(ObjName,OBJPROP_WIDTH,ObjSize); } double badlib() { int MaxPriceBar = Highest (NULL,0,MODE_HIGH,350,0); int MinPriceBar = Lowest (NULL,0,MODE_LOW,350,0); double MaxPrice = High[MaxPriceBar]; double MinPrice = Low[MinPriceBar]; double ret; SetObject("HIGH_PRICE",OBJ_TREND,Time[351],MaxPrice,Time[0],MaxPrice,Green,3,STYLE_SOLID); SetObject("LOW_PRICE",OBJ_TREND,Time[351],MinPrice,Time[0],MinPrice,Green,3,STYLE_SOLID); SetObject("TriangleEnd",OBJ_TREND,Time[0],MaxPrice,Time[0],MinPrice,Yellow,1,STYLE_DASHDOT); SetObject("MaxMinFibo",OBJ_FIBO,Time[0],MaxPrice,Time[MinPriceBar],MinPrice,Yellow,1,STYLE_DOT); ret=Open[0]; //SetArrow(Time[0],ret,164,White); return(ret); } //+------------------------------------------------------------------+
include fail badlib.mqh:
//+------------------------------------------------------------------+ //| badlib.mqh | //| Copyright © 2005, Arunas Pranckevicius | //| irc://irc.omnitel.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2005, Arunas Pranckevicius(T-1000), Lithuania" #property link "irc://irc.omnitel.net/forex" #import "badlib.ex4" void SetArrow(datetime ArrowTime, double Price, double ArrowCode, color ArrowCollor); double badlib();
Ekspert Badlib-Import-expert.mq4:
//+------------------------------------------------------------------+ //| BadLibImport-expert.mq4 | //| Copyright © 2005, Arunas Pranckevicius | //| irc://irc.omnitel.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2005, Arunas Pranckevicius(T-1000), Lithuania" #property link "irc://irc.omnitel.net/forex" #include <badlib.mqh> //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- int value; value=badlib(); SetArrow(Time[0],value,164,White); //---- return(0); } //+------------------------------------------------------------------+
Jiesli otkomentirovat' stroku s vyzovom na funkciju v samoj biblioteki - arrows risujetsia, a jiesli vot tak ostavit' - nirisujetsia. Paprobuite sami, uvidite.
I xorosho bylo by mne poobs4iatsia s developerami Metaquotes, a to vsiakije bagi vot tak postit' medlenno polu4iajetsia.. :)
ICQ #82980261
Privet,
Slawa, Renat, kakaja tekus4iaja situacija nad etimi oshybkami?
Nixo4etsia postit' oshybki vot tak v pustuju...
P.S> Zavtra ujeszaju na more, u menia kanikuly, budu 4erez 2 nedeli:-)
Slawa, Renat, kakaja tekus4iaja situacija nad etimi oshybkami?
Nixo4etsia postit' oshybki vot tak v pustuju...
P.S> Zavtra ujeszaju na more, u menia kanikuly, budu 4erez 2 nedeli:-)
будем разбираться. спасибо, что напомнили
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
U menia voznikli 2 situaciji, katoryje do six por pokazyvajut oshybki metatrater 4 (build 177):
1) Pri zapuske indikatora, katoryj delajet ObjectFind()/ObjectCreate() tipa arrows 4erez interfeis funkciju iCustom() vylezajut oshybki:
12:52:37 2005.07.22 15:00 BadObjects EURUSD,M30: ObjectFind function internal error
12:52:37 2005.07.22 15:00 BadObjects EURUSD,M30: ObjectCreate function internal error
12:52:37 2005.07.22 15:00 BadObjects EURUSD,M30: error: can't create Arrow! code #4014 unknown command
12:52:37 2005.07.22 15:29 BadObjects EURUSD,M30: ObjectFind function internal error
12:52:37 2005.07.22 15:29 BadObjects EURUSD,M30: ObjectCreate function internal error
12:52:37 2005.07.22 15:29 BadObjects EURUSD,M30: error: can't create Arrow! code #4014 unknown command
Kod indikatora:
Kod experta, vyzyvajus4evo etot indikator 4erez iCustom() funkciju interfeisa:
Jiesli zapuskat' etot indikator napriamuju, vsio rabotajet. 4erez expert - net.
--------------------------------------------------------------------------------------------------------------
2) Metatrader crash dump jiesli ispolzovat' ObjectCreate() v biblioteke mql4, etot dump ot zapuska strategy tester(jiesli napriamuju na grafik, toze samoje, no patom kazdyj raz pri zapuske mt4 srazu crash):
There has been a critical error
Time : 2005.07.26 13:47
Program : Client Terminal
Version : 4.00 (build: 177, Jul 18 2005)
Owner : MetaQuotes Software Corp. (MetaTrader)
OS : Microsoft Windows 98
Processors : 2, type 586, level 6
Memory : 513864/214228 kb
Exception : E06D7363
Address : 404ADF00
Access Type : NA
Access Addr : 00000000
Registers : EAX=405258B0 CS=0073 EIP=404ADFA4 EFLGS=00200212
: EBX=40576320 SS=007b ESP=43426AA8 EBP=43426B40
: ECX=00000000 DS=007b ESI=43426B40 FS=003b
: EDX=00000008 ES=007b EDI=43426AC8 GS=0033
Stack Trace : 5F453A61 5F45A6A2 00000000 00000000
: 00000000 00000000 00000000 00000000
: 00000000 00000000 00000000 00000000
: 00000000 00000000 00000000 00000000
Modules :
1 : 00400000 002C8000 C:\Program Files\MetaTrader 4\terminal.exe
2 : 40190000 0006A000 c:\windows\system\ntdll.dll
3 : 40490000 000E8000 c:\windows\system\kernel32.dll
4 : 406E0000 0001B000 c:\windows\system\ws2_32.dll
5 : 40720000 0011A000 c:\windows\system\user32.dll
6 : 40850000 0007D000 c:\windows\system\gdi32.dll
7 : 408E0000 00031000 c:\windows\system\advapi32.dll
8 : 40920000 00011000 c:\windows\system\iphlpapi.dll
9 : 40940000 00074000 c:\windows\system\winmm.dll
10 : 409C0000 00008000 c:\windows\system\msimg32.dll
11 : 409E0000 000B6000 c:\windows\system\shell32.dll
12 : 40AA0000 000C2000 c:\windows\system\comctl32.dll
13 : 40B80000 00076000 c:\windows\system\ole32.dll
14 : 40C10000 00032000 c:\windows\system\rpcrt4.dll
15 : 40D50000 00076000 c:\windows\system\winex11.drv
16 : 41000000 0000D000 c:\windows\system\imm32.dll
17 : 41060000 00038000 c:\windows\system\wineoss.drv
18 : 410A0000 00012000 c:\windows\system\msacm.drv
19 : 410C0000 00017000 c:\windows\system\msacm32.dll
20 : 41200000 00005000 c:\windows\system\midimap.drv
21 : 41BC0000 00021000 c:\windows\system\uxtheme.dll
22 : 42620000 00083000 c:\windows\system\comdlg32.dll
23 : 426B0000 0001C000 c:\windows\system\winspool.drv
24 : 5F400000 000F2000 C:\windows\system\MFC42.DLL
25 : 65340000 00092000 C:\windows\system\OLEAUT32.dll
26 : 70BD0000 00065000 C:\windows\system\shlwapi.dll
27 : 78000000 00040000 C:\windows\system\MSVCRT.dll
Call stack :
404ADF00:0000 [404ADF00] ReadConsoleW [c:\windows\system\kernel32.dll]
Kod mojej biblioteki:
Kod include faila:
Kod eksperta zapuskajes4evo funkciju badlib():
Kstate, po4emu nikto niotve4ajet iz kompaniji po mailami support@metaquotes.ru i po mailami moderatorov foruma? Takoje 4ustvo, 4to bagreporty kak v /dev/null po mailami ushli.. I jies4io moj akaunt otkliu4ili , prishlos´ sdelat' drugoj posle triox nedel zdanija otveta nad etim vaprosom "po4emu?" :(