NexusFi: Find Your Edge


Home Menu

 





MultiCharts-14 developed Algorithmic Trading Parse and Execution? Byte/Binary code?


Discussion in MultiCharts

Updated
    1. trending_up 3,163 views
    2. thumb_up 2 thanks given
    3. group 2 followers
    1. forum 3 posts
    2. attach_file 0 attachments




 
Search this Thread

MultiCharts-14 developed Algorithmic Trading Parse and Execution? Byte/Binary code?

  #1 (permalink)
Blonde
Luxembourg, LU
 
Posts: 119 since May 2020
Thanks Given: 99
Thanks Received: 17

Hiya,







I've considering MultiCharts-14(latest version) capacity for developing high speed and low latency Algorithmic Trading. May someone professional answer my questions below:

1- MultiCharts-14 programming language of PowerLanguage is a front gate or some kind of domain-specific programming language that generates C++ code internally to be compiled and executed in Binary/Byte code?

2- If the MultiCharts-14 programming language generates C++ code internally, will I get the full execution speed of C++ while programming in the PowerLanguage?
e.g. In case, the MultiCharts-14 connects to a broker by FIX-API and I do Algorithmic Trading by MultiCharts-14, will I get the C++ native code execution speed from code that generated and executed from PowerLanguage?

3- Considering two scenarios below:
3-A An Algorithmic Trading Robot/EA/App developed on C++ on the {platform based}-API e.g. TWS-API and order management done by FIX-API to the same broker, our calculation of Trading-Logic-A(as selective trading logic in query) and execution of the order by FIX-API took X-nano-second.
3-B An Algorithmic Trading Robot/EA/App developed on MultiCharts-14 and order management has done by FIX-API to the same broker, our calculation of Trading-Logic-A(as same logic in query 3-A) and execution of the order by FIX-API took Y-nano-second
Will X-nano-second > Y-nano-second? (How much X is bigger than Y?)
Will X-nano-second < Y-nano-second? (How much Y is bigger than X?)
Will X-nano-second = Y-nano-second?


Tnx and best of luck

Reply With Quote

Can you help answer these questions
from other members on NexusFi?
Pivot Indicator like the old SwingTemp by Big Mike
NinjaTrader
Trade idea based off three indicators.
Traders Hideout
How to apply profiles
Traders Hideout
Better Renko Gaps
The Elite Circle
NexusFi Journal Challenge - May 2024
Feedback and Announcements
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Spoo-nalysis ES e-mini futures S&P 500
48 thanks
Just another trading journal: PA, Wyckoff & Trends
34 thanks
Bigger Wins or Fewer Losses?
24 thanks
Tao te Trade: way of the WLD
24 thanks
GFIs1 1 DAX trade per day journal
22 thanks
  #2 (permalink)
 
Syntax's Avatar
 Syntax 
London, UK
 
Experience: Intermediate
Platform: MultiCharts, MT4, TWS
Broker: IB, Darwinex
Trading: Options, stocks and indices
Posts: 55 since Jul 2020
Thanks Given: 41
Thanks Received: 178


Quoting 
1- MultiCharts-14 programming language of PowerLanguage is a front gate or some kind of domain-specific programming language that generates C++ code internally to be compiled and executed in Binary/Byte code?

MultiCharts has its own programming language. It's called PowerLanguage. It's a clone of EasyLanguage, which is used in TradeStation. EasyLanguage itself is inspired by Pascal. MultiCharts compiles PowerLanguage.


Quoting 
If the MultiCharts-14 programming language generates C++ code internally, will I get the full execution speed of C++ while programming in the PowerLanguage?
e.g. In case, the MultiCharts-14 connects to a broker by FIX-API and I do Algorithmic Trading by MultiCharts-14, will I get the C++ native code execution speed from code that generated and executed from PowerLanguage?

PowerLanguage is a derivative of EasyLanguage / Pascal.

The type of connection depends on the broker. TWS for example is a socket connection to a locally running API gateway. Some brokers are HTTP APIs. Some brokers are FIX connections.


Quoting 
3- Considering two scenarios below:
3-A An Algorithmic Trading Robot/EA/App developed on C++ on the {platform based}-API e.g. TWS-API and order management done by FIX-API to the same broker, our calculation of Trading-Logic-A(as selective trading logic in query) and execution of the order by FIX-API took X-nano-second.
3-B An Algorithmic Trading Robot/EA/App developed on MultiCharts-14 and order management has done by FIX-API to the same broker, our calculation of Trading-Logic-A(as same logic in query 3-A) and execution of the order by FIX-API took Y-nano-second
Will X-nano-second > Y-nano-second? (How much X is bigger than Y?)
Will X-nano-second < Y-nano-second? (How much Y is bigger than X?)
Will X-nano-second = Y-nano-second?

Using a platform like MultiCharts will always be slower than writing your own trading platform in C/C++/Rust and compiling it down to machine code. The point of MultiCharts is not necessarily speed of execution. The point of it, in my opinion, is speed of iteration on ideas.

Reply With Quote
Thanked by:
  #3 (permalink)
 
Syntax's Avatar
 Syntax 
London, UK
 
Experience: Intermediate
Platform: MultiCharts, MT4, TWS
Broker: IB, Darwinex
Trading: Options, stocks and indices
Posts: 55 since Jul 2020
Thanks Given: 41
Thanks Received: 178


You may want to consult these articles to get an understanding of latency in computing:

https://brenocon.com/dean_perf.html
https://www.freecodecamp.org/news/must-know-numbers-for-every-computer-engineer/

And a visual representation:

https://colin-scott.github.io/personal_website/research/interactive_latency.html

Reply With Quote
Thanked by:
  #4 (permalink)
Blonde
Luxembourg, LU
 
Posts: 119 since May 2020
Thanks Given: 99
Thanks Received: 17


Syntax View Post
MultiCharts has its own programming language. It's called PowerLanguage. It's a clone of EasyLanguage, which is used in TradeStation. EasyLanguage itself is inspired by Pascal. MultiCharts compiles PowerLanguage.



PowerLanguage is a derivative of EasyLanguage / Pascal.

The type of connection depends on the broker. TWS for example is a socket connection to a locally running API gateway. Some brokers are HTTP APIs. Some brokers are FIX connections.



Using a platform like MultiCharts will always be slower than writing your own trading platform in C/C++/Rust and compiling it down to machine code. The point of MultiCharts is not necessarily speed of execution. The point of it, in my opinion, is speed of iteration on ideas.

Hiya @Syntax


Thanks. I didn't saw this reply until now, as there were no notifications for the post and if there is, it's just for the last reply and not the consecutive previous ones, thus I don't know when someone replies to me on this website?


Quoting 
Using a platform like MultiCharts will always be slower than writing your own trading platform in C/C++/Rust and compiling it down to machine code.

Is this just for Multichats-v14 or this concept covers the Multicharts.Net and MotiveWave-Ultimate and NinjaTrader8 as well?

I just can't comprehend why the connection by a platform can be slower than my own coded algorithmic trading platform on API, as both connections are through the same API and programming language are executed at the same speed? I do understand what you said, but I'm thinking if do you have any reference or logical explanation for your statement that can prove the theoy technically?


Tnx and best of luck

Reply With Quote




Last Updated on June 4, 2021


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts