Новая версия платформы MetaTrader 5 build 2815: Доступ к стакану цен из Python, улучшения в отладчике и профилировщике - страница 9

 
Slava:

Тени возникают при построении из тиков.

Отсутствующая синтетическая история строится исключительно на минутках, так как это наиболее быстрый алгоритм обработки больших массивов информации.

При построении из минуток теням на синтетическом M1 взяться неоткуда, так как предполагается одновременное появление всех open, high, low, close на всех формульный инструментах

Но это же построение из минутной истории, в которой уже есть сформированные open, high, low, close по всем инструментам.
Ведь тени возникают между  open-high  close-low,  open-low  close-high, при чём тут тики, не совсем понятно. 
Получается при штатном построении синтетического инструмента, отсутствует синхронизация минуток по всем расчётным инструментам? 
Минутный график синтетического инструмента, в данный момент не пригоден для использования с такой логикой построения.

upd: старшие таймфреймы строятся из минуток, корректны ли тогда получаются старшие таймфреймы? При том, что на минутках нет теней.

 
Roman:

Но это же построение из минутной истории, в которой уже есть сформированные open, high, low, close по всем инструментам.
Ведь тени возникают между  open-high  close-low,  open-low  close-high, при чём тут тики, не совсем понятно. 
Получается при штатном построении синтетического инструмента, отсутствует синхронизация минуток по всем расчётным инструментам? 
Минутный график синтетического инструмента, в данный момент не пригоден для использования с такой логикой построения.


Возьмите 6 минутных свечей формульный инструментов. Две свечи преобразуйте по формуле 1 / price. Посчитайте отдельно open, high, low и close по формуле синтетики. На простом калькуляторе. Посмотрите на результат. Обратите внимание на high и low

 
Добавьте пожалуйста советника который будет крыть сделки в 0 в мобильной версии терминала
 
Slava:

Возьмите 6 минутных свечей формульный инструментов. Две свечи преобразуйте по формуле 1 / price. Посчитайте отдельно open, high, low и close по формуле синтетики. На простом калькуляторе. Посмотрите на результат. Обратите внимание на high и low

Неожиданно интересный результат. Спасибо за намёк.

 
Vitali Lebianok:
Добавьте пожалуйста советника который будет крыть сделки в 0 в мобильной версии терминала

В мобильной версии терминала советники и скрипты не работают. Мобильный терминал только для ручной торговли или наблюдения за счетом.

 

В MT5 есть нативная поддержка .NET библиотек.

Работает ли это (или планируется) для .NET 5 версии?

 

Последняя релизная МТ5 2815.

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

Вызвать следующий скрипт

void OnStart()
{
  MqlTick OldTicks[];
  ulong From=1614988657725;
  int Num=CopyTicks(_Symbol,OldTicks,COPY_TICKS_INFO,From,2000);
  Print("requsted from "+(string)(datetime)(From/1000)+" "+(string)Num+" "+(string)ArraySize(OldTicks));
  Print("last tick "+(string)(datetime)(OldTicks[Num-1].time_msc/1000));
}

Полученный вывод

(AUDCAD.0_06.04.2020,M1)        requsted from 2021.03.05 23:57:37 26 26
(AUDCAD.0_06.04.2020,M1)        last tick 2021.03.05 23:54:08

А теперь вопрос. Я запросил тики за пределами существующих тиков. Другими словами, после самого последнего тика. И по идее он должен мне вернуть 0, типа тиков больше нет. Почему он вернул мне все существующие тики? Для полного набора тиков вернёт тики с начала суток. Я что-то не понимаю или это баг? Спасибо.

Файлы:
AUDCAD.zip  2 kb
 
traveller00:

Последняя релизная МТ5 2815.

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

Вызвать следующий скрипт

Полученный вывод

А теперь вопрос. Я запросил тики за пределами существующих тиков. Другими словами, после самого последнего тика. И по идее он должен мне вернуть 0, типа тиков больше нет. Почему он вернул мне все существующие тики? Для полного набора тиков вернёт тики с начала суток. Я что-то не понимаю или это баг? Спасибо.

Было что-то похожее:

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Пользовательские символы. Ошибки, баги, вопросы, предложения.

Stanislav Korotky, 2020.07.01 16:08

Новая загадка. Проблема с CopyTicks на билде 2507, на более старых (в частности 2374) работало нормально.

Свел все к простому тестовому скрипту в приложении. Он запрашивает новые тики с момента предыдущего опроса.

Вскоре после первого правильного прохода цикла скрипт начинает копировать в массив тики с временем заведомо более ранним, чем указано в параметре from, а точнее - с начала текущего дня.

В чем косяк?

У себя в коде поставил проверки.
 
Stanislav Korotky:

Было что-то похожее:

У себя в коде поставил проверки.

У себя в боевых советниках давно использую CopyTicksRange, может поэтому не замечал косяков. А тут недавно заюзал CopyTicks и сразу налетел.

 
traveller00:

У себя в боевых советниках давно использую CopyTicksRange, может поэтому не замечал косяков. А тут недавно заюзал CopyTicks и сразу налетел.

CopyTicks использую только так.

CopyTicks(_Symbol, Tick, COPY_TICKS_ALL, 0, 1);

Контроль того, что история доходит до SymbolInfoTick.

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