Wasin Thonkaew
Wasin Thonkaew
  • Information
1 year
experience
3
products
5
demo versions
0
jobs
0
signals
0
subscribers
I use MQL5 and C++ to develop related tools on MetaTrader 5.

Products in Market
> TCandleClose - remaining time until candle close - Indicator MT5 - https://www.mql5.com/en/market/product/89264
> MarketSchedule - display asset operating hours on broker - Script MT5 - https://www.mql5.com/en/market/product/89736
> MarketOpenSessions - visual clue for 4 configurable major market sessions, ICT concepts - Indicator MT5 - https://www.mql5.com/en/market/product/90408

Publications
> Develop a Proof-of-Concept DLL with C++ multi-threading support for MetaTrader 5 on Linux - https://www.mql5.com/en/articles/12042
> Understand and efficiently use OpenCL API by recreating built-in support as DLL on Linux (Part 1): Motivation and validation - https://www.mql5.com/en/articles/12108
> Understand and Efficiently use OpenCL API by Recreating built-in support as DLL on Linux (Part 2): OpenCL Simple DLL implementation - https://www.mql5.com/en/articles/12387
Wasin Thonkaew
Published article Understand and Efficiently use OpenCL API by Recreating built-in support as DLL on Linux (Part 2): OpenCL Simple DLL implementation
Understand and Efficiently use OpenCL API by Recreating built-in support as DLL on Linux (Part 2): OpenCL Simple DLL implementation

Continued from the part 1 in the series, now we proceed to implement as a simple DLL then test with MetaTrader 5. This will prepare us well before developing a full-fledge OpenCL as DLL support in the following part to come.

Sergey Golubev
Sergey Golubev
Comment to topic OpenCL
Understand and efficiently use OpenCL API by recreating built-in support as DLL on Linux (Part 1): Motivation and validation OpenCL (Open Computing Language) is framework that allows users to write
OpenCL
Wasin Thonkaew
Published article Understand and efficiently use OpenCL API by recreating built-in support as DLL on Linux (Part 1): Motivation and validation
Understand and efficiently use OpenCL API by recreating built-in support as DLL on Linux (Part 1): Motivation and validation

Bulit-in OpenCL support in MetaTrader 5 still has a major problem especially the one about device selection error 5114 resulting from unable to create an OpenCL context using CL_USE_GPU_ONLY, or CL_USE_GPU_DOUBLE_ONLY although it properly detects GPU. It works fine with directly using of ordinal number of GPU device we found in Journal tab, but that's still considered a bug, and users should not hard-code a device. We will solve it by recreating an OpenCL support as DLL with C++ on Linux. Along the journey, we will get to know OpenCL from concept to best practices in its API usage just enough for us to put into great use later when we deal with DLL implementation in C++ and consume it with MQL5.

A workaround to make CLContextCreate() be able to create a context with GPU device.
Still considered a bug, if MT5 developers see this message, please collect my comment as a bug report.
Wasin Thonkaew
Wasin Thonkaew
Comment to topic Discussion of article "How to Install and Use OpenCL for Calculations"
I found the solution to make CLContextCreate() be able to create a context from GPU device. As seen on its API document , instead of using CL_USE_GPU_ONLY , or CL_USE_GPU_DOUBLE_ONLY , use an ordinal
Discussion of article "How to Install and Use OpenCL for Calculations"
Good to see my article has been translated to Japanese. Appreciated it.
MetaQuotes
MetaQuotes
記事「Linux上のMetaTrader 5のC++マルチスレッドサポートを備えた概念実証DLLを開発する」についてのディスカッション
新しい記事「 Linux上のMetaTrader 5のC++マルチスレッドサポートを備えた概念実証DLLを開発する 」はパブリッシュされました: 最終製品がWindowsとLinuxシステムの両方でシームレスに動作するMetaTrader
Thanks!
Sergey Golubev
Sergey Golubev
Comment to topic Impossible to download automatic equity manager for Mac and Linux
Develop a Proof-of-Concept DLL with C++ multi-threading support for MetaTrader 5 on Linux Linux has a vibrant development ecosystem and a good ergonomic for software development. Normally MetaTrader
Impossible to download automatic equity manager for Mac and Linux
Wasin Thonkaew
Published article Develop a Proof-of-Concept DLL with C++ multi-threading support for MetaTrader 5 on Linux
Develop a Proof-of-Concept DLL with C++ multi-threading support for MetaTrader 5 on Linux

We will begin the journey to explore the steps and workflow on how to base development for MetaTrader 5 platform solely on Linux system in which the final product works seamlessly on both Windows and Linux system. We will get to know Wine, and Mingw; both are the essential tools to make cross-platform development works. Especially Mingw for its threading implementations (POSIX, and Win32) that we need to consider in choosing which one to go with. We then build a proof-of-concept DLL and consume it in MQL5 code, finally compare the performance of both threading implementations. All for your foundation to expand further on your own. You should be comfortable building MT related tools on Linux after reading this article.

Wasin Thonkaew
Added topic How to pass function pointer parameter into CreateThread() wrapper function as exposed in processthreadsapi.mqh
I'm experimenting with the multi-threading code in a Script environment. I have the following code. #include <WinAPI\windef.mqh> #include <WinAPI\processthreadsapi.mqh> #include <WinAPI\handleapi.mqh> #import "kernel32.dll" int
Wasin Thonkaew
Published post MT5 build 3550 broken launching on Linux through wine. How to solve?
MetaTrader 5 latest build as of 3550 is broken when launch on Linux with wine. It will launch then close itself shortly after. The solution is to use winehq-devel (may be winehq-staging works but I didn't test it...
Wasin Thonkaew
Published post How to use testing feature in MarketOpenSessions tool
MarketOpenSessions since v1.2 has been added a testing feature for users to seek for any issue might have on users' end especially about sound playing, or push notification sending problem. Follow the steps below Change "Accept testing for sending ..." to true in order to enable testing...
Wasin Thonkaew Published product

MarketOpenSessions is an indicator helps as a visual clue for which market session is at the time being. If you consider killzone, market open/close as important factor, this indicator would help you reduce effort in converting from one time zone to another. It has the following features 2 display styles: section (as colored line), and histogram 4 major configurable market sessions i.e. Asia, London, New York, and London-Close session. In additional to end of trading session of the day. Female

MetaQuotes
MetaQuotes
New MetaTrader 5 platform build 3520: 2FA/TOTP authentication using Google Authenticator
The MetaTrader 5 platform update will be released on Friday, November 25, 2022. In this update, we have implemented 2FA/TOTP authentication in MetaTrader 5 trading terminals using Google Authenticator and have added OpenCL error reporting. Other
Wasin Thonkaew Published product

MarketSchedule displays market sessions' open/close time for each day through out the week, also broker's timezone. It also supports instruments that have more than 1 session per day (maximum of 2 as most instruments don't have more than this) e.g. crypto market such as BTCUSD which usually has a few hours break mid-day thus it spans into 2 market sessions. You don't have to spend time looking for such information on broker's website. It's an on-demand script that you can drop onto the chart to

Wasin Thonkaew Published product

60.00 USD

A simple indicator to help showing the remaining time until the candle closes for all pre-defined chart periods with the following formats depending on which timeframe the chart is on. DD:HH:MM:SS - in case of W1, and MN period HH:MM:SS - in case of other periods Included with some of configurations as follows (please see attached inputs screenshot) X/Y distance to the upper right corner of the chart window Text size Text color Show/hide

Wasin Thonkaew
Registered at MQL5.community