![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Who will control the pips, implement the protocol and analyse the results? it's long, slow and only by polling.
Can I have a couple of links to read about this atcl, so you don't have to go through everything, but can be more focused on the topic.
Can a couple of links to read about this atcl not to dig through everything, and more purposefully get acquainted with the topic.
The main links to the library-integrator for MT4 (the very one I'm working hard on) are the current topic here, plus the one mentioned in the thread http://luxtrade.tk/atcl:start (historically my site, which is in a constant mess :-) )
the Tcl (root site) itself : http://www.tcl.tk
wiki: http://wiki.tcl.tk
"standard library" : https://core.tcl.tk/tcllib/doc/tcllib-1-18/embedded/www/toc.html (link to the docs, they are probably of primary interest)
Currently ActiveState's leading distributor: https://www.activestate.com/activetcl ,
They are "on the heels" of MagicSplat http://www.magicsplat.com/ and IronTcl https://irontcl.com/
As a language and scripting platform, Tcl is time-tested to say the least - first release in 1990, now it is present de facto in Linux/UNIX, now under Android as well. 98% you have it on your machine in some stripped-down form - python,ruby,R,maxima,octave and others use it for GUI (tkinter etc.)
PS. hope they won't kill my post and me along with a lot of links ? It's all free.
PPS. For local outsourcers - there's also a "tasty" bounty https://github.com/flightaware/Tcl-bounties. But there are only difficult tasks from 2500USD and there is a strict discipline.
With thoughts of the future:
with the help of some patches and such a mother, this is what we get:
although this is an experiment, and even in the current version, I will not yet include the patch to run Tk (firstly, it's too early, the other glitches are full, and secondly, it is made for beer, I'll review later)
But you can see what you want to get in the end and have confidence that technically it is possible. Yes, yes a fully scriptable GUI is also possible.
by the way, to local GUI builders, the window (the one with the alpha channel) is described with redundancy like this (it's tcl) :
I put the files in order - now in ZIP they are placed in folders Indicators, Scripts, Experts,Libraries,Include and in idea to install the library it is enough to simply
to unpack the archive into data directory and everything should fall into place and be ready to work (except that Tcl itself needs to be put :-) ).
The API is like this:
Seems to be pretty compact and usable.
The above zip-archive is attached, if someone needs it and has any problems with installation, post it here or in person
a roof-top example
"compiling on the fly and using C/C++ from ATcl inside an MQL script"
Well, congratulations on the beta ! :-)
Briefly the features that through ATcl are now easily accessible from MT4 :
Tcl Features
and on the project page: http://luxtrade.tk/atcl:start
Happy to answer any questions on the subject and listen to ideas and comments.
Congratulations!
It would be useful to do some practical examples, similar to what's in kodobase and articles.
For example, connecting to MySQL, Telegram or just connecting two terminals via TCP.
Congratulations!
It would be useful to do some practical examples, similar to what's in kodobase and articles.
For example, communication with MySQL, Telegram, or simply connecting two terminals via TCP.
in dems (in archive):
- A script saving quotes into a SQLite database. For MySQL it's the same, but not everyone has it :-)
- tcp server as indicator and advisor (two variants) - after start it accepts connection on port 8000 (can be set in settings at start) and translates there incoming ticks. You can telnet and see
- http client indicator, which periodically goes to the site, takes the jobs page, parses it and displays a summary of the information in the chart as Comment
demos will certainly continue to grow, you can propose ideas.
As we go along, I'll probably make demos illustrating
- "web server" to show that you can use a browser, and how it's done.
- use of TSV (thread shared variables), an extended analogue of GlobalVariable - use of shared data in the applications
I have to come up with more scripts :-) to make it clear, concise and at least a little useful.
There was a rather fascinating Skype conversation, some of which I think I need to voice because I find it useful :-)
1. Why some Tcl and not the much more popular Python, Ruby?
Of course, it will not be the first one because I know it well and I am using it not only for trading. And the technological point is very important - Python and Ruby are not compatible with metatrader threading-model. Theoretically they can be run, but I have to either dig out very low API or break the language. The same is true for R and many others.
To make them work, one must meet condition "several isolated instances can be created independently within one process and one thread".
Lua is the only other scripting language I know, but it is "a language without standards".
By the way, this bold type should be observed by all DLL developers in their products
2. How to properly and quickly analyze data
Correct and fast - is to perform calculations in metatrader. This is what metatrader is designed for - to receive data, perform calculations and issue orders. It would be foolish to duplicate its features in your DLL. After all, MQL itself is rather similar to C++ and it only takes a programmer a day or two to start writing in it. And in the DLL we have to do what the platform doesn't cover and physically can't cover - communication with databases, services, integration and so on. And plus the things that can and should be used outside MetaTrader.
3. Where and when is version 5 available?
As soon as possible :-) Technically it's not hard to drag and drop DLL from 4 to 5, scripts don't care. Tcl is both 32 and 64 bit. But it's much more convenient to develop on 4, it's not touched :-) it's stable and no surprises are expected. But with the 5 we will see, the platform developers promise "service tasks" (along with indicators, scripts and Expert Advisors) and surely something in relations of DLL and threads will change several builds in a row. Until this is settled, there will be no version for 5.
During the runtime and based on user feedback, a few problems were found related to msvcrt DLL dependencies.
and a tiny bug (mine) in finding the same DLL. Relative paths in the ATcl.mqh handler were prescribed :-)
all fixed, you can get the corrected version (attached), installation instructions are on the traditional place http://luxtrade.tk/atcl:install
For DLL developers, this is a useful piece of information:
- DLL compiled with define -D_CRTIMP_ALTERNATIVE which forces compiler to inline almost everything from CRT :-)
- The DLL is now built with the /MT switch, which forces the linker to use static linking and not cause unnecessary dependencies. The Redistributable (VC support package) is like not having to lug around everywhere
The DLL has grown in size, but there are fewer dependencies and it should be easier to lug the library around
PS/ small update - changed the attached archive. The library is built with full multithread support