Topic: EASL - Programming Language for the Browser
I started prototyping a scripting language for customization of EA Studio.
Please see EASL online here: https://easl.forexsb.com/
The purpose of the language is to allow us easy modifications of the EA Studio stats, settings and indicators.
;; Change the Data Horizon max bars limit to 1 million.
(eas.set-value! data-horizon-max-bars 1-000-000)
;; Change Collection limits to 1000 strategies
(eas.set-value! collections-max-strategies 1-000)
;; Change indicator's period range
(eas.set-value! moving-average.period.max 500)
There are endless possibilities from a minor modification to writing a money-management system or custom indicators.
My goal is to create a small, safe, and powerful language. For powerful I mean really powerful as well as following the best programming practices.
What is done so far:
- variables definitions
- functions definitions
- anonymous functions (lambda)
- recursion, including mutual recursion
- list library
- math library
- string library
- programming loops without recursion: for, do , while
- mutations: set!, list.set!, list.add!, ...
- function currying
To be done:
- improving the string library
- adding JSON support
- possibly async - await.
EA Studio integration:
- access to the settings
- possibility to load data, strategies, collections
- possibility to export strategies, collections, experts
- modifications of the indicator parameters
- acceptance criteria
- starting automations: load data, start generator, export collections
- modifications of the exported Expert Advisors
- plugin libraries: statistics, fx indicators, candle patterns, web requests, DOM access...
The language is open source in GitHub: https://github.com/PopovMP/easl
Hackers are welcome to hack !!!
Currently EASL is only prototype. I think to work on it in small steps without interrupting the work on EA Studio and FSB Pro.
Having in mind that what you can test now online is done for 5 days, I think one year is an acceptable target for starting EA Studio integration.