MetaTrader 5 Python User Group - как использовать Python в Метатрейдере - страница 14

 
Maxim Dmitrievsky:

естэссно, а через пайпы можно и в тестере

На сколько медленно будет работать? 

 
forexman77:

На сколько медленно будет работать? 

а насколько медленно нужно? ))

коннект и передача данных мгновенная почти, от кол-ва расчетов на питоне зависят тормоза
 
Maxim Dmitrievsky:

а насколько медленно нужно? ))

Ну, вот опять. Вопросом на вопрос)

К примеру пробовал взять скрипт с R и из него ARIMA. Пустил одиночный тест на дневном графике с 2004 года по текущую дату. Длился тест с визуализацией минуты четыре(это очень долго).

Сколько к примеру какой-нибудь классификатор или регрессия считается, какой таймфрейм. В таком ключе можете сказать?

Плюс данные некорректно обрабатывались(с R данные периодически были не готовы, а индикатор запрашивал данные. Пробовал задержку использовать. Не помогло. Плюнул на все и забросил).

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

Пока в Python все тестирую. Вот думаю стоит заморачиваться изучать тинкер, PQT и прочее, чтобы многофункциональный тестер делать на Python.

 
forexman77:

Ну, вот опять. Вопросом на вопрос)

К примеру пробовал взять скрипт с R и из него ARIMA. Пустил одиночный тест на дневном графике с 2004 года по текущую дату. Длился тест с визуализацией минуты четыре(это очень долго).

Сколько к примеру какой-нибудь классификатор или регрессия считается, какой таймфрейм. В таком ключе можете сказать?

Плюс данные некорректно обрабатывались(с R данные периодически были не готовы, а индикатор запрашивал данные. Пробовал задержку использовать. Не помогло. Плюнул на все и забросил).

в миллисеках не засекал, можете запустить проверить

https://www.mql5.com/ru/articles/5691

ну там в тестере не получится.. для тестера пайпы не делал.. сделать?

Соединение MetaTrader 5 и Python: получение и отправка данных
Соединение MetaTrader 5 и Python: получение и отправка данных
  • www.mql5.com
Сетевой сокет является конечной точкой межпроцессного взаимодействия через компьютерную сеть. В стандартной библиотеке MQL5 есть группа функций Socket, которые обеспечивают низкоуровневый интерфейс для работы в сети интернет. Этот интерфейс является общим для разных языков программирования, так как он использует системные вызовы на уровне...
 
Maxim Dmitrievsky:

в миллисеках не засекал, можете запустить проверить

https://www.mql5.com/ru/articles/5691

ну там в тестере не получится.. для тестера пайпы не делал.. сделать?

Конечно сделайте. Тут в первую очередь вопрос, есть ли там рыба? Чтобы узнать нужно проверить на истории.

Только мне кажется, как в R могут возникнуть сложности, которые описал выше.

 
имхо, сложная НС не нужна на рынке, нет большого смысла. Но статьи почитать с примерами на питоне - за милую душу
 

Я уже полноценный Питон к терминалу подключил, а вы все через тормознутые сокеты и пайпы обмен гоните.

MetaTrader 5 (MQL5) + Python 3 DLL для Forex, CFD и Futures
  • roffild.com
Использование MetaTrader с Python 3 для Forex, CFD и Futures. Из MetaTrader можно получать котировки в Python, но нет полноценной связи между ними. Пост одного из разработчиков. Главная идея и отличие этой обертки от остальных: обмен данными между MQL и Python через заранее созданные функции. Это самый быстрый и надежный метод обмена данными...
 
Maxim Dmitrievsky:

естэссно, а через пайпы можно и в тестере

Сокет клиент MQL5 из статьи "СОЕДИНЕНИЕ METATRADER 5 И PYTHON: ПОЛУЧЕНИЕ И ОТПРАВКА ДАННЫХ" должен от сокет сервера python получить в сообщении эту структуру, чтобы инициировать торговый запрос?

struct MqlTradeRequest 
  { 
   ENUM_TRADE_REQUEST_ACTIONS    action;           // Тип выполняемого действия 
   ulong                         magic;            // Штамп эксперта (идентификатор magic number) 
   ulong                         order;            // Тикет ордера 
   string                        symbol;           // Имя торгового инструмента 
   double                        volume;           // Запрашиваемый объем сделки в лотах 
   double                        price;            // Цена  
   double                        stoplimit;        // Уровень StopLimit ордера 
   double                        sl;               // Уровень Stop Loss ордера 
   double                        tp;               // Уровень Take Profit ордера 
   ulong                         deviation;        // Максимально приемлемое отклонение от запрашиваемой цены 
   ENUM_ORDER_TYPE               type;             // Тип ордера 
   ENUM_ORDER_TYPE_FILLING       type_filling;     // Тип ордера по исполнению 
   ENUM_ORDER_TYPE_TIME          type_time;        // Тип ордера по времени действия 
   datetime                      expiration;       // Срок истечения ордера (для ордеров типа ORDER_TIME_SPECIFIED) 
   string                        comment;          // Комментарий к ордеру 
   ulong                         position;         // Тикет позиции 
   ulong                         position_by;      // Тикет встречной позиции 
  };

 
slukin:

Сокет клиент MQL5 из статьи "СОЕДИНЕНИЕ METATRADER 5 И PYTHON: ПОЛУЧЕНИЕ И ОТПРАВКА ДАННЫХ" должен от сокет сервера python получить в сообщении эту структуру, чтобы инициировать торговый запрос?

struct MqlTradeRequest 
  { 
   ENUM_TRADE_REQUEST_ACTIONS    action;           // Тип выполняемого действия 
   ulong                         magic;            // Штамп эксперта (идентификатор magic number) 
   ulong                         order;            // Тикет ордера 
   string                        symbol;           // Имя торгового инструмента 
   double                        volume;           // Запрашиваемый объем сделки в лотах 
   double                        price;            // Цена  
   double                        stoplimit;        // Уровень StopLimit ордера 
   double                        sl;               // Уровень Stop Loss ордера 
   double                        tp;               // Уровень Take Profit ордера 
   ulong                         deviation;        // Максимально приемлемое отклонение от запрашиваемой цены 
   ENUM_ORDER_TYPE               type;             // Тип ордера 
   ENUM_ORDER_TYPE_FILLING       type_filling;     // Тип ордера по исполнению 
   ENUM_ORDER_TYPE_TIME          type_time;        // Тип ордера по времени действия 
   datetime                      expiration;       // Срок истечения ордера (для ордеров типа ORDER_TIME_SPECIFIED) 
   string                        comment;          // Комментарий к ордеру 
   ulong                         position;         // Тикет позиции 
   ulong                         position_by;      // Тикет встречной позиции 
  };

строкой можно передать команду и список параметров, через разделители. Когда советник распарсит сообщение то поймет что ему сделать

 
forexman77:

Конечно сделайте. Тут в первую очередь вопрос, есть ли там рыба? Чтобы узнать нужно проверить на истории.

Только мне кажется, как в R могут возникнуть сложности, которые описал выше.

именно так

чтобы не заниматься программированием в никуда, необходимо сначала сформулировать цель

как минимум это профит

а если весь мир давно уже решает эту задачку, то проще сначала найти ответ на вопрос, и только потом прогить

в данный момент наблюдается тема по изучению продукта и его возможностей
Причина обращения: