Machine learning in trading: theory, practice, trading and more - page 2285

Maxim Dmitrievsky  
Renat Fatkhullin:

We will develop direct integration with WinML, as we did for OpenCL and DirectX.

In addition, we have a big project to include C++ modules/packages similar to other languages. That is, it will be possible to convert a lot of open source libraries into packages.

Matrix operations at least on CPU/Multithreads/AVX, but possibly with GPU as well.

Perhaps it makes sense to make it with a reserve for automatic differentiation (as in PyTorch, for example). I.e. tensors with possibility to calculate gradient on them, and on top it is possible to use any neural network

But it's a lot of work, probably like writing your own neural network engine
Evgeny Dyuka  
Renat Fatkhullin:
It is obvious from your statements that you imagine the whole world as "there is nothing but python.

I see the whole world as a businessman. I have a product and promote it. I am looking for better ways to promote it. MQL5 does not work for product promotion, this is my personal experience, nothing more.

- I tried to post an article on my topic in MQL, but they told me to fuck off...If i tried to place it in MQL5 I was sent to Messages with the phrase"not enough volume, sorry, we won't even read it",
- MQL5 Market is not available for my product,
- out of 10 clients only 1 (at best) uses or has used MQL terminal,
- "just find MT5 broker with direct integration with crypto-borders" this is a crutch, that in real life does not work, because crypto-borders is the only direct broker, and they all have great api.

In my opinion, you (MQLs) are immersed in your world and measure who has longer and thicker code.

elibrarius  
Renat Fatkhullin:

Double the amount of historical data on a flat spot?

No, for that use either the information about the spread in M1 or tick data.

The volume of M1 data (OHLC * 2) is several times less than the volume of real tick data.

Minimum M1 spread is not suitable for accurate trade estimation.

Yes, - now only from real tick data, so we will pump traffic.
Maxim Dmitrievsky  
elibrarius:
The volume of M1 data (OHLC * 2) is many times less than the volume of real tick data.

Minimum for M1 spread is not suitable for accurate trade evaluation.

Yes, - now only from real tick data, so we will pump the traffic.

Why is this if the TS is not on ticks? it's enough to average the spread

that's exactly enough
Renat Fatkhullin  
Evgeny Dyuka:

This is your answer to the question about the possibility to place an EA with webrequest in your marketplace.
What should I do with this answer? I have written an EA for sale, tried to put it up, I got rejected. It took me a shitload of time and effort and that was six months ago. Maybe, I'm stupid, but I'm not going to look for a second time to find a button and do something right.

This is an example of losing a client. I understand that "when the winged horse Hay-Fay rushes down the mountain, he does not care about the toads sitting by the road, but so soon MQl will simply disappear into history.

Besides you, there are consumers in this world and the marketplace itself. And consumer protection is more important than the wishes of the seller.

If your EA can't trade on its own and is completely dependent on a remote black box, that's a big risk for both the marketplace and the users. You never know what you will draw there.

I advise to study the subject in depth and not to make nonsense about"dissolve in history".

index | TIOBE - The Software Quality Company
  • www.tiobe.com
TIOBE Index for January 2021 January Headline: Python is TIOBE's Programming Language of 2020! Python has won the TIOBE programming language of the year award! This is for the fourth time in the history, which is a record! The title is awarded to the programming language that has gained most popularity in one year. Python made a positive jump...
Renat Fatkhullin  
Maxim Dmitrievsky:

1. Yes, always

2. Outside, because I'm used to VScode and jupyter (very convenient for research)

3. So far everything is enough, I don't use indicators. I want to use some simple MT5 model of ONNX type, but I haven`t studied it yet.

I tried Trade API and it works fine
It's great!
elibrarius  
Maxim Dmitrievsky:

Why would you do that if your TS is not on ticks?

This is exactly enough.
It's not the average but the minimum. If it's an average over several bars - then it will be an average of the minimal ones. To find the real average, we have to download real ticks.
The tester will work with the minimum spread at the open prices or OHLC.
And some part of TP and SL, triggered on OHLC with the minimum spread, will not trigger at the top or bottom of the candle with the real spread.
This may be 1-2% of the total number of trades, but it can be significant when the struggle is for every percentage.
Документация по MQL5: Торговые функции / HistoryDealsTotal
Документация по MQL5: Торговые функции / HistoryDealsTotal
  • www.mql5.com
HistoryDealsTotal - Торговые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Igor Makanu  
elibrarius:

I would like to have a second candle with OHLC prices for Ask instead of a minimum spread for Bid bars.

Make a custom symbol, like this:

//+------------------------------------------------------------------+
#include <fxsaber\Symbol.mqh> // https://www.mql5.com/ru/code/18855
//+------------------------------------------------------------------+
void OnStart()
{
   const SYMBOL SymbDB(_Symbol + "ask");
   if(!SymbDB.IsExist()) // Если символ не создан, выход
   {
      Alert("Error create ", _Symbol + "ask symbol");
      return;
   }
   SymbDB.Off();
   SymbDB.CloneProperties(); // Скопировали свойства
   if(CustomRatesDelete(SymbDB.Name, 0, TimeCurrent()) == -1)
   {
      Alert("Error CustomRatesDelete , GetLastError = ", GetLastError());
      return;
   }
   MqlTick ticks[];
   if(CopyTicksRange(_Symbol, ticks, COPY_TICKS_ALL, D'2021.01.01' * 1000) == -1)
   {
      Alert("Error CopyTicksRange , GetLastError = ", GetLastError());
      return;
   }
   for(int i = ArraySize(ticks) - 1; i >= 0; i--)
   {
      ticks[i].bid = ticks[i].ask;
   }
   if(SymbDB.On()) // Включили в Обзор рынка
   {
      CustomTicksAdd(SymbDB.Name, ticks);
      ChartOpen(SymbDB.Name, PERIOD_M1); // Открыли график нового символа
   }
}