Новая версия платформы MetaTrader 5 build 2755: Улучшения в окне котировок и отладчике - страница 46

 
Vladimir Karputov:

SYMBOL_MARGIN_INITIAL всё время выдаёт 0.0 , при том, что спецификация выдаёт маржу:

Код:

Решено:

Вспомнил, что нужно через SymbolInfoMarginRate делать. Теперь всё работает.

Documentation on MQL5: Market Info / SymbolInfoMarginRate
Documentation on MQL5: Market Info / SymbolInfoMarginRate
  • www.mql5.com
SymbolInfoMarginRate - Market Info - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 

Странный баг

Если открыты 2 разных стакана, то если немного переместить первый стакан,

второй стакан становится таким же как первый

Поправьте, пожалуйста.

 

Предложения по доделке стакана (сейчас он сырой) в MetaTrader 5:

1) Возможность настроить ширину всех столбцов с сохранением при выходе;

2) Уменьшение - увеличение глубины стакана, - нужно в частности для фьючерсов, где глубина значительно больше чем 20 (здесь MetaTrader 5 здорово уступает Квику);

3) Возможность подкрашивать заявки в стакане более определенного объема другим цветом;

4) Возможность вывести ленту сделок в отдельное окно (отделить от стакана);

5) Добавить возможность выводить общий наторгованный объем на каждом ценовом уровне в стакане;

6) Увеличить возможную степень сжатия тикового графика в стакане еще на несколько ступеней, - чем больше, тем лучше.



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

Есть такой привод для скальпинга Qscalp, ориентируюсь в своих пожеланиях на него, - это то, к чему нужно стремиться.

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Информация об инструменте - Состояние окружения - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
postevg:

Предложения по доделке стакана (сейчас он сырой) в MetaTrader 5:

1) Возможность настроить ширину всех столбцов с сохранением при выходе;

2) Уменьшение - увеличение глубины стакана, - нужно в частности для фьючерсов, где глубина значительно больше чем 20 (здесь MetaTrader 5 здорово уступает Квику);

3) Возможность подкрашивать заявки в стакане более определенного объема другим цветом;

4) Возможность вывести ленту сделок в отдельное окно (отделить от стакана);

5) Добавить возможность выводить общий наторгованный объем на каждом ценовом уровне в стакане;

6) Увеличить возможную степень сжатия тикового графика в стакане еще на несколько ступеней, - чем больше, тем лучше.

Поддерживаю, особенно п.2

 
JRandomTrader:

Поддерживаю, особенно п.2

А на что это повлияет?

 
уважаемые сторожили, кто в курсе.
есть вот такая возможность получать данные из мт5 например на сайт или в какую-то систему для анализа https://www.mql5.com/ru/docs/integration/python_metatrader5
а есть ли такой же api чтобы получать данные из МТ4 без использования EA?
 

Уважаемые разработчики, есть такой вопрос. 

А для программ типа "сервис" функция SeriesInfoInteger() должна работать в обычном режиме, как например и для скрипта?

В Документации указано, что:

Запрет на использование функций в сервисах

Сервисы не принимают никаких событий, так как не имеют привязки к графику.  В сервисах запрещены следующие функции:

ExpertRemove();

EventSetMillisecondTimer();

EventSetTimer();

EventKillTimer();

SetIndexBuffer();

IndicatorSetDouble();

IndicatorSetInteger();

IndicatorSetString();

PlotIndexSetDouble();

PlotIndexSetInteger();

PlotIndexSetString();

PlotIndexGetInteger();


Документация по MQL5: Доступ к таймсериям и индикаторам / SeriesInfoInteger
Документация по MQL5: Доступ к таймсериям и индикаторам / SeriesInfoInteger
  • www.mql5.com
SeriesInfoInteger - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Denis Kirichenko:

Уважаемые разработчики, есть такой вопрос. 

А для программ типа "сервис" функция SeriesInfoInteger() должна работать в обычном режиме, как например и для скрипта?

В Документации указано, что:

О чём вопрос-то?

В документации, судя даже по Вашему копипасту из документации, нет запрета на вызов SeriesInfoInteger

 

Пока один агент трудиться все остальные простаивают. И этот один агент занимает хорошее время...

Я пишу об оптимизации...

Может есть смысл как то иначе делать распределения ?

 
Slava:

О чём вопрос-то?

В документации, судя даже по Вашему копипасту из документации, нет запрета на вызов SeriesInfoInteger

Slava, да, запрета на вызов SeriesInfoInteger() нет.

У меня вот такой вопрос. Стоит задача: сделать программу-сервис по работе с историей котировок.

Для целей тестирования написал простой скрипт:

//+------------------------------------------------------------------+
//|                                          load_history_script.mq5 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   string curr_symbol = "GBPUSD";
//---
   if(!::SymbolSelect(curr_symbol, true))
      PrintFormat("The symbol \"%s\" is not selected!",curr_symbol);
   else
     {
      datetime first_server_date = 0;
      for(int att=0; att<15; att++)
        {
         if(::SeriesInfoInteger(curr_symbol, PERIOD_M1, SERIES_SERVER_FIRSTDATE,first_server_date))
            break;
         ::Sleep(1000);
        }
      PrintFormat("First server date for symbol \"%s\": %s",curr_symbol,TimeToString(first_server_date));
     }
  }
//+------------------------------------------------------------------+

Функция SeriesInfoInteger() тут вернула true сразу же. Запись в логах:

2021.02.24 12:10:22.959 load_history_script (EURUSD,H1) First server date for symbol "GBPUSD": 1993.05.11 00:00


Этот же код в форме сервиса:

//+------------------------------------------------------------------+
//|                                         load_history_service.mq5 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property service
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Service program start function                                   |
//+------------------------------------------------------------------+
void OnStart()
  {
   string curr_symbol = "GBPUSD";
//---
   if(!::SymbolSelect(curr_symbol, true))
      PrintFormat("The symbol \"%s\" is not selected!",curr_symbol);
   else
     {
      datetime first_server_date = 0;
      for(int att=0; att<15; att++)
        {
         if(::SeriesInfoInteger(curr_symbol, PERIOD_M1, SERIES_SERVER_FIRSTDATE,first_server_date))
            break;
         ::Sleep(1000);
        }
      PrintFormat("First server date for symbol \"%s\": %s",curr_symbol,TimeToString(first_server_date));
     }
  }
//+------------------------------------------------------------------+


Запись в логах:

2021.02.24 12:13:38.353 load_history_service    First server date for symbol "GBPUSD": 1970.01.01 00:00


Прошёл в режиме Отладки по коду сервиса. Функция  SeriesInfoInteger() возвращает false.

В сервисе всё нормально с указанной функцией? Или я сам что-то неверно делаю?

Спасибо.

Документация по MQL5: Доступ к таймсериям и индикаторам / SeriesInfoInteger
Документация по MQL5: Доступ к таймсериям и индикаторам / SeriesInfoInteger
  • www.mql5.com
SeriesInfoInteger - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Причина обращения: