Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 2286

 
Maxim Dmitrievsky:

1. Да, всегда

2. Снаружи, т.к. привык к VScode и jupyter (очень удобно для исследований)

3. Пока всего хватает, индикаторы не использую. Ну если только не хватает возможности простого переноса моделей в MT5 типа ONNX, но пока так и не изучил эту штуку

Торговое API тоже попробовал, все работает отлично
Отлично!
 
Renat Fatkhullin :
Se estamos falando sobre ticks, então existem as funções copy_ticks_from e copy_ticks_range


Leia mais aqui: MetaTrader para Python .

No estamos falando de ticks...
Estou falando de  Profundidade de Mercado...

Мы не говорим о клещах ... Я говорю о стакане цен

 
Maxim Dmitrievsky:

Зачем это, если ТС не на тиках? достаточно средний спред вбить

этого точно достаточно
Передается не средний а минимальный. Если средний за несколько бар - то это будет средний среди минимальных. Чтобы реальный средний найти - придется реальные тики грузить.
Тестер на ценах открытия или OHLC сработает по минимальному спреду.
А на реальных тиках часть ТП и СЛ которые сработали на OHLC с мин. спредом, на верху или низу свечи не сработают с реальным спредом.
Может это 1-2 % всего от всего количества сделок, но это может быть существенным, когда борьба идет за каждый процент.
Документация по MQL5: Торговые функции / HistoryDealsTotal
Документация по MQL5: Торговые функции / HistoryDealsTotal
  • www.mql5.com
HistoryDealsTotal - Торговые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
elibrarius:

Хотелось бы вместо минимального спреда для Bid баров, иметь вторую свечу c ценами OHLC по Ask.

сделайте кастомный символ, например так:

//+------------------------------------------------------------------+
#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); // Открыли график нового символа
   }
}
 
Igor Makanu:

сделайте кастомный символ, например так:

Не люблю кастомные, первое впечатление не очень, давно это было, не помню что именно не понравилось. Пользуюсь файлами.

И опять же - это скачивать хоть и 1 раз, но все тиковые данные.

 
elibrarius:
Передается не средний а минимальный. Если средний за несколько бар - то это будет средний среди минимальных. Чтобы реальный средний найти - придется реальные тики грузить.
Тестер на ценах открытия или OHLC сработает по минимальному спреду.
А на реальных тиках часть ТП и СЛ которые сработали на OHLC с мин. спредом, на верху или низу свечи не сработают с реальным спредом.
Может это 1-2 % всего от всего количества сделок, но это может быть существенным, когда борьба идет за каждый процент.

самому задать нужный спред, с запасом

 
Maxim Dmitrievsky:

самому задать нужный спред, с запасом

Это не точно. Я лучше тики покачаю)
Закину оба  OHLC в файлы - а дальше как обычно...
 
Renat Fatkhullin: 

Рынок и время рассудят. MQL5 отличный продукт, лучший в своем роде,но имеет все шансы не вписаться в новый рынок.
Кстати, ссылка на noname сайт где только поиском в браузере удалось найти что то про MQl не лучший пример успеха ))

 
Igor Makanu:

сделайте кастомный символ, например так:

Как тестировать по нему? Покупать один символ по Bid, а продавать другой по Ask?

В тестере ТП сработает по ( Bid - мин. спред), а не по Ask из кастомного символа. Или я ошибаюсь?
 
Maxim Dmitrievsky:

Возможно, есть смысл сделать с заделом на автоматическое дифференцирование (как, например, в PyTorch). Т.е. тензоры с возможностью вычисления градиента по ним, ну а сверху можно любые нейросети лепить

но это очень большая работа, наверное, все равно что свой нейросетевой движок писать

Смысл есть, и не только, еще логарифмирование и др. Вообще функции подготовки данных для обучения это важная тема. без нее никак. Хотя согласен, тема тяжелая, к тому же алгоритмы со временем будут устаревать и требовать соответствие запросам.

Причина обращения: