DislikedComing back to the dll questions
Is there a way to create dll in C# for mt4? I know pascal an c works. but What about C#?Ignored
http://vb6-to-csharp.blogspot.com/20...etatrader.html
Help: Problem getting File Mapping working with MT4/pascal dll 3 replies
FreePascal DLLs for JMA, EMA, SMA indicators 0 replies
Strategy tester, DLLs, and FreeLibrary() 1 reply
Pascal's Triangle as MM 45 replies
I am having a ball importing DLLs 7 replies
DislikedComing back to the dll questions
Is there a way to create dll in C# for mt4? I know pascal an c works. but What about C#?Ignored
DislikedHow can I create a offline chart with a group of pairs combined.
Like a virtual basket of
eur/usd
aus/ndz
and more..
then, I would like to use this chart for backtesting and forward automated trading, whenever a expert says open trade, it should open all of the pairs in the virtual basket. and when a signal says close, it should class them..Ignored
TCandle = packed record time: LongInt; // POSIX timestamp open, low, high, close, volume: double; end;
DislikedI have created a DLL and it works fine but in the debugview window it generates "terminal.exe-> EXCEPTION_CONTINE_SEARCH" more than 10 times a second. Can anybody enlighten me? If an exception is generated this can't be a good thing especially since it is creating such frequent messages and loading up windows.Ignored
DislikedHi Xaphod I have traced it to the file "win32exceptiontrap" that 7bit suggested using when I was trying to get DLLs to work under CTL. That is when he found the floating point unit masking problem that stoped my DLLs from working as described back in post #55 of this thread. By removing "win32exceptiontrap" from my DLL uses the debugview output is quiet. I found it because I noticed that if I select the debug options in the compiler to check for stack overflow and stuff MT4 just disappeared without a trace and the debugview reported that an...Ignored
win32exceptiontrap: ... end else begin // this exception happened somewhere else, we are not interested. OutputDebugString(PChar(Format('exception %x at %p in %s -> EXCEPTION_CONTINUE_SEARCH', [ExCode, ExAddr, GetModuleName(ExModule)]))); exit(EXCEPTION_CONTINUE_SEARCH); end;
Disliked{quote} In that case it appears that your exception handler is printing out the message in debugview. Just remove that line if you do not want/need the message. (OutputDebugString writes a string to debugview)Ignored
FXProInit: Creating... <0> FXProClass: Creating <0> FXProClass: Created FXProInit: Created ... Handle=171234432 TZSupportInit: C:AppsFXCM MetaTrader 4/experts/files/tzinfo.txt <0> TZSupportClass: Creating <0> TZSupportClass: Creating tzInfo object <0> TZSupportClass: Created tzInfo object successfully (17580 lines read), hd=472553496 TZSupportInit: Handle=472553496 <0> isTimeBetweenRange: Invoking: par=("07:00 Europe/London", "16:00 America/New York", "Europe/London") hd=171234432 <0> StrToBrokerTime: Invoking: par=("07:00 Europe/London", "Europe/London") hd=171234432 StrToBrokerTime: Invoking using hd=472553496
TZSupportInit: C:AppsFXCM MetaTrader 4/experts/files/tzinfo.txt <0> TZSupportClass: Creating <0> TZSupportClass: Creating tzInfo object <0> TZSupportClass: Created tzInfo object successfully (17580 lines read), hd=169799704 TZSupportInit: Handle=169799704 StrToBrokerTime: Invoking using hd=169799704 <0> StrToBrokerTime: Invoking: par=("17:00 America/New York", "Europe/London") hd=169799704 StrToBrokerTime: Invoking using hd=169799704 <0> StrToBrokerTime: Invoking: par=("17:00 America/New York", "Europe/London") hd=169799704 StrToBrokerTime: Invoking using hd=169799704 <0> StrToBrokerTime: Invoking: par=("08:30 America/New York", "Europe/London") hd=169799704 StrToBrokerTime: Invoking using hd=169799704 <0> StrToBrokerTime: Invoking: par=("08:30 America/New York", "Europe/London") hd=169799704 StrToBrokerTime: Invoking using hd=169799704 <0> StrToBrokerTime: Invoking: par=("08:30 America/New York", "Europe/London") hd=169799704 StrToBrokerTime: Invoking using hd=169799704 <0> StrToBrokerTime: Invoking: par=("08:30 Australia/Sydney", "Europe/Berlin") hd=169799704 StrToBrokerTime: Invoking using hd=169799704 <0> StrToBrokerTime: Invoking: par=("08:30 Australia/Sydney", "Europe/London") hd=169799704 <0> isTimeBetweenRange: Invoking: par=("16:30 America/New York", "08:45 Asia/Tokyo", "Europe/London") hd=169799704 <0> StrToBrokerTime: Invoking: par=("16:30 America/New York", "Europe/London") hd=169799704 <0> StrToBrokerTime: Invoking: par=("08:45 Asia/Tokyo", "Europe/London") hd=169799704 <0> isTimeBetweenRange: rc=1 ("08:45 Asia/Tokyo", "Europe/London") hd=169799704 <0> isTimeBetweenRange: Invoking: par=("16:30 America/New York", "08:45 Asia/Tokyo", "Europe/London") hd=169799704 <0> StrToBrokerTime: Invoking: par=("16:30 America/New York", "Europe/London") hd=169799704 <0> StrToBrokerTime: Invoking: par=("08:45 Asia/Tokyo", "Europe/London") hd=169799704 <0> isTimeBetweenRange: rc=0 ("08:45 Asia/Tokyo", "Europe/London") hd=169799704 <0> isTimeBetweenRange: Invoking: par=("08:00 Europe/Berlin", "17:30 Europe/London", "EET") hd=169799704 <0> StrToBrokerTime: Invoking: par=("08:00 Europe/Berlin", "EET") hd=169799704 <0> StrToBrokerTime: Invoking: par=("17:30 Europe/London", "EET") hd=169799704 <0> isTimeBetweenRange: rc=0 ("17:30 Europe/London", "EET") hd=169799704 TZSupportDeInit: Handle=169799704 <-1> TZSupportClass: Destroying <-1> TZSupportClass: Destroyed